Logo

Wyse 3150SE: Firmware 

Introduction

This section covers various salient elements of the Wyse WT3150SE Firmware and the way in which it behaves.

BIOS

The 3150SE doesn't have a standard PC BIOS, however it does have more of a conventional BIOS than its older brethren. Hitting the 'DEL' key while the unit powers up gets you into the BIOS setup menu:

wyse 3150SE bios screen

If it hasn't been changed the BIOS password is Fireport (with a capital F).

The boot options are:

  • USB
  • PXE (network boot)
  • IDE (the flash memory)

When the system boots you may be presented with a screen like this:

wyse 3150SE booting screen

Note: With the limited sample I have I can say that you only get the "Saturn" bit of the splash screen with early BIOSes. It's there with BIOS 0.81 but not with 1.09 or 1.15.

Boot Options

A download (flashrom.zip) I found on the freewysemonkeys website offered to update the 3150's BIOS to v1.15. [December 2016: Unfortunately the download no longer there on their revamped website] The enclosed documentation had this explanation:

This program and can be used to flash Wyse 9150, 5150 and 3150 devices to BIOS 1.15.

This is an UNSUPPORTED BIOS by Wyse however once in use you can use the USB imaging system to boot the device from a USB key and image it. See the Readme.txt in the download for instructions.

I downloaded it and found it essentially created a 1.44MB DOS boot floppy with the replacement BIOS and the flashrom application. I happen to have a USB floppy drive and so tried it out. As you can see from the screen image above the BIOS found the floppy drive, but it did not boot from it. I may be missing something here, but the words above indicate that you need BIOS 1.15 in order to be able to boot from USB. The tool that they supply to update your BIOS requires that you boot it via the USB port....catch 22?

UPDATE: I have a couple of WT3150s. One has BIOS 0.81 (09/15/2004). This WILL NOT boot from floppy. The other has BIOS 1.09 (05/24/2005). This WILL boot from floppy.

NB I tried the Linux flashrom application once I had Linux running on the hardware. It just comes back with the message "No EEPROM/flash device found".

A USB drive formatted by the Wyse USB firmware tool (v1.8) didn't work either.

I wonder what the current USB BOOT option in this BIOS actually supports?

BIOS update

I eventually sorted out a route to updating the BIOS in an old WT3150SE where it won't boot from floppy or in those circumstances where you don't possess a USB floppy drive. In order to do this you must have already set up the development environment I've described here. Then it is just a matter of setting things up so that we can download (via PXE) an image of the floppy disk and then run it.

To do this take the following steps:

  1. Download flashrom.zip from the freewysemonkeys website and unzip it. [December 2016: Unfortunately no longer there] Amongst the files you will find the file x115_flash.imz. The compressed file format is BZ. Unzip it using bzip2
    $ bzip2 -d x115_flash.imz
    bzip2: Can't guess original name for x115_flash.imz -- using x115_flash.imz.out
    
    bzip2: x115_flash.imz: trailing garbage after EOF ignored
    $
    

    The last line is a little disturbing, but the image is the right size and does work!

  2. Make sure you have the assembler nasm installed. On my Fedora box this was just a simple matter of using system / administration / add/remove software drop down menus.
  3. Download syslinux. The version I pulled down was 3.86. Unpack this and then cd into the top level directory (syslinux-3.86) and type make. (Maybe overkill as all we want is the memdisk application).
  4. Now create a new directory in the TFTP directory and copy a couple of files into it:
    mkdir ~/tftp/boot/dos
    cp x115_flash.imz.out ~/tftp/boot/dos/x115_flash.img
    cp ~/syslinux-3.86/memdisk/memdisk ~/tftp/boot/dos/
    

    Adjust the paths to suit where your files are.

  5. Finally create an additional entry in the Grub configuration file:
    menuentry "DOS-based BIOS flash" {
        echo "Loading kernel..."
        linux16 (pxe)/boot/dos/memdisk raw
        echo  "Loading initrd..."
        initrd16 (pxe)/boot/dos/x150_flash.img
        echo  "Booting..."
    }
    

That's it. Connect up a WT3150SE to your test LAN, reset it and pick the "DOS-based BIOS flash" option.

The syslinux memdisk program hooks into INT 13h and emulates a floppy drive whose contents are in the initrd. It then gets the BIOS to boot from the disk image.

Reflashing the OS

In the past this model could be managed/updated using the Wyse Simple Imager (WSI). Going to the Wyse site these days you'll find that it has been retired and the Wyse Device Manager (WDM) is now the tool to use or the USB Firmware tool.

WSI/WDM

It so happens that when I originally visited the Wyse Website in 2009 WSI was available for download and I have v1.3.6 to hand.

I set up a Windows XP pro workstation and briefly tried out the WSI and WDM packages - in each case without any success. I haven't yet pursued this further as we have the PXE route available to download and run code on the thin client. I'll probably revisit this in due course and hopefully can produce the ESI (Even Simpler Imager!). Both WSI and WDM require you to install Microsoft's IIS web server and FTP server.....

USB Imaging System

The words accompanying this says that it requires Windows Server 2003 or Windows XP SP3. I got it to run under Windows 7 but you need to use the "Run as Administrator" option - and then it took a little while to sort itself out. It was a lot quicker running under XP.

There are some odd quirks here. It created a FAT32 formatted USB disk with a Linux kernel and initrd. It uses up about 10MB of space on the USB stick. I want to use it on a system with 32MB of flash memory, so I would have thought that maybe 100MB of space in total would be ample? No! The application refuses to create an image on any USB stick that has a capacity of less than 1GB!

The WT3150 did not boot the USB stick. However I did copy the kernel and initrd to my PXE server and booted them that way - look in the grub directory to find the correct kernel parameters to use. However, as I half expected, the "pull" operation did not run properly. The question is: Is it a configuration issue or is it that the WT3150 isn't supported? The User Guide doesn't mention the WT3150 by name, it just says in the list of supported devices:

Wyse products running Windows CE (v5.x or v6.x) including: C30LE, S30, V30L, and V30LE.

The WT3150SE is a Wyse product running Windows CE 5.0.....

Firmware files

Having a look at the standard WT3150SE firmware files these are actually packaged up in the same way as "Netxfer" files. Whereas the earlier packages comprised BIOS + flashing software + file bundle the WT3150 package comprises BIOS + script file + file bundle. My current supposition is that on boot the "flashing" application is downloaded (via PXE) and this then downloads the main firmware package and updates the flash memory. It may (or may not!) be possible to easily identify which are the files you need from the WSI/WDM package.

With that sorted it is just a matter of embedding the Linux kernel and initrd in the nk.bin file - which is what we already do for the Evo T20/T30 and Wyse WT3125SE.

 


Any comments? email me.    Last update May 2010