Skip to content

OpenSuSE 11.3, Macbook Pro 6.2, Bluetooth fix

See since the older post about installation of OpenSuSE 11.3 on my new macbook pro 6.2, I never realized that the bluetooth wasnt working. Never had to us Bluetooth…

Do a lsusb, and you will see both:

  • ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (Part of BCM2046 Bluetooth)
  • ID 05ac:8218

Not too sure what the first is, but the 2nd one is the actual bluetooth device. The device works fine with the btusb generic driver, but the actual problem is that the btusb kernel module does not recognize the device id, so it never initializes. Since the chipset is actually supported, we just need to patch btusb.c and add in the device ids.

But yeah, so its not working. This is how to make it work (the compiling/installing method is not optimal for building a kernel module, but meh…)

  • This is only tested on kernel version 2.6.34
  • lsusb, confirm you have device 0a5c:4500 and 05ac:8128 (8125 works also but you need to modify the code yourself in btusb.c, really easy anyway)
  • Install kernel source, header, syms
  • Install bluecove, bluecove-firmware, bluecove-test (zypper in bluecove bluecove-firmware bluecove-test)
  • Download this file
  • Check your kernel version and name with uname -r, the symbol [LINUX] below means the actual version
  • cd /usr/src/[LINUX]/drivers
  • su
  • mkdir btusb
  • untar the file into btusb
  • make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
  • cp ./btusb.ko /lib/modules/$(shell uname -r)/updates
  • depmod
  • modprobe btusb

This should then start the BT module on the macbook pro. To confirm, do a dmesg and see if you have something similar:

[   22.539176] Bluetooth: L2CAP ver 2.14
[   22.539181] Bluetooth: L2CAP socket layer initialized
[   22.577101] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   22.577103] Bluetooth: BNEP filters: protocol multicast
[   22.611592] Bridge firewalling registered
[   22.631077] Bluetooth: SCO (Voice Link) ver 0.6
[   22.631079] Bluetooth: SCO socket layer initialized
[   22.694498] usb 1-1.1.1: USB disconnect, address 7
[   22.724451] Bluetooth: RFCOMM TTY layer initialized
[   22.724456] Bluetooth: RFCOMM socket layer initialized
[   22.724457] Bluetooth: RFCOMM ver 1.11

To confirm that the device is started, do hcitool dev and you should see a device user Devices

You can now try discovery etc with the BT Manager of your choice (kbluetooth for me)…

Posted in Technology. Tagged with , , .