I’ve had my shuttle x27d for a while now, and am very happy with it. It’s a nice small box and quick enough for me to use as a workstation (running Debian/GNU Linux ofcourse). The only problem I’ve had with it is software suspend/resume with linux. It does work, but afterwards the ethernet connection seems to be broken. Most noticable is the ff:ff:ff:ff:ff:ff mac address which seems to be related to the driver being unable to read the eeprom information. Bringing the interface down and unloading the r8169 and mii modules before suspending seemed to help sometimes, but not consistently.

Finally discovered the BIOS was still at the initial release version. And update might help. So did some searching on how to run the awdflash utility from an USB stick. Recipe is actually quite simple.

sudo apt-get install makebootfat

As the utility downloaded from the Shuttle website (awdflash.exe) is a DOS command, you need freedos. So I got the following packages:

mkdir /tmp/download cd /tmp/download wget www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/pkgs/kernels.zip wget www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/pkgs/commandx.zip wget www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/pkgs/unstablx.zip

You need to collect a few files from the zips to install to the USB stick.

mkdir /tmp/root cd /tmp/download unzip -j -d /tmp/root commandx.zip bin/command.com unzip -j -d /tmp/root unstablx.zip bin/kernel.sys unzip -j -d /tmp/root kernels.zip source/ukernel/boot/fat12.bin source/ukernel/boot/fat16.bin source/ukernel/boot/fat32lba.bin cp /usr/lib/syslinux/mbr.bin /tmp/root/

Download the BIOS and installation utility. Please check below URL’s are ok, they were for me…

cd /tmp/root wget -O FM27S205.BIN "http://image.shuttle.com/ResourceCenter/download_file.jsp?file_id=13854" wget -O AWDFLASH.ZIP "http://image.shuttle.com/ResourceCenter/download_file.jsp?file_id=7526" unzip AWDFLASH.ZIP

After inserting your USB stick you should end up with an extra device. BTW, make sure there is nothing important on the stick and you use the correct device, all will be erased! For me it was /dev/sda, so I used this command to setup the partition table and filesystem:

sudo makebootfat -o /dev/sda -E 255 -1 fat12.bin -2 fat16.bin -3 fat32lba.bin -m mbr.bin /tmp/root

Booted the system from this USB stick, started AWDFLASH.EXE and flashed the BIOS without a hitch. First resume was successfull and network was running without a problem. Hope it stays this way :)