domingo, 20 de marzo de 2016

Sin sonido ni dispositivos ni controles de sonido en Fedora 20

Los dispositivos de audio (devices) de salida y de entrada no aparecen en el panel de sonido en los ajustes del sistema en Fedora 20. Tampoco hay sonido ni aparece un control de volumen en la barra de menú.

En /var/log/messages aparece el siguiente error:

Mar 20 19:57:52 miordenador gnome-session: 20/03/2016 19:57:52 rfbCheckFds: accept: Invalid argument
Mar 20 19:57:52 miordenador pulseaudio[20457]: [pulseaudio] socket-server.c: bind(): Address already in use
Mar 20 19:57:52 miordenador pulseaudio[20457]: [pulseaudio] module.c: Failed to load module "module-esound-protocol-unix" (argument: ""): initialization failed.
Mar 20 19:57:52 miordenador pulseaudio[20457]: [pulseaudio] main.c: Module load failed.
Mar 20 19:57:52 miordenador pulseaudio[20457]: [pulseaudio] main.c: Failed to initialize daemon.
Mar 20 19:57:52 miordenador gnome-session: 20/03/2016 19:57:52 rfbCheckFds: accept: Invalid argument

Para solucionarlo, elimino el archivo /tmp/.esd-{uid}/socket, en mi caso, con mi uid 1000, el comando es:

rm -rf /tmp/.esd-1000/socket

y edito el archivo /etc/pulse/default.pa y comento la línea dónde se carga el módulo module-esound-protocol-unix.

Reinicio pulseaudio con:

killall pulseaudio

Así hay sonido en las aplicaciones y la fanfarria al iniciar Skype pero no hay sonido en llamada de prueba. Elimino los módulos que tenía instalados:

dnf remove pavucontrol
dnf remove sox

Quito el comentario dónde se carga el módulo module-esound-protocol-unix y ahora al hacer

killall pulseaudio

Pulseaudio se recarga sin que aparezca el error: Failed to load module

Ahora elimino ldaspa y ladspa-devel que también eliminan pulseaudio-equalizer

Además del error anterior, en /var/log/messages también aparece el error:

Mar 20 19:57:52 miordenador pulseaudio[20464]: [pulseaudio] main.c: Daemon startup failed.
Mar 20 19:57:52 miordenador gnome-session: 20/03/2016 19:57:52 rfbCheckFds: accept: Invalid argument
Mar 20 19:57:52 miordenador pulseaudio[20494]: [pulseaudio] authkey.c: Failed to open cookie file '/home/{miusuario}/.config/pulse/cookie': No such file or directory
Mar 20 19:57:52 miordenador pulseaudio[20494]: [pulseaudio] authkey.c: Failed to load authorization key '/home/{miusuario}/.config/pulse/cookie': No such file or directory

Este error se produce porque al cambiar la versión de pulseaudio a 5.0 el path donde se guarda el archivo cookie ha cambiado por lo que hay que mover allí los archivos que antes estaban en:
/home/{miusuario}/.pulse

Ahora están en:

/home/{miusuario}/.conf/pulse con:

cd /home/{miusuario}
mkdir .config/pulse
mv -R /home/{miusuario}/.pulse /home/{miusuario}/.config/pulse/
mv -R /home/{miusuario}/.pulse-cookie /home/{miusuario}/.config/pulse/cookie

El error authkey.c desaparece al reiniciar pulseaudio pero Skype sigue sin tener sonido cuando se hace una llamada.


Al abrir Pulseaudio VolumeControl aparece un error indicando que no se puede establecer la conexión con pulseaudio y al abrir el control de volumen de Gnome no aparece ningún dispositivo de reproducción. Sin embargo, al hacer:

[root@{miordenador}tmp]# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
[root@{miordenador} tmp]# ls -l /dev/snd/
total 0
drwxr-xr-x  2 root root       60 Apr  6 19:51 by-id
drwxr-xr-x  2 root root      100 Apr  6 19:51 by-path
crw-rw----+ 1 root audio 116,  2 Apr  6 19:51 controlC0
crw-rw----+ 1 root audio 116,  8 Apr  6 19:51 controlC1
crw-rw----+ 1 root audio 116, 13 Apr  6 19:51 controlC2
crw-rw----+ 1 root audio 116,  7 Apr  6 19:51 hwC0D0
crw-rw----+ 1 root audio 116, 12 Apr  6 19:51 hwC1D0
crw-rw----+ 1 root audio 116,  4 Apr 10 14:25 pcmC0D0c
crw-rw----+ 1 root audio 116,  3 Apr 10 14:25 pcmC0D0p
crw-rw----+ 1 root audio 116,  5 Apr 10 14:25 pcmC0D1p
crw-rw----+ 1 root audio 116,  6 Apr  6 19:51 pcmC0D2c
crw-rw----+ 1 root audio 116,  9 Apr 10 14:25 pcmC1D3p
crw-rw----+ 1 root audio 116, 10 Apr 10 14:25 pcmC1D7p
crw-rw----+ 1 root audio 116, 11 Apr 10 14:25 pcmC1D8p
crw-rw----+ 1 root audio 116, 14 Apr 10 14:25 pcmC2D0c
crw-rw----+ 1 root audio 116,  1 Apr  6 19:51 seq
crw-rw----+ 1 root audio 116, 33 Apr  6 19:51 timer


Finalmente se soluciona al cerrar otra sesión con el mismo nombre de usuario que estaba abierta desde VNC:

[{miusuario}@{miordenador} ~]$ ps axu | grep Xvnc
{miusuario}     2167  0.1  1.0 390116 168432 ?       Sl   Apr06   9:04 /usr/bin/Xvnc :1 -desktop {miordenador}:1 ({miusuario}) -auth /home/{miusuario}/.Xauthority -geometry 480x320 -rfbwait 30000 -rfbauth
/home/{miusuario}/.vnc/passwd -rfbport 5901 -fp catalogue:/etc/X11/fontpath.d -pn
{miusuario}     9737  0.0  0.0 112680  2240 pts/1    S+   14:35   0:00 grep --color=auto Xvnc

Elimino la sessión abierta:

[{miusuario}@{miordenador} ~]$ vncserver -kill :1
Killing Xvnc process ID 2167


[{miusuario}@{miordenador} ~]$ ps axu | grep Xvnc
{miusuario}    10473  0.0  0.0 112676  2180 pts/1    S+   14:35   0:00 grep --color=auto Xvnc


Cada vez que se inicia el ordenador vuelve a ejecutarse Xvnc y por tanto, deja de haber sonido. El síntoma principal es que el gnome-mixer no muetra ningún dispositivo de reproducción ni de grabación. Al matar el proceso, los dispositivos vuelven a aparecer en el gnome-mixer.

Para analizar otros problemas de sonido es aconsejable seguir los pasos descritos aquí.

El mezclador en modo consola, desde la línea de comandos se puede ejecutar con:

alsamixer -c0