From: "Johannes Freyberger" <Johannes@Freyberger.de>
To: <ruslan.bilovol@gmail.com>
Cc: <balbi@kernel.org>, <corbet@lwn.net>,
<gregkh@linuxfoundation.org>, <gschmottlach@gmail.com>,
<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-usb@vger.kernel.org>
Subject: Re: [PATCH 0/8] USB Audio Gadget part 2: Feedback endpoint, Volume/Mute support
Date: Mon, 1 Mar 2021 17:49:16 +0100 [thread overview]
Message-ID: <002f01d70eba$d1b365a0$751a30e0$@Freyberger.de> (raw)
Hi Ruslan,
thanks for all your efforts to make the USB Audio Gadget work in Win10 using
UAC2. Meanwhile I managed to apply and compile your previous modifications
and now my Raspberry PI shows up in the Windows Device Manager as a valid
UAC2 audio device. Unfortunately it still doesn't work to transfer any audio
as it seems the audio endpoints or the topology is not working. I checked it
with some tools and found one providing some information on the USB part
(it's called UVCview.exe and is part of the Windows Driver Kit). Here's the
output which I hope can give some hints on the problems still existing in
this driver:
---===>Device Information<===---
English product name: "Linux USB Audio Gadget"
ConnectionStatus:
Current Config Value: 0x01 -> Device Bus Speed: High
Device Address: 0x0F
Open Pipes: 0
*!*ERROR: No open pipes!
===>Device Descriptor<===
bLength: 0x12
bDescriptorType: 0x01
bcdUSB: 0x0200
bDeviceClass: 0xEF -> This is a Multi-interface
Function Code Device
bDeviceSubClass: 0x02 -> This is the Common Class Sub
Class
bDeviceProtocol: 0x01 -> This is the Interface
Association Descriptor protocol
bMaxPacketSize0: 0x40 = (64) Bytes
idVendor: 0x1D6B = The Linux Foundation
idProduct: 0x0101
bcdDevice: 0x0510
iManufacturer: 0x01
English (United States) "Linux 5.10.17-v7l-R3LAY_TEST+ with
fe980000.usb"
iProduct: 0x02
English (United States) "Linux USB Audio Gadget"
iSerialNumber: 0x00
bNumConfigurations: 0x01
===>Configuration Descriptor<===
bLength: 0x09
bDescriptorType: 0x02
wTotalLength: 0x00E2 -> Validated
bNumInterfaces: 0x03
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0xC0 -> Bus Powered
MaxPower: 0x01 = 2 mA
===>IAD Descriptor<===
bLength: 0x08
bDescriptorType: 0x0B
bFirstInterface: 0x00
bInterfaceCount: 0x03
bFunctionClass: 0x01 -> Audio Interface Class
bFunctionSubClass: 0x00
*!*CAUTION: This appears to be an invalid bFunctionSubClass
bFunctionProtocol: 0x20
iFunction: 0x04
English (United States) "R3lay PI"
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x00
bAlternateSetting: 0x00
bNumEndpoints: 0x00
bInterfaceClass: 0x01 -> Audio Interface Class
bInterfaceSubClass: 0x01 -> Audio Control Interface SubClass
bInterfaceProtocol: 0x20
CAUTION: This may be an invalid bInterfaceProtocol
iInterface: 0x05
English (United States) "Topology Control"
===>Audio Control Interface Header Descriptor<===
bLength: 0x09
bDescriptorType: 0x24
bDescriptorSubtype: 0x01
bcdADC: 0x0200
wTotalLength: 0x5308
bInCollection: 0x00
===>Descriptor Hex Dump<===
bLength: 0x08
bDescriptorType: 0x24
08 24 0A 06 01 01 00 06
===>Descriptor Hex Dump<===
bLength: 0x08
bDescriptorType: 0x24
08 24 0A 05 01 01 00 07
===>Descriptor Hex Dump<===
bLength: 0x11
bDescriptorType: 0x24
11 24 02 01 01 01 00 05 02 03 00 00 00 00 03 00
08
===>Descriptor Hex Dump<===
bLength: 0x11
bDescriptorType: 0x24
11 24 02 02 00 02 00 06 02 03 00 00 00 00 03 00
09
===>Descriptor Hex Dump<===
bLength: 0x0C
bDescriptorType: 0x24
0C 24 03 04 01 01 00 02 06 03 00 0A
===>Descriptor Hex Dump<===
bLength: 0x0C
bDescriptorType: 0x24
0C 24 03 03 00 03 00 01 05 03 00 0B
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x00
bNumEndpoints: 0x00
bInterfaceClass: 0x01 -> Audio Interface Class
bInterfaceSubClass: 0x02 -> Audio Streaming Interface
SubClass
bInterfaceProtocol: 0x20
CAUTION: This may be an invalid bInterfaceProtocol
iInterface: 0x0C
English (United States) "Playback Inactive"
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x01
bNumEndpoints: 0x02
bInterfaceClass: 0x01 -> Audio Interface Class
bInterfaceSubClass: 0x02 -> Audio Streaming Interface
SubClass
bInterfaceProtocol: 0x20
CAUTION: This may be an invalid bInterfaceProtocol
iInterface: 0x0D
English (United States) "Playback Active"
===>Descriptor Hex Dump<===
bLength: 0x10
bDescriptorType: 0x24
10 24 01 01 00 01 01 00 00 00 02 03 00 00 00 00
===>Audio Streaming Format Type Descriptor<===
bLength: 0x06
bDescriptorType: 0x24
bDescriptorSubtype: 0x02
bFormatType: 0x01
bNrChannels: 0x02
bSubframeSize: 0x10
bBitResolution: 0x07
bSamFreqType: 0x05
tSamFreq[1]: 0x380501 (3671297 Hz)
tSamFreq[2]: 0x080401 (525313 Hz)
tSamFreq[3]: 0x000125 (293 Hz)
tSamFreq[4]: 0x000000 (0 Hz)
tSamFreq[5]: 0x050700 (329472 Hz)
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x01 -> Direction: OUT - EndpointID: 1
bmAttributes: 0x05 -> Isochronous Transfer Type
Synchronization Type = Asynchronous
Bulk Transfer Type
wMaxPacketSize: 0x0138 = 1 transactions per microframe,
0x138 max bytes
bInterval: 0x04
===>Descriptor Hex Dump<===
bLength: 0x08
bDescriptorType: 0x25
08 25 01 00 00 00 00 00
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x81 -> Direction: IN - EndpointID: 1
bmAttributes: 0x11 -> Isochronous Transfer Type
Synchronization Type = No Synchronization
Bulk Transfer Type
wMaxPacketSize: 0x0004 = 1 transactions per microframe,
0x04 max bytes
bInterval: 0x04
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x02
bAlternateSetting: 0x00
bNumEndpoints: 0x00
bInterfaceClass: 0x01 -> Audio Interface Class
bInterfaceSubClass: 0x02 -> Audio Streaming Interface
SubClass
bInterfaceProtocol: 0x20
CAUTION: This may be an invalid bInterfaceProtocol
iInterface: 0x0E
English (United States) "Capture Inactive"
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x02
bAlternateSetting: 0x01
bNumEndpoints: 0x01
bInterfaceClass: 0x01 -> Audio Interface Class
bInterfaceSubClass: 0x02 -> Audio Streaming Interface
SubClass
bInterfaceProtocol: 0x20
CAUTION: This may be an invalid bInterfaceProtocol
iInterface: 0x0F
English (United States) "Capture Active"
===>Descriptor Hex Dump<===
bLength: 0x10
bDescriptorType: 0x24
10 24 01 04 00 01 01 00 00 00 02 03 00 00 00 00
===>Audio Streaming Format Type Descriptor<===
bLength: 0x06
bDescriptorType: 0x24
bDescriptorSubtype: 0x02
bFormatType: 0x01
bNrChannels: 0x02
bSubframeSize: 0x10
bBitResolution: 0x07
bSamFreqType: 0x05
tSamFreq[1]: 0xC40582 (12846466 Hz)
tSamFreq[2]: 0x080400 (525312 Hz)
tSamFreq[3]: 0x000125 (293 Hz)
tSamFreq[4]: 0x000000 (0 Hz)
tSamFreq[5]: 0x000000 (0 Hz)
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x82 -> Direction: IN - EndpointID: 2
bmAttributes: 0x05 -> Isochronous Transfer Type
Synchronization Type = Asynchronous
Bulk Transfer Type
wMaxPacketSize: 0x00C4 = 1 transactions per microframe,
0xC4 max bytes
bInterval: 0x04
===>Descriptor Hex Dump<===
bLength: 0x08
bDescriptorType: 0x25
08 25 01 00 00 00 00 00
next reply other threads:[~2021-03-01 16:56 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-01 16:49 Johannes Freyberger [this message]
2021-03-01 21:34 ` [PATCH 0/8] USB Audio Gadget part 2: Feedback endpoint, Volume/Mute support Ruslan Bilovol
2021-03-01 22:11 ` AW: " Johannes Freyberger
-- strict thread matches above, loose matches on Subject: below --
2021-03-01 13:05 Ruslan Bilovol
2021-03-23 11:56 ` Greg Kroah-Hartman
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='002f01d70eba$d1b365a0$751a30e0$@Freyberger.de' \
--to=johannes@freyberger.de \
--cc=balbi@kernel.org \
--cc=corbet@lwn.net \
--cc=gregkh@linuxfoundation.org \
--cc=gschmottlach@gmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=ruslan.bilovol@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).