Intel [8087:07dc] Bluetooth headset only works in A2DP mode on Dell Latitude E5440

Bug #1310558 reported by Po-Hsu Lin on 2014-04-21
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-firmware (Ubuntu)
Medium
Adam Lee
Precise
Undecided
Adam Lee
Saucy
Undecided
Tim Gardner
Trusty
Undecided
Adam Lee
Utopic
Medium
Adam Lee

Bug Description

CID: 201307-13941 Dell Latitude E5440

The Bluetooth HSP/HFP mode does not work on this system,
however, this chipset, 8087:07dc, works fine on 201307-14037 with the same kernel.
lsusb -v output for this device slightly different on these two system
(difference in the bus number and device number)

Steps:
1. Install 12.04.4 + update (3.11.0-19), boot to desktop
2. Pair with a Bluetooth headset
3. Set this Bluetooth headset as Input / Output source in "Sound Settings"
4. Speak into your headset, use "Sound recorder" to record with HSP/HFP mode
5. Test playback functionality in HSP/HFP mode
6. Switch to A2DP mode, play sound to test it.

Expected results:
* Bluetooth headset works fine in HSP/HFP and A2DP mode

Actual results:
* It only works in A2DP mode, unable to record and play a sound in HSP/HFP mode.

usb-devices output:
T: Bus=01 Lev=03 Prnt=04 Port=01 Cnt=02 Dev#= 6 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=8087 ProdID=07dc Rev=00.01
C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
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

The difference between these two system could be found in lsusb -t result, for this one, it's on level 3, with a hub driven by ehci-pci driver.
ubuntu@201307-13941:~$ lsusb -t
1-1.8.4.2:1.0: No such file or directory
1-1.8.1:1.0: No such file or directory
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/9p, 480M
    |__ Port 1: Dev 3, If 0, Class=stor., Driver=usb-storage, 480M
    |__ Port 6: Dev 2, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
    |__ Port 6: Dev 2, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
        |__ Port 7: Dev 3, If 0, Class=HID, Driver=usbhid, 12M
        |__ Port 8: Dev 4, If 0, Class=hub, Driver=hub/4p, 480M
            |__ Port 1: Dev 5, If 0, Class=vend., Driver=, 12M
            |__ Port 2: Dev 6, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
            |__ Port 2: Dev 6, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
            |__ Port 4: Dev 7, If 0, Class=hub, Driver=hub/4p, 12M
                |__ Port 2: Dev 8, If 0, Class=scard, Driver=, 12M

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: linux-image-3.11.0-19-generic 3.11.0-19.33~precise1
ProcVersionSignature: Ubuntu 3.11.0-19.33~precise1-generic 3.11.10.5
Uname: Linux 3.11.0-19-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version k3.11.0-19-generic.
ApportVersion: 2.0.1-0ubuntu17.6
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 1: PCH [HDA Intel PCH], device 0: ALC292 Analog [ALC292 Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: ubuntu 1645 F.... pulseaudio
 /dev/snd/controlC0: ubuntu 1645 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'MID'/'HDA Intel MID at 0xf7434000 irq 64'
   Mixer name : 'Intel Haswell HDMI'
   Components : 'HDA:80862807,80860101,00100000'
   Controls : 21
   Simple ctrls : 3
Card1.Amixer.info:
 Card hw:1 'PCH'/'HDA Intel PCH at 0xf7430000 irq 65'
   Mixer name : 'Realtek ALC292'
   Components : 'HDA:10ec0292,102805de,00100001'
   Controls : 28
   Simple ctrls : 13
Date: Mon Apr 21 06:15:44 2014
HibernationDevice: RESUME=UUID=1cfd99fb-54b6-4cc8-a24a-8db63ee87d24
InstallationMedia: Ubuntu 12.04.4 LTS "Precise Pangolin" - Release amd64 (20140204)
MachineType: Dell Inc. Latitude E5440
MarkForUpload: True
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.11.0-19-generic root=UUID=823ebc42-ec31-482a-ac2f-5d02316430ae ro quiet splash initcall_debug
RelatedPackageVersions:
 linux-restricted-modules-3.11.0-19-generic N/A
 linux-backports-modules-3.11.0-19-generic N/A
 linux-firmware 1.79.11
SourcePackage: linux-lts-saucy
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 09/18/2013
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A01
dmi.board.name: 01348G
dmi.board.vendor: Dell Inc.
dmi.board.version: X02
dmi.chassis.type: 9
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA01:bd09/18/2013:svnDellInc.:pnLatitudeE5440:pvr01:rvnDellInc.:rn01348G:rvrX02:cvnDellInc.:ct9:cvr:
dmi.product.name: Latitude E5440
dmi.product.version: 01
dmi.sys.vendor: Dell Inc.

Po-Hsu Lin (cypressyew) wrote :
summary: - Intel [8087:07dc] Bluetooth headset only works in A2DP mode
+ Intel [8087:07dc] Bluetooth headset only works in A2DP mode on Dell
+ Latitude E5440
Po-Hsu Lin (cypressyew) wrote :

lsusb -t result from 201307-14037, which has the same chipset but everything works as expected. You can see here this device is on level 1, with a hub driven by xhci_hcd driver
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/9p, 480M
    |__ Port 3: Dev 6, If 0, Class=stor., Driver=usb-storage, 480M
    |__ Port 4: Dev 2, If 0, Class=vend., Driver=, 12M
    |__ Port 5: Dev 3, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
    |__ Port 5: Dev 3, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
    |__ Port 7: Dev 4, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
    |__ Port 7: Dev 4, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M

Daniel Manrique (roadmr) on 2014-04-21
Changed in linux-lts-saucy (Ubuntu):
importance: Undecided → Low
Changed in linux-lts-saucy (Ubuntu):
assignee: Anthony Wong (anthonywong) → Adam Lee (adam8157)
Adam Lee (adam8157) wrote :

1, it's a known issue with some old version firmware(ref: http://www.spinics.net/lists/linux-bluetooth/msg39377.html), please upgrade to this one: https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq

2, it's not possible to fix this on lts-quantal, lts-raring and lts-saucy, they are all EOL or missed the last day for kernel commits for last cycle.

So, I will close linux-lts-saucy branch as Won't fix. Feel free to reopen it on Trusty or further version if your testing result is negative.

Changed in linux-lts-saucy (Ubuntu):
status: New → Won't Fix
Adam Lee (adam8157) wrote :

#3 was a mistake. Sorry.

Last SRU cycle including lts backports starts the 24th of July, so we still have plenty of time.

Changed in linux-lts-saucy (Ubuntu):
status: Won't Fix → Triaged
Adam Lee (adam8157) wrote :

@Po-Hsu, could you please test the new firmware in #3(same name but different binary)? thanks.

Po-Hsu Lin (cypressyew) wrote :

Hello Adam,
after replacing the ibt-hw-37.7.10-fw-1.80.2.3.d.bseq in /lib/firmware/intel
this issue still exist

Steps:
1. Install 12.04.4 + update (3.11.0-20), reboot
2. Pair with a Bluetooth headset, make sure this issue still exist.
3. Stop Bluetooth by using the hardware switch
4. Replace the ibt-hw-37.7.10-fw-1.80.2.3.d.bseq
5. Re-activate the Bluetooth, test the headset again.
6. Reboot, test the headset again.

Expected result:
* Headset in HSP/HFP mode should be not working properly before step 4 or 6
* Headset in HSP/HFP mode should work on step 6

Actual result:
* Headset in HSP/HFP mode didn't work properly at all.

Adam Lee (adam8157) on 2014-05-08
Changed in linux-lts-saucy (Ubuntu):
status: Triaged → In Progress
Adam Lee (adam8157) wrote :

@Po-Hsu, how about the cold boot? I also have another question, why the usb hub routing config is different between two OS version? Could you please reset BIOS to default and cold boot to test? Thanks.

Po-Hsu Lin (cypressyew) wrote :

Hello Adam,
You mean the config is different between 201307-13941 and 201307-14037?

After BIOS reset and cold boot, this issue still exist
(after replacing ibt-hw-37.7.10-fw-1.80.2.3.d.bseq)

Adam Lee (adam8157) wrote :

@Po-Hsu, can this system's BIOS route all usb ports to usb3.0? like a option "USB3 Mode", if it exists, please try to set it to Enable and test

Adam Lee (adam8157) wrote :

@Po-Hsu, could you please test this one?

Po-Hsu Lin (cypressyew) wrote :

Hello Adam,
there is only an option called "Enable USB3.0 Controller", and it is enabled by default.

And...
this firmware works!

Steps (3.11.0-20 on 201307-13941):
1. Disable the Bluetooth, replace the /lib/firmware/intel directory
2. Reboot, enable the Bluetooth and test the headset

Expected result:
* Headset works in both HSP/HFP and A2DP mode

Actual result:
* Bluetooth headset works as expected.

Thanks!

Adam Lee (adam8157) wrote :

@Po-Hsu, great, but that firmware is not in upstream yet... will push the maintainer

Adam Lee (adam8157) wrote :

linux-firmware upstream has not seen any new development activity for two months, I'm still pushing.

Adam Lee (adam8157) wrote :

new firmware shows up in upstream, patch is sent to kernel-team@

Tim Gardner (timg-tpi) on 2014-05-28
Changed in linux-lts-saucy (Ubuntu Precise):
status: New → In Progress
assignee: nobody → Adam Lee (adam8157)
Changed in linux-lts-saucy (Ubuntu):
status: In Progress → Invalid
Adam Lee (adam8157) on 2014-05-28
Changed in linux-lts-saucy (Ubuntu Precise):
importance: Undecided → Medium
Tim Gardner (timg-tpi) on 2014-05-29
Changed in linux (Ubuntu):
status: New → Invalid
Changed in linux (Ubuntu Saucy):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Changed in linux (Ubuntu Precise):
status: New → Invalid
Changed in linux-lts-saucy (Ubuntu Saucy):
status: New → Invalid
Brad Figg (brad-figg) wrote :

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

If verification is not done by 5 working days 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-saucy
Adam Lee (adam8157) on 2014-06-13
affects: linux (Ubuntu) → linux-firmware (Ubuntu)
no longer affects: linux-lts-saucy (Ubuntu)
no longer affects: linux-lts-saucy (Ubuntu Precise)
no longer affects: linux-lts-saucy (Ubuntu Saucy)
Adam Lee (adam8157) on 2014-06-13
Changed in linux-firmware (Ubuntu):
assignee: nobody → Adam Lee (adam8157)
Adam Lee (adam8157) on 2014-06-13
Changed in linux-firmware (Ubuntu):
status: Invalid → In Progress
Adam Lee (adam8157) wrote :

Could anyone open the Trusty branch? Certification team wants that.

Tim Gardner (timg-tpi) on 2014-06-16
Changed in linux-firmware (Ubuntu Trusty):
status: New → In Progress
Adam Lee (adam8157) on 2014-06-17
no longer affects: linux-firmware (Ubuntu Precise)
Changed in linux-firmware (Ubuntu Trusty):
assignee: nobody → Adam Lee (adam8157)
Adam Lee (adam8157) wrote :

The fix(new firmware) is already in Trusty and Utopic.

Changed in linux-firmware (Ubuntu Utopic):
status: In Progress → Fix Released
Changed in linux-firmware (Ubuntu Trusty):
status: In Progress → Fix Released
Po-Hsu Lin (cypressyew) wrote :

Hello Adam,
Could you tell me which version of the firmware is?

Verified on 201307-13941 with 14.04 + update(3.13.0-29), with firmware version (1.127.2)
But it's still not working (HSP/HFP)

Also, firmware in #10 somehow does not work with 12.04.4 stock image on 201307-13941 as well.

Adam Lee (adam8157) wrote :

Trusty 1.127.3, Utopic 1.131, seems the status of trusty should be "fix committed", sorry.

Changed in linux-firmware (Ubuntu Trusty):
status: Fix Released → Fix Committed
Daniel Manrique (roadmr) on 2014-06-19
Changed in linux-firmware (Ubuntu):
importance: Undecided → Medium
Tim Gardner (timg-tpi) wrote :

Saucy is going EOL soon. Only critical CVEs until then.

Changed in linux-firmware (Ubuntu Saucy):
status: In Progress → Won't Fix
Tim Gardner (timg-tpi) on 2014-06-23
Changed in linux (Ubuntu Trusty):
status: New → Fix Released
Changed in linux (Ubuntu Utopic):
status: New → Fix Released

This change was made by a bot.

Tim Gardner (timg-tpi) on 2014-06-23
Changed in linux (Ubuntu Utopic):
status: Fix Released → Invalid
Changed in linux (Ubuntu Trusty):
status: Fix Released → Invalid
Brad Figg (brad-figg) on 2014-06-23
tags: added: verification-done-saucy
removed: verification-needed-saucy
Tim Gardner (timg-tpi) wrote :

Adam Lee - please verify the intel/ibt* firmware updates in linux-firmware 1.127.3 (-proposed). See http://bugs.launchpad.net/bugs/1329382

Adam Lee (adam8157) wrote :

http://bugs.launchpad.net/bugs/1329382

This bug was fixed in the package linux-firmware - 1.127.3

---------------
linux-firmware (1.127.3) trusty; urgency=medium

  * Update firmware files to support Utopic LTS kernel (3.15 so far)
    Rebase against git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git a4f3bc03f1e7b1f25cc52328981c2a35871e55a1
    README: Update the submission address to <email address hidden>
    firmware: Added fw for qat_dh895xxcc hw crypto accelerator
    s5p-mfc: Adding MFC v7 and v8 firmwares
    s5p-mfc: Add s5p-mfc-v6-v2 firmware
    radeon: add firmware for Mullins/Beema GPUs
    radeon: add mc2 firmware for SI/CI GPUs
    rtlwifi: rtl8723be: Add firmware
    brcm: add firmware for BCM4354 2x2 11ac SDIO device
    brcm: add firmware for BCM43143 2.4G 11n SDIO device
    brcm: add firmware for BCM43143 2.4G 11n USB device
    radeon: add vce ucode for CIK GPUs
    linux-firmware: Add firmware patch file for Intel Bluetooth 7260 ROM-spin
    Adding RSI 91x firmware.
    iwlwifi: add new firmware for 3160 / 7260 / 7265
    iwlwifi: update firmware for 3160 / 7260 / 7265
    iwlwifi: add firmware for 7265
    -LP: #1329375
  * linux-firmware: Add firmware patch file for Intel Bluetooth Device (7265)
    -LP: #1329184
  * firmware: update Intel Bluetooth device firmware patch files
    linux-firmware: Update Intel BT devices firmware patch files (7260/3160)
    These patches update firmware patch files for following Intel Bluetooth Devices:
    - Intel Wireless Bluetooth 7260
    - Intel Wireless Bluetooth 3160
    This firmwares fixes
    - No SCO data over EHCI
    - Issue with LED blinking
    - Issue with USB
    -LP: #1329382
 -- Tim Gardner <email address hidden> Thu, 12 Jun 2014 09:52:47 -0600

The verification of the Stable Release Update for linux-firmware 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 regressions.

Changed in linux-firmware (Ubuntu Trusty):
status: Fix Committed → Fix Released
Po-Hsu Lin (cypressyew) wrote :

This bug is also affecting 201303-13111, with Intel [8087:07dc]
Verified on 12.04.5 (3.13.0-32)

ubuntu@201303-13111:~$ lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
        |__ Port 5: Dev 3, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
        |__ Port 5: Dev 3, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
        |__ Port 5: Dev 3, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
        |__ Port 5: Dev 3, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M

Po-Hsu Lin (cypressyew) wrote :

Series nominated for Precise.
Bluetooth HID devices are not stable on 201303-13111 as well, the Bluetooth mouse / keyboard works for the first time, but they're not working now.

@Adam, could we backport this fix to Precise?
To see if it can fix the BT HID devices issue.

Adam Lee (adam8157) wrote :

@Po-Hsu, you could install linux-firmware from trusty directly to test.

Adam Lee (adam8157) wrote :

@Po-Hsu, 12.04 or 12.04.5? I don't see a chance that kernel-team will accept a new driver feature(intel patchram) into 12.04.

Po-Hsu Lin (cypressyew) wrote :

Hello Adam,
I installed the .deb file from https://launchpad.net/ubuntu/+source/linux-firmware/1.127.4/+build/6132013

After cold boot, this issue does not exist anymore.

We would like to have it fixed in 12.04.5
(I think Precise all use the same linux-firmware? no matter it's 12.04 or 12.04.5?)

Adam Lee (adam8157) wrote :

patches for precise have been sent to kernel-team@

Tim Gardner (timg-tpi) on 2014-09-30
Changed in linux-firmware (Ubuntu Precise):
assignee: nobody → Adam Lee (adam8157)
status: New → Fix Committed
Changed in linux (Ubuntu Precise):
status: New → Invalid

Hello Po-Hsu, or anyone else affected,

Accepted linux-firmware into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/linux-firmware/1.79.18 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-needed
removed: verification-done-saucy
Adam Lee (adam8157) on 2014-10-01
no longer affects: linux (Ubuntu)
no longer affects: linux (Ubuntu Utopic)
no longer affects: linux (Ubuntu Trusty)
no longer affects: linux (Ubuntu Precise)
Po-Hsu Lin (cypressyew) wrote :

Hello,
Verified with 201303-13111 on 12.04.5, with the linux-firmware in precise-porposed, it works as expected.

Thanks!!

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.79.18

---------------
linux-firmware (1.79.18) precise; urgency=medium

  * Update Intel Bluetooth devices firmware patch files
    This patch updates firmware patch files for following Intel Bluetooth devices:
    - Intel Wireless Bluetooth 7260
    - Intel Wireless Bluetooth 3160
    This patch fixes
    - sometimes device doesn't response to HCI_reset after multiple reboot
    - issue with HCI stress testing
    - issue with some multi profile cases
    -LP: #1310558

  * Update Intel BT devices firmware patch files (7260/3160)
    This patch updates firmware patch files for following Intel Bluetooth Devices:
    - Intel Wireless Bluetooth 7260
    - Intel Wireless Bluetooth 3160
    This firmwares fixes
    - No SCO data over EHCI
    -LP: #1310558
 -- Tim Gardner <email address hidden> Tue, 30 Sep 2014 06:08:43 -0600

Changed in linux-firmware (Ubuntu Precise):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for linux-firmware 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 regressions.

To post a comment you must log in.