Codec Zero (DA7213) ALSA capture fails with “I2S SYNC error!” / Input-output error on both 6.18.50 and 6.18.39

Aberta
#7,692 3 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
45/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
c
Domínio
backend

Direção de pesquisa

Start by tracing the bcm2835-i2s driver path for the I2S SYNC error! reported at fe203000.i2s, then inspect the DA7213 capture path and compare it with the related #7672 report. Reproduce with the listed arecord command after enabling the specified mixer controls; playback works while capture fails on both reported kernels. Done means identifying and fixing the capture failure, verified by successful ALSA capture without the sync error.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Describe the bug

On a Raspberry Pi 4B with the official (green) Raspberry Pi "Codec Zero" HAT (DA7213 codec, auto-detected via HAT EEPROM), ALSA capture consistently fails with "I2S SYNC error!" / Input/output error, while playback on the same device works perfectly. The issue is reproducible identically on two different kernel versions (6.18.50+rpt-rpi-v8 and, after a manual downgrade, 6.18.39+rpt-rpi-v8), which rules out the specific regression tracked in #7672 (where downgrading to 6.18.39 fixed capture for a different HAT).

Steps to reproduce the behaviour
  1. Fresh Raspberry Pi OS install, Codec Zero attached, auto-detected and configured via EEPROM (vendor "Raspberry Pi Ltd.", product "Raspberry Pi Codec Zero"). No manual dtoverlay line for the HAT is present in config.txt.
  2. Enable the mixer path needed for AUX IN capture:
    amixer -c Zero sset 'Aux' on
    amixer -c Zero sset 'Mixin Left Aux Left' on
    amixer -c Zero sset 'Mixin Right Aux Right' on
    amixer -c Zero sset 'Mixin PGA' on
    amixer -c Zero sset 'ADC' on
    amixer -c Zero sset 'Mixout Left DAC Left' on
    amixer -c Zero sset 'Mixout Right DAC Right' on
    amixer -c Zero sset 'Lineout' on
  3. Confirm card detection: aplay -l shows "card 0: Zero [RPi Codec Zero] ... da7213-hifi-0".
  4. Playback works without error: aplay -D hw:Zero,0 /tmp/test.wav
  5. Capture fails every time:
    arecord -D hw:Zero,0 -f S16_LE -r 48000 -c 2 -d 3 /tmp/test.wav
    -> arecord: pcm_read:2272: read error: Input/output error
  6. dmesg at the moment of the failed capture shows: bcm2835-i2s fe203000.i2s: I2S SYNC error!
Device (s)

Raspberry Pi 4 Mod. B

System

/etc/rpi-issue:
Raspberry Pi reference 2026-10-06
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, b2cd98a9ee08a31ef7d0110ed09f2492bbd972ec, stage2

vcgencmd version:
Sep 14 2026 14:49:30
Copyright (c) 2012 Broadcom
version a86983925695a7e63166327d7c002d64040ed31d (clean) (release) (start)

uname -a:
Linux interfon-vertaler 6.18.39+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.18.39-1+rpt1 (2026-07-29) aarch64 GNU/Linux

Logs

[ 259.318860] bcm2835-i2s fe203000.i2s: I2S SYNC error!

Additional context

What I've already ruled out:

  • Mixer routing: re-checked with amixer -c Zero sget after every test; routing stays correctly enabled (Aux on, Mixin Left Aux Left on, etc.) — not a routing/config regression.
  • The #7672 kernel regression specifically: downgraded the kernel package cleanly via apt (linux-image-6.18.39+rpt-rpi-v8, confirmed active via uname -r after reboot, and confirmed the /boot/firmware kernel pointer was correctly re-copied via the z50-raspi-firmware postinst hook). The capture error is byte-for-byte identical on 6.18.39 and 6.18.50. Since downgrading reportedly fixed #7672 for the ReSpeaker 2-Mics HAT, this looks like a separate issue that happens to produce a similar-looking "I2S SYNC error!", rather than the same regression.
  • Manual overlay override: per the official docs, no manual dtoverlay=rpi-codeczero is needed/expected for an EEPROM-auto-detected "Raspberry Pi Ltd." HAT, and forcing one risks double-loading the overlay — did not attempt, since there is no prior evidence this addresses an I2S SYNC error specifically.

Possibly related:

  • #7672 — similar "I2S SYNC error!"/capture Input/output error symptom on a different HAT (ReSpeaker 2-Mics HAT V2.0, TLV320AIC3104 codec), but fixed there by a kernel downgrade that does not fix this issue, suggesting a distinct root cause.

Question: Is this a known/separate issue from #7672? Any additional diagnostic output that would help narrow down whether this is a DMA/clock-timing issue specific to the DA7213 I2S path? Happy to test patches or provide more logs.

Linguagem predominante
C
Estrelas
13.3k
Forks
5.5k
Merge médio
3d 20h
PRs com merge (30d)
27

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de raspberrypi/linux

Todas as issues de raspberrypi/linux

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.