[wdmaudiodev] Re: UAC1 driver sends volume:0000
- From: Børge Strand-Bergesen <borge.strand@xxxxxxxxx>
- To: Matthew van Eerde <Matthew.van.Eerde@xxxxxxxxxxxxx>
- Date: Sat, 19 Mar 2016 00:58:42 +0100
Thanks Matthew!
Report is attached. It's the Henry Audio USB DAC 128 mkII.
I ran the 64-bit version of the program while music was playing just
fine. I haven't used KsStudio before. Please let me know what to
enable there to give you the debug info.
At present the slider goes from 0% to 100%. Moving it generates a lot
of set_cur_volume activity, all with 0x0000 as the volume.
Børge
Børge
On Sat, Mar 19, 2016 at 12:46 AM, Matthew van Eerde
<Matthew.van.Eerde@xxxxxxxxxxxxx> wrote:
Is the volume control being presented by usbaudio.sys to Windows at all? If
not, Windows will inject a volume APO in software.
Please run the devicetopology.exe attached this blog post and send the
output:
https://blogs.msdn.microsoft.com/matthew_van_eerde/2014/11/20/walking-the-idevicetopology-tree-to-see-audio-driver-settings/
Alternatively, a screenshot from KS Studio would work.
Or you can go into the Levels tab for the device in the Sound control panel;
right-click the slider; choose “decibels”; then drag it all the way to the
left and the right to discover the minimum and maximum decibel values for
the slider.
From: Børge Strand-Bergesen
Sent: Friday, March 18, 2016 4:43 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] UAC1 driver sends volume:0000
Hi guys,
I'm debugging a UAC1 interface to make the Device respond to volume
control signals from the Host. Could you help me figure out why
Windows doesn't seem to alter the volume setting it sends out? Beside
the volume control issue the Device is a fully functional DAC.
Mute control works in Windows. The device receives 0x01 for mute on,
0x00 for mute off. But for the volume setting I keep receiving 0x0000
from Windows 7 when I pull the volume control bar for the device up
and down. Windows is clearly conveying a volume setting for each user
interaction, just not the right one. I'm trying to figure out why.
Repeating a similar action on iOS and Linux I receive a variable
volume setting into the device. iOS does give out a variable volume
setting, it just does not seem to be in accordance with the min and
max values. So Windows and iOS are confused in different ways by what
is perhaps the same bug.
Linux is the most forgiving of the three and gives out variable volume
within the min and max bonds. I haven't yet tested with OS X.
The volume control system is based on Atmel mcu code which responds to
such things as
#define BR_REQUEST_GET_CUR 0x81
#define BR_REQUEST_GET_MIN 0x82
#define BR_REQUEST_GET_MAX 0x83
#define BR_REQUEST_GET_RES 0x84
#define BR_REQUEST_SET_CUR 0x01
#define BR_REQUEST_SET_MIN 0x02
#define BR_REQUEST_SET_MAX 0x03
#define BR_REQUEST_SET_RES 0x04
With a debug terminal in place it's clear Win7 connects to the Device
with a sequence of get_cur_mute, get_cur_volume, get_min, get_max,
get_res, get_cur_volume, get_min, get_max, get_res, set_res,
set_cur_vol, set_cur_vol etc. From what I can see in the debug
terminal the Device seems to be outputting reasonable values.
Importantly, Windows doesn't attempt any set_min, set_max or set_res.
When I pull the volume slide up and down in Windows there is no
get_cur, only a lot of set_cur_volume with a parameter stuck at
0x0000. Pulling the slide in Linux produces a lot of set_cur_volume
with a variable parameter. For each volume change with the button of
an iPhone, iOS performs a sequence of get_min, get_res,
set_cur_volume.
Thanks,
Børge
Thanks,
Borge
******************
WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/
eRender endpoint
Name: Communications Headphones (IDT High Definition Audio CODEC)
Endpoint ID: {0.0.0.00000000}.{24e854b4-5fc1-44d2-916e-6935cd7cf92e}
0x10000:
{2}.\\?\hdaudio#func_01&ven_111d&dev_7605&subsys_103c17bd&rev_1001#4&aeafb35&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\hpouttopology
0x10001: Headphones
Jacks: 1
-- Jack 1 --
ChannelMapping: 0x3
Color: 0xff808080 (red = 128, green = 128, blue = 128)
Connection Type: 1 (eConnType3Point5mm)
Geometric Location: 4 (eGeoLocRight)
General Location: 0 (eGenLocPrimaryBox)
Port Connection: 0 (ePortConnJack)
IsConnected: Yes
0x20001: Master Mute
Mute node: MUTED
0x20000: Speakers
Channel 0 volume, -95.25 dB to 0 dB in steps of 0.03125 dB: -9.3125 dB
Channel 1 volume, -95.25 dB to 0 dB in steps of 0.03125 dB: -9.3125 dB
0x10000:
{2}.\\?\hdaudio#func_01&ven_111d&dev_7605&subsys_103c17bd&rev_1001#4&aeafb35&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\hpoutwave
0x10001:
0x20000: DAC
0x10000: PC Speaker
eRender endpoint
Name: JRiver Media Center 20 (JRiver Media Center 20)
Endpoint ID: {0.0.0.00000000}.{514975bf-4cd4-49b2-8f72-15870060a8d2}
0x10000:
{2}.\\?\root#media#0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\topology
0x10001: JRiver Media Center 20
Jacks: 1
-- Jack 1 --
ChannelMapping: 0x0
Color: 0xb3c98c (red = 179, green = 201, blue = 140)
Connection Type: 6 (eConnTypeOtherDigital)
Geometric Location: 14 (eGeoLocNotApplicable)
General Location: 1 (eGenLocInternal)
Port Connection: 3 (ePortConnUnknown)
IsConnected: Yes
0x20001: Wave Mute
Mute node: NOT MUTED
0x20000: Wave Volume
Channel 0 volume, -96 dB to 0 dB in steps of 0.5 dB: 0 dB
0x10000:
{2}.\\?\root#media#0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\wave
0x10001:
0x20000: DAC
0x10000:
eRender endpoint
Name: AMD HDMI Output (AMD High Definition Audio Device)
Endpoint ID: {0.0.0.00000000}.{ac805555-78bd-4584-82cf-345effb3481f}
0x10000:
{2}.\\?\hdaudio#func_01&ven_1002&dev_aa01&subsys_00aa0100&rev_1002#5&22d5cfeb&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\e0hdmiout2topo
0x10001: AMD HDMI Output
Jacks: 1
-- Jack 1 --
ChannelMapping: 0x0
Color: 0xffffffff (red = 255, green = 255, blue = 255)
Connection Type: 6 (eConnTypeOtherDigital)
Geometric Location: 11 (eGeoLocHDMI)
General Location: 2 (eGenLocSeparate)
Port Connection: 0 (ePortConnJack)
IsConnected: No
0x20000: Master Mute
Mute node: NOT MUTED
0x10000: AMD HDMI Output
eRender endpoint
Name: Headphones (Henry Audio USB DAC 128 mkII)
Endpoint ID: {0.0.0.00000000}.{af553b43-f12f-4cbb-ba64-c2bfab6c7b0b}
0x10000:
{2}.\\?\usb#vid_16d0&pid_075c&mi_02#7&306d5869&0&0002#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global
0x10001: Headphones
0x20003: DAC
0x20002: Volume
Channel 0 volume, -128 dB to 127.996 dB in steps of 0.0390625 dB: 0 dB
Channel 1 volume, -128 dB to 127.996 dB in steps of 0.0390625 dB: 0 dB
0x20001: Mute
Mute node: NOT MUTED
0x20000: Sample Rate Converter
0x10000:
eRender endpoint
Name: Hi-Fi Cable Input (VB-Audio Hi-Fi Cable)
Endpoint ID: {0.0.0.00000000}.{c3ecff83-e0f8-4dcd-86e3-5ffd39db3285}
0x10000:
{2}.\\?\root#media#0000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\topology
0x10002: Hi-Fi Cable Input
0x20004: Speakers
Channel 0 volume, -96 dB to 0 dB in steps of 0.5 dB: 0 dB
0x20003: Sum
0x20001: Wave Mute
Mute node: NOT MUTED
0x20000: Wave Volume
Channel 0 volume, -96 dB to 0 dB in steps of 0.5 dB: -1.52588e-005
dB
0x10000:
{2}.\\?\root#media#0000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\wave
0x10003:
0x20001: DAC
0x20002: Sample Rate Converter
0x10002:
eRender endpoint
Name: Speakers / HP (IDT High Definition Audio CODEC)
Endpoint ID: {0.0.0.00000000}.{d3c1e28d-6970-4428-b4f1-82bebe04568f}
0x10000:
{2}.\\?\hdaudio#func_01&ven_111d&dev_7605&subsys_103c17bd&rev_1001#4&aeafb35&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\speakertopology
0x10001: Speakers
Jacks: 3
-- Jack 1 --
ChannelMapping: 0x3
Color: 0xff808080 (red = 128, green = 128, blue = 128)
Connection Type: 1 (eConnType3Point5mm)
Geometric Location: 4 (eGeoLocRight)
General Location: 0 (eGenLocPrimaryBox)
Port Connection: 0 (ePortConnJack)
IsConnected: Yes
-- Jack 2 --
ChannelMapping: 0x3
Color: 0xff808080 (red = 128, green = 128, blue = 128)
Connection Type: 1 (eConnType3Point5mm)
Geometric Location: 4 (eGeoLocRight)
General Location: 0 (eGenLocPrimaryBox)
Port Connection: 0 (ePortConnJack)
IsConnected: Yes
-- Jack 3 --
ChannelMapping: 0x3
Color: 0xff808080 (red = 128, green = 128, blue = 128)
Connection Type: 1 (eConnType3Point5mm)
Geometric Location: 4 (eGeoLocRight)
General Location: 0 (eGenLocPrimaryBox)
Port Connection: 0 (ePortConnJack)
IsConnected: Yes
0x20001: Master Mute
Mute node: NOT MUTED
0x20000: Speakers
Channel 0 volume, -95.25 dB to 0 dB in steps of 0.03125 dB: -20.9688 dB
Channel 1 volume, -95.25 dB to 0 dB in steps of 0.03125 dB: -20.9688 dB
0x10000:
{2}.\\?\hdaudio#func_01&ven_111d&dev_7605&subsys_103c17bd&rev_1001#4&aeafb35&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\speakerwave
0x10001:
0x20000: DAC
0x10000: PC Speaker
eCapture endpoint
Name: Line In (IDT High Definition Audio CODEC)
Endpoint ID: {0.0.1.00000000}.{03bf49c4-9ccd-4234-a3bd-1485623e5c0c}
0x10000:
{2}.\\?\hdaudio#func_01&ven_111d&dev_7605&subsys_103c17bd&rev_1001#4&aeafb35&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\muxedin1topology
0x10001: Line In
Jacks: 1
-- Jack 1 --
ChannelMapping: 0x3
Color: 0xff808080 (red = 128, green = 128, blue = 128)
Connection Type: 1 (eConnType3Point5mm)
Geometric Location: 1 (eGeoLocRear)
General Location: 2 (eGenLocSeparate)
Port Connection: 0 (ePortConnJack)
IsConnected: Yes
0x20002: Line In Volume
Channel 0 volume, 0 dB to 22.5 dB in steps of 0.03125 dB: 17.125 dB
Channel 1 volume, 0 dB to 22.5 dB in steps of 0.03125 dB: 17.125 dB
0x20004: Mux
0x10003:
{2}.\\?\hdaudio#func_01&ven_111d&dev_7605&subsys_103c17bd&rev_1001#4&aeafb35&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\muxedin1wave
0x10000:
0x20000: ADC
0x10001: Recording Control
eCapture endpoint
Name: Microphone (IDT High Definition Audio CODEC)
Endpoint ID: {0.0.1.00000000}.{3c16f6ee-fb2d-47ca-b931-064cccda0a2d}
0x10000:
{2}.\\?\hdaudio#func_01&ven_111d&dev_7605&subsys_103c17bd&rev_1001#4&aeafb35&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\muxedin1topology
0x10000: Microphone
Jacks: 1
-- Jack 1 --
ChannelMapping: 0x3
Color: 0xff808080 (red = 128, green = 128, blue = 128)
Connection Type: 1 (eConnType3Point5mm)
Geometric Location: 4 (eGeoLocRight)
General Location: 0 (eGenLocPrimaryBox)
Port Connection: 0 (ePortConnJack)
IsConnected: Yes
0x20000: Mic Volume
Channel 0 volume, 0 dB to 22.5 dB in steps of 0.03125 dB: 17.9688 dB
Channel 1 volume, 0 dB to 22.5 dB in steps of 0.03125 dB: 17.9063 dB
0x20001: Microphone Boost
Channel 0 volume, 0 dB to 10 dB in steps of 10 dB: 0 dB
0x20004: Mux
0x10003:
{2}.\\?\hdaudio#func_01&ven_111d&dev_7605&subsys_103c17bd&rev_1001#4&aeafb35&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\muxedin1wave
Other related posts: