Darwin's Theories Blog

New Theories for a New Time

Flying Thecus Eats Cereal, err, Gets Serial

2007-06-13
Trivial Hardware Hack
The Thecus I wrote about previously is partly up and running.  The OpenBSD install, unlike that for Debian, requires use of a serial console. The serial port was designed into these devices primarily for debugging, not what a consumer appliance needs.  So nowadays the manufacturer saves a few pennies on each unit by not soldering the internal connector in place.  But at least the holes are there.  The older units have a 10-pin header (with one pin removed) on the back of the disk circuit board.  The newer ones only have a set of 9 holes for you to solder in your own header.  Since mine came sans header, I just installed one.  I used a right-angle header since the ribbon cable I had was straight, so the angled header leaves more room for air flow at the back of the unit.  Connect a ribbon cable, plug the other end into a computer's serial port, and boot; you should see some textual chatter. Right?  Right in theory. But not necessarily in practice. In fact, it's about 50-50...

The ribbon cable that connects from the header on the disk board to the serial cable or the serial port on the computer is of the same type as used on older i386 PCs, but there are two different types of 10-pin IDC to DB-9M ribbon cable in use, which look identical (the differences are hidden inside the DB-9 connector).  Trust the "pee cee" industry to devise two totally different and incompatible cables and not provide a standard marking for them.  Details on these cables have been committed to the OpenBSD installation document for the Armish.

So now I can see bootup messages, and interact with "RedBoot", the firmware boot loader these machines use. 

RedBoot(tm) bootstrap and debug environment [ROM]
Red Hat certified release, version 1.93 - built 17:25:00, Feb  6 2007

Platform: THECUS N2100 (IOP80219)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00000000-0x08000000, 0x0004b890-0x07fd1000 available, total: 128 MB
FLASH: 0xf0000000 - 0xf1000000, 128 blocks of 0x00020000 bytes each.
== Executing boot script in 3.000 seconds - enter ^C to abort
^C
RedBoot>

The next step was to install a hard drive as per the vendor documentation and OpenBSD as per those notes. These both went smoothly. The last step will be to make it automatically boot up when powered on...