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

Ouverte
#7,692 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
c
Domaine
backend

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
C
Étoiles
13.3k
Forks
5.5k
Merge moyen
3 j 20 h
PR mergées (30 j)
27

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de raspberrypi/linux

Toutes les issues de raspberrypi/linux

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.