usbprog(1) Programmer for the USBprog hardware


usbprog [options] [commands]


USBprog has two modes: An interactive mode and a batch mode. Both mode use exactly the same commands. As every command takes a fixed number of arguments, no separator is necessary between commands --- just specify as much commands as you would like to execute.

The help command gives a list of all commands, ? command can be used to get help for a specific command. Example:

  (usbprog) help
  (usbprog) ? upload


Following options can be specified, both for the interactive and the batch mode:
-h | --help
Prints a short help.
-v | --version
Prints the version number to standard output.
-d | --datadir datadir
Uses datadir instead of ~/.usbprog.
-o | --offline
Don't try to connect to the internet. Use the cached firmware and index file(s) only.
-D | --debug
Enable debugging output.


This section describes all commands. As mentioned above, the syntax is the same for interactive and batch usage.
This just prints an overview about every command, i.e. the command name and an one-sentence description.
helpcmd | ? command
Print a detailed description for command.
exit | quit
Quit the program. On Unix, you can also send an EOF by pressing Ctrl-d on your terminal.
copying | license
Prints a short license (GPL) text and the version number of the program.
list | firmwares
Prints a list of available firmwares. A [*] shows that the firmware is available in the offline cache.
download firmware
Downloads the specified firmware. Use the same string as you retrieved from the firmwares command described above. This command doesn't work in offline mode.
info firmware
Shows some basic information about firmware like what it does, the latest version number, the author and the USB ID which the USBprog device has after this firmware has been uploaded. See also the pins command.
pins firmware
This shows the PIN assignment of firmware and the meaning of the LED and jumpers. See also the info command for basic information about the firmware.
cache clean | delete
clean deletes all old firmware versions from the firmware cache, i.e. if the latest version of a firmware is 5, then it deletes the versions 0 to 4 if they are still on disk. The delete command deletes the whole firmware cache. Only the index and history file are in the cache directory after executing this command.
Shows a list of connected USB devices related to USBprog. The currently used update device an be set with device and is also marked in the output.
device number | name
Sets the update device for the upload command. You have to use the integer number or the device name you retrieved from the devices command.
upload firmware | file
Uploads a new firmware. The firmware identifier can be found with the list command. Alternatively, you can also specify a file name on the disk. The extension doesn't matter.


Index file, downloaded from
The saved readline(1) history.
The rest in that directory are firmware files. The naming scheme is name.version.


The USBprog program and documentation has been written by Bernhard Walle <[email protected]>.