TEAC AI-101 Audio DAC Volume not synchronised with alsamixer #1596
Replies: 15 comments 5 replies
-
Please try: # 1
amixer -c 1 -M sset 'MLC3700 AUDIO2.0OUTPUT' 10%
# 2 - with a trailing space after ...OUTPUT
amixer -c 1 -M sset 'MLC3700 AUDIO2.0OUTPUT ' 20% |
Beta Was this translation helpful? Give feedback.
-
These are the results:
#1
rAudio3:~ # amixer -c 1 -M sset 'MLC3700 AUDIO2.0OUTPUT' 10%
amixer: Unable to find simple control 'MLC3700 AUDIO2.0OUTPUT',0
#2
rAudio3:~ # amixer -c 1 -M sset 'MLC3700 AUDIO2.0OUTPUT ' 20%
Simple mixer control 'MLC3700 AUDIO2.0OUTPUT ',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 64
Mono:
Front Left: Playback 43 [19%] [-42.00dB] [on]
Front Right: Playback 43 [19%] [-42.00dB] [on]
I had spotted the trailing space in the name. The system plays at a reasonable volume, but the GUI is not updated (still 100%) and the setting is volatile and is reset when the DAC is restarted.
Mark
|
Beta Was this translation helpful? Give feedback.
-
@rern I am unable to test 20240218. All 3 of my Rpi are on 20240212 and the update is not being offered on the Addons page. Can I trigger the update manually? Mark |
Beta Was this translation helpful? Give feedback.
-
@rern First impressions with the TEAC DAC are good. The audio device now displays as 'USB Audio' whereas it used to display as 'TEAC AI-101' but it does work. I still get a blank drop-down for 'Mixer Device'. I have set the Volume Control to DAC Hardware and can confirm that I can control the volume from the GUI. This gets me up and running again, so I will close this down. Thank you |
Beta Was this translation helpful? Give feedback.
-
@rern re-opened. There's a bit more to the tale. The TEAC DAC has a 'feature' which runs a watchdog timer to switch itself off after a period without any audio input. Prior to rAudio 202402xx it was possible to simply turn the DAC back on again and rAudio would redetect/reconfigure it ready for use again. 20240219 does not do this and simply blanks the Player Output section. The file /srv/http/data/mpdconf/output.conf is removed, and does not re-appear. Here is a section from the journal which shows the DAC power on/off event: Feb 20 14:58:00 rAudio3 upmpdcli[1107]: :3:src/mediaserver/contentdirectory.cxx:179::ContentDirectory: not creating entry for uprcl because neither uprcluser nor uprclautostart are defined in the configuration
Feb 20 14:58:00 rAudio3 upmpdcli[1107]: :3:libupnpp/upnpplib.cxx:267::LibUPnP: Using IPV4 192.168.160.120 port 49152 IPV6 port 49152
Feb 20 14:58:00 rAudio3 upmpdcli[1120]: writing RSA key
Feb 20 14:58:01 rAudio3 sudo[1166]: http : PWD=/srv/http ; USER=root ; COMMAND=/srv/http/bash/status.sh withdisplay
Feb 20 14:58:01 rAudio3 sudo[1166]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=33)
Feb 20 14:58:01 rAudio3 kernel: warning: `kid3-cli' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211
Feb 20 14:58:02 rAudio3 sudo[1166]: pam_unix(sudo:session): session closed for user root
Feb 20 14:58:21 rAudio3 systemd[1]: systemd-hostnamed.service: Deactivated successfully.
Feb 20 14:58:31 rAudio3 sshd[1573]: Accepted password for root from 192.168.160.124 port 64841 ssh2
Feb 20 14:58:31 rAudio3 sshd[1573]: pam_unix(sshd:session): session opened for user root(uid=0) by root(uid=0)
Feb 20 14:59:08 rAudio3 kernel: usb 1-1.4: USB disconnect, device number 4
Feb 20 14:59:09 rAudio3 systemd[1]: Stopping MPD idle...
Feb 20 14:59:09 rAudio3 systemd[1]: mpdidle.service: Deactivated successfully.
Feb 20 14:59:09 rAudio3 systemd[1]: Stopped MPD idle.
Feb 20 14:59:09 rAudio3 systemd[1]: Stopping Music Player Daemon...
Feb 20 14:59:09 rAudio3 upmpdcli[1107]: :2:src/mpdcli.cxx:243::MPDCli::eventloop: mpd_run_idle_mask returned 0
Feb 20 14:59:10 rAudio3 systemd[1]: mpd.service: Deactivated successfully.
Feb 20 14:59:10 rAudio3 systemd[1]: Stopped Music Player Daemon.
Feb 20 14:59:10 rAudio3 systemd[1]: mpd.service: Consumed 1.878s CPU time.
Feb 20 14:59:10 rAudio3 systemd[1]: Starting Music Player Daemon...
Feb 20 14:59:11 rAudio3 mpd[1851]: decoder: Decoder plugin 'wildmidi' is unavailable: configuration file does not exist: /etc/timidity/timidity.cfg
Feb 20 14:59:11 rAudio3 systemd[1]: Started Music Player Daemon.
Feb 20 14:59:11 rAudio3 systemd[1]: Started MPD idle.
Feb 20 14:59:11 rAudio3 upmpdcli[1107]: :3:src/mpdcli.cxx:148::MPDCli::startEventLoop: already started
Feb 20 15:00:32 rAudio3 kernel: usb 1-1.4: new high-speed USB device number 5 using dwc_otg
Feb 20 15:00:33 rAudio3 kernel: usb 1-1.4: device descriptor read/64, error -71
Feb 20 15:00:34 rAudio3 kernel: usb 1-1.4: New USB device found, idVendor=0644, idProduct=8051, bcdDevice= 0.17
Feb 20 15:00:34 rAudio3 kernel: usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 20 15:00:34 rAudio3 kernel: usb 1-1.4: Product: TEAC AI-101 Audio
Feb 20 15:00:34 rAudio3 kernel: usb 1-1.4: Manufacturer: TEAC
Feb 20 15:00:34 rAudio3 kernel: usb 1-1.4: SerialNumber: ACEGIKMOQSUWY0
Feb 20 15:00:35 rAudio3 systemd[1]: Stopping MPD idle...
Feb 20 15:00:35 rAudio3 systemd[1]: mpdidle.service: Deactivated successfully.
Feb 20 15:00:35 rAudio3 systemd[1]: Stopped MPD idle.
Feb 20 15:00:35 rAudio3 systemd[1]: Stopping Music Player Daemon...
Feb 20 15:00:35 rAudio3 upmpdcli[1107]: :2:src/mpdcli.cxx:243::MPDCli::eventloop: mpd_run_idle_mask returned 0
Feb 20 15:00:35 rAudio3 systemd[1]: mpd.service: Deactivated successfully.
Feb 20 15:00:35 rAudio3 systemd[1]: Stopped Music Player Daemon.
Feb 20 15:00:35 rAudio3 systemd[1]: mpd.service: Consumed 1.562s CPU time.
Feb 20 15:00:35 rAudio3 systemd[1]: Starting Music Player Daemon...
Feb 20 15:00:36 rAudio3 mpd[2271]: decoder: Decoder plugin 'wildmidi' is unavailable: configuration file does not exist: /etc/timidity/timidity.cfg
Feb 20 15:00:36 rAudio3 systemd[1]: Started Music Player Daemon.
Feb 20 15:00:36 rAudio3 systemd[1]: Started MPD idle.
Feb 20 15:00:37 rAudio3 upmpdcli[1107]: :3:src/mpdcli.cxx:148::MPDCli::startEventLoop: already started I can either reboot rAudio with the DAC powered on - or use SSH and reload the DAC configuration by executing:
Mark |
Beta Was this translation helpful? Give feedback.
-
Just applied the UPDATE [ecf6bd8] - This has restored the detect/configuration functionality when the DAC powers off/on (hurrah!) but has returned the GUI to insisting the volume is displayed as 100% when it isn't - overall this is an improvement. Thanks for your work on this. Mark |
Beta Was this translation helpful? Give feedback.
-
More info - The following message is logged when the DAC is detected after power off/on:
The GUI volume display jumps to 100% - and playback is at 100%. The Volume Control (speaker icon) on the Player settings page does not alter the volume (the slider slides, but the numps back to 100%). However, if I operate the GUI control I can alter the volume, and this is reflected in the Volume Control on the settings page. I get the feeling the error message and the volume behaviour are linked. The message was NOT logged by the 20240219 release. Here's the output from amixer (for fun) after the DAC is detected, but before the GUI control is operated.
Mark |
Beta Was this translation helpful? Give feedback.
-
@rern Thanks for the 20240226 update. It has improved things but I still get the volume control issue when the self-powered DAC wakes up. The journalctl fragment is as below - note the name of the device is now corrext in the final message: Feb 26 18:09:56 rAudio3 kernel: usb 1-1.4: new high-speed USB device number 6 using dwc_otg
Feb 26 18:09:57 rAudio3 kernel: usb 1-1.4: device descriptor read/64, error -71
Feb 26 18:09:57 rAudio3 kernel: usb 1-1.4: New USB device found, idVendor=0644, idProduct=8051, bcdDevice= 0.17
Feb 26 18:09:57 rAudio3 kernel: usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 26 18:09:57 rAudio3 kernel: usb 1-1.4: Product: TEAC AI-101 Audio
Feb 26 18:09:57 rAudio3 kernel: usb 1-1.4: Manufacturer: TEAC
Feb 26 18:09:57 rAudio3 kernel: usb 1-1.4: SerialNumber: ACEGIKMOQSUWY0
Feb 26 18:10:00 rAudio3 systemd[1]: Stopping MPD idle...
Feb 26 18:10:00 rAudio3 systemd[1]: mpdidle.service: Deactivated successfully.
Feb 26 18:10:00 rAudio3 systemd[1]: Stopped MPD idle.
Feb 26 18:10:00 rAudio3 systemd[1]: Stopping Music Player Daemon...
Feb 26 18:10:00 rAudio3 upmpdcli[863]: :2:src/mpdcli.cxx:243::MPDCli::eventloop: mpd_run_idle_mask returned 0
Feb 26 18:10:00 rAudio3 systemd[1]: mpd.service: Deactivated successfully.
Feb 26 18:10:00 rAudio3 systemd[1]: Stopped Music Player Daemon.
Feb 26 18:10:00 rAudio3 systemd[1]: mpd.service: Consumed 1.581s CPU time.
Feb 26 18:10:00 rAudio3 systemd[1]: Starting Music Player Daemon...
Feb 26 18:10:01 rAudio3 mpd[7947]: decoder: Decoder plugin 'wildmidi' is unavailable: configuration file does not exist: /etc/timidity/timidity.cfg
Feb 26 18:10:01 rAudio3 systemd[1]: Started Music Player Daemon.
Feb 26 18:10:01 rAudio3 systemd[1]: Started MPD idle.
Feb 26 18:10:02 rAudio3 mpd[7947]: ALSA lib confmisc.c:165:(snd_config_get_card) Cannot get card index for 2
Feb 26 18:10:02 rAudio3 mpd[7947]: mixer: Failed to read mixer for 'TEAC TEAC AI-101 Audio': failed to attach to hw:2: No such file or directory The GUI volume control jumps to 100% when the DAC reappears, but it does now operate as expected. It would be nice if it reverted back to the previous setting (like it used to do) but I can live with this for now. Thanks - I appreciate this must be a tricky problem to solve! |
Beta Was this translation helpful? Give feedback.
-
I tried that. It makes no difference to the behaviour. I'm not sure whether this was what you expected? |
Beta Was this translation helpful? Give feedback.
-
UPDATE branch is working pretty well. I can control the volume level using either the GUI or the slider on the Settings-Player page. The DAC plays at the previous volume level when it powers back on. The only remaining problem is the GUI still shows the setting at 100% when transitioning from (beween) play<->stop. The value in amixer remains the expected one and is not altered. A refresh of the browser makes it display the correct value. |
Beta Was this translation helpful? Give feedback.
-
Now applied 202403031. The GUI now insists the volume is set at 0% when the DAC powers up - amixer does get loaded with the expected (previous) value. If anything, this is a slight improvement as I don't risk blowing out my speaker cones if I carelessly move the GUI volume control ;-) I do wonder whether it is worth doing a new clean install just in case there's anything left lying around from earlier experimentation/fiddling. I'll get round to doing this in the morning, probably. |
Beta Was this translation helpful? Give feedback.
-
Confirmed - that does fix it. Thank you! |
Beta Was this translation helpful? Give feedback.
-
I have edited the title of this discussion as the original (Always 100%) is no longer accurate. Now running 20240310 and the behaviour has altered but is still not as expected. Expected behaviour is:
When using the BCM2833 Headphone card, the expected behaviour does occur - but it requires the page to be refreshed in the browser before the GUI changes are reflected. In other words, the web GUI isn't being updated in 'real time'. However, when using the TEAC AI-101 card: expected behaviour 1 is happening, but expected behaviour 2 is not. After modifying the volume level in alsamixer and subsequently refreshing the player page the volume displayed in the GUI is NOT the same as that in alsamixer. I haven't yet spotted any correlation between the 2 values. |
Beta Was this translation helpful? Give feedback.
-
I've worked around this issue for now by disabling Volume Control on the Setting/Player page. I have pre-selected a volume setting using the |
Beta Was this translation helpful? Give feedback.
-
That is working better. The Setting/Player page has no speaker icon next to Mixer Device and the Volume knob in the GUI shows 0 when the DAC powers on. Operating the Volume knob causes the alsamixer setting to change and both display the same value, but altering the setting in alsamixer doesn't affect the GUI display. However, the crucial part for me is that alsamixer is correctly loaded with the previous value when the DAC reappears. |
Beta Was this translation helpful? Give feedback.
-
I originally commented on Volume jumps to 100 and sometimes back #1584 but now feel that my issue, although probably related, is sufficiently different to make it worth opening a new discussion.
The TEAC DAC is a self-powered USB Audio device. When it is powered up rAudio does recognise and configure it but the volume immediately goes to 100% and cannot be controlled from the GUI. alsamixer can control the volume but this is not reported back in the GUI. the following is a record of what happens when the DAC is powered up. I feel that the relevant clue is the error message at the end of the journalctl fragment.
rAudio3:~ # journalctl -f
Feb 14 13:19:15 rAudio3 kernel: usb 1-1.4: new high-speed USB device number 12 using dwc_otg
Feb 14 13:19:16 rAudio3 kernel: usb 1-1.4: device descriptor read/64, error -71
Feb 14 13:19:16 rAudio3 kernel: usb 1-1.4: New USB device found, idVendor=0644, idProduct=8051, bcdDevice= 0.17
Feb 14 13:19:16 rAudio3 kernel: usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 14 13:19:16 rAudio3 kernel: usb 1-1.4: Product: TEAC AI-101 Audio
Feb 14 13:19:16 rAudio3 kernel: usb 1-1.4: Manufacturer: TEAC
Feb 14 13:19:16 rAudio3 kernel: usb 1-1.4: SerialNumber: ACEGIKMOQSUWY0
Feb 14 13:19:18 rAudio3 systemd[1]: Stopping MPD idle...
Feb 14 13:19:18 rAudio3 systemd[1]: mpdidle.service: Deactivated successfully.
Feb 14 13:19:18 rAudio3 systemd[1]: Stopped MPD idle.
Feb 14 13:19:18 rAudio3 systemd[1]: Stopping Music Player Daemon...
Feb 14 13:19:18 rAudio3 upmpdcli[1057]: :2:src/mpdcli.cxx:243::MPDCli::eventloop: mpd_run_idle_mask returned 0
Feb 14 13:19:18 rAudio3 systemd[1]: mpd.service: Deactivated successfully.
Feb 14 13:19:18 rAudio3 systemd[1]: Stopped Music Player Daemon.
Feb 14 13:19:18 rAudio3 systemd[1]: mpd.service: Consumed 1.611s CPU time.
Feb 14 13:19:18 rAudio3 systemd[1]: Starting Music Player Daemon...
Feb 14 13:19:19 rAudio3 mpd[148641]: decoder: Decoder plugin 'wildmidi' is unavailable: configuration file does not exist: /etc/timidity/timidity.cfg
Feb 14 13:19:20 rAudio3 systemd[1]: Started Music Player Daemon.
Feb 14 13:19:20 rAudio3 systemd[1]: Started MPD idle.
Feb 14 13:19:20 rAudio3 upmpdcli[1057]: :3:src/mpdcli.cxx:148::MPDCli::startEventLoop: already started
Feb 14 13:19:20 rAudio3 mpd[148641]: ALSA lib confmisc.c:165:(snd_config_get_card) Cannot get card index for 1
Feb 14 13:19:20 rAudio3 mpd[148641]: mixer: Failed to read mixer for 'TEAC AI-101 Audio': failed to attach to hw:1: No such file or directory
^C
rAudio3:~ # cat /proc/asound/card1/usbmixer
USB Mixer: usb_id=0x06448051, ctrlif=0, ctlerr=0
Card: TEAC TEAC AI-101 Audio at usb-3f980000.usb-1.4, high speed
Unit: 10
Control: name="MLC3700 AUDIO2.0OUTPUT Playback Volume", index=1
Info: id=10, control=2, cmask=0x0, channels=1, type="S16"
Volume: min=-32767, max=0, dBmin=-12799, dBmax=0
Unit: 10
Control: name="MLC3700 AUDIO2.0OUTPUT Playback Volume", index=0
Info: id=10, control=2, cmask=0x3, channels=2, type="S16"
Volume: min=-32767, max=0, dBmin=-12799, dBmax=0
Unit: 10
Control: name="MLC3700 AUDIO2.0OUTPUT Playback Switch", index=1
Info: id=10, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
Volume: min=0, max=1, dBmin=0, dBmax=0
Unit: 10
Control: name="MLC3700 AUDIO2.0OUTPUT Playback Switch", index=0
Info: id=10, control=1, cmask=0x3, channels=2, type="INV_BOOLEAN"
Volume: min=0, max=1, dBmin=0, dBmax=0
rAudio3:~ # cat /srv/http/data/mpdconf/output.conf
audio_output {
name "TEAC AI-101 Audio"
device "hw:1,0"
type "alsa"
auto_resample "no"
auto_format "no"
mixer_type "hardware"
mixer_control "MLC3700 AUDIO2.0OUTPUT "
mixer_device "hw:1"
}
rAudio3:~ # amixer
Simple mixer control 'MLC3700 AUDIO2.0OUTPUT ',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 64
Mono:
Front Left: Playback 64 [100%] [0.00dB] [on]
Front Right: Playback 64 [100%] [0.00dB] [on]
Simple mixer control 'MLC3700 AUDIO2.0OUTPUT ',1
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 64
Mono: Playback 64 [100%] [0.00dB] [on]
Beta Was this translation helpful? Give feedback.
All reactions