Saturday, December 10, 2011

Ghetto Tablet

This came into FG a number of weeks ago and, like many curios, wandered its way around the mezzanine getting prodded by volunteers. Nobody quite knew what to do with it but nobody was willing to scrap it.

This is probably the closest thing available to a modern tablet computer -- made about a decade ago. I've spent altogether too much time in the last week or two getting it working.

The Hardware

Let's tackle the hardware first. Here's what the back looks like:

At the bottom, the long removable section is the battery; above and to the right, the little panel comes off to reveal the storage device:

This is a CompactFlash slot, with a 512MB stick in it. CompactFlash was widely used in digital cameras until smaller formats (SD and company) took over, and also found use in embedded and portable computers. This flash memory is the only storage the device has -- it contains the operating system (judging by the license sticker, it used to be Windows CE) and all data.

There are a few ports and opportunities for expansion -- on top, a PCMCIA card slot that originally had a wireless adapter in it. This was only an obsolete wireless-b adapter, and the wireless-g I've replaced it with sticks out of the top on account of its antenna -- I've got my eyes out for a better adapter that'll fit entirely internally.

On the right-hand side, a plastic cover conceals the power jack and a USB socket:

Just above the jacks you can also see the top of the little pull-out stylus for the touchscreen.

On the left-hand side, there's another PCMCIA socket with a flip-back cover, and a pair of jacks for microphone and headphone.

 There's also a mystery plug on the top labeled "Serial" (not pictured; not a standard plug).

A lot of these devices have hidden secrets -- extra expansion and unused features. Typically they're made up of standard parts (chipsets, CPUs, and peripherals) and those might include things that weren't important to the company that put it all together -- but they might be useful to a tinkerer. Let's pop off the back of the case:

You can see the PCMCIA slots (top left black square, and behind the ventilation holes on the right-hand side), the antenna wires for wireless, the flyback transformer for the LCD's backlight on the left-hand side, and a few other details. It's packed pretty tight -- and I won't pretend the photograph is in good focus :)

What caught my eye is the empty space right at the top of the device. Looking a little closer...

Bingo! A spare USB jack. There's not much free space to build anything in, but plenty for a USB memory stick or a Bluetooth adapter.

So what to do with it? Put Linux onto it, obviously.

The Software

This is a Neta 985, which was released under a lot of names. This one's branded "FutureCom Global". It's powered (if you can use that word) by a Geode processor at 266MHz -- and it's really hard to accurately convey the dim, glassy-eyed hesitance this chip exhibited whenever it was asked to do anything. And I shouldn't just blame the CPU -- it's backed by a piddling 128MB of RAM, impossible to upgrade and apparently connected to the CPU by a pair of deaf octogenarians wielding two tin cans and a piece of string. And the aforementioned CompactFlash chip doesn't help the situation.

It's the tablet equivalent of a Lada.

There are a lot of options for Linux distributions that run on very limited hardware: Puppy Linux and Damn Small Linux at the shallow end, all the way up to Lubuntu and Xubuntu offering almost the same experience as a regular Ubuntu install like we use at Free Geek. We occasionally build low-end laptops using Lubuntu if they're still quite usable and in good shape but not quite beefy enough for a full Ubuntu, but we don't even bother with anything below a Pentium III. And this is well below.

I started with Puppy Linux and unfortunately it wouldn't boot. There are a few stages to Puppy's boot process and one of the early ones involves starting from a little trimmed-down microcosm of Linux called an initial ramdrive that can then scrutinize its surroundings inside the computer and figure out what to do next. It was dying somewhere in that stage, apparently confused when trying to find and switch over to the rest of the operating system. This didn't look so much like a missing driver as a genuine incompatibility of some kind, so I set aside Puppy and moved on.

Damn Small Linux was also a no-go. Most of the download links were broken from its homepage -- maybe it's not maintained anymore? -- and this didn't give me a lot of faith.

I moved along to Debian. I know that it'll run -- if not quickly -- on a similarly-spec'd machine, since I already have some experience with a similar machine for this project. Debian is the basis of Ubuntu (which we use at Free Geek Vancouver), but where Ubuntu tends to package up a lot of consumer-friendly software, Debian can be a much more stripped-down and efficient operating system. Debian is famously conservative -- I can be forgiven for joking that for Debian, this decade-old machine is just coming into its prime. But on the plus side, it's extremely reliable and can be customized painlessly.

There are a few quirks to this tablet -- one being that it doesn't have a keyboard or any BIOS setup. Usually in order to install Debian I'd need to boot from a CD-ROM or a network device -- neither of which are present in this machine, but both of which can be added via USB or PCMCIA. However, the tablet is hard-wired to boot from the CompactFlash chip and refuses to look elsewhere. Usually this would be configured via a detour into BIOS setup but that's not available here.

Furthermore, the BIOS doesn't support USB keyboards, so until a Linux kernel fully boots with USB support, some of the bog-standard debugging and troubleshooting options (like the Grub bootloader, which FG volunteers might recognize as the way to get into recovery mode or memtest) are not available here.

Luckily Debian is pretty adaptable. I booted another machine from CD-ROM and installed the CompactFlash chip into it via a USB card reader. Debian happily installed onto it -- I began with a 512MB chip, which was enough to barely hold the base system, and later moved up to a 1GB which prior director and volunteer extraordinaire Jordan had kicking around. (Thanks, Jordan!)

Fast-forward several hours and here we go!

This is Debian running with XFCE, which is a pretty lightweight environment that isn't too primitive.

I'm definitely bumping against the limit of 128MB RAM. It's slow but able to browse the web (with Midori), read PDFs, remote-control my stereo, etc. -- but anything more than that is simply too much. In the above picture, it's installing more software, but in order to do that I needed to install an external USB hard drive and add a swap file.

Swap files are a common way of using inexpensive and plentiful but relatively slow hard disk storage when there's not enough RAM available -- but it is indeed slow, especially over a USB 1.1 link, and requires an external drive. I could build a thumb drive into the internal USB expansion I described earlier, but using flash for swap files is a bad idea -- flash has a limited number of read/write cycles and won't last long, and it's very slow for the kind of access that a swap file usually does.

I was thinking about declaring that 128mb ought to be enough for anyone -- in other words, web browsing and PDF reading are enough -- but instead I put in an order for one of these. This is the hard disk that's used in iPod Minis and can be had for about $15. If that works I'll revisit this post with an update.

But meanwhile -- here's what it'll do (besides almost nothing):


It'll also run applications remotely using VNC:

And remote-control my stereo:


Yeah, yeah, I stumbled over my acronyms.

I'll give this a little more polish and return to it later. Is it practical? No, though I hope it'll be useful for something by the time I finish with it (notwithstanding the fact that the battery is dead and probably irreplaceable). Is it worth the time? Definitely not, when tablets are as plentiful as rounds of cheese in a waterfall. But really, what are people using tablets for? Browsing the web and reading ebooks, mostly. This machine can do all of that -- though asthmatically -- and I hate seeing something thrown away just because it's old.


  1. downt underrst the LADA.. lad!

    you make me cry.. as i look at the crates
    of filth that i collected over the years

    although.. i hava gift from a nice lady..
    an Olivetti M21