← Back to team overview

kernel-packages team mailing list archive

[Bug 1065400] Re: Support for loading Broadcom bluetooth firmware

 

I now see that, while my device (per 'dmesg | grep -B1 Broadcom') is a BCM20702A0, I was attempting to load firmware from a .hex file with "BCM20702A1" in its name. I had chosen BCM20702A1_001.002.014.0889.0897.hex because that was the only filename that turned up when I searched bcbtums-win8x64-brcm.inf for "21E6", which is my device ID (per 'lsusb | grep Broadcom'). 
___
;;;;;;;;;;;;;RAMUSB21E6;;;;;;;;;;;;;;;;;

[RAMUSB21E6.CopyList]
bcbtums.sys
BCM20702A1_001.002.014.0889.0897.hex

[RAMUSB21E6.NTamd64]
Include=bth.inf
Needs=BthUsb.NT
FeatureScore=EF
CopyFiles=RAMUSB21E6.CopyList
CopyFiles=BcmBtRSupport.CopyList

[RAMUSB21E6.NTamd64.hw]
AddReg=RAMUSB21E6.NTamd64.hw.reg

[RAMUSB21E6.NTamd64.hw.reg]
HKR,,LowerFilters, 0x00010000, "bcbtums"
HKR,,%RAMPatchFileName%,0x00000, "BCM20702A1_001.002.014.0889.0897.hex"
HKR,,%RemoteWakeEnabled%,0x00010001,1
HKR,,%DeviceRemoteWakeSupported%,0x00010001,1

[RAMUSB21E6.NTamd64.Services]
needs=BthUsb.NT.Services
AddService=bcbtums,,BCBTUMS_Service_Inst, BTWSECFL_EventLog_Inst
DelService=BcmBtRSupport,0x00000200
AddService=BcmBtRSupport,0x00000800,BtwRSupport_Service_Inst ; SPSVCSINST_STARTSERVICE
___

So, I tried the wine trick using the Lenovo Thinkpad "Bluetooth with
Enhanced Data Rate" software...

http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS034630
http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/gfwb06ww.exe

...and ended up in more or less the same situation. But, the Lenovo installer created an additional folder, though, called "LD" which contained a BCM20702A0_001.001.024.0156.0204.hex file that wasn't in the set from the Broadcom installer...so I figured I'd try that one out. But, alas, it broke things again. I was no longer able even to add the headset I've been using to test, and I ended up with the following, over and over again, in /var/log/syslog:
___
Sep 14 15:28:27 ... kernel: [  163.540986] usb 1-1.4: USB disconnect, device number 26
Sep 14 15:28:27 ... bluetoothd[1056]: Unregister path: /org/bluez/1056/hci0
Sep 14 15:28:27 ... bluetoothd[1056]: hci0: Set IO Capability (0x0018) failed: Invalid Index (0x11)
Sep 14 15:28:27 ... kernel: [  163.773364] usb 1-1.4: new full-speed USB device number 27 using ehci-pci
Sep 14 15:28:27 ... kernel: [  163.869583] usb 1-1.4: New USB device found, idVendor=0a5c, idProduct=21e6
Sep 14 15:28:27 ... kernel: [  163.869595] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep 14 15:28:27 ... kernel: [  163.869601] usb 1-1.4: Product: BCM20702A0
Sep 14 15:28:27 ... kernel: [  163.869605] usb 1-1.4: Manufacturer: Broadcom Corp
Sep 14 15:28:27 ... kernel: [  163.869610] usb 1-1.4: SerialNumber: <serial_num>
Sep 14 15:28:27 ... mtp-probe: checking bus 1, device 27: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4"
Sep 14 15:28:27 ... mtp-probe: bus: 1, device: 27 was not an MTP device
Sep 14 15:28:28 ... kernel: [  164.670213] Bluetooth: firmware loaded
Sep 14 15:28:28 ... bluetoothd[1056]: input-headset driver probe failed for device <mac_address>
Sep 14 15:28:28 ... bluetoothd[1056]: Adapter /org/bluez/1056/hci0 has been enabled
Sep 14 15:28:28 ... bluetoothd[1056]: hci0: Get Connections (0x0015) failed: Not Powered (0x0f)
___

All of which probably means that I'm off-topic, here, huh?. :) But
still. Anybody got any suggestions for how I can do a better job of
finding (or converting) the appropriate .hex file?

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1065400

Title:
  Support for loading Broadcom bluetooth firmware

Status in “linux” package in Ubuntu:
  Fix Released
Status in “linux” source package in Precise:
  Fix Released
Status in “linux” source package in Quantal:
  Fix Committed
Status in “linux” source package in Raring:
  Fix Committed
Status in “linux” source package in Saucy:
  Fix Released

Bug description:
  Broadcom bluetooth chips require a tool called patchram uploader [1]
  to load firmware. This applies to at least BCM20702 and BCM43142.
  Although some of the devices have an OTPROM that contains required
  firmware, but it is found that these devices would not have HFP/HSP
  support unless a upgraded firmware is loaded via patchram uploader.

  This tool requires hci device to do the firmware loading, but this may
  cause some race condition between patchram tool and bluetoothd or
  something that also works on hci interface.

  Also it needs some hooks to make firmware loads after bootup, s3,  s4,
  rfkill, and device hotplug events. Implement this loader in kernel
  module would make things more easier.

  [1] http://marc.info/?l=linux-bluetooth&m=132039175324993&w=2

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1065400/+subscriptions