NSLU2-Linux
view · edit · print · history

Warning!! This document describes an advanced procedure! If you are trying to recover from a bad upgrade and are new to the NSLU2, please try the RecoverFromABadFlash procedures first.

The procedure below carries a strong risk of damaging your NSLU2!!



This procedure can be used to recover a dead slug using the internal serial port, only no ethernet connection is required.

It is especially useful if you can't get the Ethernet Port to work on the NSLU2 in redboot.

Connect the serial cable as indicated here at the redboot> prompt it is possible to enter various commands.

I've done the upgrade at 115200 baud using xmodem you can adjust the baudrate if required using the baudrate -b 9600 command for instance to set 9600 baud , it will ask for confirmation in the new speed. If you fail to answer 'y' at the new speed prompt it reverts back to the original speed.

Not sure which legal values are available for baudrate, admittedly you're not likely to want to go at a slower speed

Enter the command:
load -r -v -b 0x01000000 -m xmodem

And using your terminal emulator start an upload using xmodem protocol.

In Windows Hyperterminal, Click Transfer - Send File - select xmodem and browse for your file. You haven't much time before the command will time out, so don't take too long browsing for your file.

When it completes, it will take roughly 50mins at 115200 baud hyper terminal claims 2916cps.

When the download is completed, statistics are output like:

Raw file loaded 0x01000000-0x017fffff, assumed entry at 0x01000000
xyzModem - CRC mode, 65537(SOH)/0(STX)/0(CAN) packets, 3 retries

You can use ymodem if required command is

load -r -v -b 0x01000000 -m ymodem

(use ymodem-g within hyperterminal - at 115200 upload takes 20mins)

Verify the firmware.

For safety's sake, you can now do a checksum on the file to ensure it didn't get corrupted in transit. Simply type:

cksum

And you should get a set of numbers calculated from the file. For the R25 firmware, these should be: 3007264634 8388608. If not (and you're not using a different firmware version), you should probably try loading the file again.

The checksum for NSLU2_V23R63.bin is:

RedBoot> cksum
Computing cksum for area 0x01000000-0x01800000
POSIX cksum = 4056400472 8388608 (0xf1c7c258 0x00800000)


The checksum for Unslung 6.8 is:

RedBoot> cksum
Computing cksum for area 0x01000000-0x01800000
POSIX cksum = 1505985901 8388608 (0x59c3856d 0x00800000)

Write the firmware to the flash.

Cross your fingers and type:

fis write -f 0x50060000 -b 0x01060000 -l 0x7a0000

This will write the kernel, ramdisk and trailer portions of the firmware to the right position in the flash. This may take up to 5 minutes. When it's finished and you get your Redboot prompt back, your slug should be fixed.

Because you didn't overwrite the SysConf part of the flash, your slug will still be using the same IP address as before. Remember to set your subnets appropriately, and ensure you're looking for it in the right place. If you wish to erase the SysConf as well then follow the instructions to Reset the SysConf

It should just be the following command, but recheck here in case it has changed recently

fis erase -f 0x50040000 -l 0x20000

Make sure you type it in exactly as you may damage other parts if you make a mistake.

Restart the slug.

With fingers still crossed, type:

reset

Be ready to celebrate when you hear that strangled little beep it makes as it finishes booting and is ready to be used.

view · edit · print · history · Last edited by Rob Lockhart.
Based on work by Bullfrog, mrkzander, and Reedy Boy.
Originally by Bullfrog.
Page last modified on November 17, 2008, at 05:23 AM