[wdmaudiodev] Re: UAC2 volume multiple range control

  • From: "Matthew van Eerde" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "Matthew.van.Eerde" for DMARC)
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 6 Dec 2018 02:10:36 +0000

You can use the steps outlined at this blog post to get usbaudio2.sys logs, 
which may shed some light on the subject
https://blogs.msdn.microsoft.com/matthew_van_eerde/2017/10/23/how-to-gather-and-read-logs-for-microsofts-usb-audio-2-0-class-driver/

________________________________
From: wdmaudiodev-bounce@xxxxxxxxxxxxx <wdmaudiodev-bounce@xxxxxxxxxxxxx> on 
behalf of Kevin Ng <drastar.ng@xxxxxxxxx>
Sent: Wednesday, December 5, 2018 5:49:08 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: UAC2 volume multiple range control

The OS send the volume range request one time on enumeration. I even tried to 
use the audiocontrol interrupt endpoint to request OS to grab one more time. It 
did come, but now the sound control now shows the 2nd range that I gave. The OS 
does not seems to accept multiple volume ranges.
My device have hardware buttons to control volume which have its own range and 
resolution. Currently I always use the audiocontrol interrupt endpoint to ask 
the Os to snap to our device volume. Only recently found a bug which only 
happen on MacOS, the current volume will keeps reducing due to the volume 
correction on every start/stop audio playback stream. Therefore volume snapping 
on our part introduce the bug, but then we can't synchronize the device volume 
and the PC sound control volume if we remove the feature.

On Thu, Dec 6, 2018 at 5:28 AM Børge Strand-Bergesen 
<borge.strand@xxxxxxxxx<mailto:borge.strand@xxxxxxxxx>> wrote:
I see multiple OSes request 0x10 bytes for volume range.

This sounds like something that has to be tested in detail on all relevant 
operating systems. What is so special that you can’t use one range and work it 
out in firmware?

Børge

On Wednesday, December 5, 2018, Tim Roberts 
<timr@xxxxxxxxx<mailto:timr@xxxxxxxxx>> wrote:
Kevin Ng wrote:
Hi, I am new here. Tried searching through the list and unable to find some 
similar to the above.
So I am trying to specify a multiple volume range control with different volume 
resolution for each volume range.
...
I understand what is required to send back the feature unit volume range 
request command from the host PC (Windows 10/MacOS). But the problem is the 
host PC only allow 8 bytes of data length to be sent back for the volume range 
command. Anyone have any idea how to implement this?

Interesting.  I would expect it to make one request of 8 bytes, then make 
another request based on the wNumSubRanges you returned.  That's the usual 
protocol for variable-length layouts. Do you not see the second request?

--
Tim Roberts, timr@xxxxxxxxx<mailto:timr@xxxxxxxxx>
Providenza & Boekelheide, Inc.

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx>
Subscribe:    
mailto:wdmaudiodev-request@xxxxxxxxxxxxx<mailto:wdmaudiodev-request@xxxxxxxxxxxxx>?subject=subscribe
Unsubscribe:  
mailto:wdmaudiodev-request@xxxxxxxxxxxxx<mailto:wdmaudiodev-request@xxxxxxxxxxxxx>?subject=unsubscribe
Moderator:    
mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx<mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx>

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.wdmaudiodev.com%2F&data=02%7C01%7CMatthew.van.Eerde%40microsoft.com%7Cf8e5d435867a40a1293b08d65b1d1d47%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636796578004358386&sdata=oeyXkMuPAlEPgiF8MkDLI6InmPBbfElO6NvK01r0fYo%3D&reserved=0>

Other related posts: