Recovering from a bad flash

Share

In the previous post I mentioned that I had a couple of bad experiences with the Debian installer and the Linksys upload web page. Luckily, it’s really easy to recover from these. You do that with the magical RedBoot sequence (RedBoot is the boot loader the slug uses). Do something like this:

Download the Linksys firmware from their web site. I tried this technique with the Debian installer image and it didn’t work, so I only know it works with the Linksys firmware. Put that firmware on a web server on your local LAN which the slug will have access to. Then, connect to the boot loader. You do that by running this command…

    sudo arping -f 192.168.0.1; telnet 192.168.0.1 9000
    

…and then power cycling the slug. You’ll end up with this:

    $ sudo arping -f 192.168.0.1; telnet 192.168.0.1 9000
    ARPING 192.168.0.1 from 192.168.0.100 eth0
    Unicast reply from 192.168.0.1 [00:0F:66:7D:1E:09]  10.717ms
    Sent 17 probes (17 broadcast(s))
    Received 1 response(s)
    Trying 192.168.0.1...
    Connected to 192.168.0.1 (192.168.0.1).
    Escape character is '^]'.
    == Executing boot script in 1.670 seconds - enter ^C to abort
    ^C
    RedBoot>
    

You have to be pretty quick on the draw here with the control C, as you have about 2 seconds to hit the sequence before the slug starts to boot normally instead. Now that you’re logged in, you can download the new firmware:

    ip_address -h 192.168.1.100      The IP of the HTTP server
    load -r -v -b 0x01000000 -h 192.168.0.100 -m http /NSLU2_V23R25.bin
                                     Load the firmware file
    fis write -f 0x50060000 -b 0x01060000 -l 0x7a0000
                                     Write it
    reset                            Reboot
    

And you should be back at the Linksys firmware. Note that you will still have the network settings that you had set before…

Share