Problemas de audio con dispositivos Intel en Linux

Hace algunos días estuve usando una laptop HP 240 G5 ENERGY algo básica que en general funcionaba para trabajar usando Linux Mint 19.1, pero al momento de estar trabajando y escuchando música en spotify noté que de cuando en cuando el audio tenia un salto y se escuchaba como cuando un CD se estropeaba, se repite un instante del audio varias veces (durante algunas fracciones de segundo) como si estuvieras habla-an-an-ando así, en inglés le dicen crackling sound, glitches o skips. En general fue un reto encontrar la solución y fue una sorpresa encontrar lo que generaba este problema, aquí te cuento los detalles.

Problemas de audio con dispositivos Intel en una laptop HP 240 G5

El problema es bastante molesto para mi, escuchar la música adecuada (hard rock, metal, trash metal o nu-metal) hace la diferencia entre pasar un buen día o terminar bastante estresado mientras realizo mi trabajo y escuchar este molesto ruido en una buena canción me molestó bastante, así que me puse manos a la obra a buscar una solución.

La historia corta es que me pasé horas probando y probando soluciones, primero con la versión de spotify y quedó descartado que fuera el motivo del problema, probé con versiones de testing, antiguas, instalado por .deb o por flatpak, etc. El proglema contiuó, así que me puse a investigar el dispositivo, los drivers y la versión de pulseaudio y el ecualizador que me gusta instalar.

Las horas pasaron y todo para terminar con que las soluciones encontradas simplemente no corregían el problema. Pulseudio procesa el audio de forma secuencial mediante una programación por tiempo o time-based audio scheduling y probé desactivando esta característica y configurando de forma manual los parámetros de secuencia, buffers, operación en tiempo real, etc. y el problema seguía ocurriendo. Todo lo anterior quedó descartado como fuente del problema.

Encontré que el equipo funciona con un controlador snd_hda_intel que ha generado toneladas de posts sobre problemas y una gran cantidad de soluciones para problemas que van desde no tener sonido hasta problemas como el que describo. Estos son los datos mi dispositivo:

$ lspci | grep Audio
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)

Y este es el modelo del conrolador o módulo del kernel que se carga para que funcione el dispositivo:

~$ dmesg | grep snd
[ 49.053834] snd_hda_intel 0000:00:1f.3: Force to non-snoop mode by module option
[ 49.053897] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 49.393602] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC3227: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[ 49.393604] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 49.393607] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 49.393608] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0
[ 49.393609] snd_hda_codec_realtek hdaudioC0D0: inputs:
[ 49.393611] snd_hda_codec_realtek hdaudioC0D0: Mic=0x19
[ 49.393613] snd_hda_codec_realtek hdaudioC0D0: Internal Mic=0x12
[ 85.004731] snd_hda_intel 0000:00:1f.3: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.

Probé hasta soluciones que indicaban modificar varios parámetros al momento de cargar el kernel y nada, hasta que por fin me tope con un post de una persona que tenía un problema similar y entre lo comentarios había uno que no tenía sentido, mencionaba que «el controlador de red tenía problemas y que los saltos en el sonido o glitches eran causados cuando la red wifi estaba activada pero no se estaba conectado a ninguna red. «

https://askubuntu.com/questions/915904/audio-glitches-every-2-10-minutes-ubuntu-16-04

Lo leí un par de veces y mi primera reacción fue era una soberana estupidez, pero no es la primera vez que me he topado con cosas raras con el wifi. En otra ocasión con a Dell Latitude 5520 y Ubuntu 12.04 LTS me ocurrió que si apagas el switch físico de la wifi la laptop no arranca, al igual que esto me tomó horas, así que no lo descarté. Devolví todas las configuraciones de pulseuidio al estado original y probé el escenario.

CON UN DEMONIO el problema dejó de ocurrir al apagar el wifi desde el panel de red o al estar conectado a un wifi.

Aproveché el tema para agregar un pequeño ajuste a el controlador de wifi pues después de algún rato se desconectaba sin razón. Este es el dispositivo en el equipo:

$ lspci | grep Network
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter

Así que agregué un pequeño ajuste, y creé un nuevo archivo con nombre rtl8723be.conf en la ruta /etc/modprobe.d/

sudo nano /etc/modprobe.d/rtl8723be.conf

Agregué la siguiente linea de texto y grabé el archivo usando nano.

options rtl8723be fwlps=0

Con esto el problema de la desconexión de red por cable o por wifi se solucionó y problema del ruido en el audio no deja de ocurrir, pero al menos se que lo ocasiona y como evitarlo al estar escuchando unas buenas rolas metaleras en spotify y puedo ponerme a trabajar de forma cómoda y al ritmo que me gusta hacerlo: EN CHINGA (expresión que usamos en México para decir: extremadamente rápido con un sentido de urgencia acentuando la necesidad de aplicar todos los recursos necesarios o a la mano para concluir las tareas que tengas lo antes posible)

Como comenté al principio, este problema tuvo una solución extraña, nunca me hubiera imaginado que un problema de sonido fuera causado por el dispositivo de wifi… pero trabajar con linux por mas de 20 años me ha permitido encontrar cosas sorprendentes y poco comunes, esta fue una de ellas. Espero que este post te sirva si tiene este mismo problema o por lo menos lo hayas disfrutado como una lectura de una entretenida odisea por el problema de sonido perdido jajaja. Que tengas un excelente día.

This entry was posted in Blog and tagged , , , . Bookmark the permalink.

3 Responses to "Problemas de audio con dispositivos Intel en Linux"

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*