[SON] "Sortie factice" pour certains utilisateurs

Bonjour à tou-te-s,

Ce matin quelle ne fût pas ma surprise au démarrage de me retrouver sans son :

En effet, ma carte son n’est plus listée dans les sorties possibles mais à la place se trouve une “Sortie factice”, confirmée par la commande suivante :

[code]$ pacmd list-sinks

Welcome to PulseAudio! Use “help” for usage information.

1 sink(s) available.
index: 0
name: <auto_null>
driver: <module-null-sink.c>
flags: DECIBEL_VOLUME LATENCY FLAT_VOLUME DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 1000
volume: 0: 100% 1: 100%
0: 0,00 dB 1: 0,00 dB
balance 0,00
base volume: 100%
0,00 dB
volume steps: 65537
muted: no
current latency: 0,00 ms
max request: 344 KiB
max rewind: 344 KiB
monitor source: 1
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
Stéréo
used by: 0
linked by: 0
configured latency: 0,00 ms; range is 0,50 … 2000,00 ms
module: 9
properties:
device.description = “Sortie factice”
device.class = “abstract”
device.icon_name = “audio-card”[/code]

Pourtant ma carte son est reconnue :

$ aplay -l **** Liste des Périphériques Matériels PLAYBACK **** carte 0: PCH [HDA Intel PCH], périphérique 0: ALC282 Analog [ALC282 Analog] Sous-périphériques: 1/1 Sous-périphérique #0: subdevice #0

Et plus fou encore, le test des haut-parleurs me permet bien d’entendre du son (mes haut-parleurs sont bien branchés et le bouton ON enclenché :wink: ) :

[code]$ speaker-test -c2 -D hw:0,0 -l2 -twav

speaker-test 1.0.25

Le périphérique de lecture est hw:0,0
Les paramètres du flux sont 48000Hz, S16_LE, 2 canaux
fichier(s) WAV
La fréquence est 48000Hz (demandée 48000Hz)
L’intervalle de la taille du tampon est de 64 à 16384
L’intervalle de la taille de la période est de 32 à 8192
Taille max. de tampon 16384 utilisée
Périodes = 4
was set period_size = 4096
was set buffer_size = 16384
0 - Avant Gauche
1 - Avant Droit[/code]

Avec un autre utilisateur sur ma machine je n’ai pas cette “sortie factice” et je vois bien ma carte son. J’ai donc l’impression qu’il y a un problème lié à mon compte.

Pourtant même en faisant les commandes suivantes et en redémarrant la sortie factice est toujours là (et pas de son) :

[code]$ rm ~/.pulse-cookie

alsa force-reload

Unloading ALSA sound driver modules: snd-pcm-oss snd-mixer-oss snd-seq-midi snd-seq-midi-event snd-seq snd-rawmidi snd-seq-device snd-hda-codec-realtek snd-hda-intel snd-hda-codec snd-hwdep snd-pcm snd-page-alloc snd-timer (failed: modules still loaded: snd-hda-codec-realtek snd-hda-intel snd-hda-codec snd-hwdep snd-pcm snd-page-alloc snd-timer).
Loading ALSA sound driver modules: snd-pcm-oss snd-mixer-oss snd-seq-midi snd-seq-midi-event snd-seq snd-rawmidi snd-seq-device snd-hda-codec-realtek snd-hda-intel snd-hda-codec snd-hwdep snd-pcm snd-page-alloc snd-timer.[/code]

On voit ici que le module snd-hda-intel est bien chargé…

En regardant les logs des dernières mises à jour je ne vois pas, a priori, de paquets qui aurait pu endommager pulseaudio ou alsa, d’autant plus qu’un autre utilisateur peut avoir du son :

[code]$ tail /var/log/apt/history.log
Start-Date: 2015-03-12 19:24:38
Upgrade: libssh2-1:amd64 (1.4.2-1.1, 1.4.2-1.1+deb7u1), libssh2-1:i386 (1.4.2-1.1, 1.4.2-1.1+deb7u1), google-chrome-stable:amd64 (41.0.2272.76-1, 41.0.2272.89-1)
End-Date: 2015-03-12 19:25:13

Start-Date: 2015-03-13 08:15:49
Commandline: apt-get upgrade
Upgrade: libgcrypt11:amd64 (1.5.0-5+deb7u2, 1.5.0-5+deb7u3), libgcrypt11:i386 (1.5.0-5+deb7u2, 1.5.0-5+deb7u3), gpgv:amd64 (1.4.12-7+deb7u6, 1.4.12-7+deb7u7), gnupg:amd64 (1.4.12-7+deb7u6, 1.4.12-7+deb7u7)
End-Date: 2015-03-13 08:16:08

Start-Date: 2015-03-14 11:17:16
Commandline: apt-get upgrade
Upgrade: libnss3:amd64 (3.14.5-1+deb7u3, 3.14.5-1+deb7u4), libnss3:i386 (3.14.5-1+deb7u3, 3.14.5-1+deb7u4), libnss3-1d:amd64 (3.14.5-1+deb7u3, 3.14.5-1+deb7u4), libnss3-1d:i386 (3.14.5-1+deb7u3, 3.14.5-1+deb7u4)
End-Date: 2015-03-14 11:17:27[/code]

Quelqu’un aurait une idée lumineuse à part recréer un nouvel utilisateur et copier le /home ? Car pour les autres utilisateurs il y a un autre problème, j’ai du son mais pas la sortie HDMI disponible…

Merci par avance :slightly_smiling:
François

utiliser pavucontrol pour remettre la bonne carte?

Je ne peux pas remettre la carte son via pavucontrol. Il n’y a que “sortie factice”.

Par contre je remarque que l’option HDMI a disparu dans les profils… Contrairement à hier soir où je l’avais toujours. Se pourrait-il que ce soit lié ?

votre capture d’écran ne correspond pas à pavucontrol et quelle est votre version debian?

La première capture dans le premier message n’y correspond pas en effet. Voici ce que donne pavucontrol :

Sinon je suis sur une Wheezy :

$ cat /etc/issue Debian GNU/Linux 7 \n \l

Je confirme que je n’ai plus non plus de son en HDMI (l’affichage fonctionne).

vérifiez bien que le son ne soit pas sur mute(icône haut parleur avec la croix).Ouvrez un fichier audio et dans pavucontrol ouvrez l’onglet “lecture” et voyez ce qui se passe.

quelle sortie pour:

cat /proc/asound/cards

et

cat /proc/asound/modules

Le son n’est pas muet, j’avais vérifié en premier lieu, le câble est également bien branché et le volume assez fort sur les hauts-parleurs.

Lorsque je lance de la musique dans VLC je vois le son sur la sortie factice sur pavucontrol :

La carte son semble être reconnue et le bon module chargé :

[code]# cat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xc1610000 irq 46

cat /proc/asound/modules

0 snd_hda_intel[/code]

dans pavucontrol—>onglet “périphériqueq de sortie”—> en bas du cadre il y a écrit"afficher"et là vous choisissez All Output Devices et voyez

Bon en fait en cherchant autre part j’ai trouvé. Voici la solution pour mon cas (j’ignore toujours la cause d’origine) :

# vim /etc/pulse/default.pa

Puis décommenter la ligne suivante et redémarrer (le son est revenu sur la sortie analogique standard et le HDMI également) :

load-module module-alsa-sink

Je pense que cette configuration a du sauter après avoir fait la manipulation suivante

apt-get remove --purge pulseaudio
apt-get install alsa-base
apt-get install pulseaudio

Merci pour votre aide !

c’est pulseaudio qui fait toutes ces configs automatiquement via la multitude des scripts qui le peuple,il est déconseillé de charger ou supprimer des modules à la main et il aurait été instructif de connaître les raisons qui ont mis la pagaille, mais bon si le son est de retour c’est l’essentiel.

Malheureusement je n’en sais pas plus sur l’origine de la perte de son :frowning:

Par contre là je m’aperçois que je n’ai plus de son sur Iceweasel mais ça fonctionne sur Google Chrome (sic), pavucontrol confirme cela. Peut-être un problème de configuration à régler dans le même fichier qui m’a permis de résoudre le problème initial pour pouvoir lancer du son sur plusieurs applications ?

je vous envoie mon fichier /etc/pulse pour comparaison,peut être ça aidera pour comprendre les origines de la pannepulse.tar.gz (3.2 KB)

Merci pour ce fichier, je vais essayer d’analyser pour comprendre la cause racine.

Sinon très étrange j’ai du son sur toutes les applications (VLC, Chromium) mais pas sur Iceweasel.

La commande suivante confirme que les périphériques audio sont utilisés par pulseaudio (PID : 8092) :

$ fuser -v /dev/snd/* UTIL. PID ACCÈS COMMANDE /dev/snd/controlC0: francois 8092 F.... pulseaudio /dev/snd/pcmC0D0p: francois 8092 F...m pulseaudio

Mais dans pavucontrol il n’y a que Chromium et pas Iceweasel. Étrange non ?

iceweasel n’est pas en lui même une application son,il peut ouvrir et lire des .flv ou html5 ou autres pourvu que les bons plugins soient installés.

Oui évidemment iceweasel n’a pas la même fonction que pulseaudio. Je n’ai pourtant pas touché au paquet flashplugin-nonfree. On dirait que le problème sur pulseaudio a eu un effet de bord sur le plugin.

Le problème de son sur Iceweasel subsiste. J’ai du son dessus lorsque je choisis la sortie “Digital Stereo (HDMI) Output” mais pas “Stéréo analogique Output”. D’autre part, j’ai du son avec cette dernière sortie sur toutes les autres applications (Chromium, VLC…) mais il y a deux sorties audio internes associés à “Stéréo analogique Output”, comment faire pour n’avoir que “Audio interne Stéréo analogique” ?

Voici mon fichier /etc/pulse/default.pa en entier avec la ligne “load-module module-alsa-sink” décommentée (ce qui m’a permis de retrouver le son en partie) :

#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)

.nofail

### Load something into the sample cache
#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
#load-sample-lazy pulse-access /usr/share/sounds/generic.wav

.fail

### Automatically restore the volume of streams and devices
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore

### Automatically augment property information from .desktop files
### stored in /usr/share/application
load-module module-augment-properties

### 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)
load-module module-alsa-sink
#load-module module-alsa-source device=hw:2,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink

### 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/hal support)
load-module module-detect
.endif

### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect
.fail
.endif

### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif

### Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix

### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish

### Load the RTP receiver module (also configured via paprefs, see above)
#load-module module-rtp-recv

### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
#load-module module-rtp-send source=rtp.monitor

### Load additional modules from GConf settings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif

### Automatically restore the default sink/source when changed by the user
### during runtime
### NOTE: This should be loaded as early as possible so that subsequent modules
### that look up the default sink/source get the right value
load-module module-default-device-restore

### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams

### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink

### Honour intended role device property
load-module module-intended-roles

### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle

### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif

### Enable positioned event sounds
load-module module-position-event-sounds

### Cork music/video streams when a phone stream is active
load-module module-role-cork

### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply

### Load DBus protocol
.ifexists module-dbus-protocol.so
load-module module-dbus-protocol
.endif

# X11 modules should not be started from default.pa so that one daemon
# can be shared by multiple sessions.

### Load X11 bell module
#load-module module-x11-bell sample=bell-windowing-system

### Register ourselves in the X11 session manager
#load-module module-x11-xsmp

### Publish connection data in the X11 root window
#.ifexists module-x11-publish.so
#.nofail
#load-module module-x11-publish
#.fail
#.endif

load-module module-switch-on-port-available

### Make some devices default
#set-default-sink output
#set-default-source input

Bonjour,

Pour régler le problème, j’ai d’abord cherché si un autre processus utilisait la carte son :

sudo fuser /dev/snd/*

Et effectivement j’ai trouvé un processus qui utilisait la carte son. J’ai essayé de tuer le processus en gardant la fenêtre de pavucontrol sous les yeux pour vérifier si la carte son revenait dans les périphériques :

sudo kill xxxx

xxxx est le numéro de processus affiché dans la sortie de la commande précédente.
Et effectivement, la carte son est revenue dès que le processus était tué.

Pour rendre permanent que le processus fautif ne démarre pas (au reboot de la machine, la carte son était de nouveau occupée et non disponible par le même processus), il faut regarder quel service utilise la carte :

sudo fuser -v /dev/snd/*

Dans mon cas, il s’agissait de roaraudio. Une désinstallation du programme a réglé mon problème au reboot :

sudo apt-get autoremove roaraudio --purge

Sylvain