Logo

Thin Clients : Tools 

Software tools for Wyse WinCE based terminals

Overview | makebootp | netboot | unpack | display | evo_eeprom |


netboot

Background

As noted elsewhere Wyse thin clients actually have two BIOSs:

  • A simple one that includes NetXfer that's there to get you out of trouble if the flash is corrupted. This is what is executed at power-on.
  • A more fully featured one (without NetXfer) that the simple one loads from flash and transfers control to if no 'p' or 'q' key is pressed. It is this BIOS that boots WinCE (or whatever) from flash.

During a software development cycle it is real pain to have to repeatedly flash the thin client's memory, but if you just use NetXfer to directly download and execute your code you'll have other problems or side effects due to the simple BIOS.

My solution to the problem was to take 'grub legacy' source code and throw away most of it except for the networking bit. What's left is a simple DHCP client (to get an IP address), an SFTP client to download code from the server, and bit of code that understands the file format used by NetXfer. This is netboot which is intended to be programmed into the flash memory of the Compaq/Wyse thin client.

What this gives you is something that behaves just like NetXfer - but without the need to hit the 'p' key on power-up. (For convenience my default is to configure the setup to use the higher numbered ports to avoid conflict with my Netgear router/DHCP server). But another big gain is that any downloaded code will be running with the fully featured BIOS in place. This makes a development/test cycle much easier - right BIOS in place, no need to re-flash the memory - with the only downside that it takes a little longer to boot.

Once you're happy with your software you have to option of flashing the thin client with your new firmware or just continuing to boot from the network - your choice.

Building it

Just type make in the tools/netboot directory to get loader.bin.

Flashing it

Having compiled the netboot program all you need to do is:

makebootp -f F576_Wye74.bin -L loader.bin

..to create a bootp.bin file that's ready to be downloaded and flashed into the thin client using the standard NetXfer approach. (The above example shows a build for a Wyse WT3125SE).

Behaviour

With the bootloader programmed into flash you'll see the following behaviour:

  • Press the power on button and the light comes on green.
  • After a little(?) while it will go orange.
    This shows that netboot has been loaded and is running.
  • Once the bootp.bin file has been downloaded from the server netboot turns the light green just before executing the downloaded code.

 


Any comments? email me.    Last update January 2011