So the newest version of Ubuntu (8.10) kinda sucks. I didn’t notice this until I wanted to use bluetooth. I have the XBMC media center running on my home server attached to the TV and wanted to control it with a Nintendo Wiimote I had lying around. The computer REFUSED to pair with the wiimote. After messing around with the Bluez library and libbluetooth and all that shit thinking it was the problem…I finally found what was wrong.
Bluez and everything in userland were all fine, but in the 8.10 version, the Ubuntu team decided to compile the kernel with a new subsystem for Bluetooth, ‘btusb’. This is a new module compiled in to replace the older (and perfectly working, so WTF) ‘hci-usb’. So the new ‘btusb’ only works with some newer Bluetooth adapters. I had a cheapo little Chinese one (KY-BT100 is what lsusb says) that always worked in all previous Ubuntu’s just fine. New ‘btusb’ only seems to work for half or less of the adapters out there, and this didn’t concern anyone on the Ubuntu kernel team? Really?
So it was time to compile a new kernel. I copied the config from the default 8.10 one I had installed except I disabled ‘btusb’ and enabled ‘hci-usb’ back. After compiling and booting into the new kernel, everything worked perfectly again and Wiimote pairs nicely.