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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).