At the Ottawa Linux symposium the current state of Wlan in Linux was highlighted in detail. In the meantime, the development version of the Linux kernel included the gspca webcam drivers.
Wlan in Linux
The Ottawa Linux Smyposium was at the end of July and dealt with all kinds of Linux (kernel) related topics. Heise’s Thorsten Leemhuis made an excellent review in German about the main topics of the symposium, and you also find detailed background information at the symposium archive and at the proceedings page.
One topic which struck me was the current state of Wlan in Linux: Wlan in Linux was horrible and broken for years. Or, to cite a Linux Wlan developer: “Linux was a wireless Lan ghetto.” But it changed a year ago when the new Wlan stack mac80211 was integrated into the mainline kernel. Since then, things have improved very much, and today Wlan on Linux is not the number one problem any more. In fact, given that even Atheros now officially supports Linux by hiring the main Atheros Open Source driver developer the number of not-supported devices on Linux is shrinking every day.
But there are still some interesting points on the ToDo-list of the Wlan kernel developers. The main point it the new API for userland applications to access the hardware: CFG80211. It will provide a much cleaner, saner and more usable API to the userland applications, hopefully resulting in much easier to maintain Wlan programs (think of wpa_supplicant here for example). Given that the old API, the Wirelesss Ectensions where hardly extensible themselves, the new API is developed to be easily maintainable and also extensible for future features.
Besides the new API there will also be support for Access Point Mode and Mesh Networking. With the new Wlan stack it should be possible to bring these features to all mac80211 supported devices at once. Together with sufficient userland devices sit should be only two or three clicks away in the future to provide others Wlan internet access when a Linux box has a Wlan card and is itself connected to the internet via ethernet.
Mesh Networking will provide that even automatically if needed.
In the future the developers will also focus on low-level features like power management, power saving and suspend/resume support. The main problem are still some vendors which don’t bother providing even basic Linux support. Most notable seems to be Broadcom which has good LAN hardware support, but zero Wlan support.
Here, as usually, money and user feedback create pressure! There are many Linux friendly companies out there these days, like Intel, Atheros and Realtek.
Webcams in Linux
Webcams on Linux were not working in the last years. To bring them up users (or sometimes the distributors) had to install the drivers manually – that was still the casee on recent distributions like Fedora 8.
However, at least the situation was overseeable: for most of the webcams one of two drivers was working, gspca or uvc.
However, the drivers were not included due to various reasons and problems with the sub-system. But in April rumors came up that uvc wil land in the mainline kernel soon – and it did in June already.
Now gspca was also added to the current development tree, meaning that the next kernel will indeed ship with the gspca driver on board.
For users that means that future kernels, and therefore future distributions, will all ship with drivers supporting hundreds and thousands of Webcams out of the box! Also, since the drivers are now wide spread new webcam applications can be expected soon.
But again, some vendors are not playing nice here, and do not provide any documentation and do not even follow the UVC standard. Decide with you money, and be sure to by a webcam of a Linux friendly company like Logitech.
13 thoughts on “Linux Kernel news: Wlan and Webcams for everyone”
Great information, Thanks!
–“But again, some vendors are not playing nice here”–
Do you have a list of vendors that should be black-balled for this?
I’d like to get the word out about who’s not playing nice.
Thanks for bringing us up to speed. By the way I submitted this to Digg.
Logitech is a friendly company and with really great products as the Logitech Quickcam Sphere AF, but sadly it doesn’t support pan/tilt controls in Linux with an easy way at all, and we still need to use some Logitech-specific values with some ioctls, making it a bit tied to device-dependent code. I really hope it gets sorted out soon.
Shannon, no yet. I did think about such a list, though…
Stefan, thx 🙂
Cláudio, do oyu know if that is an issue of the cam or an issue of the driver in Linux,the driver framework within Linux or the uvc specifications?
An example of a crappy non-UVC-compliant webcam is the GL860 (see gl860.sourceforge.net for an experimental driver for it). In case you don’t get it by reading that page:
* They produce 2 versions of the chipset, GL860A which supports UVC and GL860 which doesn’t. Guess which one is integrated in many laptops…
* There are 2 different USB IDs for GL860.
* However, there are way more than 2 possible chips actually used! There are lots of completely different hardware with the same USB ID. And there’s no obvious way to detect which hardware is being used, the way they do it is that laptop producers offer customized Window$ drivers for their variant (supporting only 1 or 2 of those variants) and a driver for one laptop usually doesn’t work with another even if the USB ID is the same. (For those supporting 2 variants, there is a command which will return 00 or FF so the driver can decide which, but 00 and FF appear to be the only possible values that command will return.) The only hope of being able to write a driver which always works appears to be finding a way to probe the model by sending commands with a known different reaction, like in the old ISA days. (Disclaimer: This is based on what we currently know about that device. There may be a way to ID the chipset which is just not used in the Window$ drivers and thus not known yet.)
Next stop: USB flatbed scanners? I bought one recently, and it won’t work in Linux (really impossible). That one computer is running Windows XP now…
Wlan in Linux is still crap, see Buguntu 227279. Ubuntu have just released a Python script to ditch the Linux wifi drivers and replace them with Microsoft ones wrapped in ndis https://launchpad.net/auto-ndiswrapper
Kevin, that sounds really awful – at least that webcam is not allowed to have the “designed for Windows Vista” logo, because that requires uvc support afaik.
rawsausage, most scanners are in fact quite well supported, especially if they can be run under XP as well. Would you mind posting the model number?
Peter: One bug report about one specific driver for a specific card is hardly appropriate to judge the entire base system. Also, this post focuses on the development of the current driver backend, it doesn’t claim everything is perfect right now.
Anyway, Ubuntu didn’t release anything. A project on Launchpad did, yes, but that’s not necessarily connected to Ubuntu. And using ndiswrapper to solve all WLAN problems is stupid – that way the highest quality you can achieve is sub-Microsoft. The goal of the WLAN Linux kernel developers is to reach a much higher level.
Oh, LExmark X1270. It’s mfd, used only as scanner.
I have noticed the large improvement in Linux WLan support over the years. I am quite grateful for it and I think that is also a huge barrier for people who are interested in Linux, but are less tech. savy than the average Linux user currently is.
The information you give sounds quite promising 🙂
Hey this blog isn’t about popcorn!