USBPROG(1) USBprog USBPROG(1)NAME
usbprog - Programmer for the USBprog hardware
SYNOPSIS
usbprog [options] [commands]
DESCRIPTION
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
OPTIONS
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.
COMMANDS
This section describes all commands. As mentioned above, the syntax is the same for interactive and batch usage.
help 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.
devices
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.
FILES
~/.usbprog/version.xml
Index file, downloaded from http://www.ixbat.de/usbprog/versions.xml.
~/.usbprog/history
The saved readline(1) history.
~/.usbprog/*
The rest in that directory are firmware files. The naming scheme is name.version.
AUTHOR
The USBprog program and documentation has been written by Bernhard Walle <bernhard@bwalle.de>.
SEE ALSO usbprog-gui(1), http://www.embedded-projects.net/index.php?page_id=135
0.2.0 2010-01-04 USBPROG(1)
Check Out this Related Man Page
MKDNS323FW(1) User Commands MKDNS323FW(1)NAME
mkdns323fw - build firmware images for the DNS-323 from a kernel and initrd
SYNOPSIS
mkdns323fw -k KERNEL -i INITRD [-d DEFAULTS] -p PRODUCT_ID -c CUSTOM_ID -m MODEL_ID -o OUTPUTFILE
DESCRIPTION
mkdns323fw creates firmware images suitable for upload to the D-link DNS-323 and other, similar devices based on the same basic firmware
image, such as the Conceptronics CH3SNAS. These firmware images contain a kernel and initrd, as well as various product-specific values
and checksums.
This command can be very dangerous; although it attempts to do some very, very basic sanity checking, it is still quite easy to generate a
firmware file that, when loaded into your device, will kill it stone dead. This program is not able to check that you're uploading valid
data to your device; if you brick it, you're on your own.
-k kernel, --kernel=kernel
specify the file containing the kernel image to embed in the firmware image. This must be a uBoot image file, as produced by mkim-
age(1) with appropriate options to specify it as a kernel image. Attempts to provide a non-uBoot file will fail, while specifying a
non-kernel uBoot file may well brick your device. This option is required.
-i initrd, --initrd=initrd
the initrd file to embed in the firmware image. This must be a uBoot image file, as produced by mkimage(1) with appropriate options
to specify it as a ramdisk. The tool will refuse to embed a non-uBoot file, however a dodgy ramdisk will likely brick your device.
-d defaults.tar.gz, --defaults=defaults.tar.gz
The firmware format has the ability to embed a tarball with a default configuration; if you want to do this, you may use this option
to do so. However, the devices that the author has dealt with do not require such a thing, and leaving it out still produces a
valid firmware (and one that is a bit smaller, to boot).
-s signature, --defaults=signature
For reasons that will probably remain unknown until the ends of time, there are (at least) two different firmware signatures running
around that are otherwise identical in their internal structure, which are used for different devices. This option exists to allow
you to specify the signature that you want to use in your firmware build. Valid values for this option are currently FrodoII
(R)(the default if this option is not specified), Chopper (R)or Gandolf (R)which is used in some devices. See the table at the top
of the script if you don't know which value to use for your device.
--p product_id, --product-id=product_id
--c custom_id, --custom-id=custom_id
--m model_id, --model-id=model_id
Specify the product, custom, and model ID that this firmware image is intended for. As several different devices share the same
firmware format, the intended device type is encoded in these fields. If you do not specify the correct values for the device that
you are targetting with your firmware, it is quite likely that the device will refuse the upload.
Known-good values for various devices are provided in the header of the script; please look there for more information. You can
also obtain the values you need by downloading an existing firmware for the device you're targetting and doing a bit of digging.
-o outputfile, --output=outputfile
Where to write the completed firmware image. Will overwrite any existing file of the same name.
BUGS
E-mail bug reports to theshed+dns323-firmware-tools@hezmatt.org. I don't guarantee to be able to help, but I'll give it a shot. Patches
are far more helpful.
AUTHOR
mkdns323fw was written by Matt Palmer, based on reverse-engineering work done by Leschinsky Oleg.
COPYRIGHT
Copyright (C) 2008 Matt Palmer.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU-
LAR PURPOSE, to the extent permitted by law.
SEE ALSO mkimage(1), splitdns323fw(1).
dns323-firmware-tools 0.1 October 2008 MKDNS323FW(1)