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

Aperta
#7,692 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
c
Ambito
backend

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
C
Stelle
13.3k
Fork
5.5k
Merge medio
3g 20h
PR unite (30g)
27

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di raspberrypi/linux

Tutte le issue di raspberrypi/linux

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.