[wdmaudiodev] Re: AW: UAC2 driver loaded but no audio endpoints visible

  • From: Jerry Evans <jerry@xxxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Thu, 23 Sep 2021 14:10:09 +0100

See also links in 
https://www.diyaudio.com/forums/digital-line-level/217764-cm6631-usb-audio-interface-65-print.html

Sent from my iPad

On 23 Sep 2021, at 12:52, Tsai Tzung-Dar <dmarc-noreply@xxxxxxxxxxxxx> wrote:


Hi Johannes:
USB DAC which use CM6631A or XMOS chips, were all use UAC 2.0 with feedback 
endpoint. You can find one in follow url:
384kHz Asynchronous USB to I2S/SPDIF CM6631A PCB - DIYINHK

384kHz Asynchronous USB to I2S/SPDIF CM6631A PCB - DIYINHK
NDK NZ2520SDA Ultra low phase noise oscillator Uses external 3.3V regulated 
power supply PCB with optical spdif ...
https://www.diyinhk.com/shop/audio-kits/170-xmos-32bit-384khz-dxd-dsd256-usb-tofrom-i2sdsdreclock-spdif-pcb.html
UAC1 feedback is work for Windows 10. I suggest use USB Tree View to check 
you configuration descriptor first. Maybe you put some AC Unit that MS 
usbaudio2.sys do not support. 

BR,
Tzung-Dar Tsai


 

在 2021年9月23日 星期四 下午06:18:35 [GMT+8], Johannes 
Freyberger<jfreyberger@xxxxxxxxxxxxxxxxxxxx> 寫道:


Hi all,

 

seems not an easy thing to answer. Meanwhile I asked some audio colleagues to 
check their USB audio devices if we can find any device that uses 
usbaudio2.sys and a feedback endpoint – but so far they’re all using either 
UAC1 or native drivers or no feedback endpoint. And I think we already 
checked > 20 devices from various manufacturers. But I found a device which 
uses a feedback endpoint and UAC1. Though the feedback endpoint seems 
something USB specific and not directly related to UAC1 or UAC2 I think it 
also would have to be somehow supported in the audio part and I found 
different answers whether W10 and UAC1 support a feedback endpoint to adjust 
the samplerate during a playback from the PC to the device. Does anybody know 
whether a feedback endpoint should also work for UAC1 in W10?

 

Thanks and best regards,

Johannes

 

Von: Johannes Freyberger 
Gesendet: Dienstag, 21. September 2021 21:04
An: 'wdmaudiodev@xxxxxxxxxxxxx' <wdmaudiodev@xxxxxxxxxxxxx>
Betreff: AW: [wdmaudiodev] Re: AW: UAC2 driver loaded but no audio endpoints 
visible

 

Hi,

 

as usbaudio2.sys is from 06.12.2019 I thought I’d give the latest TMFs for 
W10 2004 a chance even if they are not for W10 21H1. And the output seems not 
so wrong to me. The feedback endpoint seems to be OK:

 

00000593             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08               AS Interface List:

00000594             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08               AS OUT Interface IfNb=0x01 
'Playback Inactive' Terminal ID=0x01 Type=0x101 USB_STREAMING 'USBH Out'

00000595             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                 *** Alt Setting Group ***

00000596             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                 AS OUT IfNb=0x01 
AltSetting=0x01 'Playback Active'

00000597             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                    Format Type I PCM 
(0x00000001) SubSlotSize=2 BitsPerSample=16 ChannelCount=2

00000598             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                    Data Endpoint 0x01 
Isochronous Asynchronous Data ActualMaxPacketSize=188 
ActualPacketFrequency=1000/s (HS Endpoint)

00000599             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                    Feedback Endpoint 0x81 
Isochronous None Feedback ActualMaxPacketSize=4 ActualPacketFrequency=1000/s 
(HS Endpoint)

00000600             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                    Supported sampling 
frequencies:

00000601             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                      min=44100 max=44100 
res=0

00000602             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08               AS IN  Interface IfNb=0x02 
'Capture Inactive' Terminal ID=0x04 Type=0x101 USB_STREAMING 'USBH In'

00000603             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                 *** Alt Setting Group ***

00000604             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                 AS IN  IfNb=0x02 
AltSetting=0x01 'Capture Active'

00000605             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                    Format Type I PCM 
(0x00000001) SubSlotSize=2 BitsPerSample=16 ChannelCount=2

00000606             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                    Data Endpoint 0x82 
Isochronous Asynchronous Data ActualMaxPacketSize=180 
ActualPacketFrequency=1000/s (HS Endpoint)

00000607             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                    Supported sampling 
frequencies:

00000608             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08                      min=44100 max=44100 
res=0

00000609             USBAudio2         4             17220    4             0 
             09\21\2021-19:57:40:08               SUCCESS

 

But later on I see several of these problems:

 

00001014             USBAudio2         2820      2948      3             0    
          09\21\2021-19:57:40:270             [

00001015             USBAudio2         2820      2948      3             0    
          09\21\2021-19:57:40:270             PIN 0 HostPin OutPin

00001016             USBAudio2         2820      2948      3             0    
          09\21\2021-19:57:40:270                
KSPROPERTY_PIN_PROPOSEDATAFORMAT SET

00001017             USBAudio2         2820      2948      3             0    
          09\21\2021-19:57:40:270             SET: ValueSize=64 < 
sizeof(KSDATAFORMAT_WAVEFORMATEX)

00001018             USBAudio2         2820      2948      3             0    
          09\21\2021-19:57:40:270             ] 
0xc0000023(STATUS_BUFFER_TOO_SMALL)

 

On the other hand I don’t see how I could have any influence on this in my 
USB device definition. Is there anybody who could confirm that he/she got the 
Linux uac2 usb audio gadget driver working with W10 usbaudio2.sys version 
10.0.19041.1 from 06.12.2019?

 

Thanks and best regards,

Johannes

 

Von: Johannes Freyberger 
Gesendet: Montag, 20. September 2021 22:31
An: 'wdmaudiodev@xxxxxxxxxxxxx' <wdmaudiodev@xxxxxxxxxxxxx>
Betreff: AW: [wdmaudiodev] Re: AW: UAC2 driver loaded but no audio endpoints 
visible

 

Hi Jerry,

 

thanks for your reply. I already found your post and I followed the idea 
using .bFunctionSubClass = UAC2_FUNCTION_DESKTOP_SPEAKER. So far I didn’t 
check the USB_ENDPOINT_SYNC_SYNC as I think this link 
https://docs.microsoft.com/en-us/windows-hardware/drivers/audio/usb-2-0-audio-drivers?source=docs
  in combination with USB spec 2.0 chapter 5.12.4.1 suggests that 
USB_ENDPOINT_XFER_ISOC | USB_ENDPOINT_SYNC_ASYNC is correct. Unfortunately I 
don’t have any USB device here that uses usbaudio2.sys. Either they have 
native drivers or they use usbaudio.sys. Otherwise I could compare the USB 
Tree View output from a working device to my Raspberry.

 

Best,

Johannes

 

Von: wdmaudiodev-bounce@xxxxxxxxxxxxx Im Auftrag von Jerry Evans
Gesendet: Montag, 20. September 2021 20:28
An: wdmaudiodev@xxxxxxxxxxxxx
Betreff: [wdmaudiodev] Re: AW: UAC2 driver loaded but no audio endpoints 
visible

 

Hello Johannes 

 

ICYMI See https://www.freelists.org/post/wdmaudiodev/Linux-UAC2-gadget,1 for ;
some details on a then working UAC2 gadget. This may or may not help with 
your particular problem:)

 

Good luck 

 

Jerry.

Sent from my iPad

 

On 20 Sep 2021, at 17:46, Johannes Freyberger 
<jfreyberger@xxxxxxxxxxxxxxxxxxxx> wrote:



OK … sadly that’s no good news

 

Currently I think my problem is around this output from KS Topology Filter 
Test:

 

Device Name = USB Audio 2.0

PnP ID      = USB\VID_1D6B&PID_0101&MI_00\8&1583D6B2&1&0000

    Device: USB Audio 2.0 (USB\VID_1D6B&PID_0101&MI_00\8&1583D6B2&1&0000)

     Filter: Source/Sink

      Pin[00] ()

      Pin[01] ()

      Pin[02] ()

      Pin[03] ()

     Filter: Source/Sink

      Pin[00] ()

      Pin[00] : Basic support: 0x201

    KSPROPERTY_AUDIOSIGNALPROCESSING_MODES response: KSMULTIPLE_ITEM.Size = 
24, KSMULTIPLE_ITEM.Count = 1, buffer size = 24

    AUDIO_SIGNALPROCESSINGMODE_RAW is mode 0

    Message:Driver supports processing modes but the preferred formats donot 
have the attribute flag set, so setting it [hr = E_INVALIDARG (0x80070057)]

    pCPinInstance->CreatePin() succeeded

    Pin creation successful for AUDIO_SIGNALPROCESSINGMODE_RAW

      Pin[01] ()

      Pin[02] ()

      Pin[03] ()

      Pin[03] : Basic support: 0x201

    KSPROPERTY_AUDIOSIGNALPROCESSING_MODES response: KSMULTIPLE_ITEM.Size = 
24, KSMULTIPLE_ITEM.Count = 1, buffer size = 24

    AUDIO_SIGNALPROCESSINGMODE_RAW is mode 0

    Message:Driver supports processing modes but the preferred formats donot 
have the attribute flag set, so setting it [hr = E_INVALIDARG (0x80070057)]

    pCPinInstance->CreatePin() failed with 0x9000001f.

      FAIL: Pin[03] : Pin creation failed for AUDIO_SIGNALPROCESSINGMODE_RAW

End Case: ID 16.1007:3.10 : FAIL : KS Topology Filters\KS Pins\Check 
Processing Modes : [Mon Sep 20 18:28:33 2021]

 

But yet I don’t know the relationship from the USB Driver struct to the 
processing modes – why does the Linux audio gadget have the support of 
processing modes set or in other words what entry in the USB Tree View lets 
windows activate the processing modes for this device?

 

Von: wdmaudiodev-bounce@xxxxxxxxxxxxx Im Auftrag von Matthew van Eerde 
("Matthew.van.Eerde")
Gesendet: Montag, 20. September 2021 18:29
An: wdmaudiodev@xxxxxxxxxxxxx
Betreff: [wdmaudiodev] Re: AW: Re: [EXTERNAL] AW: UAC2 driver loaded but no 
audio endpoints visible

 

For various dry and boring technical reasons I find myself unable to update 
this blog post with new Windows OSes.

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx <wdmaudiodev-bounce@xxxxxxxxxxxxx> On 
Behalf Of Johannes Freyberger
Sent: Monday, September 20, 2021 7:52 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] AW: Re: [EXTERNAL] AW: UAC2 driver loaded but no audio 
endpoints visible

 

Yes, thanks … I already found this link today and grabbed the TMF files from 
your github page. Do you think it’s possible to also add the ausbaudio2 tmf 
files for W10 21H1 there?

 

Von: wdmaudiodev-bounce@xxxxxxxxxxxxx Im Auftrag von Matthew van Eerde 
("Matthew.van.Eerde")
Gesendet: Montag, 20. September 2021 16:44
An: wdmaudiodev@xxxxxxxxxxxxx
Betreff: [wdmaudiodev] Re: [EXTERNAL] AW: UAC2 driver loaded but no audio 
endpoints visible

 

You may be interested in How to gather and read logs for Microsoft’s USB 
Audio 2.0 class driver – Matthew van Eerde's web log (wordpress.com)

Other related posts: