Plantronics Blackwire C520-M - Cannot get freq at ep 0x1, 0x81

Bug #1709282 reported by mihai on 2017-08-08
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Unassigned
Xenial
Undecided
Unassigned
Zesty
Undecided
Unassigned
Artful
Undecided
Unassigned

Bug Description

Very similar to this:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1622763

== the Problem ==
Listening to sound on a vmware machine, hosted by Ubuntu, the devices freezes, and cannot listen to sound anymore, i have to connect/disconnect the device.
After i disconnect i get the logs:
Aug 8 13:52:05 tim-lap-143 kernel: [112278.344893] usb 1-1: 1:1: cannot get freq at ep 0x81
Aug 8 13:52:05 tim-lap-143 kernel: [112278.347094] usb 1-1: 2:1: cannot get freq at ep 0x1
Aug 8 13:52:05 tim-lap-143 kernel: [112278.358786] usb 1-1: Warning! Unlikely big volume range (=8192), cval->res is probably wrong.
Aug 8 13:52:05 tim-lap-143 kernel: [112278.358787] usb 1-1: [11] FU [Sidetone Playback Volume] ch = 1, val = 0/8192/1
Aug 8 13:52:05 tim-lap-143 kernel: [112278.641980] input: Plantronics Plantronics C520-M as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.3/0003:047F:C036.000F/input/input32
Aug 8 13:52:05 tim-lap-143 kernel: [112278.702298] plantronics 0003:047F:C036.000F: input,hiddev0,hidraw2: USB HID v1.11 Device [Plantronics Plantronics C520-M] on usb-0000:00:14.0-1/input3
Aug 8 13:52:05 tim-lap-143 kernel: [112278.747708] usb 1-1: 2:1: cannot get freq at ep 0x1
Aug 8 13:52:16 tim-lap-143 kernel: [112289.406154] usb 1-1: reset full-speed USB device number 19 using xhci_hcd
Aug 8 13:52:16 tim-lap-143 kernel: [112289.906146] usb 1-1: reset full-speed USB device number 19 using xhci_hcd

= The solution ==

It is simple, add this USB ID to the sound/usb/quirks.c:snd_usb_get_sample_rate_quirk function.

version signature: Ubuntu 4.10.0-28.32-generic 4.10.17

Thanks!
---
ApportVersion: 2.20.4-0ubuntu4.5
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/pcmC0D0c: mihai.cindea@3pillar.corp 2208 F...m pulseaudio
 /dev/snd/controlC0: mihai.cindea@3pillar.corp 2208 F.... pulseaudio
DistroRelease: Ubuntu 17.04
HibernationDevice: RESUME=UUID=d363a75c-d8a4-467d-a576-a46b3c317861
InstallationDate: Installed on 2017-06-22 (47 days ago)
InstallationMedia: Ubuntu 16.10 "Yakkety Yak" - Release amd64 (20161012.2)
MachineType: Dell Inc. Precision 3510
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.10.0-28-generic root=/dev/mapper/ubuntu--vg-root ro quiet splash i915.enable_guc_loading=1 i915.enable_guc_submission=1 intel_pstate=skylake_hwp i915.enable_psr=1 i915.disable_power_well=0 i915.enable_rc6=0 vt.handoff=7
ProcVersionSignature: Ubuntu 4.10.0-28.32-generic 4.10.17
PulseList:
 Error: command ['pacmd', 'list'] failed with exit code 1: Home directory not accessible: Permission denied
 No PulseAudio daemon running, or not running as session daemon.
RelatedPackageVersions:
 linux-restricted-modules-4.10.0-28-generic N/A
 linux-backports-modules-4.10.0-28-generic N/A
 linux-firmware 1.164.1
Tags: zesty
Uname: Linux 4.10.0-28-generic x86_64
UpgradeStatus: Upgraded to zesty on 2017-07-21 (18 days ago)
UserGroups:

WifiSyslog:

_MarkForUpload: True
dmi.bios.date: 05/12/2017
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 1.14.4
dmi.board.name: 00D283
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 9
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvr1.14.4:bd05/12/2017:svnDellInc.:pnPrecision3510:pvr:rvnDellInc.:rn00D283:rvrA00:cvnDellInc.:ct9:cvr:
dmi.product.name: Precision 3510
dmi.sys.vendor: Dell Inc.

mihai (dubsauce) wrote :

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1709282

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
mihai (dubsauce) wrote : AlsaInfo.txt

apport information

tags: added: apport-collected zesty
description: updated
mihai (dubsauce) wrote : CRDA.txt

apport information

apport information

mihai (dubsauce) wrote : IwConfig.txt

apport information

apport information

mihai (dubsauce) wrote : Lspci.txt

apport information

mihai (dubsauce) wrote : Lsusb.txt

apport information

apport information

apport information

apport information

apport information

apport information

mihai (dubsauce) wrote : RfKill.txt

apport information

mihai (dubsauce) wrote : UdevDb.txt

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Kai-Heng Feng (kaihengfeng) wrote :

Add "snd-usb-audio.quirk_alias=047fc036:047f02f7" to kernel parameter and see if this helps.

Changed in linux (Ubuntu):
importance: Undecided → Medium
mihai (dubsauce) wrote :

Recompiled the kernel, added the alias Kai told me to, but still get the disconnects ( not that often, but they are still there )

logs:

Aug 17 09:50:49 tim-lap-143 kernel: [37886.482732] usb 1-1: device (047f:c036): applying quirk alias 047f:02f7
Aug 17 09:50:49 tim-lap-143 kernel: [37886.523911] usb 1-1: 2:1: cannot get freq at ep 0x1
Aug 17 09:50:49 tim-lap-143 kernel: [37886.533237] usb 1-1: Warning! Unlikely big volume range (=8192), cval->res is probably wrong.
Aug 17 09:50:49 tim-lap-143 kernel: [37886.533240] usb 1-1: [11] FU [Sidetone Playback Volume] ch = 1, val = 0/8192/1
Aug 17 09:50:49 tim-lap-143 kernel: [37886.816489] input: Plantronics Plantronics C520-M as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.3/0003:047F:C036.000E/input/input31
Aug 17 09:50:49 tim-lap-143 kernel: [37886.879106] plantronics 0003:047F:C036.000E: input,hiddev0,hidraw4: USB HID v1.11 Device [Plantronics Plantronics C520-M] on usb-0000:00:14.0-1/input3
Aug 17 09:50:49 tim-lap-143 kernel: [37886.916337] usb 1-1: 2:1: cannot get freq at ep 0x1
Aug 17 09:50:49 tim-lap-143 kernel: [37886.923375] usb 1-1: 1:1: cannot get freq at ep 0x81
Aug 17 09:50:49 tim-lap-143 rtkit-daemon[2591]: Supervising 3 threads of 1 processes of 1 users.
Aug 17 09:50:49 tim-lap-143 rtkit-daemon[2591]: Successfully made thread 22206 of process 2590 (n/a) owned by '1783642315' RT at priority 5.
Aug 17 09:50:49 tim-lap-143 rtkit-daemon[2591]: Supervising 4 threads of 1 processes of 1 users.
Aug 17 09:50:49 tim-lap-143 rtkit-daemon[2591]: Supervising 4 threads of 1 processes of 1 users.
Aug 17 09:50:49 tim-lap-143 rtkit-daemon[2591]: Successfully made thread 22207 of process 2590 (n/a) owned by '1783642315' RT at priority 5.
Aug 17 09:50:49 tim-lap-143 rtkit-daemon[2591]: Supervising 5 threads of 1 processes of 1 users.
Aug 17 09:50:54 tim-lap-143 pulseaudio[2590]: [alsa-sink-USB Audio] alsa-util.c: Got POLLNVAL from ALSA
Aug 17 09:50:54 tim-lap-143 pulseaudio[2590]: [alsa-sink-USB Audio] alsa-util.c: Could not recover from POLLERR|POLLNVAL|POLLHUP with snd_pcm_prepare(): No such device
Aug 17 09:50:54 tim-lap-143 acpid: input device has been disconnected, fd 22

Kai-Heng Feng (kaihengfeng) wrote :

Can you attach the output of `cat /proc/cmdline`?

mihai (dubsauce) wrote :

Thanks for the fast reply, Kai!

BOOT_IMAGE=/vmlinuz-4.10.0-30-generic root=/dev/mapper/ubuntu--vg-root ro quiet splash i915.enable_guc_loading=1 i915.enable_guc_submission=1 intel_pstate=skylake_hwp i915.enable_psr=1 i915.disable_power_well=0 i915.enable_rc6=0 snd-usb-audio.quirk_alias=047fc036:047f02f7 vt.handoff=7

mihai (dubsauce) wrote :

Loading it now & rebooting,
Thank you Kai!

mihai (dubsauce) wrote :

Booted, but can't get to compile vmnet for VmWare on this kernel:(
Can I apply the patch on 4.10 ? i can recompile it on my 17.04.

                 from /tmp/modconfig-PuDRpn/vmnet-only/bridge.c:25:
./arch/x86/include/asm/atomic.h:89:29: note: expected ‘atomic_t * {aka struct <anonymous> *}’ but argument is of type ‘refcount_t * {aka struct refcount_struct *}’
 static __always_inline void atomic_inc(atomic_t *v)
                             ^~~~~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:302: recipe for target '/tmp/modconfig-PuDRpn/vmnet-only/bridge.o' failed
make[2]: *** [/tmp/modconfig-PuDRpn/vmnet-only/bridge.o] Error 1
Makefile:1545: recipe for target '_module_/tmp/modconfig-PuDRpn/vmnet-only' failed
make[1]: *** [_module_/tmp/modconfig-PuDRpn/vmnet-only] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.13.0-6-generic'
Makefile:120: recipe for target 'vmnet.ko' failed
make: *** [vmnet.ko] Error 2
make: Leaving directory '/tmp/modconfig-PuDRpn/vmnet-only'

mihai (dubsauce) wrote :

Found a fix for vmware, https://communities.vmware.com/message/2688967 , but it's still unstable, complains it cannot allocate memory.
Rebooting in the previous kernel for the moment.
Thank you for now, Kai!

Kai-Heng Feng (kaihengfeng) wrote :

So the bug is gone, right?

mihai (dubsauce) wrote :

I did not have enough time to test, because its my work laptop, and vmware was slow, and had the sound lagging - might be due to the i915 modules, they were missing for 4.13, and it seemed vmware modules need more patching. Much more stable on 4.10.
Can you please tell me what was changed? So i can modify in my 4.10 kernel and recompile.

Kai-Heng Feng (kaihengfeng) wrote :

Here's the diff:

diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index eb4b9f7a571e..f9b79ad9e579 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1137,6 +1137,7 @@ bool snd_usb_get_sample_rate_quirk(struct snd_usb_audio *chip)
        case USB_ID(0x045E, 0x0779): /* MS Lifecam HD-3000 */
        case USB_ID(0x047F, 0x02F7): /* Plantronics BT-600 */
        case USB_ID(0x047F, 0x0415): /* Plantronics BT-300 */
+ case USB_ID(0x047F, 0xC036): /* Plantronics C520-M */
        case USB_ID(0x047F, 0xAA05): /* Plantronics DA45 */
        case USB_ID(0x04D8, 0xFEEA): /* Benchmark DAC1 Pre */
        case USB_ID(0x0556, 0x0014): /* Phoenix Audio TMX320VC */

mihai (dubsauce) wrote :

Thanks!

Apparently it works! can we include this in the mainstream kernel update?

Changed in linux (Ubuntu Xenial):
status: New → Fix Committed
Changed in linux (Ubuntu Artful):
status: New → Fix Committed

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-xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed-xenial'.

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-xenial
tags: added: verification-needed-zesty

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-zesty' to 'verification-done-zesty'. If the problem still exists, change the tag 'verification-needed-zesty' to 'verification-failed-zesty'.

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

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-artful' to 'verification-done-artful'. If the problem still exists, change the tag 'verification-needed-artful' to 'verification-failed-artful'.

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!

mihai (dubsauce) wrote :

It solves the problem 99%, in a sense that i still see the error once / day, but it's not that bad, it doesn't crash every 10 minutes.

mihai (dubsauce) wrote :

oops, ignore my last comment, i did not enable propose, i am upgrading now to 4.10.0-39, and will let you know.

mihai (dubsauce) on 2017-11-10
tags: added: verification-done-artful
removed: verification-needed-zesty
tags: added: verification-done-zesty
removed: verification-done-artful

Thank you @dubsauce for verifying the fix!

Changed in linux (Ubuntu Zesty):
status: New → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 4.10.0-40.44

---------------
linux (4.10.0-40.44) zesty; urgency=low

  * linux: 4.10.0-40.44 -proposed tracker (LP: #1731269)

  * s390/mm: fix write access check in gup_huge_pmd() (LP: #1730596)
    - s390/mm: fix write access check in gup_huge_pmd()

 -- Kleber Sacilotto de Souza <email address hidden> Thu, 09 Nov 2017 15:24:07 +0100

Changed in linux (Ubuntu Zesty):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (14.3 KiB)

This bug was fixed in the package linux - 4.4.0-101.124

---------------
linux (4.4.0-101.124) xenial; urgency=low

  * linux: 4.4.0-101.124 -proposed tracker (LP: #1731264)

  * s390/mm: fix write access check in gup_huge_pmd() (LP: #1730596)
    - s390/mm: fix write access check in gup_huge_pmd()

linux (4.4.0-100.123) xenial; urgency=low

  * linux: 4.4.0-100.123 -proposed tracker (LP: #1729273)

  * Xenial update to 4.4.95 stable release (LP: #1729107)
    - USB: devio: Revert "USB: devio: Don't corrupt user memory"
    - USB: core: fix out-of-bounds access bug in usb_get_bos_descriptor()
    - USB: serial: metro-usb: add MS7820 device id
    - usb: cdc_acm: Add quirk for Elatec TWN3
    - usb: quirks: add quirk for WORLDE MINI MIDI keyboard
    - usb: hub: Allow reset retry for USB2 devices on connect bounce
    - ALSA: usb-audio: Add native DSD support for Pro-Ject Pre Box S2 Digital
    - can: gs_usb: fix busy loop if no more TX context is available
    - usb: musb: sunxi: Explicitly release USB PHY on exit
    - usb: musb: Check for host-mode using is_host_active() on reset interrupt
    - can: esd_usb2: Fix can_dlc value for received RTR, frames
    - drm/nouveau/bsp/g92: disable by default
    - drm/nouveau/mmu: flush tlbs before deleting page tables
    - ALSA: seq: Enable 'use' locking in all configurations
    - ALSA: hda: Remove superfluous '-' added by printk conversion
    - i2c: ismt: Separate I2C block read from SMBus block read
    - brcmsmac: make some local variables 'static const' to reduce stack size
    - bus: mbus: fix window size calculation for 4GB windows
    - clockevents/drivers/cs5535: Improve resilience to spurious interrupts
    - rtlwifi: rtl8821ae: Fix connection lost problem
    - KEYS: encrypted: fix dereference of NULL user_key_payload
    - lib/digsig: fix dereference of NULL user_key_payload
    - KEYS: don't let add_key() update an uninstantiated key
    - pkcs7: Prevent NULL pointer dereference, since sinfo is not always set.
    - parisc: Avoid trashing sr2 and sr3 in LWS code
    - parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels
    - sched/autogroup: Fix autogroup_move_group() to never skip sched_move_task()
    - f2fs crypto: replace some BUG_ON()'s with error checks
    - f2fs crypto: add missing locking for keyring_key access
    - fscrypt: fix dereference of NULL user_key_payload
    - KEYS: Fix race between updating and finding a negative key
    - fscrypto: require write access to mount to set encryption policy
    - FS-Cache: fix dereference of NULL user_key_payload
    - Linux 4.4.95

  * Xenial update to 4.4.94 stable release (LP: #1729105)
    - percpu: make this_cpu_generic_read() atomic w.r.t. interrupts
    - drm/dp/mst: save vcpi with payloads
    - MIPS: Fix minimum alignment requirement of IRQ stack
    - sctp: potential read out of bounds in sctp_ulpevent_type_enabled()
    - bpf/verifier: reject BPF_ALU64|BPF_END
    - udpv6: Fix the checksum computation when HW checksum does not apply
    - ip6_gre: skb_push ipv6hdr before packing the header in ip6gre_header
    - net: emac: Fix napi poll list corruption
    - packet: hold bind lock when rebinding to fa...

Changed in linux (Ubuntu Xenial):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (21.9 KiB)

This bug was fixed in the package linux - 4.13.0-17.20

---------------
linux (4.13.0-17.20) artful; urgency=low

  * linux: 4.13.0-17.20 -proposed tracker (LP: #1728927)

  [ Seth Forshee ]
  * thunderx2 ahci errata workaround needs additional delays (LP: #1724117)
    - SAUCE: ahci: thunderx2: stop engine fix update

  * usb 3-1: 2:1: cannot get freq at ep 0x1 (LP: #1708499)
    - ALSA: usb-audio: Add sample rate quirk for Plantronics C310/C520-M

  * Plantronics Blackwire C520-M - Cannot get freq at ep 0x1, 0x81
    (LP: #1709282)
    - ALSA: usb-audio: Add sample rate quirk for Plantronics C310/C520-M

  * TSC_DEADLINE incorrectly disabled inside virtual guests (LP: #1724912)
    - x86/apic: Silence "FW_BUG TSC_DEADLINE disabled due to Errata" on CPUs
      without the feature
    - x86/apic: Silence "FW_BUG TSC_DEADLINE disabled due to Errata" on
      hypervisors

  * x86/apic: Update TSC_DEADLINE quirk with additional SKX stepping
    (LP: #1724612)
    - x86/apic: Update TSC_DEADLINE quirk with additional SKX stepping

  * [Artful] Add support for Dell/Wyse 3040 audio codec (LP: #1723916)
    - SAUCE: ASoC: rt5670: Add support for Wyse 3040

  * [Artful] Some Dell Monitors Doesn't Work Well with Dell/Wyse 3040
    (LP: #1723915)
    - SAUCE: drm/i915: Workaround for DP DPMS D3 on Dell monitor

  * [Artful] Support headset mode for DELL WYSE (LP: #1723913)
    - SAUCE: ALSA: hda/realtek - Add support headset mode for DELL WYSE

  * Touchpad and TrackPoint Dose Not Work on Lenovo X1C6 and X280 (LP: #1723986)
    - SAUCE: Input: synaptics-rmi4 - RMI4 can also use SMBUS version 3
    - SAUCE: Input: synaptics - Lenovo X1 Carbon 5 should use SMBUS/RMI
    - SAUCE: Input: synaptics - add Intertouch support on X1 Carbon 6th and X280

  * Artful update to v4.13.8 stable release (LP: #1724669)
    - USB: dummy-hcd: Fix deadlock caused by disconnect detection
    - MIPS: math-emu: Remove pr_err() calls from fpu_emu()
    - MIPS: bpf: Fix uninitialised target compiler error
    - mei: always use domain runtime pm callbacks.
    - dmaengine: edma: Align the memcpy acnt array size with the transfer
    - dmaengine: ti-dma-crossbar: Fix possible race condition with dma_inuse
    - NFS: Fix uninitialized rpc_wait_queue
    - nfs/filelayout: fix oops when freeing filelayout segment
    - HID: usbhid: fix out-of-bounds bug
    - crypto: skcipher - Fix crash on zero-length input
    - crypto: shash - Fix zero-length shash ahash digest crash
    - KVM: MMU: always terminate page walks at level 1
    - KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit
    - usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet
    - pinctrl/amd: Fix build dependency on pinmux code
    - iommu/amd: Finish TLB flush in amd_iommu_unmap()
    - device property: Track owner device of device property
    - Revert "vmalloc: back off when the current task is killed"
    - fs/mpage.c: fix mpage_writepage() for pages with buffers
    - ALSA: usb-audio: Kill stray URB at exiting
    - ALSA: seq: Fix use-after-free at creating a port
    - ALSA: seq: Fix copy_from_user() call inside lock
    - ALSA: caiaq: Fix stray URB at probe error path
    - ALSA: li...

Changed in linux (Ubuntu Artful):
status: Fix Committed → Fix Released
Changed in linux (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers