Thank you for your donation!


Solved: Hardware volume control on Topping D10
#1
I am not getting any result when setting the volume control to hardware, using a Topping D10.   It just plays at full 0db volume, same as turning volume control off.  The volume control changes values, but has no effect.  Software volume works.

Running Moode 6.4.0 2019-11-24
Reply
#2
It may have a unique mixer name. Post the output from the command below and I'll have a look.

Code:
amixer -c1 scontrols
Reply
#3
(12-10-2019, 12:54 PM)Tim Curtis Wrote: It may have a unique mixer name. Post the output from the command below and I'll have a look.

Code:
amixer -c1 scontrols
pi@moode:~ $ amixer -c1 scontrols

Simple mixer control 'D10 ',0
Reply
#4
Looks like the mixer name has a trailing space. I'll need to see what moOde is using as the mixer name and whether the trailing space is being carried forward.

Post output from cmd below.

Code:
moodeutl -l | grep 'Device cfg'
Reply
#5
@Tim Curtis

Ah, yes, the trailing space!

I don't know the details of the Topping D10, but as described on the Topping website, there's more than a passing similarity in system design to that of the Khadas Tone Board I have. 

In particular, they both use the XMOS XU208 to implement the USB-to-I2S interface. I wouldn't be surprised if their XMOS firmware was based on the same understanding of some XMOS "reference" code or even if the writer of the first (likely Topping) implementation was then hired to write the second.

Just a random musing over first cup of coffee for the day.

Regards,
Kent
Reply
#6
@TheOldPresbyope
On your Khadas rig whats the output from cmd below? I think for last release I'd like to slip in an improved routine for parsing out the mixer name :-)

Code:
awk -F"'" '/Simple mixer control/{print "(" $2 ")" ;}' <(amixer -c 0)
Reply
#7
(12-11-2019, 01:48 PM)Tim Curtis Wrote: @TheOldPresbyope
On your Khadas rig whats the output from cmd below? I think for last release I'd like to slip in an improved routine for parsing out the mixer name :-)

Code:
awk -F"'" '/Simple mixer control/{print "(" $2 ")" ;}' <(amixer -c 0)


Here's that along with full amixer outputs for cards 0 and 1:

Code:
pi@moodeLR:~ $ awk -F"'" '/Simple mixer control/{print "(" $2 ")" ;}' <(amixer -c 0)
(PCM)
pi@moodeLR:~ $ amixer -c 0
Simple mixer control 'PCM',0
 Capabilities: pvolume pvolume-joined pswitch pswitch-joined
 Playback channels: Mono
 Limits: Playback -10239 - 400
 Mono: Playback 400 [100%] [4.00dB] [on]
pi@moodeLR:~ $ amixer -c 1
Simple mixer control 'Khadas Tone Control ',0
 Capabilities: pvolume pswitch
 Playback channels: Front Left - Front Right
 Limits: Playback 0 - 127
 Mono:
 Front Left: Playback 127 [100%] [0.00dB] [on]
 Front Right: Playback 127 [100%] [0.00dB] [on]
Simple mixer control 'Khadas Tone Control ',1
 Capabilities: pvolume pvolume-joined pswitch pswitch-joined
 Playback channels: Mono
 Limits: Playback 0 - 127
 Mono: Playback 127 [100%] [0.00dB] [on]
Reply
#8
My bad. Should have been amixer -c 1 in the awk command.

Can you rerun? Thx.
Reply
#9
@Tim Curtis

Oh, duh. Like Winnie the Pooh I'm a bear of very little brain. You probably meant card 1 to begin with. As you can infer from my last response, here's what you get

Code:
pi@moodeLR:~ $ awk -F"'" '/Simple mixer control/{print "(" $2 ")" ;}' <(amixer -c 1)
(Khadas Tone Control )
(Khadas Tone Control )
Reply
#10
(12-11-2019, 12:38 PM)Tim Curtis Wrote: Looks like the mixer name has a trailing space. I'll need to see what moOde is using as the mixer name and whether the trailing space is being carried forward.

Post output from cmd below.

Code:
moodeutl -l | grep 'Device cfg'

Yep...


20191205 150347 worker: Device cfg: Name (USB audio device) | Card (1) | MPDdev (1) | Mixer (PCM) | Alsavol: (0)
Reply


Forum Jump: