Neoware CA21 thin client

While I was looking for a device to use for my electronics experiment, I found thin client to be a cheap and easy to use solution.
The most important drawback was the lack of GPIO but I planned to use a Teensy if I really needed more GPIO than what a USB2Serial adapter provide me.

If you're serious about hacking (old because cheap and easy to find) thin clients, by no way you can miss ParkyTowers, the awesome David Parkinson's website.
It seems repurposing them is its full time hobby !
You won't find more information on a specific model, since original manufacturers stopped for many years to support them, than on his site.
I don't use to find the thin client I need, but to define which one won't suit : when I found a cheap thin client for sale, I checked ParkyTowers and made an offer or not !

I finally ended with a Neoware CA21
Neoware made very well done thin client, which explain why HP finally bought them !
It seems Neoware made 2 version of the CA 21, one with an Award bios and one with a Phoenix bios.
I also get the surprise to find a strange hardware connected to the internal USB port.
After some research, it is in fact this VIA Soloman VT6656 - 802.11a/b/g wireless LAN controller!
I never though I'll buy a WIFI enabled thin client!

Boot from USB

So I plugged my CA21 and looked how to boot Tiny Core Linux from an USB key

Bad news :
I lost to the lottery, I get the version with a Phoenix BiOS : no way to boot from USB

Good news :
David already messed up with a Phoenix based thin client, he fixed it using USB-ZIP and not USB-HDD option in bios.
While he explains how do to this, I find it a lot easier to boot VMWare with TinyCore Live CD and install it to my pendrive with TC_Install, since it let you define boot option (hostname, language, ...) AND USB-ZIP mode.

So my Thin Client boots from USB like a charm and I customized it with some extensions.
Apart it really came hot quickly, a fanless system is real pleasure !

 

Install software not yet available on TCZ repository

To install a software to your TCL instance, you need it on the TCZ repository
While there is a lot of software already available, optimized for TCL, you'll quickly find your best editor or game isn't available.
You could also be interested to test your own code, for a private (or soon public) tool

While it's really easy to make your own extension, I found the correct way to do it mixing different sources.
So I'll explain here, for reference and for anyone looking for help like I was !

 

PXE boot

While booting from USB is really easy, I see 2 drawbacks :

One way to avoid this is to use netbooting : the BIOS load the system image from a server, not need for pendrive.
This way, you just update the files on your TFTP server (needed for PXE netbooting) and reboot the client.
Let's see how to do this with a lightweight tool : dnsmasq.
I should note that while I was looking for info on dnsmasq, I found a very well written tutorial...on ParkyTowers !
in progress

 

Perfect lightweight configuration

Keeping the goal of a lightweight distro, I tested, installed, removed some tools and apps
I kept the ones I can't live without and the ones which make my life easier each day !
Let me share with you my persistent extensions list :

 

Interfacing with Sega Genesis

To interface with my Sega Genesis, for homebrew development, I need to be able to communicate with

Parallel port
Easy to setup, I just needed to make a TCL extension to install UCON64.
to do this
in progress

USB 2 Serial
My adapter driver isn't installed by default on Tiny Core Linux.
No problem, just need to add the already available extension
in progress

USB Everdrive
in progress

Serial TTL
in progress