Bug 199905 - Philips Wecall: cannot set freq 48000 to ep 0x3
Summary: Philips Wecall: cannot set freq 48000 to ep 0x3
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Jaroslav Kysela
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-02 15:05 UTC by Robert de Rooy
Modified: 2019-02-11 21:30 UTC (History)
3 users (show)

See Also:
Kernel Version: 4.16.12-300.fc28.x86_64
Tree: Mainline
Regression: No


Attachments
Patch to disable Nura headset quirk (1.52 KB, patch)
2018-06-11 21:01 UTC, Takashi Iwai
Details | Diff

Description Robert de Rooy 2018-06-02 15:05:48 UTC
The Philips Wecall is a USB/Bluetooth conference speaker and microphone. I have it attached via USB. It used to work fine in the past, unfortunately I have not used it for some time, so I don't know when things broke.

But with current kernel versions, I get a flood of "cannot set freq" errors, and eventually an error from pulseaudio.

Here is part of journalctl -f when plugging it in:

Jun 02 16:53:03 t430 kernel: usb 2-1.8.2: new full-speed USB device number 6 using ehci-pci
Jun 02 16:53:03 t430 kernel: usb 2-1.8.2: New USB device found, idVendor=0a12, idProduct=1243
Jun 02 16:53:03 t430 kernel: usb 2-1.8.2: New USB device strings: Mfr=0, Product=2, SerialNumber=3
Jun 02 16:53:03 t430 kernel: usb 2-1.8.2: Product: Philips WeCall Speaker
Jun 02 16:53:03 t430 kernel: usb 2-1.8.2: SerialNumber: ABCDEF0123456789
Jun 02 16:53:03 t430 kernel: usb 2-1.8.2: 2:1: cannot set freq 48000 to ep 0x3
Jun 02 16:53:03 t430 kernel: input: Philips WeCall Speaker as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8.2/2-1.8.2:1.3/0003:0A12:1243.0004/input/input19
Jun 02 16:53:03 t430 kernel: hid-generic 0003:0A12:1243.0004: input,hidraw0: USB HID v1.11 Device [Philips WeCall Speaker] on usb-0000:00:1d.0-1.8.2/input3
.
.
.
Jun 02 16:53:08 t430 upowerd[1363]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8.2/2-1.8.2:1.0
.
.
.
Jun 02 16:53:09 t430 upowerd[1363]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8.2/2-1.8.2:1.3/0003:0A12:1243.0004
Jun 02 16:53:09 t430 upowerd[1363]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8.2/2-1.8.2:1.3
Jun 02 16:53:09 t430 upowerd[1363]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8.2
.
.
.
Jun 02 16:53:13 t430 kernel: usb 2-1.8.2: 2:1: cannot set freq 48000 to ep 0x3
Jun 02 16:53:13 t430 kernel: usb 2-1.8.2: 2:1: cannot set freq 48000 to ep 0x3
Jun 02 16:53:13 t430 kernel: usb 2-1.8.2: 2:1: cannot set freq 48000 to ep 0x3
Jun 02 16:53:13 t430 pulseaudio[2225]: E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
Jun 02 16:53:13 t430 pulseaudio[2225]: E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="1" name="usb-0a12_Philips_WeCall_Speaker_ABCDEF0123456789-00" card_name="alsa_card.usb-0a12_Philips_WeCall_Speaker_ABCDEF0123456789-00" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1""): initialization failed.

$ sudo lsusb -v -d 0a12:1243

Bus 002 Device 006: ID 0a12:1243 Cambridge Silicon Radio, Ltd 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0a12 Cambridge Silicon Radio, Ltd
  idProduct          0x1243 
  bcdDevice           89.53
  iManufacturer           0 
  iProduct                2 Philips WeCall Speaker
  iSerial                 3 ABCDEF0123456789
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          246
    bNumInterfaces          5
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0 
      iInterface              0 
      AudioControl Interface Descriptor:
        bLength                10
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength           74
        bInCollection           2
        baInterfaceNr( 0)       1
        baInterfaceNr( 1)       2
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             4
        wTerminalType      0x0203 Personal Microphone
        bAssocTerminal          0
        bNrChannels             1
        wChannelConfig     0x0000
        iChannelNames           0 
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 5
        bSourceID               4
        bControlSize            2
        bmaControls( 0)      0x01
        bmaControls( 0)      0x00
          Mute Control
        bmaControls( 1)      0x00
        bmaControls( 1)      0x00
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             6
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID               5
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bNrChannels             1
        wChannelConfig     0x0000
        iChannelNames           0 
        iTerminal               0 
      AudioControl Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      6 (FEATURE_UNIT)
        bUnitID                 2
        bSourceID               1
        bControlSize            2
        bmaControls( 0)      0x01
        bmaControls( 0)      0x00
          Mute Control
        bmaControls( 1)      0x02
        bmaControls( 1)      0x00
          Volume Control
        iFeature                0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             3
        wTerminalType      0x0301 Speaker
        bAssocTerminal          0
        bSourceID               2
        iTerminal               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           6
        bDelay                  0 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             1
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        16000
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x00
          bLockDelayUnits         2 Decoded PCM samples
          wLockDelay              0 Decoded PCM samples
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               1
        bRefresh                0
        bSynchAddress           0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      AudioStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (AS_GENERAL)
        bTerminalLink           1
        bDelay                  0 frames
        wFormatTag              1 PCM
      AudioStreaming Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      2 (FORMAT_TYPE)
        bFormatType             1 (FORMAT_TYPE_I)
        bNrChannels             1
        bSubframeSize           2
        bBitResolution         16
        bSamFreqType            1 Discrete
        tSamFreq[ 0]        16000
        AudioControl Endpoint Descriptor:
          bLength                 7
          bDescriptorType        37
          bDescriptorSubtype      1 (EP_GENERAL)
          bmAttributes         0x81
            Sampling Frequency
            MaxPacketsOnly
          bLockDelayUnits         2 Decoded PCM samples
          wLockDelay              0 Decoded PCM samples
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               1
        bRefresh                0
        bSynchAddress           0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      69
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      44
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered
Comment 1 Takashi Iwai 2018-06-02 19:02:27 UTC
This must be a quirk added recently:
commit 33193dca671c8b75eb030234cefdcd2ceebd7516
    ALSA: usb-audio: Add a quirk for Nura's first gen headset

Although this fix was for Nura headset, the id is exactly this one (0a12:1243).

Martin, could you check the difference?

Also Robert, try to pass quirk_alias=0a121243:00010001 to snd-usb-module.
e.g. create a file /etc/modprobe.d/50-usb-audio.conf containing
  options snd-usb-audio quirk_alias=0a121243:00010001

This should "fake" the USB device ID for quirk to an invalid one, so that the driver avoids applying the existing quirk.
Comment 2 Robert de Rooy 2018-06-02 20:17:27 UTC
Thanks for the quick reply.

I can indeed confirm that with the quirk alias the speaker works once again.
Comment 3 Takashi Iwai 2018-06-10 07:08:33 UTC
Martin?

Unless we find any proper resolution, I'll have to revert your change soon later.
"No regression" is more important rule than support of a new device.
Comment 4 Martin Peres 2018-06-11 06:10:03 UTC
(In reply to Takashi Iwai from comment #3)
> Martin?
> 
> Unless we find any proper resolution, I'll have to revert your change soon
> later.
> "No regression" is more important rule than support of a new device.

Sorry. I did not receive any email about this bug until now :o

I fully agree and does not allow regressions to happen with my code. So please revert the patch ASAP (and send to stable) while I come up with another version of the patch that will not step on Rovert de Rooy's device's toes (if he is willing to test that my patch will not break his device).

You have my Acked-by: for the revert and Cc:ing of the stable branches (with my apologies).
Comment 5 Takashi Iwai 2018-06-11 07:03:45 UTC
No need for apology, we're happy that you'll be working on the issue.
I'm going to submit & merge the revert patch later.  Thanks!
Comment 6 Takashi Iwai 2018-06-11 21:00:58 UTC
FWIW, below is the patch I'm going to submit.
Comment 7 Takashi Iwai 2018-06-11 21:01:53 UTC
Created attachment 276477 [details]
Patch to disable Nura headset quirk
Comment 8 Martin Peres 2018-06-12 06:14:18 UTC
(In reply to Takashi Iwai from comment #7)
> Created attachment 276477 [details]
> Patch to disable Nura headset quirk

Thanks for doing this!

Reviewed-by: Martin Peres <martin.peres@free.fr>

Note You need to log in before you can comment on or make changes to this bug.