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

Đang mở
#7,692 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
c
Lĩnh vực
backend

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
C
Star
13.3k
Fork
5.5k
Merge trung bình
3 ngày 20 giờ
Pull request đã merge (30 ngày)
27

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của raspberrypi/linux

Tất cả issue của raspberrypi/linux

Issue tương tự

Thêm issue về C

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.