No Sound on Positivo Vision C14 (Intel N100 / ES8336) - Zorin OS 18

Hi everyone,

I’m looking for help regarding an audio issue on my Positivo Vision C14 laptop (Intel Alder Lake-N N100 processor). The system detects the sound card, but there is no audio output from the internal speakers or the 3.5mm jack (Dummy Output or total silence).

Technical Specs:

  • Codec: Everest ES8336 (ESSX8336)

  • Driver: Sound Open Firmware (SOF) - snd_soc_sof_8336

  • OS: Zorin OS 18 (based on Ubuntu 24.04 LTS)

  • Kernel: (Type uname -r in your terminal and paste the result here, e.g., 6.8.0-40-generic)

What I’ve tried so far:

  1. Resetting ALSA and AlsaMixer (alsactl init).

  2. Installing SOF firmware and topology files (.tplg and .ri files) from various community repositories.

  3. Testing several quirks in /etc/modprobe.d/alsa-base.conf (0x01, 0x02, 0x04, 0x41, 0x45).

  4. Manually unmuting all channels in alsamixer (DAC, Headphone Mixer, Speaker, etc.).

aplay -l correctly lists the device as sof-essx8336, and the UI shows the volume bar moving, but no physical sound is produced. It seems to be a pin-mapping issue specific to this new Positivo model.

Has anyone managed to get the ES8336 working on this specific hardware or found the correct “quirk” code for the Alder Lake-N platform?

Any help would be greatly appreciated!

Hi! @Radios_EG, welcome!

I’ve dealt with this specific combo (Intel N100 + ES8336) before.
It is notoriously difficult because standard quirks often fail without the correct Topology file.

Since you are on Zorin OS 18 (Ubuntu 24.04 base), your kernel is likely 6.8, which is good, but the firmware usually defaults to the wrong path for Alder Lake-N devices.

Here is the step-by-step to fix it (try in this order):

1. The “Symlink” Fix (Most common for N100)

The driver often tries to load an Alder Lake (sof-adl) topology that doesn’t exist, failing to initialize the card. We can force it to use the Jasper Lake (sof-jsl) topology, which is usually compatible with the N100 audio architecture.

Open your terminal:

# 1. Install standard firmwares just in case
sudo apt install linux-firmware alsa-ucm-conf

# 2. Go to the firmware directory
cd /lib/firmware/intel/sof-tplg/

# 3. Check if you have the file "sof-jsl-es8336-ssp1.tplg" (or similar)
ls sof-jsl-es8336*.tplg

# 4. Create a symlink to force ADL (Alder Lake) to use JSL topology
# Note: You might need to adjust the filename if your specific quirks need ssp0 or ssp2
sudo cp sof-jsl-es8336-ssp1.tplg sof-adl-es8336-ssp1.tplg
sudo cp sof-jsl-es8336.tplg sof-adl-es8336.tplg

After doing this, Reboot.

2. The Custom UCM Script (The “Yang” Fix)

If the manual symlink doesn’t work, there is a community script specifically maintained to fix the ES8336 UCM profiles on Debian/Ubuntu based systems.

Run these commands:

# Clone the repository
git clone https://github.com/gnickm/sof-essx8336-debian-fix.git
cd sof-essx8336-debian-fix

# Run the fix script
sudo ./setup-sof.sh

Note: This script downloads correct topology files and updates the ALSA Use Case Manager profiles automatically.

3. Kernel Parameter (Quirk Check)

You mentioned trying quirks, but make sure you updated the bootloader after adding them. For Positivo devices, the most common working quirk is 0x02 combined with the topology fix.

Edit /etc/modprobe.d/alsa-base.conf: options snd_soc_sof_es8336 quirk=0x02

Then update initramfs (crucial step often missed): sudo update-initramfs -u

Reboot again.

If aplay -l lists the device but you still have “Dummy Output”, open alsamixer (via terminal), press F6 to select the card, and verify if the “Speaker” or “Left/Right DAC” channels are muted (MM) or at 0 volume.

Tell me if worked!

I got false exit, I try to solve it and it goes back to the infinite loop, headset and false exit

Hey @Radios_EG ,

Dúvida: Tu é brasileiro? Se for, não tem porquê a gente gastar inglês aqui. Mas caso não seja, segue como o começo do tópico…

‘False exit’ with ‘Headset’ mention sounds exactly like the Phantom Jack issue (the system thinks headphones are plugged in, so it mutes the speakers). The ‘infinite loop’ might be PipeWire crashing due to a bad UCM profile from the script.

Let’s try to fix the loop and the headset detection:

1. Check for ‘Phantom Jack’ (The most likely culprit) Sometimes the jack detection logic is inverted.

  • Open terminal and type: alsamixer

  • Press F6 and select your sound card (sof-essx8336).

  • Use the arrow keys to find ‘Left Headphone Mixer’ and ‘Right Headphone Mixer’. If they are muted (MM), press M to unmute them.

  • Look for a control named ‘Jack Detect’, ‘Headset Mode’ or ‘Switch’. Try changing it (Press Up/Down arrow). Sometimes toggling this forces the sound back to speakers.

2. The ‘Loop’ Fix (Reverting/Checking Logs) If your audio service is restarting indefinitely, we need to see why. Please run this command and paste the output here (use a site like pastebin if it’s too long):

sudo dmesg | grep sof | tail -n 20

This will tell us if the firmware is crashing or if it’s just a configuration error.

flaviohtts@flaviohtts:~$ sudo dmesg | grep sof | tail -n 20
[ 36.265029] sof-audio-pci-intel-apl 0000:00:0e.0: HW params ipc failed for stream 1
[ 36.265032] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC: error at snd_soc_pcm_component_hw_params on 0000:00:0e.0: -5
[ 36.265801] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[ 36.265808] sof-audio-pci-intel-apl 0000:00:0e.0: HW params ipc failed for stream 1
[ 36.265810] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC: error at snd_soc_pcm_component_hw_params on 0000:00:0e.0: -5
[ 36.333195] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[ 36.333213] sof-audio-pci-intel-apl 0000:00:0e.0: HW params ipc failed for stream 1
[ 36.333216] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC: error at snd_soc_pcm_component_hw_params on 0000:00:0e.0: -5
[ 36.333975] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[ 36.333982] sof-audio-pci-intel-apl 0000:00:0e.0: HW params ipc failed for stream 1
[ 36.333985] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC: error at snd_soc_pcm_component_hw_params on 0000:00:0e.0: -5
[ 36.334680] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[ 36.334687] sof-audio-pci-intel-apl 0000:00:0e.0: HW params ipc failed for stream 1
[ 36.334689] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC: error at snd_soc_pcm_component_hw_params on 0000:00:0e.0: -5
[ 36.335377] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[ 36.335383] sof-audio-pci-intel-apl 0000:00:0e.0: HW params ipc failed for stream 1
[ 36.335386] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC: error at snd_soc_pcm_component_hw_params on 0000:00:0e.0: -5
[ 36.336105] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[ 36.336111] sof-audio-pci-intel-apl 0000:00:0e.0: HW params ipc failed for stream 1
[ 36.336114] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC: error at snd_soc_pcm_component_hw_params on 0000:00:0e.0: -5
flaviohtts@flaviohtts:~$

consegui tirar a saida falsa, agora aparece corretamente os nomes quando está no auto falante e fone de ouvido, mas como sempre quando reinicio o notebook, fica mudo e não volta mais, não importa o que eu faça

Vi seu log. O erro ipc tx error ... -5 confirma que o Firmware do DSP está travando na hora de carregar os parâmetros de hardware durante o boot.

O seu sistema está carregando o módulo intel-apl (Apollo Lake), e não o ADL/JSL. Isso causa o conflito: o sistema funciona na hora que você roda o script (porque ele carrega “na força”), mas no reboot ele tenta carregar o padrão errado ou um estado salvo corrompido.

Faça esses dois passos para resolver a persistência:

1. Limpar o “Estado Sujo” do Áudio

Muitas vezes o Linux salva o estado “mudo” ou com parâmetros errados ao desligar e tenta forçar isso no boot, causando o erro de IPC. Vamos forçar ele a redetectar do zero.

Rode no terminal:

sudo rm /var/lib/alsa/asound.state
sudo rm /etc/asound.state

(Se der erro dizendo que o arquivo não existe, tudo bem, siga para o passo 2).

2. Corrigir a Topologia para APL (O que o seu log pede)

O seu log mostra que o kernel busca drivers apl. Vamos garantir que o “caminho” APL aponte para o arquivo de topologia correto (o mesmo que funcionou para JSL).

Rode bloco por bloco:

# Entra na pasta de firmwares
cd /lib/firmware/intel/sof-tplg/

# Faz o backup do original (se existir)
sudo mv sof-apl-es8336.tplg sof-apl-es8336.tplg.bak 2>/dev/null

# Cria o link mágico: Força o sistema APL a usar a topologia JSL (que costuma funcionar nesse chip)
sudo ln -s sof-jsl-es8336.tplg sof-apl-es8336.tplg

3. Garantir o Quirk no GRUB

Como você disse que “conseguiu tirar a saída falsa”, provavelmente achou o quirk certo. Precisamos garantir que ele está sendo aplicado no boot, senão o erro volta.

  1. Edite o grub: sudo nano /etc/default/grub

  2. Na linha GRUB_CMDLINE_LINUX_DEFAULT, adicione dentro das aspas: snd_soc_sof_es8336.quirk=0x02 (Nota: Se você usou outro número para consertar o headset, mantenha o seu número).

  3. Atualize o grub: sudo update-grub

Reinicie agora. O áudio deve subir direto.

realmente não funciona, mas o que percebi, é que ao reiniciar e testar se saiu o som, ele xiou por 1 segundo e não respondeu mais nada, nas vezes que ele funcionava o som, reiniciava e nunca mais retornava, mesmo fazendo o repetido processo

será que alguma outra distro estaria com esse problema resolvido?

Opa! Sobre trocar de distro: Não vai resolver magicamente.

O problema é que a BIOS desse notebook informa pro Linux que o processador é da geração ‘Apollo Lake’, mas o áudio exige a configuração da geração ‘Jasper Lake’.

Qualquer Linux (Fedora, Arch, Manjaro) vai ler a BIOS, carregar o driver errado e travar igual.

Esse ‘chiado de 1 segundo’ confirma isso: o chip acorda, tenta carregar o firmware, falha (aquele erro -5 no log) e desliga.

A solução é manual mesmo, mas agora que vimos o seu log, sabemos o tiro certo.
Como o seu sistema insiste em usar a pasta apl (Apollo Lake), você precisa enganar ele ali dentro:

# Vá para a pasta que o seu sistema está lendo (APL)
cd /lib/firmware/intel/sof-tplg/

# Faça o Linux usar o arquivo JSL (que funciona) quando ele buscar pelo APL
sudo ln -sf sof-jsl-es8336.tplg sof-apl-es8336.tplg

Reinicia e testa.
Trocar de sistema só vai te dar o trabalho de configurar tudo de novo pra ter o mesmo erro.

nada de funcionar

o som voltou, fiz de tudo pra quando reiniciar ele continuar, mas sem sucesso, fica nesse loop infinito

Boa!

Se o som voltou (mesmo que por pouco tempo), matamos a charada: o driver correto é mesmo o JSL mascarado.

O motivo dele morrer ao reiniciar e entrar em loop é simples: a correção que fizemos está no HD, mas o sistema carrega o áudio a partir da memória Initramfs durante o boot (que ainda tem o arquivo antigo/errado).

Para fazer funcionar para sempre, você precisa atualizar essa imagem de boot e limpar o estado de áudio salvo errado.

Rode esses 3 comandos na ordem, um por vez:

# 1. Apaga o "estado salvo" antigo (que deve estar corrompido tentando carregar o driver errado)
sudo rm -f /var/lib/alsa/asound.state

# 2. Atualiza a imagem de boot (Isso copia o link certo que criamos para dentro do kernel)
# Esse passo é vital! Sem ele, o boot continua carregando o arquivo velho.
sudo update-initramfs -u

# 3. Garante que o Grub também pegou as mudanças
sudo update-grub

Agora desligue o note totalmente (Shutdown) e ligue de novo. O áudio deve subir de primeira.

Obs: Se voltar sem som, abra o terminal, digite alsamixer, F6, selecione a placa e veja se não está apenas “Mudo” (MM).

Me avisa se segurou o reboot agora!

nem mais 1 sinal

Segura a ansiedade que isso pode ser boa notícia!

O ‘chiado’ sumir significa que o driver parou de crashar e reiniciar em loop (que era o que causava o ruído elétrico).

Como a gente apagou o arquivo de configuração (asound.state), o sistema subiu com a placa de som ‘zerada’. No Linux, o padrão de segurança é iniciar placas novas Mutadas (Sem som).

Vamos ver se ela está viva:

  1. Abra o terminal e digite alsamixer.

  2. Aperte F6 e veja se a placa aparece na lista (algo como sof-essx8336).

  3. Se ela aparecer, selecione ela.

  4. Olhe as barrinhas: Se tiver escrito MM embaixo delas, está Mutado. Aperte a tecla M para desmutar e use a Seta pra Cima para aumentar o volume (Master, Speaker e DAC).

Se a placa NÃO aparecer no F6:
Rode sudo dmesg | grep sof | tail -n 20 e manda o print. Se o erro mudou, a solução muda.

nada mesmo, acabou de voltar de novo, mas continua a parar ao reiniciar

descobri algo interessante, agora está pegando ao iniciar, mas só depois de um tempo ligado ou tentando fazer o audio funcionar, vamos dizer que uns 20 minutos tentando fazer o audio funcionar ele consegue funconar a partir dai

       
[   72.574254] sof-audio-pci-intel-apl 0000:00:0e.0: sof_ipc3_pcm_hw_params: pcm7 (HDMI 3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1
[   72.574258] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:0e.0
[   72.575716] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[   72.575724] sof-audio-pci-intel-apl 0000:00:0e.0: sof_ipc3_pcm_hw_params: pcm7 (HDMI 3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1
[   72.575729] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:0e.0
[   72.645235] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[   72.645251] sof-audio-pci-intel-apl 0000:00:0e.0: sof_ipc3_pcm_hw_params: pcm7 (HDMI 3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1
[   72.645256] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:0e.0
[   72.646972] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[   72.646983] sof-audio-pci-intel-apl 0000:00:0e.0: sof_ipc3_pcm_hw_params: pcm7 (HDMI 3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1
[   72.646989] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:0e.0
[   72.648822] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[   72.648832] sof-audio-pci-intel-apl 0000:00:0e.0: sof_ipc3_pcm_hw_params: pcm7 (HDMI 3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1
[   72.648837] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:0e.0
[   72.649691] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[   72.649699] sof-audio-pci-intel-apl 0000:00:0e.0: sof_ipc3_pcm_hw_params: pcm7 (HDMI 3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1
[   72.649704] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:0e.0
[   72.652574] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[   72.652587] sof-audio-pci-intel-apl 0000:00:0e.0: sof_ipc3_pcm_hw_params: pcm7 (HDMI 3), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1
[   72.652592] sof-audio-pci-intel-apl 0000:00:0e.0: ASoC error (-5): at snd_soc_pcm_component_hw_params() on 0000:00:0e.0


Cara eu achei que meu Firefox tinha bugado, e tava traduzindo metade do post :rofl:

Esses erros (IPC failed, error -5) confirmam que o firmware de áudio está travando ao tentar se comunicar, provavelmente porque ele carregou uma configuração genérica que não bate com o hardware da Positivo.

Porém, o comando tail -n 20 mostrou apenas o final da história (os erros repetidos). O erro principal, que diz qual arquivo exato o sistema tentou carregar e não achou, aconteceu alguns milissegundos antes e ficou de fora.

Rode este comando para pegarmos o “nome do culpado”:

sudo dmesg | grep -i "Direct firmware load"

Se esse comando não retornar nada, tente este para ver o início da carga do driver:

sudo dmesg | grep -i "sof-audio" | head -n 20

E manda o retorno deles aqui pra gente!

flaviohtts@flaviohtts:~$ sudo dmesg | grep -i "Direct firmware load"        
flaviohtts@flaviohtts:~$ sudo dmesg | grep -i "sof-audio" | head -n 20
[    9.311784] sof-audio-pci-intel-apl 0000:00:0e.0: sof_debug value: 0x1
[    9.311801] sof-audio-pci-intel-apl 0000:00:0e.0: DSP detected with PCI class/subclass/prog-if 0x040100
[    9.317332] sof-audio-pci-intel-apl 0000:00:0e.0: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915])
[    9.346236] sof-audio-pci-intel-apl 0000:00:0e.0: use msi interrupt mode
[    9.368040] sof-audio-pci-intel-apl 0000:00:0e.0: hda codecs found, mask 4
[    9.368053] sof-audio-pci-intel-apl 0000:00:0e.0: NHLT device BT(0) detected, ssp_mask 0x1
[    9.368056] sof-audio-pci-intel-apl 0000:00:0e.0: BT link detected in NHLT tables: 0x1
[    9.368060] sof-audio-pci-intel-apl 0000:00:0e.0: DMICs detected in NHLT tables: 0
[    9.368063] sof-audio-pci-intel-apl 0000:00:0e.0: NHLT device I2S(4) detected, ssp_mask 0x1
[    9.368067] sof-audio-pci-intel-apl 0000:00:0e.0: Overriding topology with MCLK mask 0x2 from NHLT
[    9.377981] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware paths/files for ipc type 0:
[    9.377993] sof-audio-pci-intel-apl 0000:00:0e.0:  Firmware file:     intel/sof/sof-glk.ri
[    9.377997] sof-audio-pci-intel-apl 0000:00:0e.0:  Topology file:     intel/sof-tplg/sof-glk-es8336-ssp0.tplg
[    9.378675] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware info: version 2:2:0-57864
[    9.378680] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware: ABI 3:22:1 Kernel ABI 3:23:1
[    9.431807] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware info: version 2:2:0-57864
[    9.431820] sof-audio-pci-intel-apl 0000:00:0e.0: Firmware: ABI 3:22:1 Kernel ABI 3:23:1
[    9.436817] sof-audio-pci-intel-apl 0000:00:0e.0: Topology: ABI 3:22:1 Kernel ABI 3:23:1
[   24.871868] sof-audio-pci-intel-apl 0000:00:0e.0: ipc tx error for 0x60010000 (msg/reply size: 108/20): -5
[   24.871884] sof-audio-pci-intel-apl 0000:00:0e.0: sof_ipc3_pcm_hw_params: pcm6 (HDMI 2), dir 0: STREAM_PCM_PARAMS ipc failed for stream_tag 1