Skip to content


Kubuntu just shipped an update to their Linux kernel to 2.6.27-9. It didn't help about the U100 webcam problem but at the same time disabled the driver I had hacked up earlier. To make my life easier I extracted the uvc video driver from the kernel sources into a standalone package. This way I can recompile the driver with a simple make whenever a new update comes along.

I figure it could by useful for others as well, so it's up here for download. Compiling and installing should be fairly straight forward, just unpack the sources and type make in the extracted directory. For Intrepid you'll probably need to install a number of packages with essential build tools and at least the kernel header files. There are some HowTo's about compiling kernel modules without installing the full kernel source, however I think it should be enough to just

apt-get install build-essential linux-headers

Once compiled, just install the module as follows:

# cp uvcvideo.ko /lib/modules/$(uname -r)/updates
# depmod -a

This should be all. You can now test the webcam driver with for example xawtv. If you don't succeed, it may be that the old driver module is still loaded. Remove it with rmmod, or if you're entirely lost by now, just reboot.

Since I bought the U100 about one week ago I have been using it in a quite regular fashion. It currently replaces the Archos 5 as the main gadget I spend time with, which was somewhat expected due to a netbook being a much more versatile companion than a portable media player. That doesn't mean I've given up on the "5". It's strong multimedia and internet capabilities (it's even got a decent email client) make it a nice leisure companion, but I cannot use it for hacking and writing blog entries, while doable, is also nothing it really excels in.

Back to the U100 and Kubuntu. I've managed to get almost every bit of built-in peripherals working by now, except for Bluetooth, which I will come to later.

The hardest part so far was getting the camera going. It's an "Asus BisonCam" with USB VID:PID 5986:0203. On first sight it looked like this camera was supported by the Kubuntu linux kernel (2.6.27) because it was instantly recognized by the standard uvcvideo driver, however it did not work at all with either Skype, VLC or even Xawtv. I found that the driver had been moved to LinuxTv so I went and grabbed the latest snapshot from the v4l tree. However, while compiling the snapshot was not much of a problem, the resulting kernel module uvcvideo.ko could not be loaded due to symbol version differences. After several (fruitless) attempts to compile a driver matching the installed kubuntu kernel I looked at the source and found that the linuxtv people were following their habit of breaking compatibility with the mainline linux kernel, making sure that their drivers only work with their very own V4L API.

While it would have been possible to solve this by installing all modules of the v4l tree into the system I didn't feel like butchering my freshly installed system. But, no reason for distress. It took about one hour of tinkering with "kompare" to merge the few relevant changes from the LinuxTv driver into the existing Kubuntu kernel (including compile time). Had Kubuntu provided kdiff3 packages (which they don't), the whole affair could have been even easier. Kompare is not a bad tool, but kdiff3 is a magnitude more versatile.

Adding the office printer was a bit of a challenge, too. There actually is a printing framework in Kubuntu, but it seems to be just a frontend to CUPS and entirely relies on a local CUPS server being running on the system. KDE 3 used to have excellent printer support, but I guess nobody bothered yet to port this code forward to KDE 4, that's a real pity.
For some reason the local CUPS didn't pick up the printers exported by the CUPS instance on our office server and so I had to add them manually with konqueror via localhost:631 and using the web interface, and even then it only worked well after manually installing the printers PPD file. I also tried with the "HPLIP Toolbox" Kubuntu supplies but that only seems to work with HP printers (as the name suggests). Our office printer is a Ricoh iR3170C.

Bluetooth is not working yet. While the hardware is supported - I can switch it on with Fn-F11 and then use hcitool to scan for peers - it does not work at all with KDE. Searching in Launchpads bug tracker I found that this is a well known problem. Apparently there was a rather hasty switch to kernel version 2.6.27 which brought in a new BlueZ version with a completely reworked D-BUS interface. The incompatibility broke KDE's bluetooth support entirely and due to some communication breakdown between Kubuntu and upstream KDE developers the issue wasn't fixed in time. I can only hope that happens soon. I used to use my mobile phone as a modem when in a train or staying at hotels without WiFi. It'd be a real pity losing this. However, the Gnome side of things doesn't look too brilliant either. I installed the gnome bluetooth applet and tried to get modem dialing working but it wasn't possible either. It just wouldn't detect my mobile phone and then it only seemed to support OBEX and some audio profiles. KNetworkManager also doesn't offer any modem support. I wonder why because it definitely works on openSUSE 10.3.

There are some stupid power management bugs, too. For example, DPMS doesn't seem to work, the display just doesn't want to shut down. Also, coming out of suspend the display brightness isn't adjusted when you're on battery power. Also, hibernation sometimes hangs and only forcing an emergency shutdown (long-press on power button) gets you back in control.

I also found that reboot and shutdown from the KDE desktop don't work. It just exits to KDM and from there the system sometimes hangs when you try to shutdown or reboot.

All in all Kubuntu 8.10 looks a bit unpolished. There are no major problems apart from the broken Bluetooth but at the same time there are a lot of small nevertheless annoying malfunctions. Not annoying enough to ditch Kubuntu yet, provided they get their distribution fixed soon enough. I'll re-evaluate when openSUSE 11.1 comes out around Christmas.