Support for loading Broadcom bluetooth firmware

Bug #1065400 reported by Jesse Sung on 2012-10-11
406
This bug affects 88 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Jesse Sung
Nominated for Trusty by Jesse Sung
Precise
Medium
Jesse Sung
Quantal
Medium
Jesse Sung
Raring
Medium
Jesse Sung
Saucy
Medium
Jesse Sung

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

Jesse Sung (wenchien) wrote :
Jesse Sung (wenchien) wrote :
Changed in linux (Ubuntu):
assignee: nobody → Jesse Sung (wenchien)
status: New → In Progress
tags: added: blocks-hwcert-enablement
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
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) on 2012-10-22
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

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)

Jesse Sung (wenchien) wrote :

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

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?

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

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

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

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

Jesse Sung (wenchien) wrote :

Christophe,

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

Jesse Sung (wenchien) on 2012-11-21
tags: added: verification-done-precise
removed: verification-needed-precise
Jesse Sung (wenchien) on 2012-11-21
Changed in linux (Ubuntu Quantal):
status: In Progress → Fix Committed
tags: added: verification-done-quantal
removed: verification-needed-quantal
1 comments hidden view all 146 comments
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

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 146 comments
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
bakytn (bakytn) wrote :

I have just upgraded and got kernvel 3.5.0.19

bluetooth is not working after restart.

Jesse Sung (wenchien) wrote :

@bakytn,

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

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 :(

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?

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.

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

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.

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.

bakytn (bakytn) wrote :

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

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?

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.

Jesse Sung (wenchien) wrote :

@benklop,

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

Christophe H (chrissc-humbert) wrote :

Hello,

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

Christophe H (chrissc-humbert) wrote :

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

Thanks

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

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.

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

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

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

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

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.

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

benklop (benklop) wrote :

@wenchien,

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

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) on 2013-04-14
Changed in linux (Ubuntu Precise):
assignee: Jesse Sung (wenchien) → vamana (kirillovvv)
Jesse Sung (wenchien) on 2013-04-15
Changed in linux (Ubuntu Precise):
assignee: vamana (kirillovvv) → Jesse Sung (wenchien)
Jesse Sung (wenchien) on 2013-06-04
Changed in linux (Ubuntu):
status: Fix Released → In Progress
Jesse Sung (wenchien) on 2013-09-04
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) on 2013-09-09
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) on 2013-09-16
tags: added: verification-needed-raring
Brad Figg (brad-figg) on 2013-09-23
tags: added: verification-done-raring
removed: verification-needed-raring
66 comments hidden view all 146 comments
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
1 comments hidden view all 146 comments
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
1 comments hidden view all 146 comments
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]

Ray-Ven (ray-ven) wrote :

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

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.

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

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)

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

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

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.

Alexander Gilevich (alegil91) wrote :

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

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.

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.

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?

I figure it out!!!

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

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!

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.

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?

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?

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!

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

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

Nick B. (futurepilot) wrote :

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

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.

Jesse Sung (wenchien) wrote :

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

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!

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.

goliy (musor-zdes) wrote :

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

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)

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

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"?

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

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]

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

zebul666 (zebul666) wrote :

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

Erotavlas (erotavlas-turbo) 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.

Displaying first 40 and last 40 comments. View all 146 comments or add a comment.
This report contains Public information  Edit
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.