Opened 11 months ago
Last modified 9 months ago
#18780 new bug
Fujitsu docking station USB audio - No sound and high CPU usage
Reported by: | pulkomandy | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Drivers/Audio/USB | Version: | R1/beta4 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description (last modified by )
Listusb:
[Device /dev/bus/usb/0/3/1] Class .................. 0x00 (Defined at Interface level) () Subclass ............... 0x00 (Defined at Interface level) () Protocol ............... 0x00 (Defined at Interface level) () Max Endpoint 0 Packet .. 64 USB Version ............ 2.0 Vendor ID .............. 0x04c5 (Fujitsu, Ltd) Product ID ............. 0x1570 Product Version ........ 0x0007 Manufacturer String .... "Generic" Product String ......... "USB Audio" Serial Number .......... "201405280001" [Configuration 0] Configuration String . "USB Audio" [Interface 0] [Alternate 0 active] Class .............. 0x01 Audio () Subclass ........... 0x01 Audio (Control Device) Protocol ........... 0x00 Audio (Control Device) Interface String ... "Realtek USB2.0 Audio" [Endpoint 0] MaxPacketSize .... 16 Interval ......... 8 Type ............. Interrupt Direction ........ Input [Descriptor 0] Type .............. 0x24 Subtype ........... 0x01 (Header) ADC Release ....... 1.0 Total Length ...... 93 Interfaces ........ 1, 2, [Descriptor 1] Type .............. 0x24 Subtype ........... 0x02 (Input Terminal) Terminal ID ....... 1 Terminal Type ..... 0x0201 (Microphone) Associated Terminal 0 Nr Channels ....... 2 Channel Config .... 0x3 Front .......... Left Right Channel Names ..... 0 Terminal .......... 0 [Descriptor 2] Type .............. 0x24 Subtype ........... 0x06 (Feature Unit) Unit ID ........... 3 Source ID ......... 1 Control Size ...... 2 Master Channel . Mute Channel 1 ...... Volume Channel 2 ...... Volume Feature ........... 0 [Descriptor 3] Type .............. 0x24 Subtype ........... 0x03 (Output Terminal) Terminal ID ....... 2 Terminal Type ..... 0x0101 (USB Streaming) Associated Terminal 1 Source ID ......... 4 Terminal .......... 0 [Descriptor 4] Type .............. 0x24 Subtype ........... 0x08 (Associate Interface) Interface ......... 4 Data .............. 08 04 da 0b 01 03 02 03 00 00 01 01 00 [Descriptor 5] Type .............. 0x24 Subtype ........... 0x02 (Input Terminal) Terminal ID ....... 14 Terminal Type ..... 0x0101 (USB Streaming) Associated Terminal 0 Nr Channels ....... 2 Channel Config .... 0x3 Front .......... Left Right Channel Names ..... 0 Terminal .......... 0 [Descriptor 6] Type .............. 0x24 Subtype ........... 0x03 (Output Terminal) Terminal ID ....... 15 Terminal Type ..... 0x0302 (Headphones) Associated Terminal 14 Source ID ......... 16 Terminal .......... 0 [Descriptor 7] Type .............. 0x24 Subtype ........... 0x06 (Feature Unit) Unit ID ........... 16 Source ID ......... 14 Control Size ...... 2 Master Channel . Mute Channel 1 ...... Volume Channel 2 ...... Volume Feature ........... 0 [Interface 1] [Alternate 0 active] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "Microphone" [Alternate 1] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 228 Interval ......... 4 Type ............. Isochronous Direction ........ Input [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 2 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 2 Bit resolution .... 16 Sampling Freq ..... 44100, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 2] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 342 Interval ......... 4 Type ............. Isochronous Direction ........ Input [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 2 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 3 Bit resolution .... 24 Sampling Freq ..... 44100, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 3] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 248 Interval ......... 4 Type ............. Isochronous Direction ........ Input [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 2 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 2 Bit resolution .... 16 Sampling Freq ..... 48000, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 4] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 372 Interval ......... 4 Type ............. Isochronous Direction ........ Input [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 2 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 3 Bit resolution .... 24 Sampling Freq ..... 48000, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 5] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 496 Interval ......... 4 Type ............. Isochronous Direction ........ Input [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 2 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 2 Bit resolution .... 16 Sampling Freq ..... 96000, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 6] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 744 Interval ......... 4 Type ............. Isochronous Direction ........ Input [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 2 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 3 Bit resolution .... 24 Sampling Freq ..... 96000, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 7] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 996 Interval ......... 4 Type ............. Isochronous Direction ........ Input [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 2 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 2 Bit resolution .... 16 Sampling Freq ..... 192000, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 8] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 2792 Interval ......... 4 Type ............. Isochronous Direction ........ Input [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 2 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 3 Bit resolution .... 24 Sampling Freq ..... 192000, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Interface 2] [Alternate 0 active] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "Headphone" [Alternate 1] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 228 Interval ......... 4 Type ............. Isochronous Direction ........ Output [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 14 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 2 Bit resolution .... 16 Sampling Freq ..... 44100, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 2] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 342 Interval ......... 4 Type ............. Isochronous Direction ........ Output [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 14 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 3 Bit resolution .... 24 Sampling Freq ..... 44100, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 3] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 248 Interval ......... 4 Type ............. Isochronous Direction ........ Output [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 14 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 2 Bit resolution .... 16 Sampling Freq ..... 48000, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 4] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 372 Interval ......... 4 Type ............. Isochronous Direction ........ Output [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 14 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 3 Bit resolution .... 24 Sampling Freq ..... 48000, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 5] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 496 Interval ......... 4 Type ............. Isochronous Direction ........ Output [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 14 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 2 Bit resolution .... 16 Sampling Freq ..... 96000, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 6] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 744 Interval ......... 4 Type ............. Isochronous Direction ........ Output [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 14 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 3 Bit resolution .... 24 Sampling Freq ..... 96000, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 7] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 996 Interval ......... 4 Type ............. Isochronous Direction ........ Output [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 14 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 2 Bit resolution .... 16 Sampling Freq ..... 192000, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Alternate 8] Class .............. 0x01 Audio () Subclass ........... 0x02 Audio (Streaming) Protocol ........... 0x00 Audio (Streaming) Interface String ... "" [Endpoint 0] MaxPacketSize .... 2792 Interval ......... 4 Type ............. Isochronous Direction ........ Output [Descriptor 0] Subtype ........... 1 (AS_GENERAL) Terminal link ..... 14 Delay ............. 1 Format tag ........ 1 [Descriptor 1] Subtype ........... 2 (FORMAT_TYPE) Format Type ....... 1 (FORMAT_TYPE_I) Channels .......... 2 Subframe size ..... 3 Bit resolution .... 24 Sampling Freq ..... 192000, [Descriptor 2] Type .............. 0x25 (CS_ENDPOINT) Subtype ........... 0x01 (EP_GENERAL) Attributes ........ 0x01 Sampling Frequency Lock Delay Units .. 0 (Undefined) Lock Delay ........ 0 [Interface 3] [Alternate 0 active] Class .............. 0x03 Human Interface Device (No Subclass, None) Subclass ........... 0x00 Human Interface Device (No Subclass, None) Protocol ........... 0x00 Human Interface Device (No Subclass, None) Interface String ... "" [Endpoint 0] MaxPacketSize .... 16 Interval ......... 4 Type ............. Interrupt Direction ........ Input [Descriptor 0] Type ............. 0x21 Data ............. 11 01 00 01 22 30 00
After selecting the device in Media preferences, CPU usage is 100% on two cores for burst of about a second, and syslog is flooded with:
KERN: usb error xhci 0: KERN: Unhandled event = 37 KERN: usb xhci 0: KERN: transfer error on slot 11 endpoint 3: Missed service KERN: usb xhci 0: KERN: transfer error on slot 11 endpoint 8: Missed service KERN: usb xhci 0: transfer error on slot 11 endpoint 3: Isoch buffer overrun KERN: usb xhci 0: transfer error on slot 11 endpoint 3: Missed service KERN: usb xhci 0: transfer error on slot 11 endpoint 8: Missed service
(mainly the last two).
Mouse movement (USB) is frozen during the CPU spikes, and keyboard (also USB) is unusable.
I also notice that only 44100Hz is offered in Media preferences, for both input and output, despite the device offering several other options.
Change History (6)
comment:1 by , 11 months ago
Description: | modified (diff) |
---|
comment:2 by , 11 months ago
comment:3 by , 11 months ago
USB 2.0 devices disabled in hrev57568. I don't know if I have any of these, so someone else may need to investigate necessary changes to the driver.
comment:4 by , 9 months ago
The spec for USB audio 2 (https://dl.project-voodoo.org/usb-audio-spec/USB%20Audio%20v2.0/Audio20%20final.pdf) lists the following changes from the previous versions:
The following list is not an exhaustive list of all changes that have been introduced. For complete information, refer to the full specification. Pay special attention to Sections 1 through 6!
- Complete support for high speed operation - no longer are audio class devices limited to full speed operation.
- The notion of physical and logical Audio channel clusters.
- The number of predefined spatial locations has increased. In addition, a virtual spatial location called Raw Data was introduced.
- Use of the interface association descriptor - The standard Interface Association mechanism is used to describe an Audio Interface Collection. The former class specific mechanism was deprecated.
- Descriptor updates: fixed offsets associated with many descriptors and enlarged three byte fields into four bytes.
- Extensive support for interrupts to inform the host about dynamic changes that occur on the different addressable Entities (Clock Entities, Terminals, Units, interfaces and endpoints) inside the audio function.
- More clarification text on the audio function.
- Audio Control Changes.
- Control attribute changes.
- Mixer Unit control request (set/get pairs changed).
- Many updates in the control descriptions.
- Added support for clock domains, clock description and clock control.
- Added additional Audio Controls inside a Feature Unit (Input, Gain, Input Gain Pad …)
- Added bit pairs in descriptors to indicate presence and programmability of every Control
- Prohibited the use of Alternate Setting switching to change sampling frequencies. Instead, Clock Entities are introduced that can be manipulated (through the AudioControl interface) to select operating sampling frequencies.
- Split off the examples in a separate document.
- Allowed binding between physical buttons on the audio function and the corresponding Audio Control. Prescribed how this is done.
- Added an Effect Unit to group algorithms that work on logical channels separately but require multiple parameters to manipulate the effect (as opposed to basic (single parameter) manipulation, performed in a Feature Unit).
- Introduced Parametric Equalizer Section Effect Unit.
- Rearranged Reverb, Modulation Delay and Dynamic Compressor PUs under the new Effect Unit.
- Added the concept of audio function Category. The Category indicates the primary use of the audio function as envisioned by the manufacturer.
- Added the Sampling Rate Converter Unit.
- Added a means to express Latency of individual building blocks within the audio function.
- Added Encoder support.
comment:5 by , 9 months ago
It is also worth noting that FreeBSD's uaudio driver supports both 1.0 and 2.0 devices, it appears. Looking at what it does differently may be useful.
comment:6 by , 9 months ago
ADC Release ....... 1.0
It's a USB 2.0 device with USB Audio Class 1.0 (not UAC 2). Theoretically, it should be supported by the current driver.
What we were able to notice is that on hosts with some USB 3.1+ controllers, errors with “Missed service” occur. Perhaps the problem is with incorrect configuration of isoch endpoints in xhci, or incorrect packets calcutation in the driver.
Another USB 2.0 device. Probably the driver shouldn't even try to use these by default at the moment.