[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