COMPAQ Winterm
This is specific for the T15x0 but should also apply to the Wyse 3320 and others
T15x0 Background
The Compaq T15x0 is a strange little beast. It is susposed to be a Linux based thin client that is capable of network booting. However, most of these models are impossible to return to a Local boot mode once they have been switched to remote boot.
I set mine to Network Boot shortly after receiving it and for over two years my T1510 languished on a shelf a constant reminder that it was completely useless.
How to boot the client
The T15x0 will only download a boot image that has been signed with a checksum. This checksum is what has made the T15x0 hard to crack as no one knew how it was done.
Fortunately it is documented at:
http://neykov.name/t1500/
Compiling the Checksum Utility
Download and compile the tsum application from
http://www.zen49396.zen.co.uk/T1500/KernelCheckSum/ or
Local Copy
- Open a terminal
- cd ~/
- wget http://www.zen49396.zen.co.uk/T1500/KernelCheckSum/tsum.c
- gcc tsum.c -o tsum
Patching and Compiling Etherboot
The T1510 can be booted with a patch version of Etherboot 5.4.1 (see the information at
http://neykov.name/t1500/
- Download etherboot-5.4.1.tar.bz2 from SourceForge
- Open a terminal
- cd /tmp
- wget http://dl.sourceforge.net/sourceforge/etherboot/etherboot-5.4.1.tar.bz2
- Patch etherboot using the patch from http://neykov.name/t1500/ or Local Copy
- cd /tmp
- bunzip2 < etherboot-5.4.1.tar.bz2 | tar xv
- wget http://neykov.name/t1500/etherboot-5.4.1-t1500.patch
- cd etherboot-5.4.1/src
- patch -p2 < ../../etherboot-5.4.1-t1500.patch
- Review the Config file for the location of tsum. By default this is: T1500_CHECKSUM=~/tsum (You only need to change this if you did not follow the directions above for compiling tsum.c in your home directory)
- grep T1500 Config
- build the version of Etherboot with the required driver
- Copy the resulting file to your tftp directory (the etherboot build takes care of the signature)
- cp bin/*.t1500 /tftpboot/lts
Etherboot can then be used to boot the terminal. You will see that the terminal braodcast for a
DHCP address if you are using tcpdump or ethereal. Etherboot does not write to the terminal's display so you can only see text output if you use a null modem for serial console debuging.

Production Note: YOu mignt want to disable the serial console in a production file by comenting out the following line in
Config:
CFLAGS+= -DCONSOLE_SERIAL -DCOMCONSOLE=0x3f8 -DCONSPEED=115200 -DCOMPARM=0x03^M
Patching and Compiling Linux
Download the linux kernel from
http://www.kernel.org as specified at
http://neykov.name/t1500
- Open a terminal
- cd /tmp
- wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.1.tar.bz2
- bunzip2 < linux-2.6.14.1.tar.bz2 | tar xv
- cd linux-2.6.14.1
- apply the patches:
- wget http://neykov.name/t1500/linux-2.6.14-t1500.patch
- patch -p1 < linux-2.6.14-t1500.patch
- Download and rename the Linux 2.6.14.1 Kernel Config file for LTSP 4.2
- wget http://wiki.ltsp.org/twiki/pub/Ltsp/CompaqWintermLTSP/config
- mv config .config
- make oldconfig
- Change the config as required to include the nic driver and other needed drivers
- make
- make modules_install
Preparing a Initial Ram Disk
These directions are from
http://wiki.ltsp.org/twiki/bin/view/Ltsp/Build-LTSP-42#Building_the_kernel (check for updates). Also note that the ltsp_kernel_kit may be available without downloading the entire lbe.
- Grab the lbe from cvs (you will need to be root to biuld and install the ramdisk)
- su -
- cd /usr/local
- cvs -d :pserver:anonymous@cvs.ltsp.org:/usr/local/cvsroot checkout lbe
- cd lbe
- ./build_all --fetch
- Build the ramdisk
- cd ltsp_kernel_kit
- ./build_initramfs
- Kernel source directory [/usr/src/linux-2.6.16.1]: /tmp/linux-2.6.14.1
- Location of LTSP tree [/opt/ltsp-4.2]:
- Location of TFTP directory [/tftpboot/lts]:
This will result in a kernel and ramdisk in
/tftpboot/lts/2.6.14.1
- /tftpboot/lts/2.6.14.1/bzImage-2.6.14.1
- /tftpboot/lts/2.6.14.1/initramfs.gz
Patching and Compiling mknbi
The Linux kernel must be tagged using mknbi in order for Etherboot to load the kernel. Unfortunately, this requires a special patch to
mknbi as documented at
http://neykov.name/t1500/
- Open a terminal
- Download mknbi 1.4.4 from http://www.etherboot.org
- wget http://dl.sourceforge.net/sourceforge/etherboot/mknbi-1.4.4.tar.gz
- tar xvfz mknbi-1.4.4.tar.gz
- cd mknbi-1.4.4
- apply patch from http://neykov.name/t1500/ or Local Copy
- wget http://neykov.name/t1500/mknbi-1.4.4-t1500.patch
- patch -p1 < mknbi-1.4.4-t1500.patch
- make
- make install
Tagging the kernel
- tag the kernel and ramdisk with a command like:
- mkelf-linux --append="init=/init rw mem=61M console=ttyS0,115200" --rootdir="/dev/ram0" /tftpboot/lts/2.6.14.1/bzImage-2.6.14.1 /tftpboot/lts/2.6.14.1/initramfs.gz > /tftpboot/lts/linux-2.6.14.1-t1500
Enabling Sound
The T1510 is supported by the kahlua.c
XpressAudio? OSS driver
- Enable Sound card support
- Enable OSS sound modules
- Enable 100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support
- Enable XpressAudio Sound Blaster emulation
The card requires the io, irq and dma to be set. Either add the following to your lts.conf file
SMODULE_01 = "sb io=0x220 irq=5 dma=1'
or the kernel boot parameters (for kernel compiled drivers only):
sb=0x220,5,1
Configure LTSP
The T1510 has a video card that is supported by the nsc driver. Update /opt/ltsp/i386/etc/lts.conf to specify:
XSERVER = nsc
How well does it work
Once I put the terminal on its own monitor, keyboard and mouse it worked very well (I think my kvm was interfering). This whole section was written up on the T1510 and it seems very responsive.
The quality of the display is great. I plan to finish configuring the kernel to support sound and probably printing.
Who made it possible
- Gavan Fantom - who figured out the checksum calculator.
- Svetoslav Neykov - who hacked Etherboot, mknbi and Linux to make it happen and answered my questions.
- Timothy Legge - Who with Svetoslav's directions and help, hacked together a working LTSP setup and wrote up this doc. Any errors and omissions are Tim's.
--
TimothyLegge - 01 Apr 2006
--
TimothyLegge - 12 Apr 2006