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
1 comments hidden view all 183 comments
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.

1 comments hidden view all 183 comments
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.

Changed in linux (Ubuntu Raring):
status: In Progress → Fix Released
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)
Jesse Sung (wenchien)
Changed in linux (Ubuntu):
status: Fix Released → In Progress
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
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
Brad Figg (brad-figg)
tags: added: verification-needed-raring
Brad Figg (brad-figg)
tags: added: verification-done-raring
removed: verification-needed-raring
Changed in linux (Ubuntu Quantal):
status: Fix Committed → Fix Released
status: Fix Committed → Fix Released
Changed in linux (Ubuntu Raring):
status: Fix Committed → Fix Released
status: Fix Committed → Fix Released
103 comments hidden view all 183 comments
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 : Re: [Bug 1065400] Re: Support for loading Broadcom bluetooth firmware

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 :
Displaying first 40 and last 40 comments. View all 183 comments or add a comment.
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.