Skip to content

[BUG] Avell B.ON (Tiger Lake): RT711 headphone jack intermittently silent — codec unresponsive on SoundWire, reboot required #5879

Description

@cleisonsantos

Summary

On an Avell B.ON (Intel Tiger Lake UP3, HD Audio 8086:a0c8, subsys 8086:2097) with SoundWire codecs (Realtek RT711 jack + RT1308 speaker amp + RT700 DMIC), the headphone jack (RT711) is intermittently completely silent (no analog output at all), while:

  • internal speakers (RT1308) work fine,
  • internal DMIC records fine,
  • jack detection works (SW_HEADPHONE_INSERT=1, PipeWire auto-switches sink to Headphones),
  • the PCM stream runs without errors (speaker-test -D plughw:0,0 exits 0, no XRUN),
  • all DAPM widgets are powered ON with the stream active.

The only fix found so far: reboot (codec re-initializes and the jack works again, including hotplug).

Environment

  • Notebook: Avell B.ON (Avell High Performance), Tiger Lake UP3
  • Audio: 00:1f.3 Intel 500 Series HD Audio [8086:a0c8] (subsys 8086:2097)
  • SoundWire devices: sdw:0:0:025d:0700:00 (RT700), sdw:0:0:025d:0711:00 (RT711), sdw:0:1:025d:0700:00 (RT700), sdw:0:1:025d:1308:00 (RT1308)
  • Kernel: 7.1.8+deb14-amd64 (Debian forky/sid), SOF via snd_intel_dspcfg dsp_driver=3
  • Firmware: firmware-sof-signed 2025.12.2-2 — SOF firmware 2:2:0-57864 (ABI 3:22:1, kernel ABI 3:23:1)
  • Topology: intel/sof-tplg/sof-tgl-rt711-rt1308-4ch.tplg
  • Userspace: PipeWire + WirePlumber (standard Debian)

Context: the internal speakers only work with dsp_driver=3 (SOF). With dsp_driver=2 (SST, dead driver) nothing binds; with 1 (legacy) only HDMI is visible. This is a config issue, not a bug — mentioned only for reproduction context.

Repro / observations

  1. Boot the machine; speakers and HDMI work. Plug headphones into the 3.5mm jack.
  2. Jack is detected (input event sof-soundwire Headset Jack, SW_HEADPHONE_INSERT=1), WirePlumber switches default sink to Headphones.
  3. Playing any audio: no sound from the jack. pw-play and direct speaker-test -D plughw:0,0 -c 2 -t sine both "succeed" (exit 0) but the jack is physically silent. Tested with two different devices (earbuds + amplified speakers) that work on other machines and on Windows (dual-boot, jack works fine).

Diagnostics captured while the bug was active (stream playing on the jack)

DAPM (all widgets On):

ALH2.OUT: On  in 1 out 1   stream SDW0-Playback active     (DSP side)
rt711 DP3RX: On            stream DP3 Playback inactive    (codec side)
rt711 DAC Surround: On
rt711 HP: On
Headphone: On
PCM0P: On

Mixer: rt711 DAC Surr at 100% (87/87, 0dB), Headphone switch ON, rt1308-1 DAC L/R ON, rt1308-1 RX Channel Select = LR.

  • dmesg: no errors at all (no SDW timeouts, no underruns, nothing).
  • cat /sys/kernel/debug/regmap/sdw:0:0:025d:0711:00-sdw/registers hangs indefinitely (process stuck in uninterruptible sleep D), suggesting the codec is not responding to live SoundWire register reads while in this bad state. The cached regmap dump shows XXXXXXXX (unreadable) for several registers.
  • cat .../regmap/sdw:0:0:025d:0700:00-sdw/registers (RT700) also hung once.
  • Jack control traffic still works (jack status readable/reported), and the RT700/RT1308 audio data paths work — only the RT711 data path (both playback and likely capture) is dead.

Workaround

Reboot the machine. After reboot the headphone jack works normally, including hotplug (unplug/replug) and auto-switch.

Expected behavior

Headphone jack (RT711) should output sound regardless of the codec initialization state.

Happy to provide more logs (ftrace, SDW debugfs, dmesg with dynamic debug) if needed — this is reproducible on demand if the bad state can be triggered again (it happened on the first boot after switching to dsp_driver=3; not yet reproducible at will).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions