Last modified: May 15, 2008
Contents
1 - Summary
2 - USB serial adapter
3 - Download BIOS
4 - Connect to Soekris device
5 - Update BIOS
1 - Summary
This guide explains how to update the BIOS for Soekris devices using FreeBSD.
It explains how to connect to a Soekris device using a serial connection. As
an example I will show how I updated my Soekris firewalls.
2 - USB serial adapter
I will be using a USB serial adapter in my FreeBSD based laptop. You will
need to make sure the following options are in your kernel.
device ugen # Generic
device ucom # Generic com ttys
device uplcom # Prolific PL-2303 serial adapters
Plug in the USB serial adapter into the computer and check to make sure it
was detetectd properly. Run dmesg and you should a line similiar to this at
the end.
# dmesg
...
...
...
ucom0: Prolific Technology Inc. USB-Serial Controller, class 0/0, rev 1.10/3.00,
addr 2 on uhub0
Find what the actual device is listed as.
# ls -l /dev/cuaU*
crw-rw---- 1 uucp dialer 0, 102 May 15 07:16 /dev/cuaU0
crw-rw---- 1 uucp dialer 0, 103 May 15 07:01 /dev/cuaU0.init
crw-rw---- 1 uucp dialer 0, 104 May 15 07:01 /dev/cuaU0.lock
In our example it's listed as /dev/cuaU0
3 - Download BIOS
Make sure you have wget and lrzsz installed, then download the latest BIOS
version for your model from the Soekris website.
http://www.soekris.com/downloads.htm
# sudo pkg_add -r wget
# sudo pkg_add -r lrzsz
# cd /tmp
# wget http://www.soekris.com/software/b4801_133.bin
4 - Connect to Soekris device
Connect a serial cable from the USB serial adapter to the console port on
the back of the Soekris device. Type the following and press Enter to connect.
I have previously set the console speed on this Soekris device to be 9600.
The default is 19200.
# cu -l /dev/cuaU0 -s 9600
Connected
*** RESTRICTED TO AUTHORIZED USERS ONLY ***
login: xxx
Password:
Last login: Wed May 14 23:50:40 on tty00
Welcome to fw1.test.com!
[user@fw1 user]#
5 - Update BIOS
Reboot the Soekris device and get into the comBIOS Monitor by pressing Ctrl-P.
[user@fw1 user]# sudo reboot
/etc/rc.shutdown in progress...
/etc/rc.shutdown complete.
syncing disks... done
rebooting...
POST: 012345689bcefghipsajklnopqr,,,tvwxy
comBIOS ver. 1.30 20070326 Copyright (C) 2000-2007 Soekris Engineering.
net4801
0256 Mbyte Memory CPU Geode 266 Mhz
Pri Mas HTS541020G9AT00 LBA Xlt 1024-255-63 19535 Mbyte
comBIOS Monitor. Press ? for help.
Initiate the download.
> download
Start the transfer by typing '~C'. This is 'Shift+~' then a capital C. The
file was saved in the /tmp directory.
Start sending file using XMODEM/CRC protocol.
~CLocal command? lsx /tmp/b4801_133.bin
Sending /tmp/b4801_133.bin, 608 blocks: Give your local XMODEM receive command now.
Bytes Sent: 77824 BPS:885
Transfer complete
File downloaded succesfully, size 608 Blocks.
Update the flash BIOS, then reboot.
> flashupdate
Updating BIOS Flash ,,,,,,,,,,,,,,,,,,,,,,,,..,,,,.. Done.
> reboot
POST: 012345689bcefghipsajklnopqr,,,tvwxy
comBIOS ver. 1.33 20080103 Copyright (C) 2000-2007 Soekris Engineering.
net4801
0256 Mbyte Memory CPU Geode SC1100 267 Mhz
Pri Mas HTS541020G9AT00 LBA Xlt 1024-255-63 19535 Mbyte
Seconds to automatic boot. Press Ctrl-P for entering Monitor.
Using drive 0, partition 3.
Loading...
probing: pc0 com0 com1 pci mem[639K 255M a20=on]
disk: hd0+
>> OpenBSD/i386 BOOT 2.13
-
com0: 9600 baud
switching console to com0
>> OpenBSD/i386 BOOT 2.13
boot>
booting hd0a:/bsd: 5567348+871228 [52+283664+263996]=0x6a9ba4
entry point at 0x200120Jū
[ using 548084 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2007 OpenBSD. All rights reserved. http://www.OpenBSD.org
OpenBSD 4.1 (GENERIC) #1435: Sat Mar 10 19:07:45 MST 2007
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
...
*** RESTRICTED TO AUTHORIZED USERS ONLY ***
login: ~
[EOT]
#
Type '~.' to exit. Press 'Shift+~' then period.
|