Atualização da compatibilidade do som do positivo C15 com o Linux

Há dois anos comprei um notebook positivo para experimentar outras distros Linux. Tem um hardware basição, com um processador celeron que respira no oxigênio pra fazer uma interface como gnome/kde funcionar. A resolução 1366x768 também não ajuda. Mas ambos dão para suportar.

O chato mesmo é a placa de som:

lspci | grep audio
00:0e.0 Multimedia audio controller: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio (rev 06)

Que funcionava invertido ou não funcionava. Depois de muitos meses “deixando o problema pra lá” e usando o som via bluetooth ou placa de som na porta USB - que funcionam perfeitamente - consegui fazê-la funcionar.

Mas somente na distro Solus OS 4.9, que tem os pacotes mais atualizados possível e já está no kernel 7.0.7-339.current. A única coisa que precisei fazer foi:

sudo mkdir -p /etc/modprobe.d
sudo nano /etc/morprobe.d/alsa-essx8336.conf

onde coloquei a linha:

options snd_soc_sof_8336 quirks=0x01

Como uso dracut para gerar a initramfs. assim eu fiz, depois:

sudo dracut -f

Creio que distros que sejam RR, como solus e arch linux, tenham pacotes mais atualizados, que estejam corrigindo o problema de compatibilidade do pinguim com esta pestilência.

Fica aí a dica!

#!/bin/bash # Script de correção de áudio para Positivo C15 # Compatível
com Zorin OS 18.1 e Ubuntu 24.04+ # Autor: Solução comunitária
echo “=== CORREÇÃO DE ÁUDIO POSITIVO C15 ===” echo “Iniciando
correção. . . ”
Passo 1: Substituir topologia GLK pela APL
echo “1. Substituindo topologia. . . ” sudo mv /lib/firmware/intel/sof-tplg/sof-glk-
es8336-ssp0.tplg /lib/firmware/intel/sof-tplg/sof-glk-es8336-ssp0.tplg.original
2>/dev/null sudo cp /lib/firmware/intel/sof-tplg/sof-apl-es8336-ssp0.tplg
/lib/firmware/intel/sof-tplg/sof-glk-es8336-ssp0.tplg
Passo 2: Recarregar módulo SOF
echo “2. Recarregando módulo. . . ” sudo modprobe -r snd_sof_pci_intel_apl
2>/dev/null sudo modprobe snd_sof_pci_intel_apl
Passo 3: Configurar mixer
echo “3. Configurando mixer. . . ” amixer -c 0 sset ‘HPVol SPKVol’ ‘HPVOL:
HPL+HPL, SPKVOL: SPKL+SPKR’ amixer -c 0 sset ‘DAC Ramp Rate’ 8
amixer -c 0 sset ‘ADC Ramp Rate’ 8 amixer -c 0 sset ‘DAC’ 191 amixer -c 0
sset ‘SPKL’ 191 amixer -c 0 sset ‘SPKR’ 191 amixer -c 0 sset ‘Speaker’ on
Passo 4: Salvar configurações
echo “4. Salvando configurações. . . ” sudo alsactl store
Passo 5: Criar script de inicialização
echo “5. Criando script de inicialização. . . ” sudo tee /etc/rc.local « ‘EOF’
#!/bin/sh -e amixer -c 0 sset ‘HPVol SPKVol’ ‘HPVOL: HPL+HPL, SPKVOL:
SPKL+SPKR’ 2>/dev/null amixer -c 0 sset ‘DAC Ramp Rate’ 8 2>/dev/null
amixer -c 0 sset ‘ADC Ramp Rate’ 8 2>/dev/null amixer -c 0 sset ‘DAC’ 191
2>/dev/null amixer -c 0 sset ‘SPKL’ 191 2>/dev/null amixer -c 0 sset ‘SPKR’
191 2>/dev/null amixer -c 0 sset ‘Speaker’ on 2>/dev/null exit 0 EOF sudo
chmod +x /etc/rc.local
Passo 6: Criar serviço systemd
echo “6. Criando serviço systemd. . . ” sudo tee /etc/systemd/system/audio-
positivo-c15.service « ‘EOF’ [Unit] Description=Configuração de áudio para
1Positivo C15 After=sound.target Requires=sound.target
[Service] Type=oneshot ExecStartPre=/bin/sleep 5 ExecStart=/etc/rc.local
RemainAfterExit=yes
[Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo
systemctl enable audio-positivo-c15.service sudo systemctl start audio-positivo-
c15.service
Passo 7: Configurar PipeWire
echo “7. Configurando PipeWire. . . ” wpctl set-volume @DEFAULT_AUDIO_SINK@
100%
echo “” echo “=== CORREÇÃO CONCLUÍDA! ===” echo “Teste com: pw-
play /usr/share/sounds/alsa/Front_Center.wav” echo “Reinicie com: sudo re-
boot”
2

Esse script fez meu Zorin 18.1 pro funcionar.

TUTORIAL COMPLETO: SOLUÇÃO DE ÁU-

DIO - POSITIVO C15 (ZORIN OS 18.1)
PROBLEMA: Notebook Positivo C15 com chip ES8326 (ESSX8326) não produzia
som. O driver SOF ES8336 usava topologia GLK incorreta (SSP1 internamente,
hardware usa SSP0).
PASSO 1: IDENTIFICAR O HARDWARE sudo lspci -v | grep -A 10 -i audio
PASSO 2: VERIFICAR PLACA DE SOM (deve mostrar “nenhuma placa de
som”) aplay -l
PASSO 3: VERIFICAR MÓDULOS CARREGADOS lsmod | grep -E “snd|sof”
PASSO 4: VER MENSAGENS DO KERNEL (revela o erro SSP1) sudo dmesg
| grep -i -E “sof|es8336|audio” | tail -50
PASSO 5: VER TOPOLOGIAS DISPONÍVEIS ls /lib/firmware/intel/sof-tplg/
| grep es8336
PASSO 6: VER CONTEÚDO DA TOPOLOGIA GLK (errada, mostra SSP1)
strings /lib/firmware/intel/sof-tplg/sof-glk-es8336-ssp0.tplg | grep -i “ssp” | head
-10
PASSO 7: VER CONTEÚDO DA TOPOLOGIA APL (correta, mostra SSP0)
strings /lib/firmware/intel/sof-tplg/sof-apl-es8336-ssp0.tplg | grep -i “ssp” | head
-10
PASSO 8: SUBSTITUIR TOPOLOGIA GLK PELA APL sudo mv
/lib/firmware/intel/sof-tplg/sof-glk-es8336-ssp0.tplg /lib/firmware/intel/sof-
tplg/sof-glk-es8336-ssp0.tplg.original sudo cp /lib/firmware/intel/sof-tplg/sof-
apl-es8336-ssp0.tplg /lib/firmware/intel/sof-tplg/sof-glk-es8336-ssp0.tplg
PASSO 9: RECARREGAR MÓDULO SOF sudo modprobe -r snd_sof_pci_intel_apl
&& sudo modprobe snd_sof_pci_intel_apl
PASSO 10: VERIFICAR PLACA DE SOM (deve mostrar sofessx8336) aplay -l
PASSO 11: CONFIGURAR MIXER (controle HPVol SPKVol) amixer -c 0 sset
‘HPVol SPKVol’ ‘HPVOL: HPL+HPL, SPKVOL: SPKL+SPKR’
PASSO 12: CONFIGURAR MIXER (rampas de volume) amixer -c 0 sset ‘DAC
Ramp Rate’ 8 amixer -c 0 sset ‘ADC Ramp Rate’ 8
PASSO 13: CONFIGURAR MIXER (volumes máximos) amixer -c 0 sset ‘DAC’
191 amixer -c 0 sset ‘SPKL’ 191 amixer -c 0 sset ‘SPKR’ 191 amixer -c 0 sset
‘Speaker’ on
PASSO 14: SALVAR CONFIGURAÇÕES sudo alsactl store
PASSO 15: CRIAR SCRIPT /etc/rc.local sudo tee /etc/rc.local « ‘EOF’
#!/bin/sh -e # Configuração de áudio para Positivo C15 amixer -c 0 sset
1‘HPVol SPKVol’ ‘HPVOL: HPL+HPL, SPKVOL: SPKL+SPKR’ 2>/dev/null
amixer -c 0 sset ‘DAC Ramp Rate’ 8 2>/dev/null amixer -c 0 sset ‘ADC Ramp
Rate’ 8 2>/dev/null amixer -c 0 sset ‘DAC’ 191 2>/dev/null amixer -c 0 sset
‘SPKL’ 191 2>/dev/null amixer -c 0 sset ‘SPKR’ 191 2>/dev/null amixer -c 0
sset ‘Speaker’ on 2>/dev/null exit 0 EOF sudo chmod +x /etc/rc.local
PASSO 16: CRIAR SERVIÇO SYSTEMD sudo tee /etc/systemd/system/audio-
positivo-c15.service « ‘EOF’ [Unit] Description=Configuração de áudio para
Positivo C15 After=sound.target Requires=sound.target
[Service] Type=oneshot ExecStartPre=/bin/sleep 5 ExecStart=/etc/rc.local
RemainAfterExit=yes
[Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo
systemctl enable audio-positivo-c15.service sudo systemctl start audio-positivo-
c15.service
PASSO 17: VERIFICAR SERVIÇO sudo systemctl status audio-positivo-
c15.service
PASSO 18: CONFIGURAR PIPEWIRE (volume máximo) wpctl set-volume
@DEFAULT_AUDIO_SINK@ 100%
PASSO 19: TESTAR ÁUDIO pw-play /usr/share/sounds/alsa/Front_Center.wav
aplay -D plughw:0,0 /usr/share/sounds/alsa/Front_Center.wav
PASSO 20: REINICIAR E TESTAR sudo reboot pw-play /usr/share/sounds/alsa/Front_Center.wav

ARQUIVOS MODIFICADOS: 1. /lib/firmware/intel/sof-tplg/sof-glk-es8336-
ssp0.tplg (substituído pela versão APL) 2. /etc/rc.local (script de configuração
de áudio) 3. /etc/systemd/system/audio-positivo-c15.service (serviço systemd)
BACKUP: Topologia original em: /lib/firmware/intel/sof-tplg/sof-glk-es8336-
ssp0.tplg.original
OBSERVAÇÕES IMPORTANTES: - O chip real é ES8326 (Everest Semicon-
ductor), mas o driver SOF ES8336 funciona com a topologia APL - Os erros de
HDMI no dmesg são normais quando não há dispositivos HDMI conectados - A
comutação automática entre fones e alto-falantes funciona através do PipeWire -
O serviço systemd garante que as configurações sejam aplicadas a cada boot -
Se o áudio falhar, execute: sudo systemctl restart audio-positivo-c15.service
2

excelente. vou copiá-lo e guardá-lo no meu becape