From: Clemens Ladisch <clemens@ladisch.de>
To: bEN <ml_all@circa.be>
Cc: alsa-devel@alsa-project.org, zonque@gmail.com
Subject: Re: snd-usb-audio probe problem (Teac UD-H01)
Date: Mon, 02 Apr 2012 10:12:05 +0200 [thread overview]
Message-ID: <4F795F55.2040208@ladisch.de> (raw)
In-Reply-To: <4F774ABE.6070905@circa.be>
bEN wrote:
> the new USB DAC from Teac seems detected as 'Human Interface Device'
> instead of 'Audio'.
It has both HID and audio interfaces.
> Despite the fact it is based on a standard USB Audio
> class v2 controller (Tenor 8802).
Which doesn't prevent Teac from writing buggy firmware.
> $ dmesg
> usb 2-4: new high speed USB device using ehci_hcd and address 3
> usb 2-4: config 1 has an invalid interface number: 3 but max is 2
> usb 2-4: config 1 has no interface number 1
This violates the USB spec. But I guess it shouldn't prevent the driver
from attaching to the device.
> Audio class v2 interfaces need an interface association
This looks like a bug in the driver; there certainly is such
an descriptor. Daniel?
Regards,
Clemens
--
Bus 002 Device 003: ID 0644:8038 TEAC Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x0644 TEAC Corp.
idProduct 0x8038
bcdDevice 0.03
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 220
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
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 26
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 0x0020 1x 32 bytes
bInterval 6
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 2
bInterfaceCount 2
bFunctionClass 1 Audio
bFunctionSubClass 0
bFunctionProtocol 32
iFunction 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 32
iInterface 4
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
wTotalLength 13834
bInCollection 0
junk at descriptor end: 00
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (unknown)
Invalid desc subtype: 0c 07 07 00 00
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (unknown)
Invalid desc subtype: 0d 07 07 00 00
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 4
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 12
wChannelConfig 0x0302
Right Front (R)
Surround (S)
Side Left (SL)
iChannelNames 0
iTerminal 0
junk at descriptor end: 00 00 00 00 00
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0605 SPDIF interface
bAssocTerminal 0
bSourceID 4
iTerminal 12
junk at descriptor end: 00 00 00
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 0
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 4
bDelay 0 frames
wFormatTag 257 undefined
junk at descriptor end: 00 00 00 02 03 00 00 00 00
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
Warning: Descriptor too short
bFormatType 1 (FORMAT_TYPE_I)
Warning: Descriptor too short
bNrChannels 2
bSubframeSize 16
bBitResolution 0
bSamFreqType 0 Continuous
tLowerSamFreq 81
tUpperSamFreq 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0068 1x 104 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 514 Undefined
junk at descriptor end: 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 2
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 0
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 4
bDelay 0 frames
wFormatTag 257 undefined
junk at descriptor end: 00 00 00 02 03 00 00 00 00
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
Warning: Descriptor too short
bFormatType 1 (FORMAT_TYPE_I)
Warning: Descriptor too short
bNrChannels 3
bSubframeSize 24
bBitResolution 0
bSamFreqType 0 Continuous
tLowerSamFreq 81
tUpperSamFreq 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x009c 1x 156 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 514 Undefined
junk at descriptor end: 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 17
Transfer Type Isochronous
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 4
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
next prev parent reply other threads:[~2012-04-02 8:08 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-31 18:19 snd-usb-audio probe problem (Teac UD-H01) bEN
2012-04-02 7:44 ` Pavel Hofman
2012-04-02 8:12 ` Clemens Ladisch [this message]
2012-04-08 14:23 ` Daniel Mack
2012-06-10 20:26 ` Daniel Mack
2012-10-12 21:33 ` Patrick P
2012-10-13 8:07 ` Daniel Mack
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F795F55.2040208@ladisch.de \
--to=clemens@ladisch.de \
--cc=alsa-devel@alsa-project.org \
--cc=ml_all@circa.be \
--cc=zonque@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.