12-18-2024, 10:47 AM
(This post was last modified: 12-18-2024, 10:48 AM by Tim Curtis.)
This error suggests the fixed piano driver might not be exposing sone ALSA controls.
Try this command in the home directory that prints the controls
Then try the mixer command and see if the control named "Item0" exists and if so are the modes listed for example "Dual Mode", "Subwoofer mode" etc
This is the code block in /var/www/util/sysutil.sh that handles piano controls. The same commands are used in the home dir ./piano.sh script.
Code:
20241218 104130 worker: Allo Piano 2.1: mode set to amixer: Unable to find simple control 'Dual Mode',0
Try this command in the home directory that prints the controls
Code:
./piano.sh
Then try the mixer command and see if the control named "Item0" exists and if so are the modes listed for example "Dual Mode", "Subwoofer mode" etc
Code:
mixer
This is the code block in /var/www/util/sysutil.sh that handles piano controls. The same commands are used in the home dir ./piano.sh script.
Code:
# Get/Set for Allo Piano 2.1 DAC
if [[ $1 = "get-piano-dualmode" || $1 = "set-piano-dualmode" || $1 = "get-piano-submode" || $1 = "set-piano-submode" || $1 = "get-piano-lowpass" || $1 = "set-piano-lowpass" || $1 = "get-piano-subvol" || $1 = "set-piano-subvol" ]]; then
if [[ $1 = "get-piano-dualmode" ]]; then
awk -F"'" '/Item0/ {print $2; count++; if (count==1) exit}' <(amixer -c 0 sget "Dual Mode")
exit
elif [[ $1 = "set-piano-dualmode" ]]; then
amixer -c 0 sset "Dual Mode" "$2" >/dev/null
exit
elif [[ $1 = "get-piano-submode" ]]; then
awk -F"'" '/Item0/ {print $2; count++; if (count==1) exit}' <(amixer -c 0 sget "Subwoofer mode")
exit
elif [[ $1 = "set-piano-submode" ]]; then
amixer -c 0 sset "Subwoofer mode" "$2" >/dev/null
exit
elif [[ $1 = "get-piano-lowpass" ]]; then
awk -F"'" '/Item0/ {print $2; count++; if (count==1) exit}' <(amixer -c 0 sget "Lowpass")
exit
elif [[ $1 = "set-piano-lowpass" ]]; then
amixer -c 0 sset "Lowpass" "$2" >/dev/null
exit
elif [[ $1 = "get-piano-subvol" ]]; then
awk -F"[][]" '/%/ {print $2; count++; if (count==1) exit}' <(amixer -c 0 sget "Subwoofer")
exit
elif [[ $1 = "set-piano-subvol" ]]; then
amixer -c 0 sset "Subwoofer" "$2%" >/dev/null
exit
fi
fi