Support for loading Broadcom bluetooth firmware

Bug #1065400 reported by Jesse Sung
520
This bug affects 110 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Jesse Sung
Precise
Fix Released
Medium
Jesse Sung
Quantal
Fix Released
Medium
Jesse Sung
Raring
Fix Released
Medium
Jesse Sung
Saucy
Fix Released
Medium
Jesse Sung
Trusty
Confirmed
Undecided
Unassigned

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

Revision history for this message
Jesse Sung (wenchien) wrote :
Revision history for this message
Jesse Sung (wenchien) wrote :
Changed in linux (Ubuntu):
assignee: nobody → Jesse Sung (wenchien)
status: New → In Progress
tags: added: blocks-hwcert-enablement
Revision history for this message
Jesse Sung (wenchien) wrote :

The USB IDs that need this patchram stuff we know so far:
* 0a5c:[21d3, 21d7, 21e3, 21e6, 21f3, 21f4]
* 413c:8197
* 0489:e031
* 13d3:3388

Changed in linux (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Jesse Sung (wenchien) wrote :

USB ID list update:
* 0a5c:[21d3, 21d7, 21e3, 21e6, 21f3, 21f4]
* 413c:8197
* 0489:e031
* 13d3:[3388, 3389]

Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Precise):
assignee: nobody → Jesse Sung (wenchien)
status: New → Fix Committed
Changed in linux (Ubuntu Quantal):
assignee: nobody → Jesse Sung (wenchien)
status: New → In Progress
Revision history for this message
Davide Basilio Bartolini (bartolinidb) wrote :

I experience the broken HFP/HSP issue with a bluetooth molule with USB ID 0a5c:217f

(reporting this since this ID is not on the list)

Revision history for this message
Jesse Sung (wenchien) wrote :

@bartolinidb, Could you provide the output of usb-devices? Thank you.

Revision history for this message
darthvader (sarmbruster) wrote :

0a5c:21e6 is also affected, see http://askubuntu.com/questions/180437/bluetooth-headset-a2dp-works-hsp-hfp-not-no-sound-no-mic. Is there a way to manally load the firmware?

Revision history for this message
Jesse Sung (wenchien) wrote :

@sarmbruster: yes, there's an userspace tool which can be found at
http://marc.info/?l=linux-bluetooth&m=132039175324993&w=2

Revision history for this message
Herton R. Krzesinski (herton) wrote :

This bug is awaiting verification that the kernel for Precise (3.2.0-34.53) and Quantal (3.5.0-19.30) in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-<releasename>' to 'verification-done-<releasename>'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-precise verification-needed-quantal
Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello Herton

I am on Quantal with Kubuntu 64 bits is there any wiki mentionning the step to make the verification like the one you propoosed in https://wiki.ubuntu.com/Testing/EnableProposed

I am juste a power user so please excuse my maybe stupid question

Thanks

Revision history for this message
Jesse Sung (wenchien) wrote :

Hi Christophe,

To test this, you'll need a firmware image for your module. It must be in hcd format. Name it as /lib/firmware/fw-VVVV_PPPP.hcd where VVVV and PPPP are the module's VID and PID, for example /lib/firmware/fw-0a5c_21e3.hcd for module 0a5c:21e3.

If you don't have a hcd firmware, please try to get a hex firmware from windows driver, and convert it into hcd format.
You can find the tool at https://github.com/jessesung/hex2hcd .

$ git clone git://github.com/jessesung/hex2hcd.git
$ cd hex2hcd
$ make
$ hex2hcd <input_file>.hex fw-xxxx_yyyy.hcd

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello Jesse,

So I have to install new kernel+ the operation you are mentionning that is right?

Thanks and sorry for noob questions

Revision history for this message
Jesse Sung (wenchien) wrote :

Christophe,

Yes, both kernel and firmware image are required. :)

Jesse Sung (wenchien)
tags: added: verification-done-precise
removed: verification-needed-precise
Jesse Sung (wenchien)
Changed in linux (Ubuntu Quantal):
status: In Progress → Fix Committed
tags: added: verification-done-quantal
removed: verification-needed-quantal
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (19.5 KiB)

This bug was fixed in the package linux - 3.2.0-34.53

---------------
linux (3.2.0-34.53) precise-proposed; urgency=low

  [Luis Henriques]

  * Release Tracking Bug
    - LP: #1078760

  [ Kamal Mostafa ]

  * SAUCE: input: Cypress PS/2 Trackpad list additional contributors

  [ Kyle Fazzari ]

  * SAUCE: input: Cypress PS/2 Trackpad fix multi-source, double-click
    - LP: #1055788
  * SAUCE: input: Cypress PS/2 Trackpad fix lost sync upon palm contact
    - LP: #1048258
  * SAUCE: input: Cypress PS/2 Trackpad fix taps turning into hardware
    clicks
    - LP: #1064086

  [ Tim Gardner ]

  * [Config] remove ndiswrapper from Provides:
    - LP: #1076395
  * [Config] CONFIG_HP_WATCHDOG=m for x86en
    - LP: #1076342

  [ Upstream Kernel Changes ]

  * Revert "SUNRPC: Ensure we close the socket on EPIPE errors too..."
    - LP: #1075355
  * Revert "ath9k_hw: Updated AR9003 tx gain table for 5GHz"
    - LP: #1075355
  * eCryptfs: check for eCryptfs cipher support at mount
    - LP: #338914
  * isci: fix isci_pci_probe() generates warning on efi failure path
    - LP: #1068162
  * mtd: nand: Use the mirror BBT descriptor when reading its version
    - LP: #1068162
  * drm/i915: prevent possible pin leak on error path
    - LP: #1068162
  * workqueue: add missing smp_wmb() in process_one_work()
    - LP: #1068162
  * TTY: ttyprintk, don't touch behind tty->write_buf
    - LP: #1068162
  * Remove BUG_ON from n_tty_read()
    - LP: #1068162
  * n_gsm.c: Implement 3GPP27.010 DLC start-up procedure in MUX
    - LP: #1068162
  * n_gsm: uplink SKBs accumulate on list
    - LP: #1068162
  * n_gsm : Flow control handling in Mux driver
    - LP: #1068162
  * char: n_gsm: remove message filtering for contipated DLCI
    - LP: #1068162
  * n_gsm: added interlocking for gsm_data_lock for certain code paths
    - LP: #1068162
  * n_gsm: avoid accessing freed memory during CMD_FCOFF condition
    - LP: #1068162
  * n_gsm: replace kfree_skb w/ appropriate dev_* versions
    - LP: #1068162
  * n_gsm: memory leak in uplink error path
    - LP: #1068162
  * UBI: fix autoresize handling in R/O mode
    - LP: #1068162
  * UBI: erase free PEB with bitflip in EC header
    - LP: #1068162
  * firmware: Add missing attributes to EFI variable attribute print out
    from sysfs
    - LP: #1068162
  * tools/hv: Fix exit() error code
    - LP: #1068162
  * slab: fix the DEADLOCK issue on l3 alien lock
    - LP: #1068162
  * gspca_pac7302: Add usb-id for 145f:013c
    - LP: #1068162
  * gspca_pac7302: add support for device 1ae7:2001 Speedlink Snappy
    Microphone SL-6825-SBK
    - LP: #1068162
  * xhci: Warn when hosts don't halt.
    - LP: #1068162
  * xHCI: add cmd_ring_state
    - LP: #1068162
  * xHCI: add aborting command ring function
    - LP: #1068162
  * xHCI: cancel command after command timeout
    - LP: #1068162
  * hpsa: Use LUN reset instead of target reset
    - LP: #1068162
  * rc: ite-cir: Initialise ite_dev::rdev earlier
    - LP: #1068162
  * staging: speakup_soft: Fix reading of init string
    - LP: #1068162
  * target: fix return code in target_core_init_configfs error path
    - LP: #1068162
  * powerpc/eeh: Lock module while handling EEH event
  ...

Changed in linux (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.5.0-19.30

---------------
linux (3.5.0-19.30) quantal-proposed; urgency=low

  [Luis Henriques]

  * Release Tracking Bug
    - LP: #1078041

  [ Andy Whitcroft ]

  * [Config] update Vcs-git: to point to quantal
    - LP: #1069204

  [ Joseph Salisbury ]

  * SAUCE: ALSA: hda - add quirk for Thinkpad T430
    - LP: #1060372

  [ Tim Gardner ]

  * [Config] CONFIG_USB_OTG=n for all but armel/armhf
    - LP: #1047527
  * [Config] remove ndiswrapper from Provides:
    - LP: #1076395
  * [Config] ONFIG_AMD_IOMMU_V2=m
    - LP: #1071520

  [ Upstream Kernel Changes ]

  * kernel/sys.c: fix stack memory content leak via UNAME26
    - LP: #1065622, #1060521
    - CVE-2012-0957
  * use clamp_t in UNAME26 fix
    - LP: #1065622, #1060521
    - CVE-2012-0957
  * net: fix divide by zero in tcp algorithm illinois
    - LP: #1077091
    - CVE-2012-4565

  [ Wen-chien Jesse Sung ]

  * SAUCE: Bluetooth: Add a load_firmware callback to struct hci_dev
    - LP: #1065400
  * SAUCE: Bluetooth: Implement broadcom patchram firmware loader
    - LP: #1065400
  * SAUCE: Bluetooth: Add support for 13d3:3388 and 13d3:3389
    - LP: #1065400
 -- Luis Henriques <email address hidden> Tue, 13 Nov 2012 15:49:15 +0000

Changed in linux (Ubuntu Quantal):
status: Fix Committed → Fix Released
Revision history for this message
bakytn (bakytn) wrote :

I have just upgraded and got kernvel 3.5.0.19

bluetooth is not working after restart.

Revision history for this message
Jesse Sung (wenchien) wrote :

@bakytn,

Please try the steps in comment 11 and see if it works or not. Thank you.

Revision history for this message
bakytn (bakytn) wrote :

@jessesung,

ok sir, but where exactly I can find the driver? I tried to download from the Internet with no luck

My device is: 0489:E031,

sorry :(

Revision history for this message
Jesse Sung (wenchien) wrote :

@bakytn,

You may try the web site of the manufacturer of your laptop and see if there's windows driver for the bluetooth device.

And for 0489:e031, it is mentioned on the archlinux forum.
https://bbs.archlinux.org/viewtopic.php?pid=1040220#p1040220
Maybe this firmware work?

Revision history for this message
Marcus Weber (ich-marcusweber) wrote :

@bakytn,

I took the driver from Fujitsu Lifebook 531 and extracted the hex files.

https://dl.dropbox.com/u/11767610/0431_e031.tar.gz

There are different hex-files in the driver, i converted the one ending 065 to hcd, and it works fo me.

Revision history for this message
bakytn (bakytn) wrote :

@jessesung, @marcusweber

no didn't work. I tried both hex files.

What I did:

1. converted to hcd
2. placed to /lib/firmware
3. rebooted

Revision history for this message
Jesse Sung (wenchien) wrote :

Hi @bakytn,

Did you name it as /lib/firmware/fw-0489_e031.hcd (case sensitive)?
Please attach the output of "dmesg | grep Bluetooth" if it still doesn't work for you.

Thank you.

Revision history for this message
bakytn (bakytn) wrote :

@jessesung,
dmesg.txt

(yes, I renamed both times exactly as: fw-0489_e031.hcd)

I have attached my current fw file too.

Revision history for this message
bakytn (bakytn) wrote :

@jessesung
dmesg.txt (I didn't I can't attach more than one file at a time)

Revision history for this message
Jesse Sung (wenchien) wrote :

@bakytn,

I think the dmesg output looks good. Could you verify that if btusb.ko is loaded automatically or not?

Also, what's the output of dmesg if you remove the firmware image from /lib/firmware/ and reboot?

Revision history for this message
benklop (benklop) wrote :

I believe USB device with ID 0bda:0001 is also affected by this. This device is part of a Combination PCI-E wifi/bluetooth card - RTL8188CEB8. I'm having difficulty locating windows bluetooth drivers for this device in order to extract firmware, however.

Revision history for this message
Jesse Sung (wenchien) wrote :

@benklop,

Could you provide the output of /usr/bin/usb-devices of this module? Thank you!

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello,

Kernel 3.5.0-20...Not able to discover device...

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Sorry Posted too rapidly...Still have to install the firmware manually...will revert back once done

Thanks

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello,

I have addes the firmware manually but still not able to connect a device
dmesg | grep Bluetooth
[ 3.210264] Bluetooth: Core ver 2.16
[ 3.210284] Bluetooth: HCI device and connection manager initialized
[ 3.210285] Bluetooth: HCI socket layer initialized
[ 3.210286] Bluetooth: L2CAP socket layer initialized
[ 3.210290] Bluetooth: SCO socket layer initialized
[ 3.281175] Bluetooth: can't load firmware, may not work correctly
[ 3.337308] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 3.337311] Bluetooth: BNEP filters: protocol multicast
[ 3.344340] Bluetooth: RFCOMM TTY layer initialized
[ 3.344346] Bluetooth: RFCOMM socket layer initialized
[ 3.344347] Bluetooth: RFCOMM ver 1.11

Revision history for this message
Jesse Sung (wenchien) wrote :

Hi Christophe,

> [ 3.281175] Bluetooth: can't load firmware, may not work correctly

request_firmware() can't find the firmware image. May be due to wrong file name. Please be sure that the image is named as fw-xxxx_yyyy.hcd (where xxxx and yyyy are the VID and PID of this device, in lower case) and placed in /lib/firmware/. Also if the image is in hex format, please convert it to hcd format.

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello Jesse,

Done all of that. Maybe I will test with other hex file transformed in hcd because there is 4 or 5 hex file in the windows drivers.

2 questions how can i relaod teh firmware without rebooting the machine?

Is this normal that this is the only firmware in hcd because all other are either dot fw or bin file

Thanks

Revision history for this message
Jesse Sung (wenchien) wrote :

Hi Christophe,

According to the dmesg, it looks more like a "can't locate the file" instead of "file in wrong format". So please double check to make sure the btusb module can get the file it wants.

Reload the btusb module can make it reload firmware.
# modprobe -r btusb && modprobe btusb
But from time to time, if a wrong firmware is loaded, the module itself will hang. Depend on the design, you may need to disable bluetooth and re-enable it again via hotkey, reboot, or even power off and remove the power cord (and/or battery) to make it work again.

And yes it's normal to have the firmware in hcd format and named as that because that's what the code expect it to be. :)

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello,

Firmware is loaded but not able to add a device or to be seen by a device

dmesg | grep Bluetooth
[ 3.158075] Bluetooth: Core ver 2.16
[ 3.158102] Bluetooth: HCI device and connection manager initialized
[ 3.158103] Bluetooth: HCI socket layer initialized
[ 3.158104] Bluetooth: L2CAP socket layer initialized
[ 3.158108] Bluetooth: SCO socket layer initialized
[ 3.376100] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 3.376103] Bluetooth: BNEP filters: protocol multicast
[ 3.389721] Bluetooth: RFCOMM TTY layer initialized
[ 3.389724] Bluetooth: RFCOMM socket layer initialized
[ 3.389725] Bluetooth: RFCOMM ver 1.11

Please note to take the latest hex file with 65 at the end otherwise I had hci0 TX Transfer timeout

Thanks Jesse for the help

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello

Kernel 3.5.0-21 still same issue...not able to pair a device....No device listed (and devices are discoverable !)

Any message I can put there to help to investigate!

Kind Regards

Revision history for this message
benklop (benklop) wrote :

@wenchien: the relevant section appears to be:

T: Bus=02 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0bda ProdID=0001 Rev=68.17
S: Product=CSR BS8510
C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb

This indicates a CSR chipset (i think) . I am however seeing the broken A2DP problem that I believe is associated with this bug.

Revision history for this message
benklop (benklop) wrote :

@wenchien,

Aplogies, I ot to this bug via https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/962082 , and this is my first indication I'm on a different chipset. What's happening to me seems closer to this: https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=827692

My logging is:

ben@ben-HP-Pavilion-dm4-Notebook-PC:~$ tail /var/log/syslog
Dec 20 13:12:44 ben-HP-Pavilion-dm4-Notebook-PC dbus[961]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Dec 20 13:12:44 ben-HP-Pavilion-dm4-Notebook-PC kernel: [21348.712415] userif-2: sent link up event.userif-2: sent link down event.
Dec 20 13:13:10 ben-HP-Pavilion-dm4-Notebook-PC ntpdate[13626]: adjust time server 91.189.94.4 offset 0.161253 sec
Dec 20 13:17:01 ben-HP-Pavilion-dm4-Notebook-PC CRON[13701]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Dec 20 13:39:40 ben-HP-Pavilion-dm4-Notebook-PC bluetoothd[993]: Unable to get service record: Host is down (112)
Dec 20 13:40:00 ben-HP-Pavilion-dm4-Notebook-PC bluetoothd[993]: Badly formated or unrecognized command: AT+BIA=0,0,0,1,1,1,0
Dec 20 13:40:01 ben-HP-Pavilion-dm4-Notebook-PC bluetoothd[993]: Operation not supported (95)
Dec 20 13:40:01 ben-HP-Pavilion-dm4-Notebook-PC pulseaudio[2338]: [pulseaudio] bluetooth-util.c: Failed to acquire transport fd: Input/output error
Dec 20 13:40:01 ben-HP-Pavilion-dm4-Notebook-PC pulseaudio[2338]: [pulseaudio] module.c: Failed to load module "module-bluetooth-device" (argument: "address="00:18:6B:15:AC:DC" path="/org/bluez/993/hci0/dev_00_18_6B_15_AC_DC""): initialization failed.
Dec 20 13:40:02 ben-HP-Pavilion-dm4-Notebook-PC kernel: [21349.841545] userif-2: sent link up event.<6>[22984.942366] input: 00:18:6B:15:AC:DC as /devices/virtual/input/input12

Revision history for this message
benklop (benklop) wrote :

@wenchien,

O have opened a new bug for my issue: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1092693

Revision history for this message
Jesse Sung (wenchien) wrote :

Christophe,

Firmware seems to be loaded correctly, so I may guess that it's due to a wrong firmware or a bug in hex2hcd. Does the firmware in comment #21 work?

@benklop,

This one does not look like a broadcom 43142 or 20702 device which this issue works on.

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello,

Thanks Jesse,

Maybe I made a wrong conversion from hex 2 cd because the source file was the same but I took the hcd file from the package of comment #21 and it works

Thanks for all the effort!!!

Merry Christmas to all

Revision history for this message
bakytn (bakytn) wrote : Re: [Bug 1065400] Re: Support for loading Broadcom bluetooth firmware

Hi Christophe,

can you, please, attach your hex file? It seems we have the same device and
I can't get my bt wokring

On Mon, Dec 24, 2012 at 11:34 PM, Christophe H
<email address hidden>wrote:

> Hello,
>
> Thanks Jesse,
>
> Maybe I made a wrong conversion from hex 2 cd because the source file
> was the same but I took the hcd file from the package of comment #21 and
> it works
>
> Thanks for all the effort!!!
>
> Merry Christmas to all
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1065400
>
> Title:
> Support for loading Broadcom bluetooth firmware
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1065400/+subscriptions
>

--
Best

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello Bakytn

Please find the file I used

Have a nice holiday season

Revision history for this message
mauribera (maurizio-szn) wrote :

Dear Jesse and all, I have been following the discussion and performed all the steps described.
My present kernel release is 3.5.0-21-generic
My PC is Fujitsu P771
Device is ID 0489:e031 Foxconn / Hon Hai

I used both the hdc file circulated by Christophe and a file converted from BCM20702A0_001.001.024.0023.0065.hex, extracted by the Fujitsu BT installer for P771.

I copied fw-0489_e031.hcd file in /lib/firmware/

My dmesg is the following

[ 2.607857] Bluetooth: Core ver 2.16
[ 2.607908] Bluetooth: HCI device and connection manager initialized
[ 2.607910] Bluetooth: HCI socket layer initialized
[ 2.607911] Bluetooth: L2CAP socket layer initialized
[ 2.607921] Bluetooth: SCO socket layer initialized
[ 2.941406] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 2.941409] Bluetooth: BNEP filters: protocol multicast
[ 2.981168] Bluetooth: RFCOMM TTY layer initialized
[ 2.981174] Bluetooth: RFCOMM socket layer initialized
[ 2.981176] Bluetooth: RFCOMM ver 1.11
[ 4.431132] Bluetooth: hci0 command tx timeout
[ 5.429887] Bluetooth: hci0 command tx timeout
[ 6.432601] Bluetooth: hci0 command tx timeout

BT is working fine under Win7 (dual boot). Where is the problem?

Many thanks in advance for your help,

maurizio

Revision history for this message
Radic (radic) wrote :

mauribera, I have the same situation:
Fujitsu P701, 0489:e031 Foxconn / Hon Hai
Copied fw-0489_e031.hcd in /lib/firmware, same dmesg output, no bluetooth devices found

rad@radicfs:~$ ls -la /lib/firmware/fw*
-rw-r--r-- 1 root root 2494 дек. 30 19:47 /lib/firmware/fw-0489_e031.hcd
rad@radicfs:~$ dmesg | grep Bluetooth
[ 1.992027] Bluetooth: Core ver 2.16
[ 1.992808] Bluetooth: HCI device and connection manager initialized
[ 1.993080] Bluetooth: HCI socket layer initialized
[ 1.993082] Bluetooth: L2CAP socket layer initialized
[ 1.993087] Bluetooth: SCO socket layer initialized
[ 2.020829] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 2.020833] Bluetooth: BNEP filters: protocol multicast
[ 2.021553] Bluetooth: RFCOMM TTY layer initialized
[ 2.021558] Bluetooth: RFCOMM socket layer initialized
[ 2.021559] Bluetooth: RFCOMM ver 1.11
[ 3.704643] Bluetooth: hci0 command tx timeout
[ 4.704392] Bluetooth: hci0 command tx timeout
[ 5.704047] Bluetooth: hci0 command tx timeout
[ 6.703710] Bluetooth: hci0 command tx timeout
[ 364.558074] Bluetooth: hci0 command tx timeout
[ 384.643667] Bluetooth: hci0 command tx timeout
rad@radicfs:~$ uname -a
Linux radicfs 3.5.0-21-generic #32-Ubuntu SMP Tue Dec 11 18:52:46 UTC 2012 i686 i686 i686 GNU/Linux

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Radic, Mauribera,

Maybe if you have a dula boot, you should check which drivers from the windows one is loaded and then you will be able to convert the right one in hcd or try to convert each one of the hex file and try....each hcd file to find the matching one

The error you are encountering tends to prove that the firmware is not the right one for your laptop

Kind Regards

Revision history for this message
mauribera (maurizio-szn) wrote :

Dear Christophe, thanks for you suggestion. Unfornutaly I had already converted and tried all of the drivers. I also checked, as you suggested, the number of the driver under W7 and is #55. I then remade the conversion to hcd and copied in /lib/firmware but I still get hci0 command tx timeout (see below)

[ 5.014010] Bluetooth: Core ver 2.16
[ 5.014033] Bluetooth: HCI device and connection manager initialized
[ 5.014035] Bluetooth: HCI socket layer initialized
[ 5.014036] Bluetooth: L2CAP socket layer initialized
[ 5.014041] Bluetooth: SCO socket layer initialized
[ 5.263398] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 5.263402] Bluetooth: BNEP filters: protocol multicast
[ 5.283985] Bluetooth: RFCOMM TTY layer initialized
[ 5.283990] Bluetooth: RFCOMM socket layer initialized
[ 5.283992] Bluetooth: RFCOMM ver 1.11
[ 6.852271] Bluetooth: hci0 command tx timeout
[ 7.851041] Bluetooth: hci0 command tx timeout
[ 8.853706] Bluetooth: hci0 command tx timeout

There is any other diagnostics I can try and/or checks I can make on my .hcd file? Have I missed some steps besides coping fw..hcd to lib/firmware folder?

kind regards, maurizio

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello,

I have the same symptoms since 3.5.0-22 with hci0 command tx timeout....and it was working before........weird
Thinking about it I also installed bluez-compat to be able to connect my mouse maybe the problem is here

Jesse any idea?

Chris

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello,

Maybe the change net: usb: Fix memory leak on Tx data path
    - LP: #1091251

brought a regression?

Kind Regards

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello

Ok weirder and weirder....restarted in -21 same error message in the log
I have cleaned up completely any bluetooth remembered devices and then restarted..so error message gone
and bluetooth asking if want to authorize/trust and authorise/deny my mouse so I try both options authorise and trust and authorise but no matter what I have an error message in the log
Refusing input device connect: No such file or directory (2)

so if anybody have an idea

Thanks

Revision history for this message
Jesse Sung (wenchien) wrote :

Sorry for replying late. I'll do some test with my test machine which has a 413c:8197 tomorrow and see how it works.

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello,

Just for information, it seems that the bluetooth manager keeps even the non paired device and try at startup to connect/detect them...maybe too soon and that leads to hci tx command time out...

Christophe

Revision history for this message
mauribera (maurizio-szn) wrote :

Hello.

I had some improvements without making any further changes from my message #47.
Now BT mounts and I can detect other devices.
I have also been able to pair my iPAD external keyboard (though when it is on, my power manager sees a second battery that does not exists as (not present)

The issue is not yet solved because I cannot pair my Galaxy S IT9000.
I tried many things.

If I use the graphic BT manager for setting up a new device, it recognizes Galaxy S but after a while its fails

If I try to pair PC from Galaxy I get Failed to pair with Galaxy S incorrect PIN or passkey

Then if I try to pair from both sides at the same time I get a suite of answers according to the sequence of requests.

For one sequence I even get a PIN on PC I should enter in the Galaxy, but no way to do it. I also tried to use an external keyboard paired with it.

Same failures if I use the command line. Again, according to the sequence of requests on both devices I get

sudo hidd --connect BC:47:60:AE:BE:99
Can't get device information: Success

hcitool cc BC:47:60:AE:BE:99
Can't create connection: Operation not permitted

sudo hidd --connect BC:47:60:AE:BE:99
Can't get device information: Connection refused

I do not know how to eventually set fixed PINs on both devices, neither which PIN to enter in a file I generated (pincodes) in /var/lib/bluetooth

in the same directory /var/lib/bluetooth I find my device hci0 C0:18:85:A5:A7:82 and in different files there are names/addresses of the device with which PC tried to pair.

I don't know what else I can do.

Best regards, maurizio

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Bluetooth is working for me now.

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello,

I think I am hit by the bug https://bugzilla.kernel.org/show_bug.cgi?id=52471 when going on suspend/resume

Kind Regards

Revision history for this message
James Anderson (d1verjim) wrote :

Hi there,

Please forgive my ignorance, but can someone please point me to instructions on where to get the correct firmware, and how to load it. I gather from this bug that there is a firmware release that fixes the HFP/HSP support, and the latest Kernel now has support for loading it, but I cannot find any information on where to get it or how to load it.

My machine is a Dell Precision M4700 laptop with the factory fitted bluetooth card inside.

janderson@james-M4700:~$ uname -r
3.6.0-030600-generic

Relevant output from usb-devices :
T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=413c ProdID=8197 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=74E54355AC17
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

Any assistance would be greatly appreciated.

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello

Any idea when https://bugzilla.kernel.org/show_bug.cgi?id=52471 will be released?

Kind Regards

Revision history for this message
Jesse Sung (wenchien) wrote :

Christophe, do the driver and firmware work for you?

Revision history for this message
Jesse Sung (wenchien) wrote :

James,

If there's no firmware comes together with the laptop, you may need to get one from its windows driver.

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello Jesse,

Yes the driver and firmware are working ok

Thanks

Christophe

Revision history for this message
James Anderson (d1verjim) wrote :

Christophe - would you mind telling me which laptop you have? I am wondering whether the firmware you used from comment #21 would work on my Dell Precision M4700.

Jesse - do you know of any guides that tell me how to extract the hex firmware file from the windows setup.exe that Dell provide?

Many thanks to you both.

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello James,

I have a Fujitsu S761

Kind Regards

Revision history for this message
nikitakit (nikitakit) wrote :

I have a Fujitsu Lifebook T901 with device ID 0489:e031, running Ubuntu 12.10. Bluetooth wasn't working until I installed firmware from #43.

Revision history for this message
Brian Wright (bdw) wrote :

Device 0a5c:21e8 is also affected.
Broadcom Bluetooth chipset BCM20702A0.

Revision history for this message
Brian Wright (bdw) wrote :

Additional information - Bluetooth USB dongle is a Kinivo BTD-400 on Kubuntu 12.10, HP Pavillion G7 laptop

Results from usb-devices:

T: Bus=02 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0a5c ProdID=21e8 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=000272DC3D62
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

I was not able to locate a HEX file that would correspond for this chipset - I downloaded the Windows Broadcom drivers from http://www.broadcom.com/support/bluetooth/update.php

Revision history for this message
Ray-Ven (ray-ven) wrote :
Download full text (4.1 KiB)

Hello,
I'm using a Lenovo X230-T with linux 3.5.0-25 and 0a5c:21e6 BCM20702A0. If i get this right, I should get a proper hex file firmware and convert it to hcd via https://github.com/jessesung/hex2hcd . (making the converter should work) and put it to /lib/firmware/fw-0a5c_21e6.hcd, and finally reboot.

The thing is, I downloaded the windows installer for the bt device, and extracted the installer but found a lot of firmwarefiles that might match, so I don't know which one to use.

It looks like these are my options, which should I use?! And why? Or can someone provide the correct file?

file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0156.0175.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0156.0176.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0156.0177.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0156.0178.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0156.0180.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0156.0181.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0156.0184.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0156.0185.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0156.0187.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0156.0188.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0156.0193.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0156.0204.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0216.0221.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0216.0223.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0216.0226.hex
file:///tmp/TPBTooth/Win64/BCM20702A0_001.001.024.0228.0229.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0136.0140.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0136.0143.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0136.0153.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0136.0168.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0136.0175.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0136.0181.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0136.0203.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0136.0216.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0136.0230.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0136.0394.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0170.0283.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0187.0194.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0226.0245.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0226.0251.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0337.0347.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0337.0374.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0337.0442.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0449.0455.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0449.0461.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0449.0462.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0449.0463.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0449.0464.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0449.0477.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001.002.014.0449.0478.hex
file:///tmp/TPBTooth/Win64/BCM20702A1_001....

Read more...

Revision history for this message
Ray-Ven (ray-ven) wrote :

forgot to add my lsusb log

Revision history for this message
James Anderson (d1verjim) wrote :

I have the same issue Ray. Hopefully someone here can educate us as to how to identify the correct file :o)

Revision history for this message
Ray-Ven (ray-ven) wrote :

James, glad I'm not alone with this... I think trial n error could break the device... But according to #65 the following software could manage finding the correct file http://www.broadcom.com/support/bluetooth/update.php
but windows is needed. atm I haven't got my windows-drive around. Maybe you could try it?

Revision history for this message
Ray-Ven (ray-ven) wrote :

usb-devices for 0a5c:21e6 BCM20702A0
T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 8 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0a5c ProdID=21e6 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=9CB70DD0ECD6
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

Revision history for this message
Ray-Ven (ray-ven) wrote :

Stefan Armbruster pointed me into the right direction.
the file bcbtums-win7x64-brcm.inf in the driver package contains info about the correct file. Just search for the last 4 digits of the usb ID.
(Install driverpackage via wine, the files can be found in ~/.wine/)

Revision history for this message
Ray-Ven (ray-ven) wrote :

sending/receiving files and pairing don't work, connecting and using Audiodevices work with firmware loaded. Pairing & sending works without using any firmware. But, I can use the bluetooth microphone with new firmware only.
Is this a new bug?

Revision history for this message
Ray-Ven (ray-ven) wrote :

despite the fact that I'm just talking to myself :-) :

Cannot connect via obex, or hid to my phone (n900) with new firmware

Revision history for this message
Jesse Sung (wenchien) wrote :

Hi Ray-Ven,

If some functions work with some firmwares while others work with some other firmwares, it sounds more like a firmware issue IMHO.

Revision history for this message
Ray-Ven (ray-ven) wrote :

Hey Jesse,

how can that be - windows uses this firmware I think, it's working there....
Are there differences between 64bit and 32bit firmware files?! Cant't imagine that, but there are different (64 & 32 bit)folders with firmware. Took it according to my system,

Thank you

Revision history for this message
Thilo Cestonaro (tephraim) wrote :

Hey,

with up2date raring BT isn't work with this adapter. But if I load the firmware (BCM20702A0_001.001.024.0156.0204.hex ) manualy then it works again as usuall.

My system is 64 Bit and it worked with 12.04 fluently.

Greetings
Thilo

Revision history for this message
Jesse Sung (wenchien) wrote :

Hi @Ray-Ven,

Humm... When things stop working, is there any error message? What does `dmesg | grep Bluetooth` say?

Also, do you have a windows installed side-by-side with ubuntu on the laptop by any chance? If yes, could you try the following steps when you have time?
1. delete hcd files in /lib/firmware/
2. do a cold boot into windows, which would load the firmware
3. do a warm boot into ubuntu and see if things work as expected

Hey @thilo,

Sorry, the patch is not yet in raring. Still working on it.

Revision history for this message
Thilo Cestonaro (tephraim) wrote :

Hey Jesse,

no need for sorry :) ... good to know that someone is working on this and until then I can live with the fact that raring isn't final yet ;)

Greetings
Thilo

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.8.0-17.27

---------------
linux (3.8.0-17.27) raring; urgency=low

  [ Adam Lee ]

  * SAUCE: (no-up) Bluetooth: Add support for 04ca:2007
    - LP: #1153448
  * SAUCE: (no-up) Bluetooth: Add support for 105b:e065
    - LP: #1161261

  [ Len Brown ]

  * SAUCE: (no-up) tools/power turbostat: additional Haswell CPU-id
    - LP: #1083993

  [ Tim Gardner ]

  * Revert "SAUCE: (no-up) seccomp: forcing auditing of kill condition"
    Replaced by upstream patch.
  * Release Tracking Bug
    - LP: #1165746

  [ Upstream Kernel Changes ]

  * rebase to v3.8.6
  * Revert "brcmsmac: support 4313iPA"
    - LP: #1157190
  * tools/power turbostat: support Haswell
    - LP: #1083993
  * net: calxedaxgmac: fix rx ring handling when OOM
  * cpufreq: check OF node /cpus presence before dereferencing it
  * Input: cypress_ps2 - fix trackpadi found in Dell XPS12
    - LP: #1103594
  * ARM: OMAP2+: Limit omap initcalls to omap only on multiplatform kernels
  * ARM: OMAP2+: Use omap initcalls
  * ARM: OMAP: Fix i2c cmdline initcall for multiplatform
  * ARM: OMAP: Fix dmaengine init for multiplatform
  * ARM: OMAP2+: Add multiplatform debug_ll support
  * ARM: OMAP2+: Disable code that currently does not work with
    multiplaform
  * ARM: OMAP2+: Enable ARCH_MULTIPLATFORM support
  * ARM: OMAP2+: Add minimal support for booting vexpress
  * ARM: OMAP2+: Remove now obsolete uncompress.h and debug-macro.S
  * davinci: do not include mach/hardware.h
  * clk: export __clk_get_name for re-use in imx-ipu-v3 and others
  * [SCSI] storvsc: avoid usage of WRITE_SAME
    - LP: #1157952
  * ACPICA: Fix possible memory leak in dispatcher error path.
  * KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME (CVE-2013-1796)
    - LP: #1158254
    - CVE-2013-1796

  [ Wen-chien Jesse Sung ]

  * SAUCE: (no-up) Bluetooth: Add a load_firmware callback to struct hci_dev
    - LP: #1065400
  * SAUCE: (no-up) Bluetooth: Implement broadcom patchram firmware loader
    - LP: #1065400
  * SAUCE: (no-up) Bluetooth: Add support for 13d3:3388 and 13d3:3389
    - LP: #1065400
 -- Tim Gardner <email address hidden> Tue, 02 Apr 2013 08:02:43 -0600

Changed in linux (Ubuntu Raring):
status: In Progress → Fix Released
Revision history for this message
Thilo Cestonaro (tephraim) wrote :

Hey Jesse,

it's working perfectly now! Thanks a lot!

Greetings
Thilo

Revision history for this message
dan1 (dan1) wrote :

Thank you Jesse very much!, my BT is working again :-)
Dan.

Revision history for this message
Ray-Ven (ray-ven) wrote :

Jesse,

Can't boot from windows into linux (warm). I have 2 harddrives, and can't manage switching them while warm boot.

But here's my dmesg

[ 25.629689] Bluetooth: Core ver 2.16
[ 25.630268] Bluetooth: HCI device and connection manager initialized
[ 25.630270] Bluetooth: HCI socket layer initialized
[ 25.630271] Bluetooth: L2CAP socket layer initialized
[ 25.630275] Bluetooth: SCO socket layer initialized
[ 25.872303] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 25.872306] Bluetooth: BNEP filters: protocol multicast
[ 25.881075] Bluetooth: RFCOMM TTY layer initialized
[ 25.881080] Bluetooth: RFCOMM socket layer initialized
[ 25.881081] Bluetooth: RFCOMM ver 1.11
[ 34.476588] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 153.495020] Bluetooth: re-auth of legacy device is not possible.
[ 1811.609072] Bluetooth: hci0 SCO packet for unknown connection handle 0
[ 1811.609076] Bluetooth: hci0 SCO packet for unknown connection handle 0
[ 1811.609077] Bluetooth: hci0 SCO packet for unknown connection handle 0
[ 1811.609078] Bluetooth: hci0 SCO packet for unknown connection handle 0
[ 1811.609079] Bluetooth: hci0 SCO packet for unknown connection handle 0

Revision history for this message
Ray-Ven (ray-ven) wrote :

it seems, everything works in raring with latest Kernel...
[ 12.304826] Bluetooth: Core ver 2.16
[ 12.304866] Bluetooth: HCI device and connection manager initialized
[ 12.304873] Bluetooth: HCI socket layer initialized
[ 12.304875] Bluetooth: L2CAP socket layer initialized
[ 12.304880] Bluetooth: SCO socket layer initialized
[ 13.033186] Bluetooth: RFCOMM TTY layer initialized
[ 13.033197] Bluetooth: RFCOMM socket layer initialized
[ 13.033199] Bluetooth: RFCOMM ver 1.11
[ 13.050086] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 13.050089] Bluetooth: BNEP filters: protocol multicast
[ 13.050096] Bluetooth: BNEP socket layer initialized
[ 13.177153] Bluetooth: firmware loaded
[ 17.121048] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 17.121057] Bluetooth: HIDP socket layer initialized

Thanks once again Jesse

vamana (kirillovvv)
Changed in linux (Ubuntu Precise):
assignee: Jesse Sung (wenchien) → vamana (kirillovvv)
Jesse Sung (wenchien)
Changed in linux (Ubuntu Precise):
assignee: vamana (kirillovvv) → Jesse Sung (wenchien)
Revision history for this message
Karl Kurbjun (kkurbjun) wrote :

I tried creating the appropriate hcd file for my device with the 3.5.0-27-generic kernel and placing it in /lib/firmware, but it did not seem like the current kernel module knows to load firmware for my vendor/product id.

My lsusb output is:
Bus 002 Device 004: ID 0a5c:21e1 Broadcom Corp.

To get HSP/HFP profile working on my machine I went through the following process:

I downloaded the windows driver from broadcom's site:
http://www.broadcom.com/support/bluetooth/update.php

To get the appropriate firmware for my device I ran the windows installer from wine and then copied the files it extracted from my wine temp directory: "~/.wine/drive_c/users/<username>/Temp"

I searched bcbtums-win8x64-brcm.inf for my product id "21e1" and found the required firmware file "BCM20702A1_001.002.014.0889.0920.hex".

Aftter that I ran the hcd converter tool on it from here:
https://github.com/jessesung/hex2hcd

I named the file output "fw-0a5c_21e1.hcd" and placed it in /lib/firmware but the kernel did not seem to pick it up.

As the next step I compiled the patch plus application from here:
http://marc.info/?l=linux-bluetooth&m=132039175324993&w=2

With that tool I was able to manually load the firmware from user space with the following command:
"sudo ./patchram --patchram /lib/firmware/fw-0a5c_21e1.hcd hci0"

After that HSP/HFP profile started working. If I am not using the -proposed kernel should this be working automatically now or is this fix still just in proposed?

Revision history for this message
Jesse Sung (wenchien) wrote :

Hi Karl,

Since the state of this issue is already fix released, it should be working even you're not using a -proposed kernel.

Please attach the output of 'dmesg | grep Bluetooth', and, if it's possible, could you try if the raring kernel works for you and attach the output of 'dmesg | grep Bluetooth' also.

Thanks.

Revision history for this message
Michel Voßkuhle (m-vosskuhle) wrote :

My device is 0a5c:21f4 in a Lenovo Edge E135 and I think I am affected by this bug on an up-to-date install of raring. In quantal all below described devices worked (although not very reliably). Since upgrading to raring only my bluetooth mouse is still working. Here's what I tried to solve the problem:

I downloaded the Windows XP driver from the Lenovo Support Website and extracted it via Wine. In a file
    ~/.wine/drive_c/DRIVERS/BLUETOOTH_Combo/Win64/drivers/btwusb.inf
I found information that suggests I need the RAMPatchFile `BCM20702A1_001.002.014.0889.0899.hex`. I used hex2hcd to obtain `fw-0a5c_21f4.hcd` which I placed in `/lib/firmware/`. From the output of `dmesg | grep -i bluetooth` (see attachment), I figure that the firmware does get loaded. The bluetooth mouse still works (as it did before). Also my phone and a A2DP device get detected, which they didn't before. However I still cannot connect to the latter two devices...

Is my problem related to this bug? Any suggestions to solve the problem?

Revision history for this message
coubi64 (frederic-valentin) wrote :

I have this problem on Ubuntu 13.04:

frederic@notebook:~$ dmesg | grep Bluetooth
[ 5.551787] Bluetooth: Core ver 2.16
[ 5.551965] Bluetooth: HCI device and connection manager initialized
[ 5.551981] Bluetooth: HCI socket layer initialized
[ 5.551987] Bluetooth: L2CAP socket layer initialized
[ 5.551999] Bluetooth: SCO socket layer initialized
[ 5.577111] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 5.577119] Bluetooth: BNEP filters: protocol multicast
[ 5.577136] Bluetooth: BNEP socket layer initialized
[ 5.584102] Bluetooth: RFCOMM TTY layer initialized
[ 5.584132] Bluetooth: RFCOMM socket layer initialized
[ 5.584136] Bluetooth: RFCOMM ver 1.11
[ 6.766806] Bluetooth: can't load firmware, may not work correctly
frederic@notebook:~$

frederic@notebook:~$ dmesg | grep Broadcom
[ 5.255619] usb 6-1: Manufacturer: Broadcom Corp
[ 6.411624] eth1: Broadcom BCM4727 802.11 Hybrid Wireless Controller 6.20.155.1 (r326264)

How can I help more to find why it's not solved?

Jesse Sung (wenchien)
Changed in linux (Ubuntu):
status: Fix Released → In Progress
Revision history for this message
Karl Kurbjun (kkurbjun) wrote :

Jesse,

Thanks for the response - sorry for the delay getting back. I have since upgraded to raring so I do not have a setup to test this on 12.04. Raring has the same/similar behavior as 12.10 as far as profile functionality.

This is my output from 'dmesg | grep Bluetooth':

[ 8.267277] Bluetooth: Core ver 2.16
[ 8.267353] Bluetooth: HCI device and connection manager initialized
[ 8.267427] Bluetooth: HCI socket layer initialized
[ 8.267431] Bluetooth: L2CAP socket layer initialized
[ 8.267445] Bluetooth: SCO socket layer initialized
[ 8.547342] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 8.547345] Bluetooth: BNEP filters: protocol multicast
[ 8.547351] Bluetooth: BNEP socket layer initialized
[ 8.550520] Bluetooth: RFCOMM TTY layer initialized
[ 8.550534] Bluetooth: RFCOMM socket layer initialized
[ 8.550536] Bluetooth: RFCOMM ver 1.11

It looks like it does not know to load firmware for my vendor/product id combination.

Thanks for looking at this,
Karl

Revision history for this message
Elijah Q Johnson (windaddy01) wrote :

was the fix exclusive to ubuntu or was it added to the mainline kernel

Revision history for this message
Elijah Q Johnson (windaddy01) wrote :

Hello Jesse,

I followed your instructions from comment 11 and bluetooth stops working while booting with fw-0a5c_21e8.hcd is in the /lib/frimware/ directory

I used hex3hcd tool with RAMUSB21E8 / BCM20702A1_001.002.014.0889.0896.hex for IOGEAR GBU521 / 0a5c:21e8

here is the dmesg | grep Bluetooth output while fw-0a5c_21e8.hcd is in the /lib/frimware/ directory:

[ 19.567221] Bluetooth: Core ver 2.16
[ 19.567277] Bluetooth: HCI device and connection manager initialized
[ 19.567287] Bluetooth: HCI socket layer initialized
[ 19.567291] Bluetooth: L2CAP socket layer initialized
[ 19.567299] Bluetooth: SCO socket layer initialized
[ 20.533843] Bluetooth: firmware loaded
[ 20.916739] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 20.916744] Bluetooth: BNEP filters: protocol multicast
[ 20.916755] Bluetooth: BNEP socket layer initialized
[ 20.917965] Bluetooth: RFCOMM TTY layer initialized
[ 20.917978] Bluetooth: RFCOMM socket layer initialized
[ 20.917980] Bluetooth: RFCOMM ver 1.11
[ 23.016021] Bluetooth: hci0 command 0x0c56 tx timeout
[ 25.020019] Bluetooth: hci0 command 0x0c6d tx timeout
[ 27.024044] Bluetooth: hci0 command 0x0c1a tx timeout
[ 29.028013] Bluetooth: hci0 command 0x0c24 tx timeout

and here the output while bluetooth partially working and fw-0a5c_21e8.hcd isn't in the /lib/frimware/ director:

[ 20.186088] Bluetooth: Core ver 2.16
[ 20.208815] Bluetooth: HCI device and connection manager initialized
[ 20.208827] Bluetooth: HCI socket layer initialized
[ 20.208831] Bluetooth: L2CAP socket layer initialized
[ 20.208839] Bluetooth: SCO socket layer initialized
[ 20.330770] Bluetooth: can't load firmware, may not work correctly
[ 21.719953] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 21.719957] Bluetooth: BNEP filters: protocol multicast
[ 21.719968] Bluetooth: BNEP socket layer initialized
[ 21.724278] Bluetooth: RFCOMM TTY layer initialized
[ 21.724294] Bluetooth: RFCOMM socket layer initialized
[ 21.724297] Bluetooth: RFCOMM ver 1.11

and yes if I do a boot into windows with the proper drviers installed and then restarted into linux it fully functional (both a2dp and hsp/hfp work) as long as fw-0a5c_21e8.hcd isn't in the /lib/frimware/ director in linux and when I turn off the computer the bluetooth only works with a2dp again and not hsp/hfp

note: In windows is says the device is a BCM20702A0 in device under control panel while looking at the tbcbtums-win7x86-brcm.inf info for 0a5c:21e8 it says its a 20702A1 dongle

Revision history for this message
Mike R (mike-fusebuilder) wrote :

I followed the instructions to create the .hcd file in /lib/firmware, and now after rebooting I no longer have any bluetooth devices detected, so the indicator is now completely missing from the bar. What's more, after rebooting again into Windows 7, I no longer have a bluetooth icon in the system tray. In Windows' Device Manager I now see an "unknown device" in my list of USB devices instead of bluetooth.

It looks like whatever this patch did is physical and has actually made things worse for me. Is there anything I can run now, either in Ubuntu or in Windows, to reverse the patch? I can live with no headset but I use my phone's bluetooth connection for tethered internet, so I'd like to get at least some bluetooth useage back.

Thanks in advance,
Mike

Revision history for this message
Jesse Sung (wenchien) wrote :

Karl and Elijah, can you try 3.8.0-25.37+bt01 in http://people.canonical.com/~jesse/lp1065400/ (for raring)? Thanks!

Elijah, this is only in ubuntu for now. You can find previous work to make it into upstream in #1 and #2. I'm working on a new version for upstream.

Michel, as long as module works after firmware loaded, I may suggest tthat it is not related to this issue...

Mike, please try 3.8.0-25.37+bt01 in http://people.canonical.com/~jesse/lp1065400/ (for raring). If the module disappeared from usb bus after failing to load firmware, you may need a cold boot, which removes power from the module and clears partial loaded firmware from it. If you don't want the kernel module to load firmware, please remove or rename the hcd file.

Revision history for this message
Thilo Cestonaro (tephraim) wrote :

Hey Jesse,

I tried saucy with a Broadcom BT Adapter. Not working that nicely like it was in raring a.s.o. ....
Used Kernel version is 3.10.0-0 ...

If a known working firmware is manually uploaded, it works fine.

Can I help anyhow with other answers? :)

Greetings
Thilo

Revision history for this message
Peter Sinka (pjsinka) wrote :

Hi All,

i try all of these How to's here, but my T430s will not work with BT Headset and Profile HFP.

Can you help me?

Greetings
Peter

Revision history for this message
Michisteiner (michisteiner) wrote :
Download full text (3.9 KiB)

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 firmwa...

Read more...

Revision history for this message
Derrik Pates (demon-devrandom) wrote :

I had this same issue with an IOGear USB Bluetooth 4.0 adapter:

Bus 006 Device 019: ID 0a5c:21e8 Broadcom Corp.

I built and installed the brcm_patchram_plus_usb tool, used hex2hcd to convert the firmware (extracted from the driver CD included with the adapter - first time I've used one of those in awhile), and it made my HSP profile Bluetooth headset work (a Plantronics Discovery 975) where I only got silence before. Guessing this device's ID needs to be added to the kernel as well. I did drop the firmware file into my /lib/firmware directory as fw-0a5c_21e8.hcd as well. I'm running Mint 15 (based on raring).

Jesse Sung (wenchien)
Changed in linux (Ubuntu Precise):
status: Fix Released → In Progress
status: In Progress → Fix Released
Changed in linux (Ubuntu Quantal):
status: Fix Released → In Progress
Changed in linux (Ubuntu Raring):
status: Fix Released → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.11.0-5.11

---------------
linux (3.11.0-5.11) saucy; urgency=low

  * Release tracker
    - LP: #1221886

  [ Adam Lee ]

  * SAUCE: Bluetooth: Add support for 04ca:2007
    - LP: #1153448
  * SAUCE: Bluetooth: Add support for 105b:e065
    - LP: #1161261

  [ Gavin Guo ]

  * SAUCE: Bluetooth: Add support for Broadcom 413c:8143
    - LP: #1166113

  [ Upstream Kernel Changes ]

  * igb: Reset the link when EEE setting changed
    - LP: #1219619
  * igb: Read register for latch_on without return value
    - LP: #1219619
  * igb: Added rcu_lock to avoid race
    - LP: #1219619
  * igb: don't allow SR-IOV without MSI-X
    - LP: #1219619
  * igb: Update MTU so that it is always at least a standard frame size
    - LP: #1219619
  * igb: Refactor of init_nvm_params
    - LP: #1219619
  * igb: Refactor NVM read functions to accommodate devices with no flash
    - LP: #1219619
  * igb: Add device support for flashless SKU of i210 device
    - LP: #1219619
  * igb: Fix get_fw_version function for all parts
    - LP: #1219619
  * igb: Add macro for size of RETA indirection table
    - LP: #1219619
  * igb: Expose RSS indirection table for ethtool
    - LP: #1219619
  * igb: Don't look for a PBA in the iNVM when flashless
    - LP: #1219619
  * igb: Implementation of 1-sec delay for i210 devices
    - LP: #1219619
  * igb: New PHY_ID for i354 device
    - LP: #1219619
  * igb: M88E1543 PHY downshift implementation
    - LP: #1219619
  * igb: No PHPM support in i354 devices
    - LP: #1219619
  * igb: Support to get 2_5G link status for appropriate media type
    - LP: #1219619
  * igb: Get speed and duplex for 1G non_copper devices
    - LP: #1219619
  * igb: Implementation to report advertised/supported link on i354 devices
    - LP: #1219619
  * igb: Update version number
    - LP: #1219619
  * Bluetooth: Take proper tty_struct references
    - LP: #1189998
  * Bluetooth: Remove the device from the list in the destructor
    - LP: #1189998
  * Bluetooth: Move the tty initialization and cleanup out of open/close
    - LP: #1189998
  * Bluetooth: Implement .activate, .shutdown and .carrier_raised methods
    - LP: #1189998
  * Bluetooth: Fix the reference counting of tty_port
    - LP: #1189998
  * Bluetooth: Purge the dlc->tx_queue to avoid circular dependency
    - LP: #1189998

  [ Wen-chien Jesse Sung ]

  * SAUCE: Bluetooth: Support for loading broadcom patchram firmware
    - LP: #1065400
  * SAUCE: Bluetooth: Add support for 13d3:3388 and 13d3:3389
    - LP: #1065400
 -- Tim Gardner <email address hidden> Thu, 05 Sep 2013 08:06:17 -0600

Changed in linux (Ubuntu):
status: In Progress → Fix Released
Andy Whitcroft (apw)
Changed in linux (Ubuntu Quantal):
status: In Progress → Fix Committed
importance: Undecided → Medium
Changed in linux (Ubuntu Precise):
importance: Undecided → Medium
Changed in linux (Ubuntu Raring):
status: In Progress → Fix Committed
Revision history for this message
Thilo Cestonaro (tephraim) wrote :

Hey Jesse,

I would like to thank you again for your working with loading the firmware stuff!
Saucy is working for me.

Greetings Thilo

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello Jesse,

with 3.8.0-31 no errors in the systems logs anymore even during laptop hibernation.

Will try again to work with bluetooth mouse and revert

Thanks again for all the effort

Revision history for this message
Chris (poser) wrote :

I'm on up-to-date Raring (stock 3.8.0-30.44 generic kernel) and my Thinkpad Helix (Broadcom BCM20702A0) may (or may not) be affected by this issue. Christophe, is your 3.8.0-31 Raring kernel from one of Jesse's "+bt01" packages at http://people.canonical.com/~jesse/lp1065400/ ? Or from Raring's "proposed" repo? Or custom? While I'm not sure it will make a difference, I'd like to be using a known-to-work kernel before I do additional testing with the firmware image itself. But I'm not yet ready to upgrade to Saucy....

Anyway, I'm getting "can't load firmware, may not work correctly" errors (as I have for a while). I assume this same error cover both of the following failure-cases: 1) kernel does not attempt to load firmware, and 2) there is no appropriate firmware in /lib/firmware. Is that correct?

Following the instructions in Karl's post (#84), I created a fw-0a5c_21e6.hcd, placed it in /lib/firmware (not /lib/firmware/brcm) and rebooted. It does appear to load, but breaks bluetooth even worse. (I had to reboot into Windows and "upgrade" the bluetooth driver, which got me back where I started.) After reading post #95, I tried loading the firmware manually (sudo brcm_patchram_plus --patchram fw-0a5c_21e6.hcd hci0), but that failed as well ("port hci0 could not be opened, error 2").

So, three questions:

1) Am i already on a known-to-work Raring kernel? And, if not, how can I get one?

2) If/when I _am_ on a working kernel, do I still have to roll my own fw-0a5c_21e6.hcd and put it in /lib/firmware?

3) If so, is there a more reliable way for me to obtain that .hcd file? The [Wine -> SetupBtwDownloadSE.exe -> extract BCM20702A1_001.002.014.0889.0897.hex from Temp -> hex2hcd] method does not appear to be working for me.

Meanwhile, thanks to everybody (especially Jesse) for all of your help with this issue.

Revision history for this message
Chris (poser) wrote :
Download full text (3.3 KiB)

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...

Read more...

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello Jesse,

working like a charm now. Fully confirmed.

Thanks a lot for all your effort.

@Chris

I am using standard linux kernel

As for the firmware, please find it attached for the one I am using

Revision history for this message
Brad Figg (brad-figg) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-raring-needed' to 'verification-raring-done'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-raring
Revision history for this message
Ondřej Janošík (jondra91) wrote :

With brcm_patchram_plus_usb and hex2hdc I managed to get HFP/HSP on my laptop working (no sound/mic before) using BCM20702A1_001.002.014.0449.0775.hex patchram.
However after copying fw-04ca_2003.hcd into /lib/firmware/ and rebooting it doesn't loads patchram and I have to do it manually again.

I'm running Ubuntu-Raring with 3.8.0.30.48 kernel.

-----
usb-devices:
T: Bus=01 Lev=02 Prnt=02 Port=05 Cnt=02 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=04ca ProdID=2003 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=20689D9D53B0
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 2 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

-----
dmesg | grep Bluetooth
[ 15.241832] Bluetooth: Core ver 2.16
[ 15.241857] Bluetooth: HCI device and connection manager initialized
[ 15.242027] Bluetooth: HCI socket layer initialized
[ 15.242030] Bluetooth: L2CAP socket layer initialized
[ 15.242036] Bluetooth: SCO socket layer initialized
[ 35.560433] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 35.560435] Bluetooth: BNEP filters: protocol multicast
[ 35.560441] Bluetooth: BNEP socket layer initialized
[ 35.561273] Bluetooth: RFCOMM TTY layer initialized
[ 35.561282] Bluetooth: RFCOMM socket layer initialized
[ 35.561283] Bluetooth: RFCOMM ver 1.11

Revision history for this message
Kyle Manna (kylemanna) wrote :

I'm running 3.11.0-7 Saucy kernel on Raring and the firmware gets loaded, but it doesn't enable A2DP. Seems that the firmware loader is working, but I have the wrong firmware?

I have an Iogear GBU521 / 0a5c:21e8 like Elijah. I fetched the windows driver from http://www.iogear.com/support/dm/driver/GBU521 and used hex2hcd on firmware BCM20702A1_001.002.014.0889.0896.hex from the bcbtums-win8x64-brcm.inf from my vid:pid.

/proc/version:
Linux version 3.11.0-7-generic (root@core) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) ) #14 SMP Mon Sep 16 22:03:29 PDT 2013

usb-devices:
T: Bus=01 Lev=03 Prnt=43 Port=03 Cnt=03 Dev#= 46 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0a5c ProdID=21e8 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=0002723E9EC0
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

dmesg/kern.log:
Sep 19 20:01:29 core kernel: [173325.476969] usb 1-1.5.4: new full-speed USB device number 46 using ehci-pci
Sep 19 20:01:29 core kernel: [173325.572574] usb 1-1.5.4: New USB device found, idVendor=0a5c, idProduct=21e8
Sep 19 20:01:29 core kernel: [173325.572580] usb 1-1.5.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep 19 20:01:29 core kernel: [173325.572583] usb 1-1.5.4: Product: BCM20702A0
Sep 19 20:01:29 core kernel: [173325.572586] usb 1-1.5.4: Manufacturer: Broadcom Corp
Sep 19 20:01:29 core kernel: [173325.572588] usb 1-1.5.4: SerialNumber: 0002723E9EC0
Sep 19 20:01:31 core kernel: [173326.944094] Bluetooth: firmware loaded
Sep 19 20:01:40 core kernel: [173336.196410] br0: port 1(eth0) entered forwarding state
Sep 19 20:01:50 core kernel: [173346.481465] r8169 0000:06:00.0 eth0: link down
Sep 19 20:01:50 core kernel: [173346.481570] br0: port 1(eth0) entered disabled state
Sep 19 20:01:52 core kernel: [173348.142401] r8169 0000:06:00.0 eth0: link up
Sep 19 20:01:52 core kernel: [173348.142904] br0: port 1(eth0) entered forwarding state
Sep 19 20:01:52 core kernel: [173348.142931] br0: port 1(eth0) entered forwarding state
Sep 19 20:02:07 core kernel: [173363.171462] br0: port 1(eth0) entered forwarding state

Revision history for this message
Jesse Sung (wenchien) wrote :

@jondra91,

04ca:2003 is not tagged as needing external firmware in the device table. If firmware is needed to make HFP/HSP work, please file a new bug and let me know the bug ID. Thanks.

Brad Figg (brad-figg)
tags: added: verification-done-raring
removed: verification-needed-raring
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.7 KiB)

This bug was fixed in the package linux - 3.5.0-41.64

---------------
linux (3.5.0-41.64) quantal; urgency=low

  [Brad Figg]

  * Release Tracking Bug
    - LP: #1223451

  [ Upstream Kernel Changes ]

  * kernel-doc: bugfix - multi-line macros
    - LP: #1223920
  * Revert "zram: use zram->lock to protect zram_free_page() in swap free
    notify path"
    - LP: #1215513
  * x86 thermal: Delete power-limit-notification console messages
    - LP: #1215748
  * x86 thermal: Disable power limit notification interrupt by default
    - LP: #1215748
  * ARM: 7810/1: perf: Fix array out of bounds access in
    armpmu_map_hw_event()
    - LP: #1216442
    - CVE-2013-4254
  * ARM: 7809/1: perf: fix event validation for software group leaders
    - LP: #1216442
    - CVE-2013-4254
  * veth: reduce stat overhead
    - LP: #1201869
  * veth: extend device features
    - LP: #1201869
  * veth: avoid a NULL deref in veth_stats_one
    - LP: #1201869
  * veth: fix a NULL deref in netif_carrier_off
    - LP: #1201869
  * veth: fix NULL dereference in veth_dellink()
    - LP: #1201869
  * Bluetooth: Add support for Atheros [0cf3:3121]
    - LP: #1202477
  * efivars: explicitly calculate length of VariableName
    - LP: #1217745
  * xfs: fix _xfs_buf_find oops on blocks beyond the filesystem end
    - LP: #1151527
    - CVE-2013-1819
  * drm/i915/lvds: ditch ->prepare special case
    - LP: #1221791
  * serial: mxs: fix buffer overflow
    - LP: #1221791
  * fs/proc/task_mmu.c: fix buffer overflow in add_page_map()
    - LP: #1221791
  * af_key: initialize satype in key_notify_policy_flush()
    - LP: #1221791
  * vm: add no-mmu vm_iomap_memory() stub
    - LP: #1221791
  * iwl4965: set power mode early
    - LP: #1221791
  * iwl4965: reset firmware after rfkill off
    - LP: #1221791
  * ASoC: cs42l52: Reorder Min/Max and update to SX_TLV for Beep Volume
    - LP: #1221791
  * can: pcan_usb: fix wrong memcpy() bytes length
    - LP: #1221791
  * ALSA: 6fire: make buffers DMA-able (pcm)
    - LP: #1221791
  * ALSA: 6fire: make buffers DMA-able (midi)
    - LP: #1221791
  * jbd2: Fix use after free after error in jbd2_journal_dirty_metadata()
    - LP: #1221791
  * USB-Serial: Fix error handling of usb_wwan
    - LP: #1221791
  * USB: mos7840: fix big-endian probe
    - LP: #1221791
  * USB: adutux: fix big-endian device-type reporting
    - LP: #1221791
  * USB: ti_usb_3410_5052: fix big-endian firmware handling
    - LP: #1221791
  * m68k/atari: ARAnyM - Fix NatFeat module support
    - LP: #1221791
  * m68k: Truncate base in do_div()
    - LP: #1221791
  * usb: add two quirky touchscreen
    - LP: #1221791
  * USB: mos7720: fix broken control requests
    - LP: #1221791
  * USB: keyspan: fix null-deref at disconnect and release
    - LP: #1221791
  * MIPS: Expose missing pci_io{map,unmap} declarations
    - LP: #1221791
  * microblaze: Update microblaze defconfigs
    - LP: #1221791
  * sound: Fix make allmodconfig on MIPS
    - LP: #1221791
  * sound: Fix make allmodconfig on MIPS correctly
    - LP: #1221791
  * alpha: makefile: don't enforce small data model for kernel builds
    - LP: #1221791
  * MIPS: Rewrite pfn_valid to work in modules, too.
    - L...

Read more...

Changed in linux (Ubuntu Quantal):
status: Fix Committed → Fix Released
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (15.3 KiB)

This bug was fixed in the package linux - 3.8.0-31.46

---------------
linux (3.8.0-31.46) raring; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #1223406

  * UBUNTU: [Config] KUSER_HELPERS=y for armhf

  [ Upstream Kernel Changes ]

  * Revert "cpuidle: Quickly notice prediction failure in general case"
    - LP: #1221794
  * Revert "cpuidle: Quickly notice prediction failure for repeat mode"
    - LP: #1221794
  * Revert "zram: use zram->lock to protect zram_free_page() in swap free
    notify path"
    - LP: #1215513
  * x86 thermal: Delete power-limit-notification console messages
    - LP: #1215748
  * x86 thermal: Disable power limit notification interrupt by default
    - LP: #1215748
  * mwifiex: do not create AP and P2P interfaces upon driver loading
    - LP: #1212720
  * ARM: 7810/1: perf: Fix array out of bounds access in
    armpmu_map_hw_event()
    - LP: #1216442
    - CVE-2013-4254
  * ARM: 7809/1: perf: fix event validation for software group leaders
    - LP: #1216442
    - CVE-2013-4254
  * veth: reduce stat overhead
    - LP: #1201869
  * veth: extend device features
    - LP: #1201869
  * veth: avoid a NULL deref in veth_stats_one
    - LP: #1201869
  * veth: fix a NULL deref in netif_carrier_off
    - LP: #1201869
  * veth: fix NULL dereference in veth_dellink()
    - LP: #1201869
  * Bluetooth: Add support for Atheros [0cf3:3121]
    - LP: #1202477
  * uvcvideo: quirk PROBE_DEF for Dell SP2008WFP monitor.
    - LP: #1217957
  * usb: dwc3: gadget: don't prevent gadget from being probed if we fail
    - LP: #1221794
  * usb: dwc3: fix wrong bit mask in dwc3_event_type
    - LP: #1221794
  * ASoC: max98088 - fix element type of the register cache.
    - LP: #1221794
  * ata: Fix DVD not dectected at some platform with Wellsburg PCH
    - LP: #1221794
  * Tools: hv: KVP: Fix a bug in IPV6 subnet enumeration
    - LP: #1221794
  * ALSA: usb-audio: 6fire: return correct XRUN indication
    - LP: #1221794
  * usb: serial: cp210x: Add USB ID for Netgear Switches embedded serial
    adapter
    - LP: #1221794
  * USB: storage: Add MicroVault Flash Drive to unusual_devs
    - LP: #1221794
  * USB: misc: Add Manhattan Hi-Speed USB DVI Converter to sisusbvga
    - LP: #1221794
  * USB: option: append Petatel NP10T device to GSM modems list
    - LP: #1221794
  * usb: cp210x support SEL C662 Vendor/Device
    - LP: #1221794
  * USB: cp210x: add MMB and PI ZigBee USB Device Support
    - LP: #1221794
  * USB: EHCI: Fix resume signalling on remote wakeup
    - LP: #1221794
  * drm/radeon: fix endian issues with DP handling (v3)
    - LP: #1221794
  * drm/radeon: Another card with wrong primary dac adj
    - LP: #1221794
  * drm/radeon: improve dac adjust heuristics for legacy pdac
    - LP: #1221794
  * drm/radeon: fix combios tables on older cards
    - LP: #1221794
  * ARM: footbridge: fix overlapping PCI mappings
    - LP: #1221794
  * [SCSI] isci: Fix a race condition in the SSP task management path
    - LP: #1221794
  * [SCSI] qla2xxx: Properly set the tagging for commands.
    - LP: #1221794
  * [SCSI] sd: fix crash when UA received on DIF enabled device
    - LP: #1221794
  * nfsd: nfsd_open: when dentry_ope...

Changed in linux (Ubuntu Raring):
status: Fix Committed → Fix Released
status: Fix Committed → Fix Released
Revision history for this message
Ray-Ven (ray-ven) wrote :

Seems not to be working with 3.11.0-12 in saucy. Even hex2hcded the latest firmware, and It's loaded, but cannot pair a device :-( worked the other day in saucy.

0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]

Revision history for this message
Ray-Ven (ray-ven) wrote :

same same with 3.11.0-13-generic (proposed)
this is really annoying :-(

Revision history for this message
Ray-Ven (ray-ven) wrote :

ok this is stupid. It's working. The device was just switched off. rfkill said it's neither soft nor hardblocked, so I thought everything was fine! The hardware-switch was switched on so I thought it should work. Still, there is a fn+f5 combination which was needed to power the device, despite the fact that in bluetooth/main.conf "remember last state" was on false and "power on on boot" was true.

Revision history for this message
Struan (struans) wrote :

Headset no longer works in Saucy.
$ uname -r
3.11.0-14-generic

$ lsusb | grep -i bluetooth
Bus 001 Device 006: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0

$ dmesg | grep Bluetooth
[ 8.601897] Bluetooth: Core ver 2.16
[ 8.601937] Bluetooth: HCI device and connection manager initialized
[ 8.601944] Bluetooth: HCI socket layer initialized
[ 8.601946] Bluetooth: L2CAP socket layer initialized
[ 8.601949] Bluetooth: SCO socket layer initialized
[ 8.975389] Bluetooth: can't load firmware, may not work correctly
[ 38.366804] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 38.366808] Bluetooth: BNEP filters: protocol multicast
[ 38.366816] Bluetooth: BNEP socket layer initialized
[ 38.377388] Bluetooth: RFCOMM TTY layer initialized
[ 38.377400] Bluetooth: RFCOMM socket layer initialized
[ 38.377401] Bluetooth: RFCOMM ver 1.11
[ 1888.521766] Bluetooth: can't load firmware, may not work correctly
[147237.885091] Bluetooth: hci0 command 0x1405 tx timeout
[147239.890197] Bluetooth: hci0 command 0x1403 tx timeout
[149477.530846] Bluetooth: hci0 command 0x0c2d tx timeout

Revision history for this message
Struan (struans) wrote :

Now getting this error

$ uname -r
3.11.0-14-generic

$ lsusb | grep -i bluetooth
Bus 001 Device 006: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0

$ dmesg | grep Bluetooth
[ 7.584434] Bluetooth: Core ver 2.16
[ 7.584464] Bluetooth: HCI device and connection manager initialized
[ 7.584472] Bluetooth: HCI socket layer initialized
[ 7.584473] Bluetooth: L2CAP socket layer initialized
[ 7.584477] Bluetooth: SCO socket layer initialized
[ 7.917151] Bluetooth: can't load firmware, may not work correctly
[ 14.786237] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 14.786241] Bluetooth: BNEP filters: protocol multicast
[ 14.786249] Bluetooth: BNEP socket layer initialized
[ 14.796522] Bluetooth: RFCOMM TTY layer initialized
[ 14.796532] Bluetooth: RFCOMM socket layer initialized
[ 14.796534] Bluetooth: RFCOMM ver 1.11
[ 53.162408] Bluetooth: Wrong link type (-14)
[ 53.321353] Bluetooth: Wrong link type (-14)
[ 53.322600] Bluetooth: Wrong link type (-2)
[ 63.331513] Bluetooth: Wrong link type (-2)

Revision history for this message
Sergio Benjamim (sergio-br2) wrote :

Hello, there is a Sony Vaio with this device:

0489:e062 Foxconn / Hon Hai (BCM43142A0)

Wifi works, but Bluetooth does not. So, this is a problem with firmware load? More info in bug #1263351

Revision history for this message
penalvch (penalvch) wrote :

Struan, thank you for your comment. Given that the the scope of this bug has been resolved, and is marked Fix Released, this report does not cover your problem. If you have a bug in Ubuntu, could you please file a new report with Ubuntu by executing the following in a terminal while booted into a Ubuntu repository kernel (not a mainline one) via:
ubuntu-bug linux

For more on this, please read the official Ubuntu documentation:
Ubuntu Bug Control and Ubuntu Bug Squad: https://wiki.ubuntu.com/Bugs/BestPractices#X.2BAC8-Reporting.Focus_on_One_Issue
Ubuntu Kernel Team: https://wiki.ubuntu.com/KernelTeam/KernelTeamBugPolicies#Filing_Kernel_Bug_reports
Ubuntu Community: https://help.ubuntu.com/community/ReportingBugs#Bug_reporting_etiquette

When opening up the new report, please feel free to subscribe me to it.

Thank you for your understanding.

Helpful bug reporting tips:
https://help.ubuntu.com/community/ReportingBugs

Revision history for this message
Jesse Sung (wenchien) wrote :
Revision history for this message
Jesse Sung (wenchien) wrote :

Petri's work is accepted by the upstream.

http://marc.info/?t=139958952900002&r=1&w=2

Please note that the path and name of hcd file will be changed.

Revision history for this message
Alexander Gilevich (alegil91) wrote :

Firmware for BCM20702A0 (Windows ID: USB\VID_0489&PID_E046&REV_0112)

Revision history for this message
Anthony Kamau (ak-launchpad) wrote :

Hi there.

I'm running Ubuntu Trusty Tahr (14.04) 64bit and I'm affected by this bug.

By following the instructions here (especially comment #101 by Chris (poser) on 2013-09-15), I was able to get HSP/HFP working on my system. I realized something was broken when I tried to pair my Laptop with a PLCM VS500 (Voice Station conference phone) and couldn't. I was especially angry when a friend running a MacBook Air (Grrr, don't get me started...) was able to immediately pair and use the headset. My anger brought me here and I can say all is well.

System Details:
***************
$ lsb_release -a
LSB Version: core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch:core-4.1-amd64:core-4.1-noarch:security-4.0-amd64:security-4.0-noarch:security-4.1-amd64:security-4.1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty

My device is listed above, namely:
Bus 001 Device 004: ID 413c:8197 Dell Computer Corp.
  iManufacturer 1 Dell Computer Corp
  iProduct 2 DW380 Bluetooth Module

Cheers,
ak.

Revision history for this message
e64462 (nhdaimyo) wrote :

I found this page from the archlinux forums in this topic:

https://bbs.archlinux.org/viewtopic.php?id=133093&p=1

I wrote up the steps I took to get my card partially working in this post:

https://bbs.archlinux.org/viewtopic.php?pid=1430884#p1430884

I say partially because I've only been able to stream music to some bluetooth speakers so far. My phone pairs, but I'm unable to do anything with it.

I'm having a weird problem though. Using the tool posted in the archlinux topic I'm able to inject the firmware that I found in the windows driver, but things aren't working very well as I mentioned above, and I just noticed that I've done the same thing as the user in post #101, namely:

usb-devices
-----------------------------
T: Bus=03 Lev=01 Prnt=01 Port=03 Cnt=03 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0b05 ProdID=17cf Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=54271E328D4F
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
-----------------------------

So you can see that my chipset is BCM20702A0, but the only hex file that's mentioned in the windows driver relating to my prodID of 17cf is:

BCM20702A1_001.002.014.1443.1469.hex

As you can see, BCM20702A1 != BCM20702A0, so I'm wondering if anyone can provide some advice.

Revision history for this message
Abel Bolanos Martinez (abelbmartinez) wrote :

Hello,
I have an Iogear GBU521 and I'm using Ubuntu 14.04

dmesg | grep -B1 Broadcom
[ 1.439431] usb 3-1: Product: BCM20702A0
[ 1.439432] usb 3-1: Manufacturer: Broadcom Corp

A2DP works fine but I have the same issue(HSP/HFP is not working) no mic or audio
I downloaded the *.hcd from comment #120 to /lib/firmware and restarted the PC but nothing have changed.

Am I missing something to make it works?

Revision history for this message
Abel Bolanos Martinez (abelbmartinez) wrote :

I figure it out!!!

For those who have Iogear GBU521 using Ubuntu 14.04 here is an answer http://askubuntu.com/a/520611/324046

Revision history for this message
Thilo Cestonaro (tephraim) wrote :

So, the next Ubuntu release is coming and the bug is again there.

Utopic Unicorn kernel doesn't download the correct firmware.

Jesse, could you please fix it again? :)

Thanks a lot!

Revision history for this message
Jesse Sung (wenchien) wrote :

@tephraim:

For Utopic, the upstream patch mentioned in #119 is already merged, which means the path and filename of the firmware are changed. The firmware file must be saved as something like /lib/firmware/brcm/BCM43142A0-<vid>-<pid>.hcd instead. Please try 'dmesg | grep Bluetooth' and see if there's an error message indicating firmware missing.

Revision history for this message
Thilo Cestonaro (tephraim) wrote :

Thx for the answer.
Sadly, there is no indication of a missing firmware :(.

----
[ 29.980043] Bluetooth: Core ver 2.19
[ 29.980058] Bluetooth: HCI device and connection manager initialized
[ 29.980064] Bluetooth: HCI socket layer initialized
[ 29.980066] Bluetooth: L2CAP socket layer initialized
[ 29.980073] Bluetooth: SCO socket layer initialized
[ 32.874973] Bluetooth: RFCOMM TTY layer initialized
[ 32.874984] Bluetooth: RFCOMM socket layer initialized
[ 32.874997] Bluetooth: RFCOMM ver 1.11
[ 33.702638] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 33.702641] Bluetooth: BNEP filters: protocol multicast
[ 33.702649] Bluetooth: BNEP socket layer initialized
[ 4216.638384] Bluetooth: hci0 urb ffff8800c5e09600 failed to resubmit (2)
----

And anyway, in my case it should be a BCM20802A0 ....
can I place the working firmware at /lib/firmware/brcm/ and hope it will be picked? What naming do I need to take care of?
Currently the file is called, BCM20702A0_001.001.024.0156.0204.hex, which I do download by bcmfwup.py to make my bluetooth work.

Any hints?

Revision history for this message
Thilo Cestonaro (tephraim) wrote :

So, I think I now know the problem.

Regarding this code snippet (3.16.7 btusb)
[CODE]
 { USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01) },

 /* Broadcom devices with vendor specific id */
 { USB_VENDOR_AND_INTERFACE_INFO(0x0a5c, 0xff, 0x01, 0x01),
   .driver_info = BTUSB_BCM_PATCHRAM },
[/CODE]
the patchram fw load function is only used with devices with VID 0x0a5c. Thats not good, as my device is of VID 0x0489 and needs the broadcom fw too. :(

My device is a BCM 2070 ( 0489:e031 Foxconn / Hon Hai ).

How can I get the ".driver_info = BTUSB_BCM_PATCHRAM }, " into my btusb module for the 0x0489 devices?

Revision history for this message
Jesse Sung (wenchien) wrote :

Humm... Verified the btusb.c in utopic/upstream and yes some IDs provided by previous versions should be submitted again. I'll check the differences and send patches for these missing IDs.
@tephraim: thanks for pointing out where the problem is!

Revision history for this message
zebul666 (zebul666) wrote :
Download full text (3.8 KiB)

hi.
from the many previous posts I was able to decipher the procedure to use:
1) find in the windows driver .inf the hex file to use and convert
2) get and compile and use hex2hcd to convert file to firmware
3) place the file in /lib/firmware/bcrm/BCM43142A0-0a5c-21d7.hcd

and get in my /var/log/syslog, the line that says that the firmware is loaded
Nov 9 20:24:19 callisto kernel: [ 23.061550] Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=00b0 lmp_ver=06 lmp_subver=210b

until I found out some weeks later than, the firmware is not always loaded when I boot, I don't know why. there is no error in the log but the firmware is not loaded.

If I close the lid and reopen it to hibernate and wake-up then the firmware is finally loaded !

but then I found out the lines
Nov 18 17:04:45 callisto kernel: [ 1769.978201] CPU: 0 PID: 5317 Comm: kworker/u17:0 Tainted: P OE 3.16.0-24-generic #32-Ubuntu
Nov 18 17:04:45 callisto kernel: [ 1769.978202] Hardware name: Dell Inc. Inspiron 3521/06RYX8, BIOS A12 10/25/2013
Nov 18 17:04:45 callisto kernel: [ 1769.978216] Workqueue: hci0 hci_power_on [bluetooth]
Nov 18 17:04:45 callisto kernel: [ 1769.978219] 0000000000000009 ffff88020b097be8 ffffffff8177fcbc 0000000000000000
Nov 18 17:04:45 callisto kernel: [ 1769.978221] ffff88020b097c20 ffffffff8106fd8d ffff88020b097d10 ffff880092794920
Nov 18 17:04:45 callisto kernel: [ 1769.978223] ffff8802348bbb40 00000000fffffff5 0000000000000220 ffff88020b097c30
Nov 18 17:04:45 callisto kernel: [ 1769.978223] Call Trace:
Nov 18 17:04:45 callisto kernel: [ 1769.978229] [<ffffffff8177fcbc>] dump_stack+0x45/0x56
Nov 18 17:04:45 callisto kernel: [ 1769.978232] [<ffffffff8106fd8d>] warn_slowpath_common+0x7d/0xa0
Nov 18 17:04:45 callisto kernel: [ 1769.978235] [<ffffffff8106fe6a>] warn_slowpath_null+0x1a/0x20
Nov 18 17:04:45 callisto kernel: [ 1769.978241] [<ffffffff814e2be1>] _request_firmware+0x491/0xb20
Nov 18 17:04:45 callisto kernel: [ 1769.978244] [<ffffffff814e32a1>] request_firmware+0x31/0x50
Nov 18 17:04:45 callisto kernel: [ 1769.978249] [<ffffffffc057a923>] btusb_setup_bcm_patchram+0x83/0x450 [btusb]
Nov 18 17:04:45 callisto kernel: [ 1769.978252] [<ffffffff814d9b86>] ? rpm_idle+0xd6/0x2b0
Nov 18 17:04:45 callisto kernel: [ 1769.978264] [<ffffffffc04d3145>] hci_dev_do_open+0x235/0x930 [bluetooth]
Nov 18 17:04:45 callisto kernel: [ 1769.978268] [<ffffffff810a26e9>] ? ttwu_do_wakeup+0x19/0xd0
Nov 18 17:04:45 callisto kernel: [ 1769.978278] [<ffffffffc04d3e20>] hci_power_on+0x40/0x180 [bluetooth]
Nov 18 17:04:45 callisto kernel: [ 1769.978282] [<ffffffff810a52ff>] ? try_to_wake_up+0x1ff/0x370
Nov 18 17:04:45 callisto kernel: [ 1769.978286] [<ffffffff8108d8e2>] process_one_work+0x182/0x4e0
Nov 18 17:04:45 callisto kernel: [ 1769.978289] [<ffffffff8108dcab>] worker_thread+0x6b/0x6a0
Nov 18 17:04:45 callisto kernel: [ 1769.978292] [<ffffffff8108dc40>] ? process_one_work+0x4e0/0x4e0
Nov 18 17:04:45 callisto kernel: [ 1769.978296] [<ffffffff81094aeb>] kthread+0xdb/0x100
Nov 18 17:04:45 callisto kernel: [ 1769.978300] [<ffffffff81094a10>] ? kthread_create_on_node+0x1c0/0x1c0
Nov 18 17:04:45 callisto kernel: [ 1769.978304] [<ffffffff81787c3c>] r...

Read more...

Revision history for this message
Sisir Gadisetti (sisirg) wrote :

I have the same issue on a Dell Vostro 3560 with a BCM43142. I'm running a fresh installation of Ubuntu 14.10

dmesg | grep Bluetooth gives
[ 4967.683179] Bluetooth: hci0: BCM: patch brcm/BCM43142A0-0a5c-21d7.hcd not found

I don't have a Windows installation I can get files from

From lsusb
Bus 002 Device 005: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0

apt-get shows
bcmwl-kernel-source is already the newest version

Revision history for this message
Nick B. (futurepilot) wrote :

Is there a bug for the missing IDs? AFAIK 0a5c:21e8 still needs to be added.

Revision history for this message
Jesse Sung (wenchien) wrote :

@sisirg, The firmware can't be included in Ubuntu repo due to its license... The only way to get one is to extract one from the windows driver, at least for now.

@futurepilot, 0a5c:21e8 is already covered by USB_VENDOR_AND_INTERFACE_INFO(0x0a5c, 0xff, 0x01, 0x01) in the ID table.

Revision history for this message
Jesse Sung (wenchien) wrote :

Patches for adding IDs have already been sent to upstream on Dec. 3rd and got no reply so far.

Revision history for this message
goliy (musor-zdes) wrote :

Hi guys!

I have the same bug: a headset doesn't work in HSP/HFP mode
The firmware(BCM20702A1_001.002.014.1315.1410.hex) is successfully converted via hex2hcd and placed to /lib/firmware/fw-413c_8197.hcd

any hints?

I see only these errors in the syslogs:
Jan 3 06:14:25 fitz123-laptop bluetoothd[745]: /org/bluez/745/hci0/dev_48_C1_AC_E0_2C_CF/fd0: fd(26) ready
Jan 3 06:14:25 fitz123-laptop rtkit-daemon[2277]: Successfully made thread 3043 of process 2262 (n/a) owned by '1000' RT at priority 5.
Jan 3 06:14:25 fitz123-laptop rtkit-daemon[2277]: Supervising 4 threads of 1 processes of 1 users.
Jan 3 06:14:25 fitz123-laptop bluetoothd[745]: Badly formated or unrecognized command: AT+XEVENT=USER-AGENT,COM.PLANTRONICS,PLT_Legend,115,34.06,1069b78391dca242aa1fc92c3794e7f6
Jan 3 06:14:25 fitz123-laptop bluetoothd[745]: Badly formated or unrecognized command: AT+BIA=0,0,0,1,1,1,0

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.10
Release: 14.10
Codename: utopic

$ usb-devices
T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=413c ProdID=8197 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=A4DB3020F62F
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

$ dmesg | grep Bluetooth
[ 14.799529] Bluetooth: Core ver 2.19
[ 14.799549] Bluetooth: HCI device and connection manager initialized
[ 14.799556] Bluetooth: HCI socket layer initialized
[ 14.799559] Bluetooth: L2CAP socket layer initialized
[ 14.799568] Bluetooth: SCO socket layer initialized
[ 14.803087] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 14.803091] Bluetooth: BNEP filters: protocol multicast
[ 14.803099] Bluetooth: BNEP socket layer initialized
[ 14.815372] Bluetooth: RFCOMM TTY layer initialized
[ 14.815382] Bluetooth: RFCOMM socket layer initialized
[ 14.815387] Bluetooth: RFCOMM ver 1.11

Thanks!

Revision history for this message
Nick B. (futurepilot) wrote :

Apparently in 14.10 the .hcd file needs to be /lib/firmware/brcm.
Here is the .hcd file for the IOGEAR GBU521 (0a5c:21e8). Place it in /lib/firmware/brcm/BCM920702 Bluetooth 4.0-0a5c-21e8.hcd (Yes including the spaces in the file name)

modprobe -r btusb
modprobe btusb

Looks like it is successfully loading the firmware
[513973.825046] Bluetooth: hci0: BCM: patching hci_ver=06 hci_rev=153a lmp_ver=06 lmp_subver=220e
[513974.598398] Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=153a lmp_ver=06 lmp_subver=220e

If you have a different model you can find what the filename should be from syslog
[513871.502139] Bluetooth: hci0: BCM: patch brcm/BCM920702 Bluetooth 4.0-0a5c-21e8.hcd not found

Note: the attached .hcd only works for the IOGEAR GBU521. You'll have to find and convert the .hex file for your specific model.

Revision history for this message
goliy (musor-zdes) wrote :

Dear Nick, as you can see in the message above I have no missed/non found messages in the syslog

Revision history for this message
Khunphil (khunphil) wrote :

Hi

Ubuntu 14.10 / I follow instructions and got my BCM43142A0-0a5c-21d7.hcd in /lib/firmware/brcm.

dmesg | grep Bluetooth

[ 16.456618] Bluetooth: Core ver 2.19
[ 16.456641] Bluetooth: HCI device and connection manager initialized
[ 16.456648] Bluetooth: HCI socket layer initialized
[ 16.456651] Bluetooth: L2CAP socket layer initialized
[ 16.456661] Bluetooth: SCO socket layer initialized
[ 16.460079] Bluetooth: RFCOMM TTY layer initialized
[ 16.460090] Bluetooth: RFCOMM socket layer initialized
[ 16.460094] Bluetooth: RFCOMM ver 1.11
[ 16.566552] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 16.566555] Bluetooth: BNEP filters: protocol multicast
[ 16.566574] Bluetooth: BNEP socket layer initialized

So all looks perfect, but bluetooth is still not visible via interface bluetooth menu. Did I miss something ?

Bluetooth is still disabled (Aspire E5-471G-53C8)

Revision history for this message
Jesse Sung (wenchien) wrote :
Revision history for this message
Jesse Sung (wenchien) wrote :

@goliy:

It's due to 413c:8197 isn't marked as firmware needed in the source code, thus btusb won't load the firmware you provided. Patch is already sent to upstream (in #134 and #139).

Revision history for this message
Jesse Sung (wenchien) wrote :

@khunphil,

"dmesg | grep Bluetooth" should show something indicating firmware is loaded or not, just like those in #136. Would you mind to attach the output of "usb-devices" of this device and "lsusb -t"?

Revision history for this message
Christophe H (chrissc-humbert) wrote :
Download full text (3.7 KiB)

Hello Jesse

I have put the file fw....hcd in the lib/firmware/brcm because it seems that this is the new place.

Here is the message
dmesg | grep Bluetooth
[ 6.595697] Bluetooth: Core ver 2.19
[ 6.595715] Bluetooth: HCI device and connection manager initialized
[ 6.595723] Bluetooth: HCI socket layer initialized
[ 6.595725] Bluetooth: L2CAP socket layer initialized
[ 6.595733] Bluetooth: SCO socket layer initialized
[ 6.609934] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 6.609937] Bluetooth: BNEP filters: protocol multicast
[ 6.609944] Bluetooth: BNEP socket layer initialized
[ 6.627529] Bluetooth: RFCOMM TTY layer initialized
[ 6.627541] Bluetooth: RFCOMM socket layer initialized
[ 6.627546] Bluetooth: RFCOMM ver 1.11
[ 23.615829] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 23.615838] Bluetooth: HIDP socket layer initialized

Evrything seems fine but I am not able anymore to connect my bluetooth mouse
When I try I have the follwoing message 05/02/2015 11:44:45 Chris-linux bluetoothd[562] Host is down (112)

And find the full syslog for bluetooth
05/02/2015 11:39:39 Chris-linux bluetoothd[562] DIS cannot start: GATT is disabled
05/02/2015 11:39:39 Chris-linux bluetoothd[562] Failed to init deviceinfo plugin
05/02/2015 11:39:39 Chris-linux bluetoothd[562] Failed to init proximity plugin
05/02/2015 11:39:39 Chris-linux bluetoothd[562] Failed to init time plugin
05/02/2015 11:39:39 Chris-linux bluetoothd[562] Failed to init alert plugin
05/02/2015 11:39:39 Chris-linux bluetoothd[562] Failed to init thermometer plugin
05/02/2015 11:39:39 Chris-linux kernel [ 6.595697] Bluetooth: Core ver 2.19
05/02/2015 11:39:39 Chris-linux kernel [ 6.595715] Bluetooth: HCI device and connection manager initialized
05/02/2015 11:39:39 Chris-linux kernel [ 6.595723] Bluetooth: HCI socket layer initialized
05/02/2015 11:39:39 Chris-linux kernel [ 6.595725] Bluetooth: L2CAP socket layer initialized
05/02/2015 11:39:39 Chris-linux kernel [ 6.595733] Bluetooth: SCO socket layer initialized
05/02/2015 11:39:39 Chris-linux kernel [ 6.609934] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
05/02/2015 11:39:39 Chris-linux kernel [ 6.609937] Bluetooth: BNEP filters: protocol multicast
05/02/2015 11:39:39 Chris-linux kernel [ 6.609944] Bluetooth: BNEP socket layer initialized
05/02/2015 11:39:39 Chris-linux bluetoothd[562] Failed to init gatt_example plugin
05/02/2015 11:39:39 Chris-linux bluetoothd[562] Bluetooth Management interface initialized
05/02/2015 11:39:39 Chris-linux kernel [ 6.627529] Bluetooth: RFCOMM TTY layer initialized
05/02/2015 11:39:39 Chris-linux kernel [ 6.627541] Bluetooth: RFCOMM socket layer initialized
05/02/2015 11:39:39 Chris-linux kernel [ 6.627546] Bluetooth: RFCOMM ver 1.11
05/02/2015 11:39:39 Chris-linux bluetoothd[562] Unknown command complete for opcode 19
05/02/2015 11:39:40 Chris-linux bluetoothd[562] Adapter /org/bluez/562/hci0 has been enabled
05/02/2015 11:39:56 Chris-linux kernel [ 23.615829] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
05/02/2015 11:39:56 Chris-linux kernel [ 23.615838] Bluetooth: HIDP socket layer initialized
05/02/2015 11:40...

Read more...

Revision history for this message
Hartmut (hesse-hsr) wrote :

before:
...
[ 1645.910360] usb 1-1.4: Direct firmware load failed with error -2
[ 1645.910363] usb 1-1.4: Falling back to user helper
[ 1645.911291] Bluetooth: can't load firmware, may not work correctly

after: inserting file fw-0a5c_21e6.hcd in /lib/firmware
[16590.619654] usb 1-1.4: new full-speed USB device number 6 using ehci-pci
[16590.716219] usb 1-1.4: New USB device found, idVendor=0a5c, idProduct=21e6
[16590.716226] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[16590.716230] usb 1-1.4: Product: BCM20702A0
[16590.716233] usb 1-1.4: Manufacturer: Broadcom Corp
[16590.716236] usb 1-1.4: SerialNumber: xxxxxxxx (changed)
[16592.518265] Bluetooth: firmware loaded

looks much better now, but not tested yet, be careful!

created with hex2hcd from BCM20702A1_001.002.014.1443.1453.hex [Thinkpad]

Revision history for this message
zebul666 (zebul666) wrote :

this does not work anymore in ubuntu 15.04 beta.
the firmware is not loaded and the kernel does not even attempt to do so. At least I see nothing in the logs.

buetooth is not working here. no device detected :-(

It was working in 14.10

Revision history for this message
zebul666 (zebul666) wrote :

Ok. sorry, I needed the brcm_patchram_plus binary from bluetooth-touch package. It's working now /o\

Revision history for this message
Erotavlas (erotavlas) wrote :

Hi,
here http://plugable.com/2014/06/23/plugable-usb-bluetooth-adapter-solving-hfphsp-profile-issues-on-linux there is a solutions for properly reading the firmware module for Broadcom BCM20702A0 chip in the kernel for version 3.18+.
In my case it works well. Let me know if this solve the problem.

Revision history for this message
Vincent Gerris (vgerris) wrote :

patch for 105b:e065 : https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1129865/comments/17 seems to be still absent.
Fix for it is in the link.
I asked Jesse what happened direction upstream.
Let's hope it gets in there

Revision history for this message
groby (groby) wrote :
Download full text (5.4 KiB)

Hi,

I've got the same problem as Khunphil after a reinstall of Ubuntu(-Studio) on my Lenovo Ideapad G500. Firmware is in the brcm-folder with the correct name, but hci0 is not patched/loaded.
btusb, bluetooth-touch, bcmwl-kernel-source is installed. Not installed is broadcom-sta-dkms. Tried to install it, but fails (see Bug #1504975). I don't know, if broadcom-sta-dkms is needed?? It's Ubuntu-Version 15.10.
Is there anything I missed? Is it the broadcom-sta-dkms?

Thanks!

lsusb | grep -i bluetooth
Bus 003 Device 003: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module

dmesg | grep -i bluetooth
[ 6.119179] Bluetooth: Core ver 2.20
[ 6.119203] Bluetooth: HCI device and connection manager initialized
[ 6.119208] Bluetooth: HCI socket layer initialized
[ 6.119212] Bluetooth: L2CAP socket layer initialized
[ 6.119218] Bluetooth: SCO socket layer initialized
[ 8.546129] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 8.546133] Bluetooth: BNEP filters: protocol multicast
[ 8.546138] Bluetooth: BNEP socket layer initialized

hciconfig -a hci0
Can't get device info: No such device

usb-devices
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 4
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=04.02
S: Manufacturer=Linux 4.2.0-18-lowlatency xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=174f ProdID=114f Rev=03.27
S: Manufacturer=Generic
S: Product=Lenovo EasyCamera
S: SerialNumber=200901010001
C: #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo
I: If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 4
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev=04.02
S: Manufacturer=Linux 4.2.0-18-lowlatency xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=04.02
S: Manufacturer=Linux 4.2.0-18-lowlatency ehci_hcd
S: Product=EHCI Host Controller
S: SerialNumber=0000:00:1a.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 6
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=8087 ProdID=0024 Rev=00.00
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=03 Lev=02 Prnt=02 Port=02 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=105b ProdID=e065 Rev=01.12
S: Manufacturer=Broadcom Corp
...

Read more...

Revision history for this message
groby (groby) wrote :

Forgot to say: I also tried the patch [PATCH resend 5/5] from post #139

Revision history for this message
Christophe H (chrissc-humbert) wrote :

Hello here what i have done it is to rename BCMXXXXX.hcd to BCM.hcd in the /lib/firmware/brcm... and that is working

Revision history for this message
Nick B. (futurepilot) wrote :

What's weird is the file names it's looking for keep changing. For mine it used to look for "BCM920702 Bluetooth 4.0-0a5c-21e8.hcd". Then at some point it started looking for "BCM20702A0-0a5c-21e8.hcd". Now it's looking for "BCM20702A1-0a5c-21e8.hcd". I don't know why these keep changing.

Revision history for this message
groby (groby) wrote :

Bluetooth seems to work now on my computer. I made a mistake by installing btusb. I got the driver from a dropbox-folder somewhere in the internet, and additionally I had to install a dkms-package. It's a little bit strange for me that I coudn't find the btusb-driver linked on any Ubuntu-Distribution Site or in the Softwarecentre. You find only some different dkms-packeges, which I tried beforer, to get bluetooth working (without any result of course!).
I think it would be helpful, to upload the btusb-driver on the http://packages.ubuntu.com/ Site!
If it's already on it, please send me a link.

Thanks!

Revision history for this message
Nick B. (futurepilot) wrote :

The btusb driver is built into the kernel. There is no separate package.

On Nov 19, 2015, groby <email address hidden> wrote:
>Bluetooth seems to work now on my computer. I made a mistake by
>installing btusb. I got the driver from a dropbox-folder somewhere in
>the internet, and additionally I had to install a dkms-package. It's a
>little bit strange for me that I coudn't find the btusb-driver linked
>on any Ubuntu-Distribution Site or in the Softwarecentre. You find only
>some different dkms-packeges, which I tried beforer, to get bluetooth
>working (without any result of course!).
>I think it would be helpful, to upload the btusb-driver on the
>http://packages.ubuntu.com/ Site!
>If it's already on it, please send me a link.
>
>Thanks!

Revision history for this message
groby (groby) wrote :

I'm not a ubuntu geek, so please be considerate of me!!! I just can say, that I had to download and had to install the btusb-driver separately and additionally to my system, to get bluetooth working. I use ubuntu-studio. Is it possible that there is no btusb-driver implemented in this distribution?? When I checked all the btusb.c-files, I had installed on my system meanwhile, it seems that they have all different contents.... Sorry, but that's all confusing me!
Regards.

Revision history for this message
Felipe Ortiz (fortizc) wrote :

Hi, I have a Macbook Pro 12,1 and the BT adapter is 05ac:8290 and it seems to have the same problem but I can't find the .hex file. Can anybody help me to find it?

Regards

Revision history for this message
Felipe Ortiz (fortizc) wrote :

I found 2 drivers using Bootcamp the first have an .inf file where muy device is listed (see the .tar.gz inside the drv) and the second (the exe file) contains a lot of .hdc files, but seems to be useless. OSX report my device as:
  Manufacturer: Broadcom
  Transport: USB
  Chipset: 20703A1
  Firmware Version: v90 c4342
  Bluetooth Power: On
  Discoverable: Off
  Connectable: No
  Auto Seek Pointing: On
  Remote wake: On
  Vendor ID: 0x05AC
  Product ID: 0x8290
  HCI Version: 0x7
  HCI Revision: 0x10F6
  LMP Version: 0x7
  LMP Subversion: 0x215A
  Device Type (Major): Computer
  Device Type (Complete): Mac Portable
  Composite Class Of Device: 0x38010C
  Device Class (Major): 0x01
  Device Class (Minor): 0x03
  Service Class: 0x1C0
  Auto Seek Keyboard: On

Revision history for this message
Vincent Gerris (vgerris) wrote :

here is a procedure:
https://forum.manjaro.org/index.php?topic=29931.0
the file needs to be named /lib/firmware/brcm/BCM.hcd in 16.04 at least.

Revision history for this message
Tim Abell (tim-abell) wrote :

for xps13 owners see these workarounds: http://askubuntu.com/q/617513/79266 as 16.04 still doesn't work out of the box

Revision history for this message
Nish Aravamudan (nacc) wrote :

It seems like 14.04.0/1's kernel would still need this backport -- 3.13 base and the upstream fix went into 3.14.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux (Ubuntu Trusty):
status: New → Confirmed
Revision history for this message
Brinstar (brinstar) wrote :

16.04 LTS still has no Bluetooth on my Dell Vostro 3300 laptop

Revision history for this message
Brinstar (brinstar) wrote :

This may seem like a bizarre fix but I read about someone else trying it and so having run into the issue with no Bluetooth device appearing, I gave it a try. TL;DR version, you need to install Windows 7 (or any other recent version), install the official Dell Bluetooth drivers, the adapter should switch on and become available in Windows. Once it does, reboot and install Ubuntu and the device should become available in Ubuntu.

Revision history for this message
rich painter (painterengr) wrote :

My Lenovo T530 Bluetooth does not work like so many others that have been reported. I am running
Ubuntu 14.04.3 LTS 64 bits,
kernel 4.4.0-75-generic,
Broadcom Bluetooth BCM20702A1 (001.002.014) build 0000,
Latest BIOS: LENOVO 2359CTO/2359CTO, BIOS G4ETA7WW (2.67 ) 08/24/2016

My dmesg error is:
bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21e6.hcd failed with error -2
Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21e6.hcd not found

My list of files in /lib/firmware/brcm is:
bcm4329-fullmac-4.bin brcmfmac43242a.bin brcmfmac4350-pcie.bin
bcm43xx-0.fw brcmfmac4329-sdio.bin brcmfmac4354-sdio.bin
bcm43xx_hdr-0.fw brcmfmac4330-sdio.bin brcmfmac43569.bin
brcmfmac43143.bin brcmfmac43340-sdio.bin brcmfmac4356-pcie.bin
brcmfmac43143-sdio.bin* brcmfmac4334-sdio.bin brcmfmac43570-pcie.bin
brcmfmac43236b.bin brcmfmac4335-sdio.bin brcmfmac43602-pcie.ap.bin
brcmfmac43241b0-sdio.bin brcmfmac43362-sdio.bin brcmfmac43602-pcie.bin
brcmfmac43241b4-sdio.bin brcmfmac4339-sdio.bin brcmfmac4366b-pcie.bin
brcmfmac43241b5-sdio.bin brcmfmac43455-sdio.bin brcmfmac4371-pcie.bin

Notice there is no *.hcd file... or anything for a 20702*

Note that I do NOT have blueman installed.

I am unable to pair with a mobile phone. The dmesg log repeats the firmware loading error every time I attempt to use the Gnome Bluetooth desktop utility.

I have spent a lot of time chasing posts on related Broadcom bluetooth errors here and elsewhere without success. My bluetooth has not be operational for a VERY long time!

When will we get a fix for this?

Revision history for this message
Jesse Sung (wenchien) wrote :

@painterengr, it's a firmware issue instead of a driver one. The driver tried to load /lib/firmware/brcm/BCM20702A1-0a5c-21e6.hcd and it failed to find the file. The .hcd/.hex file can't be included in a distribution due to license issue (it cannot be re-distributed). One way to make it work is to copy the firmware from windows driver. The other is to boot to windows, let windows driver load the firmware, and then reboot to linux.

Revision history for this message
Jesse Sung (wenchien) wrote :

Support of loading firmware for 413c:* devices has been included in X/Y/Z.
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1166113

Revision history for this message
rich painter (painterengr) wrote :

Unfortunately this is a linux system and not a windows system. The references to the procedures to "obtain the windows version file and convert it to linux" does not work and the links are no good.

I don't understand your reply for a "413c" or "x/y/z". The chip the T530 has is 20702A1. I followed your link to 1166113 but could not find any link to a firmware file.

How does this help us?

I have filed a report with Lenovo forums here https://forums.lenovo.com/t5/Linux-Discussion/T530-Ubuntu-14-04-3-LTS-Broadcom-Bluetooth-BCM20702A1-doesn-t/td-p/3662951

but history has shown Lenovo has not been responsive...

Thanks for trying but not any help.

Revision history for this message
Jesse Sung (wenchien) wrote :

@painterengr, sorry #165 is not a reply to your comment. It's just another related bug for lp:1065400 and I added it here for record.

Revision history for this message
Cruz Fernandez (cruz-fernandez) wrote :

@painterengr have you tried to download the file from somewhere else?
https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-0a5c-21e6.hcd

Hope this is not infringing any legal issues

Le ven. 5 mai 2017 à 04:49, Jesse Sung <email address hidden> a
écrit :

> @painterengr, sorry #165 is not a reply to your comment. It's just
> another related bug for lp:1065400 and I added it here for record.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> 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 Released
> Status in linux source package in Raring:
> Fix Released
> Status in linux source package in Saucy:
> Fix Released
> Status in linux source package in Trusty:
> Confirmed
>
> 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
>

Revision history for this message
rich painter (painterengr) wrote :
Download full text (3.9 KiB)

I did this morning. unfortunately some strange side effect has completely
disabled the bluetooth. I dont even see the Ubuntu bluetooth item on the
wifi drop down menu at the upper right on the Gnome desktop. I have tried
everything to "enable" bluetooth but to no avail.

it seems the problem is now worse.

any ideas?

thanks
rich

On Fri, May 5, 2017 at 6:13 AM, Cruz Fernandez <email address hidden>
wrote:

> @painterengr have you tried to download the file from somewhere else?
> https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/
> BCM20702A1-0a5c-21e6.hcd
>
> Hope this is not infringing any legal issues
>
> Le ven. 5 mai 2017 à 04:49, Jesse Sung <email address hidden> a
> écrit :
>
> > @painterengr, sorry #165 is not a reply to your comment. It's just
> > another related bug for lp:1065400 and I added it here for record.
> >
> > --
> > You received this bug notification because you are subscribed to the bug
> > report.
> > 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 Released
> > Status in linux source package in Raring:
> > Fix Released
> > Status in linux source package in Saucy:
> > Fix Released
> > Status in linux source package in Trusty:
> > Confirmed
> >
> > 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
> >
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> 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 Released
> Status in linux source package in Raring:
> Fix Released
> Status in linux source package in Saucy:
> Fix Released
> Status in linux source package in Trusty:
> Confirmed
>
> Bug description:
> Broadcom bluetooth chips require a tool called patchram uploader [1]
> to load firmware. This applies to at least BCM20702 and BCM43142.
> Although...

Read more...

Revision history for this message
Cruz Fernandez (cruz-fernandez) wrote :
Download full text (5.8 KiB)

Have you tried to use Unity instead of Gnome?
Le ven. 5 mai 2017 à 18:49, rich painter <email address hidden> a écrit :

> I did this morning. unfortunately some strange side effect has completely
> disabled the bluetooth. I dont even see the Ubuntu bluetooth item on the
> wifi drop down menu at the upper right on the Gnome desktop. I have tried
> everything to "enable" bluetooth but to no avail.
>
> it seems the problem is now worse.
>
> any ideas?
>
> thanks
> rich
>
> On Fri, May 5, 2017 at 6:13 AM, Cruz Fernandez <email address hidden>
> wrote:
>
> > @painterengr have you tried to download the file from somewhere else?
> > https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/
> > BCM20702A1-0a5c-21e6.hcd
> >
> > Hope this is not infringing any legal issues
> >
> > Le ven. 5 mai 2017 à 04:49, Jesse Sung <email address hidden> a
> > écrit :
> >
> > > @painterengr, sorry #165 is not a reply to your comment. It's just
> > > another related bug for lp:1065400 and I added it here for record.
> > >
> > > --
> > > You received this bug notification because you are subscribed to the
> bug
> > > report.
> > > 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 Released
> > > Status in linux source package in Raring:
> > > Fix Released
> > > Status in linux source package in Saucy:
> > > Fix Released
> > > Status in linux source package in Trusty:
> > > Confirmed
> > >
> > > 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
> > >
> >
> > --
> > You received this bug notification because you are subscribed to the bug
> > report.
> > 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 Released
> > Status in linux source package in Raring:
> > Fix Released
...

Read more...

Revision history for this message
Cruz Fernandez (cruz-fernandez) wrote :
Download full text (6.0 KiB)

Another one, do you have Secure Boot enabled?

Le ven. 5 mai 2017 à 18:55, Cruz Fernandez <email address hidden> a
écrit :

> Have you tried to use Unity instead of Gnome?
> Le ven. 5 mai 2017 à 18:49, rich painter <email address hidden> a écrit :
>
>> I did this morning. unfortunately some strange side effect has completely
>> disabled the bluetooth. I dont even see the Ubuntu bluetooth item on the
>> wifi drop down menu at the upper right on the Gnome desktop. I have tried
>> everything to "enable" bluetooth but to no avail.
>>
>> it seems the problem is now worse.
>>
>> any ideas?
>>
>> thanks
>> rich
>>
>> On Fri, May 5, 2017 at 6:13 AM, Cruz Fernandez <email address hidden>
>> wrote:
>>
>> > @painterengr have you tried to download the file from somewhere else?
>> > https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/
>> > BCM20702A1-0a5c-21e6.hcd
>> >
>> > Hope this is not infringing any legal issues
>> >
>> > Le ven. 5 mai 2017 à 04:49, Jesse Sung <email address hidden> a
>> > écrit :
>> >
>> > > @painterengr, sorry #165 is not a reply to your comment. It's just
>> > > another related bug for lp:1065400 and I added it here for record.
>> > >
>> > > --
>> > > You received this bug notification because you are subscribed to the
>> bug
>> > > report.
>> > > 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 Released
>> > > Status in linux source package in Raring:
>> > > Fix Released
>> > > Status in linux source package in Saucy:
>> > > Fix Released
>> > > Status in linux source package in Trusty:
>> > > Confirmed
>> > >
>> > > 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
>> > >
>> >
>> > --
>> > You received this bug notification because you are subscribed to the bug
>> > report.
>> > https://bugs.launchpad.net/bugs/1065400
>> >
>> > Title:
>> > Support for loading Broadcom bluetooth firmware
>> >
>> > Status in linux package in Ubuntu:
>...

Read more...

Revision history for this message
rich painter (painterengr) wrote :
Download full text (8.7 KiB)

no secure boot.
the lenovo t530 is configured for UEFI booting and it works fine.

i dont use unity I hate it. I have always used gnome classic (3).
before the attempt to fix the bluetooth yesterday the bluetooth menu from
the wifi icon on the upper right task bar on Ubuntu 14 gnome 3 at least
showed bluetooth.

i could also start the applications->systems settings-> bluetooth and get
the gnome app and it would at least say there were previous pairing listed
on the left (even tho they would not allow data to be exchanged).

now in that left list it just says "bluetooth is disabled".

I go thru the usual rfkill stuff and all seems OK. the "new driver from
github" reports it is good now in dmesg.

but I cant find any way to "enable"

any ideas?

thanks
rich

On Fri, May 5, 2017 at 4:00 PM, Cruz Fernandez <email address hidden>
wrote:

> Another one, do you have Secure Boot enabled?
>
> Le ven. 5 mai 2017 à 18:55, Cruz Fernandez <email address hidden> a
> écrit :
>
> > Have you tried to use Unity instead of Gnome?
> > Le ven. 5 mai 2017 à 18:49, rich painter <email address hidden> a
> écrit :
> >
> >> I did this morning. unfortunately some strange side effect has
> completely
> >> disabled the bluetooth. I dont even see the Ubuntu bluetooth item on the
> >> wifi drop down menu at the upper right on the Gnome desktop. I have
> tried
> >> everything to "enable" bluetooth but to no avail.
> >>
> >> it seems the problem is now worse.
> >>
> >> any ideas?
> >>
> >> thanks
> >> rich
> >>
> >> On Fri, May 5, 2017 at 6:13 AM, Cruz Fernandez <
> <email address hidden>>
> >> wrote:
> >>
> >> > @painterengr have you tried to download the file from somewhere else?
> >> > https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/
> >> > BCM20702A1-0a5c-21e6.hcd
> >> >
> >> > Hope this is not infringing any legal issues
> >> >
> >> > Le ven. 5 mai 2017 à 04:49, Jesse Sung <email address hidden> a
> >> > écrit :
> >> >
> >> > > @painterengr, sorry #165 is not a reply to your comment. It's just
> >> > > another related bug for lp:1065400 and I added it here for record.
> >> > >
> >> > > --
> >> > > You received this bug notification because you are subscribed to the
> >> bug
> >> > > report.
> >> > > 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 Released
> >> > > Status in linux source package in Raring:
> >> > > Fix Released
> >> > > Status in linux source package in Saucy:
> >> > > Fix Released
> >> > > Status in linux source package in Trusty:
> >> > > Confirmed
> >> > >
> >> > > 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 unle...

Read more...

Revision history for this message
hanasaki (hanasaki-ubuntu) wrote :

What is the license issue? Is there a URL to the actual license? Some way to contact who put the license in place to request a change allowing resolution of this?

BTW, I tried the manual download. It finds my device now however will not pair.

Revision history for this message
Cruz Fernandez (cruz-fernandez) wrote :

@hanasaki-ubuntu Looks like Broadcom is retiring from this chipset business. I´ve seen a bug in Redhat that they are talking about this kind of problems (on a Dell xps 13 that has a Broadcom chipset): https://bugzilla.redhat.com/show_bug.cgi?id=1438969#c5

(also to note the issue LP: #1599154)

Revision history for this message
Alecz20 (alexguzu) wrote :

I have same issue as @painterengr

I had the problem where the Bluetooth mouse would work at first, but then suddenly: "Bluetooh Disabled".

I checked dmesg and found this:

Bluetooth: hci0: Broadcom Bluetooth Device
[ 5.279438] Bluetooth: hci0: BCM20702A1 (001.002.014) build 1761
[ 5.281325] bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21f3.hcd failed with error -2
[ 5.281333] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21f3.hcd not found

Which led me to this bug reports and and I quickly found this:
https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-0a5c-21f3.hcd
Which I copied over to /lib/firmware/brcm/BCM20702A1-0a5c-21f3.hcd

After I rebooted the machine, the Bluetooh icon was completely gone from the GUI and in settings it says "Bluetooh disabled"

So using that firmware completely botched Bluetooth on my system.

Revision history for this message
Alecz20 (alexguzu) wrote :

UPDATE:

If I remove the /lib/firmware/brcm/BCM20702A1-0a5c-21f3.hcd and I reboot I get the "flaky" Bluetooth back. Sometimes I need to suspend/resume to get it back.

Was hoping this firmware would fix the issue, but instead it makes it worse.

Revision history for this message
Alecz20 (alexguzu) wrote :

UPDATE: MY FIX

After some digging, I decided to download the latest Bluetooth Driver from Lenovo and extracted the firmware from it.

I forked Winterheart's repository and patched the firmware and it works for me.
Here is the link if anyone needs:
https://github.com/alecz20/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-0a5c-21f3.hcd

Revision history for this message
xor (xor) wrote :

Can an admin please flag this as affecting Ubuntu version Bionic as well?

My kernel indeed complains "Patch brcm/BCM20702A1-0a5c-21e6.hcd not found" on Bionic.

Also, Bluetooth USED TO work on this machine on 14.04, 18.04 (Bionic) broke it.
So if 14.04 shipped the file apparently then why can't 18.04 just do the same? :)

Revision history for this message
You-Sheng Yang (vicamo) wrote :

@xor, there is no such file in linux-firmware/trusty: https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux-firmware/tree/brcm?h=trusty . Could you have a check where does that file come from?

  $ dpkg -S /lib/firmware/brcm/BCM20702A1*

This has to be executed on a trusty installation.

Revision history for this message
Jesse Sung (wenchien) wrote :

@xnor:

Naming rule of the firmware has been changed for some historical reasons...

* In 14.04, it is "/lib/firmware/brcm/fw-<VID>_<PID>.hcd". ( https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/trusty/tree/drivers/bluetooth/btusb.c#n1410 )
* In 16.04, it is "/lib/firmware/brcm/<CHIP_NAME>.hcd". ( https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial/tree/drivers/bluetooth/btbcm.c#n323 )
* In 18.04, it is either "/lib/firmware/brcm/<CHIP_NAME>.hcd" or "/lib/firmware/brcm/<CHIP_NAME>-<VID>-<PID>.hcd". ( https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/bionic/tree/drivers/bluetooth/btbcm.c#n478 and https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/bionic/tree/drivers/bluetooth/btbcm.c#n499 )

Unfortunately because of its incompatible license, we're not able to include the firmware in linux-firmware package. Even in the linux-firmware upstream, there are only a very small amount of such bluebooth firmware files and those should already be included in 18.04 linux-firmware package. ( https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/brcm )

If it used to work on 14.04 but stops working after upgrade, you may already have "/lib/firmware/brcm/fw-<VID>_<PID>.hcd" in your 14.04 installation (maybe either from a preload Ubuntu system or it was downloaded from somewhere). Filename of the firmware needs to be changed after upgrade so that driver can find it. In this case:

$ sudo mv /lib/firmware/brcm/fw-0a5c_21e6.hcd /lib/firmware/brcm/BCM20702A1-0a5c-21e6.hcd

If you wiped the whole system before installing 18.04, you have to find the file elsewhere though.

If you are not sure what the correct hcd filename is, please check the output of dmesg and you'll see the driver complaining about missing firmware.

$ dmesg

-----

For converting the hex formatted firmware to hcd, hex2hcd is included in newer bluez. In 18.04, simply install bluez then you'll have the tool:

$ sudo apt-get install bluez

Still you can use dmesg to determine the hcd filename to use:

$ dmesg

You'll have to find the hex firmware in Windows driver provided by laptop vendors, then convert it and place the output to the right place. For example:

$ sudo hex2hcd -o /lib/firmware/brcm/BCM20702A1-0a5c-21e6.hcd <HEX_FILENAME>

Hope this helps.

Revision history for this message
Ian Mackinnon (imackinnon) wrote :

I have a Dell/Broadcom 413c:8143 device and the patchram is apparently still not being applied for me in Ubuntu 20.04, kernel `5.4.0-70-generic`.

I see that the following struct was added in early 2017:

 /* Dell Computer - Broadcom based */
 { USB_VENDOR_AND_INTERFACE_INFO(0x413c, 0xff, 0x01, 0x01),
   .driver_info = BTUSB_BCM_PATCHRAM },

Commit diffs:

https://github.com/torvalds/linux/commit/fdfddc601713d4ed564b0bd25b29415bd622020a

https://kernel.ubuntu.com/git/ubuntu/ubuntu-zesty.git/diff/drivers/bluetooth/btusb.c?h=Ubuntu-4.10.0-14.16&id=9f8d1a6f221b33b294032c15e4739a8a9076aaec

However, an earlier struct some ten items above appears to be blocking the addition from taking effect:

 { USB_DEVICE(0x413c, 0x8197) },

With the stock Ubuntu module HSP/HFP does not work for me, but if I remove the `USB_DEVICE` item, leaving the `USB_VENDOR_AND_INTERFACE_INFO` item, and recompile, the patchram is applied and HSP/HFP works.

Might it be necessary to remove the previous `USB_DEVICE` item from the module source?

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Ian, can you please file a new bug? Thanks.

Revision history for this message
Ian Mackinnon (imackinnon) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.