[alsa-devel] Trying to write control utility for YAMAHA Cavit DP-U50/AP-U70/RP-U200.
Tahiro Hashizume
tahiro at hashizumes.net
Thu Oct 11 08:02:31 CEST 2018
Hi
The devices of my interest is in fact 18yrs old, but just can't stop
using them for being too useful. (I own DP-U50 and RP-U200).
For these devices:
A.)Source selecting as well as alteration of the labels (for each
input) to be displayed on the VDF are possible.
B.)Internal DSP is highly configurable
c.)Tuner presets are editable (RP-U200 only)
through the Win32 utility (DP-U50.exe/AP-U70.exe/RP-U200.exe).
Most of sound-related details should be at
http://www.alsa-project.org/db/?f=9aad4f38c69efd1c6ae90de239063efeb5a61dce.
Basically I am stuck with almost no experience in this, but am trying
to write some code to implement the Linux-alternative of these
utilities to at least enable the source selecting from Linux via USB
(mostly intended to be used with shairplay-sync). Thought examples of
device-specific utilities as found in alsa-tools may help but I just
don't see connections between USB-dump and control signals that may be
accepted by those listed in amixer.
Side-notes(Findings so far):
The device appears as a composite with several Audio interfaces and a
HID-Class interface. Knowing this from early days, I first decided to
see hexdump outputs on "/dev/hidraw0" and it indicated what looked
like the representation of current status of the device while turning
knobs and switching inputs.
My guess is, the device takes special commands via the control and
echos the current status via HID which is visible as "/dev/hidraw0".
("/dev/input/event0" is also present but doesn't really spit anything.)
At this point, thought this was a bi-directional communication via
HID-Class (by which I was wrong, as I found out later).
Thinking collecting several packet captures under controlled
conditions would help understand the mechanism, moved onto capturing
WindowMessages (of RP-U200.exe) with Spy++ from which I was able to
implement the automated operation of RP-U200.exe via Python.
See: https://www.youtube.com/watch?v=-Il9vKtnr1A
Figured out
1.)messages of "WM_USER + 1" are from "hid_io.dll" to RP-U200.exe
2.)messages of "WM_USER + 201" are the actual inputs to RP-U200.exe
About files attached:
a.)RP-U200.hexdump.txt shows outputs observed on "/dev/hidraw0" as I
turned the volume knob from min to max and down to min.
b.)"util_launch.pcapng.json" shows the interactions between host
(Win10 x64) and RP-U200 as RP-U200.exe was being launched
(Power:Off->Off).
c.)"util_power_on.pcapng.json" shows the interactions between host
(Win10 x64) and RP-U200 starting shortly before I pressed the Power
button on RP-U200.exe, ending with the output relays closed for
speaker outputs (Power:Off->On).
Any comments should keep me encouraged. Thanks in advance.
Tahiro.H
-------------- next part --------------
pi at netaudio:~ $ sudo hexdump /dev/hidraw0
0000000 0080 0511 b100 4e00 00ff 0000 0000 6b00
0000010 0080 0511 b200 4d00 00ff 0000 0000 6b00
0000020 0080 0511 b300 4c00 00ff 0000 0000 6b00
0000030 0080 0511 b400 4b00 00ff 0000 0000 6b00
0000040 0080 0511 b500 4a00 00ff 0000 0000 6b00
0000050 0080 0511 b600 4900 00ff 0000 0000 6b00
0000060 0080 0511 b700 4800 00ff 0000 0000 6b00
0000070 0080 0511 b800 4700 00ff 0000 0000 6b00
0000080 0080 0511 b900 4600 00ff 0000 0000 6b00
0000090 0080 0511 ba00 4500 00ff 0000 0000 6b00
00000a0 0080 0511 bb00 4400 00ff 0000 0000 6b00
00000b0 0080 0511 bc00 4300 00ff 0000 0000 6b00
00000c0 0080 0511 bd00 4200 00ff 0000 0000 6b00
00000d0 0080 0511 be00 4100 00ff 0000 0000 6b00
00000e0 0080 0511 bf00 4000 00ff 0000 0000 6b00
00000f0 0080 0511 c000 3f00 00ff 0000 0000 6b00
0000100 0080 0511 bf00 4000 00ff 0000 0000 6b00
0000110 0080 0511 c000 3f00 00ff 0000 0000 6b00
0000120 0080 0511 c100 3e00 00ff 0000 0000 6b00
0000130 0080 0511 c200 3d00 00ff 0000 0000 6b00
0000140 0080 0511 c300 3c00 00ff 0000 0000 6b00
0000150 0080 0511 c400 3b00 00ff 0000 0000 6b00
0000160 0080 0511 c500 3a00 00ff 0000 0000 6b00
0000170 0080 0511 c600 3900 00ff 0000 0000 6b00
0000180 0080 0511 c700 3800 00ff 0000 0000 6b00
0000190 0080 0511 c800 3700 00ff 0000 0000 6b00
00001a0 0080 0511 c900 3600 00ff 0000 0000 6b00
00001b0 0080 0511 ca00 3500 00ff 0000 0000 6b00
00001c0 0080 0511 cb00 3400 00ff 0000 0000 6b00
00001d0 0080 0511 cc00 3300 00ff 0000 0000 6b00
00001e0 0080 0511 cd00 3200 00ff 0000 0000 6b00
00001f0 0080 0511 ce00 3100 00ff 0000 0000 6b00
0000200 0080 0511 cf00 3000 00ff 0000 0000 6b00
0000210 0080 0511 d000 2f00 00ff 0000 0000 6b00
0000220 0080 0511 d100 2e00 00ff 0000 0000 6b00
0000230 0080 0511 d200 2d00 00ff 0000 0000 6b00
0000240 0080 0511 d300 2c00 00ff 0000 0000 6b00
0000250 0080 0511 d400 2b00 00ff 0000 0000 6b00
0000260 0080 0511 d500 2a00 00ff 0000 0000 6b00
0000270 0080 0511 d600 2900 00ff 0000 0000 6b00
0000280 0080 0511 d700 2800 00ff 0000 0000 6b00
0000290 0080 0511 d800 2700 00ff 0000 0000 6b00
00002a0 0080 0511 d900 2600 00ff 0000 0000 6b00
00002b0 0080 0511 da00 2500 00ff 0000 0000 6b00
00002c0 0080 0511 db00 2400 00ff 0000 0000 6b00
00002d0 0080 0511 dc00 2300 00ff 0000 0000 6b00
00002e0 0080 0511 dd00 2200 00ff 0000 0000 6b00
00002f0 0080 0511 de00 2100 00ff 0000 0000 6b00
0000300 0080 0511 df00 2000 00ff 0000 0000 6b00
0000310 0080 0511 e000 1f00 00ff 0000 0000 6b00
0000320 0080 0511 e100 1e00 00ff 0000 0000 6b00
0000330 0080 0511 e200 1d00 00ff 0000 0000 6b00
0000340 0080 0511 e300 1c00 00ff 0000 0000 6b00
0000350 0080 0511 e400 1b00 00ff 0000 0000 6b00
0000360 0080 0511 e500 1a00 00ff 0000 0000 6b00
0000370 0080 0511 e600 1900 00ff 0000 0000 6b00
0000380 0080 0511 e700 1800 00ff 0000 0000 6b00
0000390 0080 0511 e800 1700 00ff 0000 0000 6b00
00003a0 0080 0511 e900 1600 00ff 0000 0000 6b00
00003b0 0080 0511 ea00 1500 00ff 0000 0000 6b00
00003c0 0080 0511 eb00 1400 00ff 0000 0000 6b00
00003d0 0080 0511 ec00 1300 00ff 0000 0000 6b00
00003e0 0080 0511 ed00 1200 00ff 0000 0000 6b00
00003f0 0080 0511 ee00 1100 00ff 0000 0000 6b00
0000400 0080 0511 ef00 1000 00ff 0000 0000 6b00
0000410 0080 0511 f000 0f00 00ff 0000 0000 6b00
0000420 0080 0511 f100 0e00 00ff 0000 0000 6b00
0000430 0080 0511 f200 0d00 00ff 0000 0000 6b00
0000440 0080 0511 f300 0c00 00ff 0000 0000 6b00
0000450 0080 0511 f400 0b00 00ff 0000 0000 6b00
0000460 0080 0511 f500 0a00 00ff 0000 0000 6b00
0000470 0080 0511 f600 0900 00ff 0000 0000 6b00
0000480 0080 0511 f700 0800 00ff 0000 0000 6b00
0000490 0080 0511 f800 0700 00ff 0000 0000 6b00
00004a0 0080 0511 f900 0600 00ff 0000 0000 6b00
00004b0 0080 0511 fa00 0500 00ff 0000 0000 6b00
00004c0 0080 0511 fb00 0400 00ff 0000 0000 6b00
00004d0 0080 0511 fc00 0300 00ff 0000 0000 6b00
00004e0 0080 0511 fd00 0200 00ff 0000 0000 6b00
00004f0 0080 0511 fe00 0100 00ff 0000 0000 6b00
0000500 0080 0511 ff00 0000 00ff 0000 0000 6b00
0000510 0080 0511 0000 ff00 00ff 0000 0000 6b00
0000520 0080 0511 ff00 0000 00ff 0000 0000 6b00
0000530 0080 0511 fe00 0100 00ff 0000 0000 6b00
0000540 0080 0511 fd00 0200 00ff 0000 0000 6b00
0000550 0080 0511 fc00 0300 00ff 0000 0000 6b00
0000560 0080 0511 fb00 0400 00ff 0000 0000 6b00
0000570 0080 0511 fa00 0500 00ff 0000 0000 6b00
0000580 0080 0511 f900 0600 00ff 0000 0000 6b00
0000590 0080 0511 f800 0700 00ff 0000 0000 6b00
00005a0 0080 0511 f700 0800 00ff 0000 0000 6b00
00005b0 0080 0511 f600 0900 00ff 0000 0000 6b00
00005c0 0080 0511 f500 0a00 00ff 0000 0000 6b00
00005d0 0080 0511 f400 0b00 00ff 0000 0000 6b00
00005e0 0080 0511 f300 0c00 00ff 0000 0000 6b00
00005f0 0080 0511 f200 0d00 00ff 0000 0000 6b00
0000600 0080 0511 f100 0e00 00ff 0000 0000 6b00
0000610 0080 0511 f000 0f00 00ff 0000 0000 6b00
0000620 0080 0511 ef00 1000 00ff 0000 0000 6b00
0000630 0080 0511 ee00 1100 00ff 0000 0000 6b00
0000640 0080 0511 ed00 1200 00ff 0000 0000 6b00
0000650 0080 0511 ec00 1300 00ff 0000 0000 6b00
0000660 0080 0511 eb00 1400 00ff 0000 0000 6b00
0000670 0080 0511 ea00 1500 00ff 0000 0000 6b00
0000680 0080 0511 e900 1600 00ff 0000 0000 6b00
0000690 0080 0511 e800 1700 00ff 0000 0000 6b00
00006a0 0080 0511 e700 1800 00ff 0000 0000 6b00
00006b0 0080 0511 e600 1900 00ff 0000 0000 6b00
00006c0 0080 0511 e500 1a00 00ff 0000 0000 6b00
00006d0 0080 0511 e400 1b00 00ff 0000 0000 6b00
00006e0 0080 0511 e300 1c00 00ff 0000 0000 6b00
00006f0 0080 0511 e200 1d00 00ff 0000 0000 6b00
0000700 0080 0511 e100 1e00 00ff 0000 0000 6b00
0000710 0080 0511 e000 1f00 00ff 0000 0000 6b00
0000720 0080 0511 df00 2000 00ff 0000 0000 6b00
0000730 0080 0511 de00 2100 00ff 0000 0000 6b00
0000740 0080 0511 dd00 2200 00ff 0000 0000 6b00
0000750 0080 0511 dc00 2300 00ff 0000 0000 6b00
0000760 0080 0511 db00 2400 00ff 0000 0000 6b00
0000770 0080 0511 da00 2500 00ff 0000 0000 6b00
0000780 0080 0511 d900 2600 00ff 0000 0000 6b00
0000790 0080 0511 d800 2700 00ff 0000 0000 6b00
00007a0 0080 0511 d700 2800 00ff 0000 0000 6b00
00007b0 0080 0511 d600 2900 00ff 0000 0000 6b00
00007c0 0080 0511 d500 2a00 00ff 0000 0000 6b00
00007d0 0080 0511 d400 2b00 00ff 0000 0000 6b00
00007e0 0080 0511 d300 2c00 00ff 0000 0000 6b00
00007f0 0080 0511 d200 2d00 00ff 0000 0000 6b00
0000800 0080 0511 d100 2e00 00ff 0000 0000 6b00
0000810 0080 0511 d000 2f00 00ff 0000 0000 6b00
0000820 0080 0511 cf00 3000 00ff 0000 0000 6b00
0000830 0080 0511 ce00 3100 00ff 0000 0000 6b00
0000840 0080 0511 cd00 3200 00ff 0000 0000 6b00
0000850 0080 0511 cc00 3300 00ff 0000 0000 6b00
0000860 0080 0511 cb00 3400 00ff 0000 0000 6b00
0000870 0080 0511 ca00 3500 00ff 0000 0000 6b00
0000880 0080 0511 c900 3600 00ff 0000 0000 6b00
0000890 0080 0511 c800 3700 00ff 0000 0000 6b00
00008a0 0080 0511 c700 3800 00ff 0000 0000 6b00
00008b0 0080 0511 c600 3900 00ff 0000 0000 6b00
00008c0 0080 0511 c500 3a00 00ff 0000 0000 6b00
00008d0 0080 0511 c400 3b00 00ff 0000 0000 6b00
00008e0 0080 0511 c300 3c00 00ff 0000 0000 6b00
00008f0 0080 0511 c200 3d00 00ff 0000 0000 6b00
0000900 0080 0511 c100 3e00 00ff 0000 0000 6b00
-------------- next part --------------
[832528.751932] usb 1-1.2: new full-speed USB device number 14 using dwc_otg
[832528.900343] usb 1-1.2: New USB device found, idVendor=0499, idProduct=3104
[832528.900356] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[832528.900365] usb 1-1.2: Product: YAMAHA RP-U200 USB Audio
[832528.900373] usb 1-1.2: Manufacturer: YAMAHA Corporation
[832528.900381] usb 1-1.2: SerialNumber: 00
[832528.918461] usb 1-1.2: found format II with max.bitrate = 1536, frame size=1536
[832528.938892] input: YAMAHA Corporation YAMAHA RP-U200 USB Audio as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.3/0003:0499:3104.0008/input/input7
[832528.939242] hid-generic 0003:0499:3104.0008: input,hidraw0: USB HID v1.04 Device [YAMAHA Corporation YAMAHA RP-U200 USB Audio] on usb-3f980000.usb-1.2/input3
-------------- next part --------------
Bus 001 Device 015: ID 0499:3104 Yamaha Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0499 Yamaha Corp.
idProduct 0x3104
bcdDevice 1.00
iManufacturer 1 YAMAHA Corporation
iProduct 2 YAMAHA RP-U200 USB Audio
iSerial 3 00
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 351
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
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 52
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 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 1
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0603 Line Connector
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 4
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 3
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 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 2 Discrete
tSamFreq[ 0] 44100
tSamFreq[ 1] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x00c8 1x 200 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 1 Milliseconds
wLockDelay 10 Milliseconds
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
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 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 3
bBitResolution 24
bSamFreqType 2 Discrete
tSamFreq[ 0] 44100
tSamFreq[ 1] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x012c 1x 300 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 1 Milliseconds
wLockDelay 10 Milliseconds
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 3
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 0 frames
wFormatTag 4098 AC-3
AudioStreaming Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 2 (FORMAT_TYPE_II)
Warning: Descriptor too short
wMaxBitRate 1536
wSamplesPerFrame 1536
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
AudioStreaming Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 3 (FORMAT_SPECIFIC)
wFormatTag 4098 AC-3
bmBSID 0x000001ff
bmAC3Features 0x3f
RF mode
Line mode
Custom0 mode
Custom1 mode
Internal Dynamic Range Control: scalable, separate boost and cut scaling value
junk at descriptor end: 00 3f
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 9
Transfer Type Isochronous
Synch Type Adaptive
Usage Type Data
wMaxPacketSize 0x00c0 1x 192 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x81
Sampling Frequency
MaxPacketsOnly
bLockDelayUnits 1 Milliseconds
wLockDelay 10 Milliseconds
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 4
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 2 Discrete
tSamFreq[ 0] 44100
tSamFreq[ 1] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x00c8 1x 200 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 2
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 4
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 3
bBitResolution 24
bSamFreqType 2 Discrete
tSamFreq[ 0] 44100
tSamFreq[ 1] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x012c 1x 300 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.04
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 146
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 4
Device Status: 0x0001
Self Powered
-------------- next part --------------
A non-text attachment was scrubbed...
Name: util_power_on.pcapng.json
Type: application/json
Size: 19039 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20181011/b3485f81/attachment-0002.json>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: util_launch.pcapng.json
Type: application/json
Size: 275628 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20181011/b3485f81/attachment-0003.json>
-------------- next part --------------
pi at netaudio:~ $ sudo amixer -c0 controls
numid=3,iface=PCM,name='Capture Channel Map'
numid=1,iface=PCM,name='Playback Channel Map'
numid=2,iface=PCM,name='Playback Channel Map',device=1
pi at netaudio:~ $ sudo amixer -c0 contents
numid=3,iface=PCM,name='Capture Channel Map'
; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
: values=0,0
| container
| chmap-fixed=FL,FR
numid=1,iface=PCM,name='Playback Channel Map'
; type=INTEGER,access=r----R--,values=2,min=0,max=36,step=0
: values=3,4
| container
| chmap-fixed=FL,FR
numid=2,iface=PCM,name='Playback Channel Map',device=1
; type=INTEGER,access=r----R--,values=1,min=0,max=36,step=0
: values=0
| container
| chmap-fixed=MONO
More information about the Alsa-devel
mailing list