Finding devices for your open source operating system

In a Windows environment, people have gotten used to just picking up any device (whether it is a CDROM, PCMCIA card, printer, or modem) and expecting it to work. While the concept of “plug and play” is not yet here, the fact is that when installed everything should work with Windows.

And it isn’t just Windows – other large commercial vendors have access that you and I do not. Apple comes to mind – MacOS X has much better support than Linux or FreeBSD, for example.

Open source operating systems rely on hardware manufacturers to make the details of their hardware available for free or low cost – and then for someone to come and craft the software drivers needed. Usually, the latter is not a big problem; the former is.

The problem can be deeper than that as well, since the label on the product is not the same as the label on the internal devices: so it is not possible to simply look for a brand and use it. Worse, manufacturers can change hardware vendors on the same model, so that discerning which model is which can occasionally be difficult – the revision becomes the determining factor as to which hardware was used.

First thing is to determine which devices are supported. Start with the release documents for the operating system and look for supported hardware. Another place to look is the man pages (or other documentation) for the drivers. Keep the list of specific hardware handy, on another screen or printed out.

Then, look for the device (or devices) at your chosen store. Write down what you find, even if it isn’t listed (and even if it is). Then look up the device on the Internet using your desired search engine. Pay attention to mailing list threads and watch what sort of trouble people had (or didn’t have). The mailing list threads should also help you identify the hardware sources used in otherwise unidentified products, and also will keep you up to date on people’s experiences.

Once you have a product chosen, given few problems on mailing lists and a well-supported and identified hardware chip set, then buy it. However, for best results, make sure there is a good return policy in case it doesn’t work – otherwise, you are taking a chance (albeit a very small one if you’ve done your homework).

I’ve gone through this with several wireless cards under FreeBSD. The first was the Netgear MA401 (researched as given here) – worked flawlessly until it was smushed. The second I received as a bonus with my laptop purchase was a Zonet 1502 (definitely a mistake, but it came with the laptop). I’m sure the Zonet works fine under Windows (and probably OpenBSD: they reverse engineered the driver). Currently, I’ve added a TP-Link TL-WN610G (again researched as described here) – also working flawlessly.

This isn’t just good practice for wireless cards, though – networking cards, mice, video – all benefit from this research. Even laptops: when I bought my laptop, I researched the two brands that were available (for sale used at my favorite local used computer store) and found that one had lots of difficulties and the other did not. Guess which one I bought?

Hardware Hacking on the EeePC

This is an amazing piece on hacking the Asus EeePC (be patient for the link; not only is it image heavy, it suffered the Slashdot effect…. need I say more?).

If you’ve soldered before, this will be fairly easy; if you don’t know what solder is, you may not want to do this.

The amount of new capabilities that this user added are insane. He added the following:

  • A USB hub
  • GPS with antenna
  • Bluetooth
  • Card reader
  • Flash drive
  • Power switch
  • Wifi (with 802.11N draft support)
  • FM transmitter
  • Modem

This is a truly amazing list of things to add to a small environment such as the EeePC. Each addition is accompanied by a screenshot of a Windows XP hardware listing of the particular item. The user stated that they wanted to be able to dual-boot into Linux as well; too bad they didn’t show the Linux support for these items.

Another thing: this article also includes a handsome list of links on the EeePC at the end; so go take a look!

Update: I just found this detailed review; it shows a lot about what the EeePC can do and is well-written.