Hardware: MacBook Pro (13-inch, M1, 2020), board ID apple,j293, chip apple,t8103
Kernel: linux-asahi 7.1.13.asahi3-1 (also reproduced on asahi2)
Symptom: No audio playback devices at all (aplay -l empty, PipeWire falls back to auto_null). Mic capture still works (separate AOP path).
Root cause: cs42l83 2-0048 (headphone jack codec) permanently fails I2C probe:
cs42l83 2-0048: Failed to read device ID: -5
cs42l83 2-0048: probe with driver cs42l83 failed with error -5
platform sound: deferred probe pending: snd-soc-macaudio: parsing CODEC DAI of link 'Headphone Jack' at /sound/dai-link@1/codec
Since snd_soc_macaudio currently requires every DAI link to bind before instantiating the card, this one permanently-failing codec blocks all audio, not just the jack.
Regression: This machine previously ran with snd_soc_macaudio.no_jack=1, which skipped the failing headphone-jack link and let speakers/mic work. The current module no longer accepts that parameter (modinfo only lists please_blow_up_my_speakers; dmesg logs unknown parameter 'no_jack' ignored), so there is now no way to skip a permanently-failing optional link — a working machine went from "headphone jack broken" to "all audio broken."
Ask: Either fix the cs42l83 probe failure on this unit, or restore a supported way to make an optional/failed DAI link non-fatal to card instantiation.
Hardware: MacBook Pro (13-inch, M1, 2020), board ID
apple,j293, chipapple,t8103Kernel:
linux-asahi 7.1.13.asahi3-1(also reproduced onasahi2)Symptom: No audio playback devices at all (
aplay -lempty, PipeWire falls back toauto_null). Mic capture still works (separate AOP path).Root cause:
cs42l83 2-0048(headphone jack codec) permanently fails I2C probe:Since
snd_soc_macaudiocurrently requires every DAI link to bind before instantiating the card, this one permanently-failing codec blocks all audio, not just the jack.Regression: This machine previously ran with
snd_soc_macaudio.no_jack=1, which skipped the failing headphone-jack link and let speakers/mic work. The current module no longer accepts that parameter (modinfoonly listsplease_blow_up_my_speakers; dmesg logsunknown parameter 'no_jack' ignored), so there is now no way to skip a permanently-failing optional link — a working machine went from "headphone jack broken" to "all audio broken."Ask: Either fix the cs42l83 probe failure on this unit, or restore a supported way to make an optional/failed DAI link non-fatal to card instantiation.