Mais où est passé le son ? :)

Et voilà … encore dans le cambouis :(
Difficile de mettre à jour le Bottin – qui contient à présent pas mal de vidéos, sans que le son ne fonctionne.
Je pensais pourtant pas trop mal me débrouiller sur le sujet avec un Pulseaudio fonctionnel, mais çà n’aura pas duré bien longtemps :))

Tout à commencé par une idée à la c.. de ma part :) Comme d’hab’ :)
Avant-hier j’ai passé un temps certain à vouloir installer le petit icône de lettre / enveloppe (dans la zone de notification) trop joli que l’on voit sur toutes les distribs UBUNTU branchées quand l’utilisateur reçoit un mail.
Après des recherches plus ou moins fructueuses (traduisez : je n’y suis pas parvenu mais j’ai trouvé autre chose), mon côté parano a refais surface en me faisant me poser la question : (j’ai un compte gmail, déjà çà … mais bon çà fonctionne bien, c’est facile, c’est gratuit, il n’y a pas trop de limitations, …) ai-je vraiment envie – en plus de confier mon courrier à Google ainsi que mon adresse IP, de leur signaler précisément quand je suis connecté / déconnecté (même si ce n’est pas ultra confidentiel vous me direz) ?
En effet ce petit truc va forcément relever le courrier très régulièrement pour qu’il soit efficace, signalant assez précisément mes connexions. Bon bref, à chacun de voir (il y a certainement autant d’avis que d’internautes).

Du coup je me suis dis que çà serait sympa et moins intrusif d’avoir une petite enveloppe dans la zone de notification quand un message système arrive. J’utilise Exim4 pour ces messages systèmes, qui me balance tout dans /var/mail/nom_de_l_utilisateur.
Comme d’habitude j’ai donc filtré sous Synaptic les logiciels en rapport et installé tout un tas de trucs.
Je crois que celui qui fonctionne actuellement est mail-notification. J’ai aussi installé gnome-shell-mailnag.
L’icône de l’enveloppe est en fait ici remplacé par 2 icônes que je trouve moins jolis : une enveloppe et un timbre-poste.
Dans le lot il y a un avertisseur de courrier que je dirige vers /var/mail/nom_de_l_utilisateur
Après j’ai passé un certain temps pour trouver comment utiliser icedove pour lire ce fichier au format mbox (sous Icedove il faut spécifier un nouveau compte « Movemail d’Unix » (Ajouter un autre compte>Unix Mailspool (Movemail)) avec pour nom de serveur localhost et le nom d’utilisateur et dans paramètres serveur > Parcourir > mettre /var/mail. Quant au nom et à l’adresse électronique ils n’ont pas vraiment d’importance).
Bon, çà marche, j’ai une petite enveloppe et un timbre poste (pas très sexys à côté des autres icônes monochromes :) ) quand j’ai un message système, et un clic droit me l’envoi sur Icedove dans lequel je peux lire les longues lettres de mon système d’exploitation.

Sauf que c’est super rasoir :) Il m’écrit tous les jours, plusieurs fois par jour, toujours la même chose, et il ne sait pas faire court (du moins par défaut, sans aller trifouiller encore dans un fichier /etc/ quelque-part) et clair.
Dans cette application de surveillance, on peut associer un évènement sonore à l’arrivée d’un nouveau message : cool.
Sauf que je n’entendais pas de son dans le lecteur. Je me suis dis qu’il utilisais peut être un lecteur non installé (genre sox).
J’ai encore installé tout un tas de trucs.
Et c’est là que je remarque que les ennuis commencent …
Ma distrib n’émet plus aucun son :( Je n’ai plus le plaisir d’entendre les pubs incessantes des vidéos Youtube. Quoi que çà c’est pas mal :)

J’ai vérifié que le volume sonore est bien à son maxi sur mon moniteur.
Je n’ai plus le sélecteur de volume sonore dans la zone de notification. Dans le centre de contrôle, quand je clique sur l’icône du son, aux onglets matériel, Entrée, Sortie, je n’ai plus aucun matériel listé.

Il se trouve que j’avais écris une doc sur Pulseaudio il n’y a pas longtemps : Quelques News – Transition de KDE à Gnome, et doc sur le son sous Gnome
Je l’ai écris le 16 août 2015, çà fait un peu plus de 6 mois, et je m’aperçois qu’elle est déjà obsolète :)
Ils sont prolifiques nos développeurs Linuxiens (sans ironie de ma part), bravo et merci !
C’est juste que ce n’est pas facile à suivre (jamais content)
.
Visiblement il y avait des inexactitudes dans cette doc, voir ci-après.

Précision importante : mes deux PC sont actuellement en Debian Sid et à jour, et l’un (PC internet) a le son, et pas l’autre (le PC du Bottin).

Dans cette doc je précisais donc:
(je met directement les modifs ci-dessous, avec un « => »)

Les paquets indispensables :
linux-sound-base alsa-base alsa-utils libasound2 : le minimum vital pour le son ALSA sous Linux
=> linux-sound-base : je ne comprend pas, j’ai dû faire une erreur, ce paquet n’est même plus listé dans les dépôts Debian – sauf dans les archives de Lenny.
=> alsa-base : selon l’info liée au paquet, ce n’est plus qu’un paquet factice vide ayant pour seul objet d’assurer que les fichiers kmod seront supprimés du système. Cette fonctionnalité est maintenant fournie par kmod.
pulseaudio : le serveur de son
pavucontrol : permet de contrôler les périphériques de lecture, de sortie, d’enregistrement, les périphériques d’entrée, et de choisir le type de sortie
=>utile mais pas indispensable, n’est pas installé sur mon autre PC (PC internet, et fonctionne bien).
paman (PulseAudio MANager) : permet de connecter/déconnecter PulseAudio, d’afficher et tuer les clients, d’afficher les devices reconnus). Surtout utile à mon avis pour voir si PulseAudio est bien connecté
=>utile mais pas indispensable, n’est pas installé sur mon autre PC (PC internet, et fonctionne bien).

Les paquets fortement recommandés :
padevchooser : Permet d’afficher les contrôles principaux dans le Systray. Avantage sous gnome (par rapport à pasystray ou veromix) : il se charge automatiquement dans le Systray au démarrage suivant.

Lorsque je lance paman en console, en bas de l’interface il m’affiche : « Failure: Connexion refusée ». Je tente de cliquer sur le bouton « Connect », mais çà ne change rien.
En console je lance :
$ pulseaudio
E: [pulseaudio] module.c: Failed to load module « module-alsa-source » (argument: « device=hw:0,0 »): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Échec lors de l’initialisation du démon

Je compare les 2 synaptics (celui du PC Internet où le son fonctionne et celui-ci), ce qui me conduit à désinstaller (je ne vois pour l’instant pas comment m’en sortir autrement qu’en reproduisant la même config) :
Filtrage sur « module-alsa » :

alsaplayer-alsa
alsaplayer-common
alsaplayer-oss
audacious-plugins

Ok, je pense avoir trouvé (j’aurais dû lire ma précédente doc un peu plus bas) : je me suis une nouvelle fois fais avoir avec cette saloperie d’oss4-base (et autres paquets oss4) qui m’a blacklisté tous les modules de sons dans /etc/modprobe.d.
Je commence par le désinstaller !
(je suis sûr que çà va mieux marcher maintenant).

Oups, j’ai oublié de mettre à jour ce post : je confirme, çà a marché ! :)
Le souci venait bien de l’installation (une nouvelle fois par mégarde) du paquet oss4 qui blacklistait tous les modules alsa.

—————————————————————————
Nouveau problème le 5 juillet, après une mise à jour de Pulseaudio.

J’ai mis à jour Pulseaudio et il m’a proposé de remplacer son fichier de configuration, ce que j’ai accepté, étant persuadé qu’il n’était pas spécifique (et malgré probablement – car je ne m’en souviens plus, sa mise en garde d’une modif précédente du fichier par mes soins).
Au démarrage suivant plus de son, j’ai pensé à un petit bug qui serait résolu dans les jours suivants. N’étant pas très disponible dans la période, j’ai essayé sur plusieurs jours différents trucs qui n’ont pas fonctionnés.

Précisions :
– le PC en question a une interface sonore intégrée à la carte mère, un lscpci donne :
$ lspci
(…)
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
(…)
– sur ce même PC est connecté en USB, un casque avec micro (de marque Tritton), qui lorsqu’il est reconnu apparaît en « TRITTON AX 180 Headset stéréo numerique (IEC958) »

La solution : dans /etc/pulse/default.pa
il fallait que j’ajoute la ligne :
load-module module-alsa-source device=hw:0,0

(je ne me rappelle plus où j’avais pioché cette ligne :))

A noter qu’il est précisé dans ce même fichier :
### Load audio drivers statically
### (it’s probably better to not load these drivers manually, but instead
### use module-udev-detect — see below — for doing this automatically)

et j’ai bien après un paragraphe :
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif

mais il ne semble pas parvenir à le détecter automatiquement, d’où la présence de ma ligne.

La commande : # lsmod
et la commande : modprobe module-udev-detect
n’affichent pas de module dénommé « module-udev-detect »
Mais une recherche sous Synaptic avec ce même libellé affiche le paquet pulseaudio-module-udev qui n’est pas installé.
« This module enables PulseAudio to discover available sinks and sources via udev. »

Ni une, ni deux, je commente ma ligne précédente :
#load-module module-alsa-source device=hw:0,0

et j’installe le paquet pulseaudio-module-udev, et redémarre …
Problème : le casque USB est alors bien reconnu et fonctionne par défaut, mais pas l’interface de son principale :))

Pour simplifier, et parce que j’ai envie d’avancer dans le Bottin, j’ai donc choisi de remettre ma ligne :
load-module module-alsa-source device=hw:0,0
et j’ai laissé installé le paquet pulseaudio-module-udev
(pourquoi ce paquet n’est-il pas installé en même temps que pulseaudio par un jeu de dépendances ???)

Et à présent çà fonctionne bien, le clic droit sur l’icône du haut-parleur dans le systray puis « Préférences du son » puis « onglet matériel » me fait bien apparaître :

Audio interne
1 sortie / 1 entrée
Stéréo analogique output

TRITTON AX 180 Headset
1 sortie / 1 entrée
Stéréo numérique (IEC958) Output

Et surtout, le son fonctionne bien.
C’est tout ce que je demande :)

Laisser un commentaire