← Back to team overview

kernel-packages team mailing list archive

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

 

Hi Jesse,

>From your message i infer that the firmware load patch is now in the
latest raring kernel (3.8.0-27-generic) and hence automatic firmware
load should work correctly?

When i put working firmware as /lib/firmware/fw-0a5c_21e6.hcd on my
ThinkPad W530 with 0a5c:21e6 / BCM20702A0 Broadcom chip, i get the
following syslog messages ...

   Aug 13 10:49:40 babbage2 kernel: [10934.063072] usb 1-1.4: new full-speed USB device number 31 using ehci-pci
   Aug 13 10:49:40 babbage2 kernel: [10934.159795] usb 1-1.4: New USB device found, idVendor=0a5c, idProduct=21e6
   Aug 13 10:49:40 babbage2 kernel: [10934.159803] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
   Aug 13 10:49:40 babbage2 kernel: [10934.159808] usb 1-1.4: Product: BCM20702A0
   Aug 13 10:49:40 babbage2 kernel: [10934.159811] usb 1-1.4: Manufacturer: Broadcom Corp
   Aug 13 10:49:40 babbage2 kernel: [10934.159815] usb 1-1.4: SerialNumber: 083E8EE2E348
   Aug 13 10:49:40 babbage2 mtp-probe: checking bus 1, device 31: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4"
   Aug 13 10:49:40 babbage2 mtp-probe: bus: 1, device: 31 was not an MTP device
   Aug 13 10:49:42 babbage2 kernel: [10935.397013] Bluetooth: firmware loaded
   Aug 13 10:49:42 babbage2 bluetoothd[1172]: Adapter /org/bluez/1172/hci0 has been enabled
   Aug 13 10:49:42 babbage2 bluetoothd[1172]: Endpoint registered: sender=:1.53 path=/MediaEndpoint/HFPAG
   Aug 13 10:49:42 babbage2 bluetoothd[1172]: Endpoint registered: sender=:1.53 path=/MediaEndpoint/HFPHS
   Aug 13 10:49:42 babbage2 bluetoothd[1172]: Endpoint registered: sender=:1.53 path=/MediaEndpoint/A2DPSource
   Aug 13 10:49:42 babbage2 bluetoothd[1172]: Endpoint registered: sender=:1.53 path=/MediaEndpoint/A2DPSink
   Aug 13 10:49:44 babbage2 kernel: [10937.440496] Bluetooth: hci0 command 0x0c56 tx timeout
   Aug 13 10:49:46 babbage2 kernel: [10939.440676] Bluetooth: hci0 command 0x0c6d tx timeout
   Aug 13 10:49:48 babbage2 kernel: [10941.440946] Bluetooth: hci0 command 0x0c1a tx timeout
   Aug 13 10:49:50 babbage2 kernel: [10943.441130] Bluetooth: hci0 command 0x0c24 tx timeout
   Aug 13 10:49:52 babbage2 kernel: [10945.441401] Bluetooth: hci0 command 0x0c52 tx timeout

... and BT disconnects again.

When i remove lib/firmware/fw-0a5c_21e6.hcd, reload bluetoothi get ...

  Aug 13 10:51:10 babbage2 kernel: [11024.005470] usb 1-1.4: new full-speed USB device number 32 using ehci-pci
  Aug 13 10:51:11 babbage2 kernel: [11024.101655] usb 1-1.4: New USB device found, idVendor=0a5c, idProduct=21e6
  Aug 13 10:51:11 babbage2 kernel: [11024.101663] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
  Aug 13 10:51:11 babbage2 kernel: [11024.101668] usb 1-1.4: Product: BCM20702A0
  Aug 13 10:51:11 babbage2 kernel: [11024.101671] usb 1-1.4: Manufacturer: Broadcom Corp
  Aug 13 10:51:11 babbage2 kernel: [11024.101674] usb 1-1.4: SerialNumber: 083E8EE2E348
  Aug 13 10:51:11 babbage2 mtp-probe: checking bus 1, device 32: "/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4"
  Aug 13 10:51:11 babbage2 mtp-probe: bus: 1, device: 32 was not an MTP device
  Aug 13 10:51:11 babbage2 kernel: [11024.148591] Bluetooth: can't load firmware, may not work correctly
  Aug 13 10:51:11 babbage2 bluetoothd[1172]: Adapter /org/bluez/1172/hci0 has been enabled
  Aug 13 10:51:11 babbage2 bluetoothd[1172]: Endpoint registered: sender=:1.53 path=/MediaEndpoint/HFPAG
  Aug 13 10:51:11 babbage2 bluetoothd[1172]: Endpoint registered: sender=:1.53 path=/MediaEndpoint/HFPHS
  Aug 13 10:51:11 babbage2 bluetoothd[1172]: Endpoint registered: sender=:1.53 path=/MediaEndpoint/A2DPSource
  Aug 13 10:51:11 babbage2 bluetoothd[1172]: Endpoint registered: sender=:1.53 path=/MediaEndpoint/A2DPSink

... and if I now load the (same) firmware manually with ...

   brcm_patchram_plus_usb --patchram ..firmware.. hci0

... i get a working HSP/HFP device!

Can you shed some light in to this? thanks!

-- 
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:
  In Progress
Status in “linux” source package in Precise:
  Fix Released
Status in “linux” source package in Quantal:
  Fix Released
Status in “linux” source package in Raring:
  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