When I connect the following USB device: http://www.phnxaudio.com/products/mt202-pcs/ the audio input/output devices in the Sound Control Panel (Ubuntu 16.04, 14.04) disappear and it takes arount 30 seconds to have the various devices back available. This problem was present also in previous kernel versions 4.1.x and 4.2.x The device USB ID are 1de7:0114 The bug seems similar to: https://bugzilla.kernel.org/show_bug.cgi?id=110221 I see the following errors in dmesg: [177382.368822] usb 3-8: new full-speed USB device number 5 using xhci_hcd [177382.498587] usb 3-8: New USB device found, idVendor=1de7, idProduct=0114 [177382.498590] usb 3-8: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [177382.498591] usb 3-8: Product: Phnx MT202pcs [177382.498592] usb 3-8: Manufacturer: Phoenix Audio Technologies [177382.498772] usb 3-8: ep 0x83 - rounding interval to 64 microframes, ep desc says 80 microframes [177387.497454] usb 3-8: 1:1: cannot get freq at ep 0x2 [177392.497993] usb 3-8: 2:1: cannot get freq at ep 0x85 [177392.503900] input: Phoenix Audio Technologies Phnx MT202pcs as /devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.3/0003:1DE7:0114.0004/input/input16 [177392.558194] hid-generic 0003:1DE7:0114.0004: input,hidraw3: USB HID v1.00 Device [Phoenix Audio Technologies Phnx MT202pcs] on usb-0000:00:14.0-8/input3 [177392.558803] hid-generic 0003:1DE7:0114.0005: hiddev0,hidraw4: USB HID v1.00 Device [Phoenix Audio Technologies Phnx MT202pcs] on usb-0000:00:14.0-8/input4 [177397.610442] usb 3-8: 2:1: cannot get freq at ep 0x85 [177402.611053] usb 3-8: 2:1: cannot get freq at ep 0x85 [177407.619542] usb 3-8: 1:1: cannot get freq at ep 0x2 [177412.620073] usb 3-8: 1:1: cannot get freq at ep 0x2 [177417.620616] usb 3-8: 2:1: cannot get freq at ep 0x85 [177422.621065] usb 3-8: 2:1: cannot get freq at ep 0x85 [177427.641658] usb 3-8: 1:1: cannot get freq at ep 0x2 [177432.642153] usb 3-8: 1:1: cannot get freq at ep 0x2 [177437.654658] usb 3-8: 2:1: cannot get freq at ep 0x85 [177442.655161] usb 3-8: 2:1: cannot get freq at ep 0x85 [177455.996534] usb 3-8: 1:1: cannot get freq at ep 0x2 [177460.997077] usb 3-8: 1:1: cannot get freq at ep 0x2 [177474.530544] usb 3-8: 2:1: cannot get freq at ep 0x85 [177479.531018] usb 3-8: 2:1: cannot get freq at ep 0x85 the output of lsub -vvvv can be found below: Bus 003 Device 005: ID 1de7:0114 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1de7 idProduct 0x0114 bcdDevice 6.00 iManufacturer 1 iProduct 2 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 240 bNumInterfaces 5 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 200mA 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 68 bInCollection 2 baInterfaceNr( 0) 1 baInterfaceNr( 1) 2 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0101 USB Streaming bAssocTerminal 5 bNrChannels 1 wChannelConfig 0x0000 iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 8 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 3 bSourceID 1 bControlSize 1 bmaControls( 0) 0x03 Mute Control Volume Control iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 5 wTerminalType 0x0301 Speaker bAssocTerminal 1 bSourceID 3 iTerminal 0 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0201 Microphone bAssocTerminal 6 bNrChannels 1 wChannelConfig 0x0000 iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 8 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 4 bSourceID 2 bControlSize 1 bmaControls( 0) 0x03 Mute Control Volume Control iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 6 wTerminalType 0x0101 USB Streaming bAssocTerminal 2 bSourceID 4 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 1 bDelay 1 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] 32000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 0 Undefined wLockDelay 0 Undefined 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 6 bDelay 1 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] 32000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 27 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 48 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 2
The device ID is slightly different from the previous patch for another Phoenix device. Could you try to add your device id 1de7:0114 in snd_usb_get_sample_rate_quirk() in sound/usb/quirks.c? --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -1139,6 +1139,7 @@ bool snd_usb_get_sample_rate_quirk(struct snd_usb_audio *chip) case USB_ID(0x04D8, 0xFEEA): /* Benchmark DAC1 Pre */ case USB_ID(0x074D, 0x3553): /* Outlaw RR2150 (Micronas UAC3553B) */ case USB_ID(0x1de7, 0x0014): /* Phoenix Audio TMX320 */ + case USB_ID(0x1de7, 0x0114): /* Phoenix Audio MT202pcs */ case USB_ID(0x21B4, 0x0081): /* AudioQuest DragonFly */ return true; }
Yes, the patch works perfectly: [ 97.483030] usb 3-8: new full-speed USB device number 5 using xhci_hcd [ 97.612816] usb 3-8: New USB device found, idVendor=1de7, idProduct=0114 [ 97.612818] usb 3-8: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 97.612819] usb 3-8: Product: Phnx MT202pcs [ 97.612820] usb 3-8: Manufacturer: Phoenix Audio Technologies [ 97.612972] usb 3-8: ep 0x83 - rounding interval to 64 microframes, ep desc says 80 microframes [ 97.620820] input: Phoenix Audio Technologies Phnx MT202pcs as /devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.3/0003:1DE7:0114.0004/input/input16 [ 97.675176] hid-generic 0003:1DE7:0114.0004: input,hidraw3: USB HID v1.00 Device [Phoenix Audio Technologies Phnx MT202pcs] on usb-0000:00:14.0-8/input3 [ 97.675955] hid-generic 0003:1DE7:0114.0005: hiddev0,hidraw4: USB HID v1.00 Device [Phoenix Audio Technologies Phnx MT202pcs] on usb-0000:00:14.0-8/input4 Is there any hope to have this fix deployed in the 4.4.x kernel used by ubuntu LTS (and other distros)? The Phoenix devices are commonly used for audio conferencing and without this patch they create several problems and are almost not usable on linux Best Regards
I submitted the fix, and it'll be included in Linus tree in the next pull request, possibly in 4.6-rc7 or 4.6-final. Once after that, it'll be backported to other stable branches.
(In reply to Takashi Iwai from comment #3) > I submitted the fix, and it'll be included in Linus tree in the next pull > request, possibly in 4.6-rc7 or 4.6-final. Once after that, it'll be > backported to other stable branches. Thanks a lot Regards
Sorry to open again the case, but I just tried another Phoenix device the "executive" model: http://www.phnxaudio.com/products/mt202-exe/ and there is the same problem. The device IDs are: 1de7:0013 [63132.972107] usb 3-8: new full-speed USB device number 7 using xhci_hcd [63133.101740] usb 3-8: New USB device found, idVendor=1de7, idProduct=0013 [63133.101745] usb 3-8: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [63133.101746] usb 3-8: Product: Phnx MT202exe [63133.101749] usb 3-8: Manufacturer: Phoenix Audio Technologies [63133.101881] usb 3-8: ep 0x83 - rounding interval to 64 microframes, ep desc says 80 microframes [63133.101885] usb 3-8: ep 0x84 - rounding interval to 64 microframes, ep desc says 80 microframes [63138.099714] usb 3-8: 1:1: cannot get freq at ep 0x2 [63143.099302] usb 3-8: 2:1: cannot get freq at ep 0x85 [63143.104405] input: Phoenix Audio Technologies Phnx MT202exe as /devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.3/0003:1DE7:0013.0008/input/input18 [63143.159426] hid-generic 0003:1DE7:0013.0008: input,hidraw3: USB HID v1.00 Device [Phoenix Audio Technologies Phnx MT202exe ] on usb-0000:00:14.0-8/input3 [63143.160204] hid-generic 0003:1DE7:0013.0009: hiddev0,hidraw4: USB HID v1.00 Device [Phoenix Audio Technologies Phnx MT202exe ] on usb-0000:00:14.0-8/input4 [63148.190847] usb 3-8: 2:1: cannot get freq at ep 0x85 [63153.190381] usb 3-8: 2:1: cannot get freq at ep 0x85 [63158.193978] usb 3-8: 1:1: cannot get freq at ep 0x2 [63163.193439] usb 3-8: 1:1: cannot get freq at ep 0x2 [63168.192909] usb 3-8: 2:1: cannot get freq at ep 0x85 [63173.192492] usb 3-8: 2:1: cannot get freq at ep 0x85 [63178.207989] usb 3-8: 1:1: cannot get freq at ep 0x2 [63182.227122] usb 3-8: 1:1: cannot get freq at ep 0x2 [63187.235271] usb 3-8: 2:1: cannot get freq at ep 0x85 [63192.234806] usb 3-8: 2:1: cannot get freq at ep 0x85 output of lsusb -vvvv: Bus 003 Device 007: ID 1de7:0013 Couldn't open device, some information will be missing Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1de7 idProduct 0x0013 bcdDevice 4.00 iManufacturer 1 iProduct 2 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 242 bNumInterfaces 5 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 200mA 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 70 bInCollection 2 baInterfaceNr( 0) 1 baInterfaceNr( 1) 2 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 1 wTerminalType 0x0101 USB Streaming bAssocTerminal 5 bNrChannels 1 wChannelConfig 0x0000 iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 3 bSourceID 1 bControlSize 2 bmaControls( 0) 0x03 bmaControls( 0) 0x00 Mute Control Volume Control iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 5 wTerminalType 0x0301 Speaker bAssocTerminal 1 bSourceID 3 iTerminal 0 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 2 wTerminalType 0x0201 Microphone bAssocTerminal 6 bNrChannels 1 wChannelConfig 0x0000 iChannelNames 0 iTerminal 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 4 bSourceID 2 bControlSize 2 bmaControls( 0) 0x03 bmaControls( 0) 0x00 Mute Control Volume Control iFeature 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 6 wTerminalType 0x0101 USB Streaming bAssocTerminal 2 bSourceID 4 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 1 bDelay 1 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 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 0 Undefined wLockDelay 0 Undefined 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 6 bDelay 1 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 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 1 bRefresh 0 bSynchAddress 0 AudioControl Endpoint Descriptor: bLength 7 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x01 Sampling Frequency bLockDelayUnits 0 Undefined wLockDelay 0 Undefined Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 31 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 48 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 10 I imagine a similar patch can fix also this issue, can you please submit it ? Thanks a lot!
OK, the revised patch is below. It'll be included instead of the previous one.
Created attachment 214711 [details] Fix patch