16 Nov 2006 fab   » (Master)

Kernel hacking

Modern computer under Linux can be sometimes paradoxal. An RTC modem on a laptop is an old and dusty piece of hardware, nobody really cares anymore, since networking function has been replaced by bluetooth, wireless, and faster gigabit devices for a long time. But modems are sometime the unreplacable way to connect to the net in some places, where a phone line and a dialup connection are the only alternative.

A usual Linux mantra is that old hardware have more chances to be supported than recent one, because it leaves more time to the kernel hackers to get their hands and the hardware, to obtains chipsets documentation, and to write and debug a driver. Except when said hardware documentation is unavailable, for miscelaneous reasons.

Winmodems are in this category. For the sake of hardware cost reduction, hardware manufacturers chose to replace plain old supported real modems components, with a standard Hayes interface through the serial port, by infamous Winmodems, more simpler DSP chipsets, often just integrated into the audio components of the laptop, but requiring a complex and closed-source DSP programming interface to handle international phone tonalities.

The situation is sad, because if you want to use a modem on a laptop today, you have to resort on old PCMCIA real-modem cards, that still work perfectly fine, because recent winmodems are just unusable. I don't want to rely on proprietary software, when I don't have to, when there's an alternative, I put some energy to help fixing some bugs in the pcmcia drivers of some old multifunctions (network + modem) pcmcia card (Linksys PCMLM56 and 3Com Megahertz 3CXEM556-B). Dominik Brodowski has been of a great help, very nice and very responsive to my bug and log reports, and I'd like to thank him publicly here. It is often said that a kernel hacker cannot own all the hardware combinations he writes drivers for, and this is indeed true. Also, a big quality of a kernel hacker is to be open to bug reports, and to guide the less-experimented people to find the cause of a bug, that they are the only one, who can generate and reproduce it. "Given enough eyeballs, all bugs are shallow" used to say ESR stated as Linus's law, this is exact, but eye-balls need to be encouraged, guided and advised towards the right place to look at.

Latest blog entries     Older blog entries