The early to mid 2000s were good years for Linux. The influx of cash and general interest from major enterprise players like IBM, Oracle and Novell gave the flagship free software operating system an incredible boost in terms of popularity and — more importantly — adoption.
But there was a dark side to Linux in those days. It was not spoken of widely, save for whispered mutterings in back-room Birds of a Feather meetings at LinuxWorld. It was something That Was Not Spoken, yet everyone who dealt with Linux for any length of time knew the penguin’s dark secret.
The secret, it can now be revealed, was the ridiculous lack of wireless networking card drivers for the various Linux distros.
Scoff if you will, but few things were more aggravating than having a cutting-edge operating system on a high-end machine–only to be unable to connect to the Internet over the air because of a lack of drivers.
No distro seemed able to escape the problem: Red Hat Linux, SuSE Linux, Mandrakelinux–all of the popular distros of the period were affected by the simple fact that no hardware manufacturer seemed willing or able to crank out a Linux version of their drivers.
Linux users, being who they are, were able to come up with solutions. Drivers were reverse engineered and hacked together, and an elegant solution was found in the form of NDISwrapper.
The biggest culprit in this missing driver situation was most assuredly Broadcom. The Irvine, California-based integrated chip maker consistently failed to create Linux drivers for its 802.11 devices. That wouldn’t have been so bad, except that Broadcom wireless devices were the wireless card of choice for many PC and laptop makers. It was so bad that whenever anyone sent me an e-mail about their wireless card not working, I would immediately send them a link to the tutorial du jour about Broadcom and NDISwrapper.
Now, a decade into the 21 Century, Broadcom has finally released its brcm80211 wireless driver for Linux.
Not only that, the company placed the driver — which covers the devices with the pervasive BCM4313, BCM43224 and BCM43225 chips — under a GPL-compatible license. The implication there is that, once the driver is tightened up, it can be directly merged into the Linux kernel tree. It won’t be in time for Linux 2.6.36, which will likely come out in the next week or so, but when the merge window for 2.6.37 opens, expect the Broadcom driver code to be part of the incoming code.
Meanwhile, Canonical has indicated that the driver will be included in the Ubuntu 10.10 release set for October 10.
It should be noted that the drivers, while a huge step for Broadcom, only cover the newer chipset for 802.11n devices. Older hardware still has to contend with the NDISwrapper technique.
There really isn’t a need to have sour grapes about the exact state of the Broadcom drivers. The inclusion of Broadcom represents the closure of a driver gap that has plagued Linux.
These benefits, of course, are obvious. But in the broader sense (excuse the pun), what does this mean for Linux?
Looking forward, the ease-of-use benefits will make it easier for Linux to be shipped as an OEM platform, and installed post-market by technology adopters. More importantly, having a major hardware vendor like Broadcom take a look at Linux and decide to invest the time and effort in creating a Linux driver should mean that other hardware vendors sitting on the fence regarding a Linux driver for their own offerings may come to the conclusion that Linux is something they can no longer ignore.
They may have come to that conclusion already. The success of the Android operating system has pushed a lot of vendors (including Broadcom) to create drivers for Android devices. The BCM4319 and BCM4329 SDIO chipsets were already supported on Android, which is close enough to Linux to get support for those devices into Android’s predecessor. As Android shows up on more devices, you can expect to see more Linux-ready hardware drivers appearing in the near future.
Linux will also be collecting drivers on its own merits, I would expect. Whatever the tipping point was for Broadcom to release this driver, I have a hard time believing other vendors won’t be following suit quickly, especially given how resistant to Linux Broadcom has been in the past.
It is, after all, just one driver among many, and there are indeed many more drivers needed. But Broadcom may the the leader of a driver rush for Linux, which is something the operating system has needed for a long time