FS#63464 - [linux] No sound after update to kernel 5.2.x

Attached to Project: Arch Linux
Opened by Tadas (sim31) - Thursday, 15 August 2019, 07:19 GMT
Last edited by Jan Alexander Steffens (heftig) - Sunday, 01 December 2019, 10:51 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Jan Alexander Steffens (heftig)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

No sound after kernel update 5.1.6 -> 5.2.7 / 5.2.8. I think sound card is not even detected. Works fine after downgrading back to linux-5.1.6.arch1-1.

Don't know if related, but gnome desktop starts working more slowly / freezing as well.

It's a hp spectre x360 13-4002ne laptop.

I attached output of `journalctl -b 0 -p 3` for errors which I think are relevant. I don't think ACPI errors are related as I had them before.

I also tried it with linux-mainline kernel from AUR (5.3.0-rc3). Did not fix it. Attached journal output for that as well, because there is one additional error there.

I suspect this might be related to the inclusion of open sound firmware with 5.2.x: https://kernelnewbies.org/LinuxChanges#Linux_5.2.Inclusion_of_Sound_Open_Firmware

Some other outputs while running 5.2.7:
```
uname -a
Linux spectre 5.2.7-arch1-1-ARCH #1 SMP PREEMPT Wed Aug 7 02:00:26 UTC 2019 x86_64 GNU/Linux
```
```
lspci
00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 5500 (rev 09)
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03)
00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)
00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #2 (rev e3)
00:1c.2 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 (rev e3)
00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03)
00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)
01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)
02:00.0 Network controller: Intel Corporation Wireless 7265 (rev 50)
```

```
lsmod | grep snd
snd_hda_codec_hdmi 69632 1
snd_soc_sst_haswell_pcm 114688 1
snd_soc_sst_firmware 36864 1 snd_soc_sst_haswell_pcm
snd_soc_sst_ipc 20480 1 snd_soc_sst_haswell_pcm
snd_soc_sst_dsp 40960 1 snd_soc_sst_haswell_pcm
snd_hda_intel 49152 2
snd_soc_sst_broadwell 24576 1
snd_soc_rt298 49152 0
snd_sof_intel_byt 28672 1 sof_acpi_dev
snd_sof_intel_bdw 24576 1 sof_acpi_dev
snd_sof_intel_ipc 20480 2 snd_sof_intel_bdw,snd_sof_intel_byt
snd_sof 118784 4 snd_sof_intel_bdw,sof_acpi_dev,snd_sof_intel_byt,snd_sof_intel_ipc
snd_soc_rt286 49152 2 snd_soc_sst_broadwell
snd_hda_codec 159744 2 snd_hda_codec_hdmi,snd_hda_intel
snd_soc_rl6347a 16384 2 snd_soc_rt298,snd_soc_rt286
snd_sof_xtensa_dsp 16384 1 sof_acpi_dev
snd_soc_core 290816 5 snd_soc_rt298,snd_soc_rt286,snd_sof,snd_soc_sst_haswell_pcm,snd_soc_sst_broadwell
snd_hda_core 102400 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_hwdep 20480 1 snd_hda_codec
snd_compress 28672 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_pcm 135168 11 snd_hda_codec_hdmi,snd_soc_rt298,snd_hda_intel,snd_soc_rt286,snd_hda_codec,snd_sof,snd_soc_sst_haswell_pcm,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
snd_timer 40960 1 snd_pcm
snd 110592 14 snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_soc_sst_haswell_pcm,snd_compress,snd_soc_core,snd_pcm
snd_soc_sst_acpi 16384 0
snd_soc_acpi_intel_match 28672 2 snd_soc_sst_acpi,sof_acpi_dev
soundcore 16384 1 snd
snd_soc_acpi 16384 3 snd_soc_sst_acpi,snd_soc_acpi_intel_match,sof_acpi_dev
```

```
pacmd list-sinks | grep -i name
Daemon not responding.
```

```
pacmd list-cards
1 card(s) available.
index: 0
name: <alsa_card.pci-0000_00_03.0>
driver: <module-alsa-card.c>
owner module: 6
properties:
alsa.card = "0"
alsa.card_name = "HDA Intel HDMI"
alsa.long_card_name = "HDA Intel HDMI at 0xb2210000 irq 60"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:03.0"
sysfs.path = "/devices/pci0000:00/0000:00:03.0/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "160c"
device.product.name = "Broadwell-U Audio Controller"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (priority 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (priority 800, available: no)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (priority 5700, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (priority 5700, available: no)
output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (priority 600, available: no)
output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (priority 600, available: no)
output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (priority 5700, available: no)
output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (priority 600, available: no)
output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (priority 600, available: no)
output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (priority 5700, available: no)
output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (priority 600, available: no)
output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (priority 600, available: no)
off: Off (priority 0, available: unknown)
active profile: <off>
ports:
hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-3: HDMI / DisplayPort 4 (priority 5600, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-4: HDMI / DisplayPort 5 (priority 5500, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
```


5.1.6 outputs:
```
uname -a
Linux spectre 5.1.6-arch1-1-ARCH #1 SMP PREEMPT Fri May 31 15:17:53 UTC 2019 x86_64 GNU/Linux
```
```
lspci
00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 5500 (rev 09)
00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03)
00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03)
00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #2 (rev e3)
00:1c.2 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 (rev e3)
00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] (rev 03)
00:1f.3 SMBus: Intel Corporation Wildcat Point-LP SMBus Controller (rev 03)
01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)
02:00.0 Network controller: Intel Corporation Wireless 7265 (rev 50)
```

```
lsmod | grep snd
snd_hda_codec_hdmi 69632 1
snd_soc_sst_broadwell 24576 2
snd_soc_sst_haswell_pcm 114688 2 snd_soc_sst_broadwell
snd_soc_sst_firmware 36864 1 snd_soc_sst_haswell_pcm
snd_soc_sst_ipc 20480 1 snd_soc_sst_haswell_pcm
snd_soc_rt298 49152 0
snd_soc_sst_dsp 40960 1 snd_soc_sst_haswell_pcm
snd_hda_intel 49152 1
snd_hda_codec 155648 2 snd_hda_codec_hdmi,snd_hda_intel
snd_soc_rt286 49152 2 snd_soc_sst_broadwell
snd_soc_rl6347a 16384 2 snd_soc_rt298,snd_soc_rt286
snd_soc_core 282624 4 snd_soc_rt298,snd_soc_rt286,snd_soc_sst_haswell_pcm,snd_soc_sst_broadwell
snd_hda_core 102400 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_compress 28672 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
snd_hwdep 16384 1 snd_hda_codec
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_pcm 135168 9 snd_hda_codec_hdmi,snd_soc_rt298,snd_hda_intel,snd_soc_rt286,snd_hda_codec,snd_soc_sst_haswell_pcm,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
snd_timer 40960 1 snd_pcm
snd_soc_sst_acpi 16384 0
snd_soc_acpi_intel_match 28672 1 snd_soc_sst_acpi
snd_soc_acpi 16384 2 snd_soc_sst_acpi,snd_soc_acpi_intel_match
snd 102400 15 snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_soc_sst_haswell_pcm,snd_compress,snd_soc_core,snd_pcm
soundcore 16384 1 snd
```

```
pacmd list-sinks | grep -i name
name: <alsa_output.platform-broadwell-audio.HiFi__hw_broadwellrt286__sink>
alsa.name = ""
alsa.subdevice_name = "subdevice #0"
alsa.card_name = "broadwell-rt286"
alsa.long_card_name = "Hewlett_Packard-HPSpectrex360Convertible13--802D"
alsa.driver_name = "snd_soc_sst_broadwell"
device.vendor.name = "Interphase Corporation"
device.profile.name = "HiFi: hw:broadwellrt286: sink"
device.icon_name = "audio-card"
```

```
pacmd list-cards
2 card(s) available.
index: 0
name: <alsa_card.pci-0000_00_03.0>
driver: <module-alsa-card.c>
owner module: 6
properties:
alsa.card = "0"
alsa.card_name = "HDA Intel HDMI"
alsa.long_card_name = "HDA Intel HDMI at 0xb2210000 irq 60"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:03.0"
sysfs.path = "/devices/pci0000:00/0000:00:03.0/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "160c"
device.product.name = "Broadwell-U Audio Controller"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (priority 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (priority 800, available: no)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (priority 5700, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (priority 5700, available: no)
output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (priority 600, available: no)
output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (priority 600, available: no)
output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (priority 5700, available: no)
output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (priority 600, available: no)
output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (priority 600, available: no)
output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (priority 5700, available: no)
output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (priority 600, available: no)
output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (priority 600, available: no)
off: Off (priority 0, available: unknown)
active profile: <off>
ports:
hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-3: HDMI / DisplayPort 4 (priority 5600, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-4: HDMI / DisplayPort 5 (priority 5500, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
index: 1
name: <alsa_card.platform-broadwell-audio>
driver: <module-alsa-card.c>
owner module: 7
properties:
alsa.card = "1"
alsa.card_name = "broadwell-rt286"
alsa.long_card_name = "Hewlett_Packard-HPSpectrex360Convertible13--802D"
alsa.driver_name = "snd_soc_sst_broadwell"
device.bus_path = "platform-broadwell-audio"
sysfs.path = "/devices/pci0000:00/INT3438:00/broadwell-audio/sound/card1"
device.vendor.name = "Interphase Corporation"
device.form_factor = "internal"
device.string = "1"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
profiles:
HiFi: Play HiFi quality Music (priority 8000, available: unknown)
off: Off (priority 0, available: unknown)
active profile: <HiFi>
sinks:
alsa_output.platform-broadwell-audio.HiFi__hw_broadwellrt286__sink/#0: Built-in Audio Speaker playback + Headphones playback
sources:
alsa_output.platform-broadwell-audio.HiFi__hw_broadwellrt286__sink.monitor/#0: Monitor of Built-in Audio Speaker playback + Headphones playback
alsa_input.platform-broadwell-audio.HiFi__hw_broadwellrt286__source/#1: Built-in Audio Main Microphone + Handset Microphone
ports:
[Out] Speaker: Speaker playback (priority 100, latency offset 0 usec, available: unknown)
properties:

[Out] Headphones: Headphones playback (priority 100, latency offset 0 usec, available: no)
properties:

[In] Mainmic: Main Microphone (priority 100, latency offset 0 usec, available: no)
properties:

[In] Handset: Handset Microphone (priority 200, latency offset 0 usec, available: yes)
properties:
```

This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Sunday, 01 December 2019, 10:51 GMT
Reason for closing:  Fixed
Additional comments about closing:  Linux 5.4.1.arch1-1
Comment by Billcountry Mwaniki (Billcountry) - Thursday, 24 October 2019, 04:42 GMT
Hi,
Was facing the same problem using the same laptop, solved it by compiling my own kernel.
Follow instructions here: https://wiki.archlinux.org/index.php/Kernel/Traditional_compilation
I was running kernel 4.19 during the compile, I'm not sure if that matters, I had only rolled back to restore sound.
Comment by Tadas (sim31) - Thursday, 24 October 2019, 13:03 GMT
Hi,

Thanks for the info.

What configuration did you use when compiling? Default arch or generated (A or B path in the wiki)?
Comment by David Ward (dpward) - Monday, 28 October 2019, 19:06 GMT
This is upstream kernel bug 204237. According to Intel [1], the problem is the kernel configuration used in Arch Linux. On certain platforms (including Broadwell), the options for the SST driver and the SOF driver are mutually exclusive (even though this is not enforced by Kconfig yet).

The SOF drivers were introduced in 5.2-rc1 and the options for them are disabled by default, but they have been enabled in Arch Linux. Using these drivers require separate firmware files [2] to be present, which are not packaged in Arch Linux.

For these reasons, please modify the 'linux' package to set CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL to N for now.


[1] https://bugzilla.kernel.org/show_bug.cgi?id=204237#c15
[2] https://github.com/thesofproject/sof
Comment by Jan Alexander Steffens (heftig) - Wednesday, 27 November 2019, 10:31 GMT
I packaged the firmware (sof-firmware package) and 5.4-arch1 in [testing] ships with the SOF drivers enabled again. Could you please test?
Comment by Tadas (sim31) - Wednesday, 27 November 2019, 14:29 GMT
Does 5.4-arch1 require sof-firmware now? I tested it both ways. No sound again. Same errors as before.
Comment by David Ward (dpward) - Wednesday, 27 November 2019, 16:42 GMT
This doesn't work on Broadwell, because the missing firmware was only one problem.

The SST and SOF drivers cannot be selected together for Broadwell or Baytrail. This is being enforced for Linux 5.5-rc1:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=a6955fe0e2309feeab5ec71e4b0dcbe498f4f497
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=df7257e544faf838c3e7ad6b4e89ffe59e87f5e1

Additionally, the SOF firmware on these platforms is not quite working yet. Please see comment from Intel:
https://github.com/thesofproject/linux/pull/1382#discussion_r344755772


EDIT: The SOF driver has been de-selected on Broadwell and Baytrail in package version 5.4.1-arch1, and sound is working again.
Comment by Jan Alexander Steffens (heftig) - Saturday, 30 November 2019, 15:17 GMT
Is 5.4.1-arch1 any better?
Comment by Tadas (sim31) - Sunday, 01 December 2019, 10:31 GMT
Yes, 5.4.1-arch1 works fine. Tested without sof-firmware installed.

Loading...