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

未關閉
#7,692 3 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
45/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
c
領域
backend

研究方向

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.

由索引模型根據 Issue 內容生成。

描述

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.

主要語言
C
星號
13.3k
分支
5.5k
平均合併
3 天 20 小時
30 天內合併 PR
27

環境準備

這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

raspberrypi/linux 的其他 Issue

查看 raspberrypi/linux 的全部 Issue

相似的 Issue

更多 C Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。