Drivers in Linux land

Today I read post on about state of drivers for graphic cards. There are closed source propertiary drivers which works and give 3D acceleration and there are free drivers which cover some cards and provide kind of 3D acceleration for subset of them. The result is that user have to choose:

  • closed, propertiary driver which can contain security problems but gives working 2D, 3D
  • free driver which works in 2D but rather not in 3D

Similar problem exists with WiFi support. CompactFlash cards are now hard to get because good, working ones (Prism2/3 based for example) are not RoHS friendly so no one want to manufacture or sell them. Instead there are new cards which base on new chipsets with no drivers or pay us to get source which you can not share licensed ones.

USB dongles are in better situation as there exists few good supported chipsets:

  • Zydas (mainline kernel and also external one)
  • Ralink (external free one and also vendor provided one)
  • Prism2 (working, shitty one)

For a start let we forget that Prism2 exists in USB version (it does not support WPA, code is very low quality, will never merge into mainline kernel). Zydas and Ralink supports also 802.11g and are available from many vendors, have working drivers, firmware is available. As usual user has to triple check does this is version with blue sticker and not with red one because red ones use other chipset which is not supported.

There are also dongles with Marvell 8388 or 8338 chipset — first ones are supported by libertas driver done for OLPC, second one are not supported yet. BTW — this driver will also support 8385 chipset used in some CompactFlash cards.

And USB versions has other problem… they require +5V which is not present in many embedded devices. 3.3V, 2.5V, 2.0V and even 1.8V or less are common values for that kind of hardware. I know companies which solved it by rebuilding existing USB devices to work with 3.3V (many WiFi dongles use that voltage and have proper regulator on board to change +5V into +3.3V) — this way they can lower price and complication of device by not using extra regulators. This also improves power life. But you have to remember which dongles are changed to not plug them into PC — if you forgot then they get burnt after insert.

When few years ago I was buying my first PC I selected all components to be 100% sure that all will works under Linux. Those years passed but you still need to be careful when you buy new hardware ;(