.:[ a broken lcd ]:.

Just another console cowboy.
GnuPG Key ID: 0x18B4AA48

This blog is mostly tech rantings. If you know me, subscribe to my other blog for updates on my adventures.
Designed by Redfield. Icons by Cameron Hunt.

Updating the Soekris net4501 BIOS

Text

It’s always best practice to make sure your device firmware is up to date. So, when I got my Soekris net4501 and saw it came with BIOS version 1.26a and the latest version is 1.33, I decided to update the firmware. I used the following software (keep in mind I am running OpenBSD 4.4 on the laptop I’m doing this from):

  • picocom - not in ports but on the web. My terminal software of choice.
  • lrzsz - needs to be installed from ports. It is under comms.

First thing is to download the latest image from the soekris website, which is named something along the lines of b4501_133.bin. Next, pull open the terminal, ensuring of course that your connection settings are correct. For the net4501, it’s 19200 baud, 8N1, no flow control. Also, you need to set your send command when starting picocom (—send-cmd). In this case, since we are using lrzsz, that means we use lsx. Make sure to pass the following options: -vv (verbose mode), -b (we are transferring a binary file, not an ASCII one!), and -X (use the Xmodem protocol).

Armed with this, I set out to update the BIOS. Obviously, upon booting you will need to drop into the monitor and use the download command. However, I kept getting NAK errors and the updates failed, looking like:

*** file: /usr/export/home/brokenlcd/b4501_133.bin
lsx -X -b -vv /usr/export/home/brokenlcd/b4501_133.bin
Sending /usr/export/home/brokenlcd/b4501_133.bin, 608 blocks: Give your local XMODEM receive command now.
Xmodem sectors/kbytes sent: 0/ 0kRetry 0: NAK on sector
Retry 0: Got 72 for sector ACK
Retry 0: NAK on sector
Retry 0: Got 6f for sector ACK
Retry 0: NAK on sector
Retry 0: Got 6f for sector ACK
Retry 0: NAK on sector
Retry 0: Got 6f for sector ACK
Retry 0: NAK on sector
Retry 0: Got 6f for sector ACK
Retry 0: NAK on sector
Retry 0: Got 6f for sector ACK
Retry 0: NAK on sector
Retry 0: Got 6f for sector ACK
Retry 0: NAK on sector
Retry 0: Got 2a for sector ACK
Retry 0: NAK on sector
Retry 0: Got 6f for sector ACK

While searching out the possible errors online, I discovered that there is an undocumented option to the download command. When I told the BIOS to ‘download -‘, it worked like a charm. It uploaded the 76k BIOS update and then I ran flashupdate. Now:

comBIOS ver. 1.33 20080103 Copyright (C) 2000-2007 Soekris Engineering.

and shortly thereafter, OpenBSD boots. Mission accomplished, batman.



March 28, 2009, 9:45pm