Man Linux: Main Page and Category List


       upslug2 - utility to upgrade the firmware of a NSLU2 via the network


       upslug2 [options]


       upslug2  is  a  command  line program intended to allow the upgrade the
       firmware of a Linksys NSLU2 (Network Storage  Link  for  USB  2.0  Disk
       Drives)  to  new  or  different  versions.   When  a NSLU2 in the local
       network is put in upgrade mode, upslug2 can connect to it and upload  a
       new firmware.

       upslug2  will  accept a full firmware image but it can also upgrade the
       flash from individual  files  holding  the  kernel,  ramdisk  and  root
       filesystem.   upslug2  provides  status  information during the upgrade
       process and verifies the written image after the upgrade.


       -C, --Complete-reprogram
              Reprogram the complete flash, including the RedBoot boot  loader
              and  the  SysConf  partition  holding configuration information.
              Using this option may result in the NSLU2  becoming  permanently
              unusable!    By  default,  upslug2  will  not  touch  these  two
              partitions since this allows  flashing  a  new  firmware  if  an
              uploaded  firmware  does  not  work.   This  is  not possible if
              RedBoot itself is damaged.  Use with caution.

       -d, --device
              The network device on the host machine connected to the  network
              on which the NSLU2 is located. (Default: eth0).

       -e, --endian
              The  endianness  of  the  files  to  be  uploaded.  upslug2 will
              usually detected the endianness automatically  but  this  option
              can  be  used  to  force  byte  swapping  to occur.  This option
              accepts three values, separated by comma: endianness of  kernel,
              data  and  RedBoot  FIS  directory.   Valid values are l (little
              endian), p (pdp endian) and b (big endian). (Default: ,b,b)

       -f, --from
              The MAC address of the host system.

       -h, --help
              Show summary of options.

       -i, --image
              The complete flash image to use.

       -j, --rootfs
              A root filesystem, usually of type jffs.

       -k, --kernel
              A compressed kernel zImage image.

       -n, --no-reboot
              Do not reboot after upgrade

       -p, --payload
              FIS directory payload.  There are about 140 Kb in the last block
              (between  the  FIS  dir and the trailer at the end) which can be
              used for data.

       -r, --ramdisk
              A compressed ramdisk image.

       -R, --ram-payload
              A ram paylod (replaced ramdisk).  (FIXME:  if  it  replaced  the
              ramdisk,  why  cannot  you  just  use the -r option?  What’s the

       -t, --target
              The MAC address of the NSLU2 to upgrade.  Without  this  option,
              upslug2  will only perform an upgrade if there is just one NSLU2
              in upgrade mode.

       -U, --no-verify
              Do not verify the image, only upgrade.

       -v, --verify
              Do not write to flash, only verify the image.

   Options to specify firmware information
       The following options should be used when  individual  kernel,  ramdisk
       and root filesystem files are specified rather than a complete firmware

       -E, --extra-version
              Extra version information, a 2 byte value. (Default: 0x90f7)

       -F, --firmware-version
              The firmware version, a 2 byte value. (Default: 0x2329)

       -P, --product-id
              The product ID, a 2 byte value. (Default: 1)

       -T, --protocol-id
              The protocol ID, a 2 byte value. (Default: 0)


       In order to use upslug2 the NSLU2 which is to be upgraded has to be put
       in upgrade mode:

       1. Disconnect any disks and/or devices from the USB ports.

       2. Power off the NSLU2

       3.  Press  and hold the reset button (accessible through the small hole
       on the back just above the power input).

       4. Press and release the power button to power on the NSLU2.

       5. Wait for 10 seconds watching the ready/status LED. After 10  seconds
       it will change from amber to red. Immediately release the reset button.

       6. The NSLU2 ready/status LED will flash alternately  red/green  (there
       is  a  1  second  delay  before  the  first green). The NSLU2 is now in
       upgrade mode.

       If you decide not to flash the image  the  NSLU2  can  be  rebooted  by
       disconnecting  the  power.  If the ready/status LED does not turn green
       after step four it will remain  red  for  several  seconds  then  flash
       amber.  This  happens  if you do not release the reset button in time -
       pull the power, reconnect it and repeat from the second step.

       Once the NSLU2 is in upgrade mode it will remain in  this  state  until
       either  the  power is connected or a new image has been flashed. If the
       flash fails the NSLU2 will (eventually) return to upgrade mode


       The most common use of upslug2 is the following:
              upslug2 --image NSLU2_V23R63.bin
       This specifies a complete firmware  image  which  will  be  written  to

       Alternatively,  kernel,  ramdisk  and  root filesystem can be specified
              upslug2 -k nslu2-zImage -r ramdisk -j root.jffs
       In this case, the options  -E,  -F,  -P  and  -T  should  typically  be
       specified as well.

       By  default,  upslug2  will search for the NSLU2 on the network on your
       eth0 network interface.  If the network is on  a  different  interface,
       you can easily specify it:
              upslug2 -d eth1 --image NSLU2_V23R63.bin

       If  there are potentially more than one NSLU2 in your network which may
       be in upgrade mode, you can specify its MAC address:
              upslug2 -t 00:11:85:12:34:56 --image NSLU2_V23R63.bin




       John Bowler <>

                                 January 2006