Restauration des paramètres de AlsaMixer

Vous avez réalisé ou vous voulez réaliser un truc impensable avec votre Raspberry Pi ? Cet endroit est pour vous...

Modérateur : Francois

Répondre
Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Restauration des paramètres de AlsaMixer

Message par Artemus24 » dim. 19 nov. 2023 13:39

Salut à tous.

Je teste la volumétrie du son dans VLC sous BookWorm à partir du bureau.
J'ai branché le casque sur la prise jack et j'ai sélectionné dans VLC HeadPhone.
J'ai modifié le son en passant par alsamixer puis je reboote la Raspberry PI.

Je teste le son, c'est comme si je n'avais rien fait.
Je vérifie que le fichier existe bien "/var/lib/alsa/asound.state" et c'est bien le cas
Je vérifie le service :

Code : Tout sélectionner

root@raspberrypi:~# systemctl status alsa-restore.service
● alsa-restore.service - Save/Restore Sound Card State
     Loaded: loaded (/lib/systemd/system/alsa-restore.service; static)
     Active: active (exited) since Sun 2023-11-19 13:01:53 CET; 5min ago
       Docs: man:alsactl(1)
    Process: 696 ExecStart=/usr/sbin/alsactl -E HOME=/run/alsa -E XDG_RUNTIME_DIR=/run/alsa/runtime restore (code=exited, status=0/SU>
   Main PID: 696 (code=exited, status=0/SUCCESS)
        CPU: 26ms

nov. 19 13:01:53 raspberrypi systemd[1]: Starting alsa-restore.service - Save/Restore Sound Card State...
nov. 19 13:01:53 raspberrypi alsactl[696]: alsa-lib main.c:1541:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
nov. 19 13:01:53 raspberrypi alsactl[696]: alsa-lib main.c:1541:(snd_use_case_mgr_open) error: failed to import hw:1 use case configuration -2
nov. 19 13:01:53 raspberrypi alsactl[696]: alsa-lib main.c:1541:(snd_use_case_mgr_open) error: failed to import hw:2 use case configuration -2
nov. 19 13:01:53 raspberrypi systemd[1]: Finished alsa-restore.service - Save/Restore Sound Card State.
root@raspberrypi:~#
Il est actif mais j'ai des erreurs.

Je fais "sudo alsactl restore". Je teste et cette fois-ci le son est fort !
Mais toujours avec les mêmes erreurs :

Code : Tout sélectionner

root@raspberrypi:~# sudo alsactl restore
alsa-lib main.c:1541:(snd_use_case_mgr_open) error: failed to import hw:0 use case configuration -2
alsa-lib main.c:1541:(snd_use_case_mgr_open) error: failed to import hw:1 use case configuration -2
alsa-lib main.c:1541:(snd_use_case_mgr_open) error: failed to import hw:2 use case configuration -2
root@raspberrypi:~#
Je consulte le service :

Code : Tout sélectionner

root@raspberrypi:~# cat /lib/systemd/system/alsa-restore.service
#
# Note that two different ALSA card state management schemes exist and they
# can be switched using a file exist check - /etc/alsa/state-daemon.conf .
#

[Unit]
Description=Save/Restore Sound Card State
Documentation=man:alsactl(1)
ConditionPathExists=!/etc/alsa/state-daemon.conf
ConditionPathExistsGlob=/dev/snd/control*
After=alsa-state.service

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=-/usr/sbin/alsactl -E HOME=/run/alsa -E XDG_RUNTIME_DIR=/run/alsa/runtime restore
ExecStop=-/usr/sbin/alsactl -E HOME=/run/alsa -E XDG_RUNTIME_DIR=/run/alsa/runtime store
root@raspberrypi:~#
Je vais dans Raspi-Config, et je sélectionne pour l'audio (6 Advances Options / A7 Audio Config) "PulseAudio".
Avant, j'avais "PipeWire" ! Je refais le teste du son dans VLC et là, ça fonctionne.

Si j'ai bien compris la nature du problème, ça fonctionne sous PulseAudio, mais pas sous PipeWire.
Je remets "PipeWire" dans Raspi-Config et je reboote ma Raspberry. Résultat : ca ne fonctionne plus.
Comme qui dirait un bug que la fondation n'a pas résolu !!!

Comment faire sous PipeWire que la restauration du paramétrage de alsamixer soit bien prise en compte ?

@+
Modifié en dernier par Artemus24 le dim. 19 nov. 2023 18:00, modifié 1 fois.
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

piper
Raspinaute
Messages : 658
Enregistré le : sam. 5 juin 2021 18:57

Re: Restauration des paramètres de AlsaMixer

Message par piper » dim. 19 nov. 2023 16:22

Je vais poser une question bête :
avant de faire alsactl restore (qui restaure les paramètres sauvegardés)
avais-tu fait alsactl store ? (qui sauvegarde les paramètres)

On ne sait jamais, des boulettes, j'en fait aussi
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Restauration des paramètres de AlsaMixer

Message par Artemus24 » dim. 19 nov. 2023 18:04

J'ai modifié le volume du son de HeadPhone en passant par alsamixer.
Après le reboot, j'ai constaté qu'il était encore au minimum, comme si ma modification n'avait pas été prise en compte.
Je constate bien la présence du fichier "/var/lib/alsa/asound.state".
Je fais ensuite un "sudo alsactl store" et après reboot, le son est encore au minimum.
Si je fais un "sudo alsactl restore", j'obtiens la modification que j'ai faite dans alsamixer.

Maintenant, si je bascule de PipeWire vers PulseAudio, je n'ai plus ce problème.
Ce n'est pas une boulette mais bien une constatation que j'ai faite sur le volume du son quand je suis sous PipeWire.
Modifié en dernier par Artemus24 le lun. 20 nov. 2023 00:46, modifié 1 fois.
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

piper
Raspinaute
Messages : 658
Enregistré le : sam. 5 juin 2021 18:57

Re: Restauration des paramètres de AlsaMixer

Message par piper » dim. 19 nov. 2023 19:59

Tu n'as pas compris, la boulette aurait été d'oublier de faire un alsactl store
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Restauration des paramètres de AlsaMixer

Message par Artemus24 » lun. 20 nov. 2023 11:06

Alsamixer fait un "alsactl store" quand tu modifies les paramètres. Je l'ai vérifié puis que j'ai détruit le fichier "/var/lib/alsa/asound.state" avant de modifier le paramétrage.

Je l'ai fait aussi manuellement, puis un reboot et enfin un "alsactl restore" et ça fonctionne. Je précise que je l'ai fait aussi bien sous PulseAudio que sous PipeWire

Le problème ne vient pas des commandes de alsa, mais plutôt si elles sont exécutés ou pas. Si tu es en PulseAudio, le test audio fonctionne mais pas si tu es en "PipeWire". Je le comprends ainsi.

J'ai refait plus fois les tests en modifiant le paramétrage dans Raspi-config (Puleaudio ou PipeWire) avant de poster mon sujet. Maintenant, je cherche une solution dans le cas où je suis en PipeWire, sans faire une bidouille quelconque.
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

dyox
Raspinaute
Messages : 970
Enregistré le : dim. 28 déc. 2014 15:28
Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe

Re: Restauration des paramètres de AlsaMixer

Message par dyox » lun. 20 nov. 2023 11:22

Salut Artemus,

Je pense que tous tes problèmes viennent du fait que l'OS n'est pas assez mature. A ta place je reviendrai dessus d'ici la prochaine grande mise à jour.
En attendant, tu peux voir les commits et issues du système : https://github.com/raspberrypi/linux/commits/rpi-6.1.y

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Restauration des paramètres de AlsaMixer

Message par Artemus24 » lun. 20 nov. 2023 12:11

Salut Dyox.

Ce n'est pas ça qui va m'empêcher de dormir. Chercher ce qui ne fonctionne pas trop bien est un passe temps comme un autre.
Je ne vais pas de toute façon modifier quoi que ce soit car j'utilise PulseAudio et non PipeWire.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

piper
Raspinaute
Messages : 658
Enregistré le : sam. 5 juin 2021 18:57

Re: Restauration des paramètres de AlsaMixer

Message par piper » lun. 20 nov. 2023 22:43

Tout à fait d'accord :
Chercher et comprendre est un excellent moyen d'apprendre et au delà, de mettre ses connaissances à niveau sur les nouveaux produits et logiciels.
Je suis un grand partisan de cette approche qu'on soit juste passionné ou professionnel (évidemment on ne bidouille pas sur les serveurs de production, mais un de test qui prenait la poussière).
C'est d'ailleurs par l'expérimentation que les jeunes apprennent le mieux (et en générale seuls)

Il faut bien voir que sur Rapi-OS , ils ont eu la volonté de simplifier au maximum la vie des utilisateurs avec raspi-config. Et avec les dernières évolutions, il lui est demandé de faire de plus en plus de choses et des choses pas simples du tout (switch entre wayland et X11 donc potentiellement entre vncserver et wayvnc, switch entre pulseaudio et pirewire : quand on le fait à la mimine, il faut souvent s'adapter d'une distrib à l'autre, d'une version version de distrib à l'autre, d'un bureau à l'autre).
Je pense que là, avec raspi-config, ils ont eu les yeux plus gros que le ventre.
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Restauration des paramètres de AlsaMixer

Message par Artemus24 » mar. 21 nov. 2023 06:35

Je pense que c'est une erreur d'avoir fait en une seule fois autant d'évolution, sans que les autres logiciels se soient adaptés comme realvnc à wayland.
La solution consiste à mettre au démarrage de la raspberry pi la commande "alsactl restore".
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Répondre

Retourner vers « Utilisateurs avancés »