ATH3012 bluetooth not working

Bug #1054307 reported by Giorgio Cardarelli on 2012-09-21
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Tim Gardner
Precise
Undecided
Tim Gardner
Quantal
Medium
Tim Gardner

Bug Description

The problem is related to btusb and ath3k modules.

I've prepared a patch that corrects the bug for kernel 3.2.0-30-generic, but I suppose it can be easily extended to any kernel version.

Other chips (with different VID:PID) may suffer the same problem.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: linux-image-3.2.0-30-generic 3.2.0-30.48 [modified: lib/modules/3.2.0-30-generic/kernel/drivers/bluetooth/ath3k.ko lib/modules/3.2.0-30-generic/kernel/drivers/bluetooth/btusb.ko]
ProcVersionSignature: Ubuntu 3.2.0-30.48-generic 3.2.27
Uname: Linux 3.2.0-30-generic x86_64
NonfreeKernelModules: nvidia
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 2.0.1-0ubuntu12
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: PCH [HDA Intel PCH], device 0: ALC275 Analog [ALC275 Analog]
   Subdevices: 0/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: giorgio 1844 F.... pulseaudio
 /dev/snd/controlC0: giorgio 1844 F.... pulseaudio
 /dev/snd/pcmC0D0c: giorgio 1844 F...m pulseaudio
Card0.Amixer.info:
 Card hw:0 'PCH'/'HDA Intel PCH at 0xf7a00000 irq 51'
   Mixer name : 'Realtek ALC275'
   Components : 'HDA:10ec0275,104d5e00,00100005'
   Controls : 23
   Simple ctrls : 12
Card1.Amixer.info:
 Card hw:1 'NVidia'/'HDA NVidia at 0xf5080000 irq 17'
   Mixer name : 'Nvidia GPU 14 HDMI/DP'
   Components : 'HDA:10de0014,104d5e00,00100100'
   Controls : 24
   Simple ctrls : 4
Date: Fri Sep 21 21:38:03 2012
HibernationDevice: RESUME=UUID=adeedf19-32e6-4fde-8fc4-a63b483feceb
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
MachineType: Sony Corporation VPCF23P1E
ProcEnviron:
 TERM=xterm
 PATH=(custom, user)
 LANG=it_IT.UTF-8
 SHELL=/bin/bash
ProcFB: 0 VESA VGA
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-30-generic root=UUID=7e25b399-4554-43b0-a530-029a0b59b59a ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.2.0-30-generic N/A
 linux-backports-modules-3.2.0-30-generic N/A
 linux-firmware 1.79.1
SourcePackage: linux
StagingDrivers: mei
UpgradeStatus: Upgraded to precise on 2012-04-30 (144 days ago)
dmi.bios.date: 07/22/2011
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: R2150V3
dmi.board.asset.tag: N/A
dmi.board.name: VAIO
dmi.board.vendor: Sony Corporation
dmi.board.version: N/A
dmi.chassis.asset.tag: N/A
dmi.chassis.type: 10
dmi.chassis.vendor: Sony Corporation
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrR2150V3:bd07/22/2011:svnSonyCorporation:pnVPCF23P1E:pvrC60A08Q2:rvnSonyCorporation:rnVAIO:rvrN/A:cvnSonyCorporation:ct10:cvrN/A:
dmi.product.name: VPCF23P1E
dmi.product.version: C60A08Q2
dmi.sys.vendor: Sony Corporation

Joseph Salisbury (jsalisbury) wrote :

Can you provide some information on the status of the patch with regards to getting it merged upstream? Has it been sent upstream, what sort of feedback has it received, is it getting applied to a subsystem maintainer's tree, etc?

People affected by this bug are probably wondering why the kernel team doesn't just apply the patch and fix it. The reason is that the kernel team is reluctant (not opposed) to apply any patch to a stable kernel that is not from upstream. Applying patches that don't come from upstream add greatly to the support of the kernel as other upstream patches may touch the same area as the non-upstream patch and may prevent them from applying cleanly.

To submit your patch, send your patch with the detailed description/changelog and your Signoff (ending with Signed-off-by: your name <email>), to the emails listed from ./scripts/get_maintainer.pl drivers/SUBSYSTEM-DETAILS (the get_maintainer.pl is from the kernel sources). Once you have sent the patch upstream and it's accepted, please drop a note here so that we can cherry-pick/include the patch into Ubuntu kernel.

Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: patch
Changed in linux (Ubuntu):
status: New → Triaged

Thanks for your information Joseph. I've submitted the patch as you described. Actually two out of three addresses listed from get_maintainer.pl does not exist anymore. Anyway, hopefully the third one is the right one!

On a side note: I've crosschecked with sources from upstream kernel version v3.2.30 and v3.5.4 (downloaded directly from kernel.org) and the problem seems to be still there (I've only checked sources, not with a compiled kernel).

I've also downloaded and tried with quantal kernel version 3.4.0 and 3.5.4 (this time with compiled images): the chip doesn't work with both versions.

Last thing: I've actually only followed what is briefly explained here http://wireless.kernel.org/en/users/Drivers/ath3k adding my VID:PID to btusb blacklist and ath3k devices.

Hi Giorgio, thanks for the patch! How can I install it? And how do I blacklist my VID:PID?

Briefly:

1- you need kernel sources: apt-get source linux -image-$(uname -r)
2- you need your VID:PID pair. You can find them looking for idVendor (VID) and idProduct (PID) of your bt chip via lsusb -v
3- you have to check if your VID:PID are already mentioned in btusb.c and/or ath3k.c (kernel sources/drivers/bluetooth): if so, I don't know what to suggest... maybe you can try removing them and patch the sources anyway, but it's at your own risk
4- patch applies with patch -p0 < ATH3012.patch (please note that if you have different VID:PID the patch won't work and you have to modify kernel sources manually/modify the patch accordingly)
5- compile the modules
TIP1: cp /boot/config-$(uname -r) .config
TIP2: make -C /lib/modules/`uname -r`/build M=`pwd`/drivers/bluetooth/ modules
6- backup your original btusb.ko and ath3k.ko modules and copy the new ones in /lib/...
7- reboot

These are only brief instructions, you can Google for detailed help if needed

HTH
G.

Tim Gardner (timg-tpi) wrote :

cherry-picked bc21fde2d549d1cb1ebef04016eb7affa43bb5c1

Changed in linux (Ubuntu Quantal):
assignee: nobody → Tim Gardner (timg-tpi)
status: Triaged → Fix Committed
Changed in linux (Ubuntu Precise):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Tim Gardner (timg-tpi) on 2012-10-01
Changed in linux (Ubuntu Precise):
status: In Progress → Fix Committed

The attachment "Bug Fix for linux-image-3.2.0-30 and hopefully for any other kernel version" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

Luis Henriques (henrix) wrote :

This bug is awaiting verification that the kernel for Precise in -proposed solves the problem (3.2.0-33.52). Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-precise' to 'verification-done-precise'.

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
Tim Gardner (timg-tpi) wrote :

This is a trivial patch that can only affect the device ID in question. Therefore marking verification-done-precise.

tags: added: verification-done-precise
removed: verification-needed-precise
Launchpad Janitor (janitor) wrote :
Download full text (9.1 KiB)

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

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

  [Luis Henriques]

  * Release Tracking Bug
    - LP: #1067666

  [ Andy Whitcroft ]

  * [Config] add fs/udf to linux-image to support DVD/CD formats in virtual
    instances
    - LP: #1066921

  [ James M Leddy ]

  * SAUCE: input: fix weird issue of synaptics psmouse sync lost after
    resume
    - LP: #717970

  [ Paolo Pisati ]

  * [SRU] [Config] enable TIDSPBRIDGE for omap arm[el|hf] flavours
    - LP: #1058022

  [ Sarveshwar Bandi ]

  * SAUCE: bridge: Pull ip header into skb->data before looking into ip
    header.
    - LP: #1065150

  [ Upstream Kernel Changes ]

  * Revert "drm/radeon: rework pll selection (v3)"
    - LP: #1065047
  * sched: Fix migration thread runtime bogosity
    - LP: #1057593
  * Bluetooth: Add support for Sony Vaio T-Series
    - LP: #1054307
  * drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2)
    - LP: #1058303
  * Bluetooth: Use USB_VENDOR_AND_INTERFACE() for Broadcom devices
    - LP: #1058303
  * Bluetooth: Add USB_VENDOR_AND_INTERFACE_INFO() for Broadcom/Foxconn
    - LP: #1030233, #1058303
  * target: Fix ->data_length re-assignment bug with SCSI overflow
    - LP: #1065047
  * ASoC: samsung dma - Don't indicate support for pause/resume.
    - LP: #1065047
  * fs/proc: fix potential unregister_sysctl_table hang
    - LP: #1065047
  * mm/ia64: fix a memory block size bug
    - LP: #1065047
  * nbd: clear waiting_queue on shutdown
    - LP: #1065047
  * drivers/rtc/rtc-twl.c: ensure all interrupts are disabled during probe
    - LP: #1065047
  * mm/page_alloc: fix the page address of higher page's buddy calculation
    - LP: #1065047
  * memory hotplug: fix section info double registration bug
    - LP: #1065047
  * cciss: fix handling of protocol error
    - LP: #1065047
  * vfs: dcache: use DCACHE_DENTRY_KILLED instead of DCACHE_DISCONNECTED in
    d_kill()
    - LP: #1065047
  * workqueue: reimplement work_on_cpu() using system_wq
    - LP: #1065047
  * cpufreq/powernow-k8: workqueue user shouldn't migrate the kworker to
    another CPU
    - LP: #1065047
  * sched: Fix ancient race in do_exit()
    - LP: #1065047
  * hpwdt: Fix kdump issue in hpwdt
    - LP: #1065047
  * rtlwifi: rtl8192ce: Log message that B_CUT device may not work
    - LP: #1065047
  * brcmfmac: fix big endian bug in i-scan.
    - LP: #1065047
  * brcmfmac: Fix big endian host configuration data.
    - LP: #1065047
  * dmaengine: at_hdmac: fix comment in atc_prep_slave_sg()
    - LP: #1065047
  * dmaengine: at_hdmac: check that each sg data length is non-null
    - LP: #1065047
  * ARM: 7532/1: decompressor: reset SCTLR.TRE for VMSA ARMv7 cores
    - LP: #1065047
  * drm/i915: Reduce a pin-leak BUG into a WARN
    - LP: #1065047
  * bnx2i: Fixed NULL ptr deference for 1G bnx2 Linux iSCSI offload
    - LP: #1065047
  * mpt2sas: Fix for issue - Unable to boot from the drive connected to HBA
    - LP: #1065047
  * hwmon: (ads7871) Add 'name' sysfs attribute
    - LP: #1065047
  * DMA: PL330: Check the pointer returned by kzalloc
    - LP: #1065047
  * hpsa: fix handling of protocol error
    -...

Read more...

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.

Changed in linux (Ubuntu Quantal):
status: Fix Committed → Fix Released
Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Günther Jakob (gjakob) wrote :

The problem still seems to be there even with the latest 3.12 kernel.
I am using a Scientific Linux 6 system, which originally uses a 2.6.32 kernel that does not provide the ath3k.ko module "out-of-the-box".
My experience is the following: When I power-on my system with the latest 3.12 kernel, the firmware of my Atheros AR3011 Bluetooth adapter (stored in the file /lib/firmware/ath3k-1.fw) obviously gets loaded properly with the kernel module ath3k.ko, since the "lsusb" command issued after system boot lists this adapter without any "complaints" about any missing firwware, which - in contrast to this - is the case when I boot kernel 2.6.32 directly after powering on my system.
However, even though the firmware seems to be loaded with kernel 3.12, the system is not able to use this bluetooth adapter. If I then just perform a system restart without any power interrupt in between (which obviously keeps the firmware inside of the adapter's RAM) and boot kernel 2.6.32 (which does not have the ath3k.ko, but "only" the btusb.ko module), my Atheros bluetooth adapter can be used by the system and I can successfully communicate with my various cell phones via the bluetooth interface....

Hi Gunter, the problem has not occurred anymore to me. Right now, I've moved to 64bit architecture: Ubuntu 13.10 for x86_64 with kernel version 3.11.0-15-generic (and many previous kernel versions) worked fine for me.

Just to let you know.

Giorgio

To post a comment you must log in.