USB Bluetooth on Kubuntu 11.04 (Natty)

I recently ended up with an ASUS Eee-PC tablet/netbook (T101MT) to play with. Reviews for the system were less than stellar, based in large part on it shipping with Windows 7 Starter edition (which is lacking in both features and good touchscreen/tablet support), so after a bit of partition rearrangement to free up space, I installed Kubuntu 11.04 Natty Narwhal on it – the same thing I’m using on my desktop.

The Ubuntu community has good support and documentation for both this machine and for running Ubuntu and Kubuntu on netbooks, so getting everything going was remarkably painless with two notable exceptions: getting a USB Bluetooth adapter working, and getting the screen to lock when I manually put the tablet to sleep (after a little fiddling with screen savers & settings, it locks fine if it goes to sleep due to idle timeout). I’ve seen some recommendations for the sleep locking issue and will pursue that later, but in this article I’ll do a bit of diagnosing and configuring to get Bluetooth working.

I had a bit of confusion starting out, because much of what I was finding as advice referred to ‘usb_hci’ which was not present as a kernel module on my system. It turns out that usb_hci was replaced with ‘btusb’ some time ago, but there’s quite a bit of documentation still around from people trying to get things working on earlier versions of Ubuntu. If you’re running a new install of Ubuntu, be careful about what you’re reading since thingsdo change over time.

Starting out, I used ‘lsusb‘ to list USB-connected devices and confirm that the Bluetooth adapter was actually being seen. It was being detected as

I looked through the output of ‘dmesg‘ and found where it was loading as well, but that wasn’t as important since it was loading. If ‘lsusb‘ hadn’t shown the adapter then the ‘dmesg‘ information would have been important, but it may be a bit much for most people to read through and find the important parts in. Feel free to skip this step.

The device was present and visible but KDE’s Bluetooth settings panel was still telling me that there were no adapters present, so a little more digging with ‘hciconfig -a‘ turned up this:

Having the interface down could explain why KDE didn’t see any Bluetooth adapters – there were none usable – though it wouldn’t be a bad idea to have something listing inactive-but-present devices. Attempting to bring the interface up with ‘hciconfig hci0 up‘ failed with this error:

Can't init device hci0: Operation not possible due to RF-kill (132)

And a bit of quick searching turned up the solution (possibly overkill in this case) as ‘rfkill unblock all‘. ‘rfkill unblock bluetooth‘ would also have done the trick, but in this case only Bluetooth was blocked anyway (rfkill enables and disables wireless devices, important for saving battery power on portables). You can check which wireless devices will be affected with ‘rfkill list‘.

‘rfkill unblock all‘ does not give any feedback, but if you don’t get an error then you should be fine. After that, ‘hciconfig hci0 up‘ should work, also with no output or feedback. To confirm that it worked, run ‘hciconfig -a‘ one more time to get results something like this: