Bug 1188741

Summary: No sound on Dell XPS 13 9343 (2015 model)
Product: [Fedora] Fedora Reporter: Major Hayden 🤠 <mhayden>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: alfredo.maria.ferrari, blitzkrieg263, crharwell, darkbasic, darrellpf, d.bz-redhat, gansalmon, gerwinkrist, guillaume, itamar, Jan.Henke, jeb, jonathan, joshua.rich, jwboyer, kernel-maint, labbott, madhu.chinakonda, mario_limonciello, maxx, mchehab, mhayden, mtomich, peerbestowedevil, pete.smith, ponor.hr, ryanplusplus, samuel, thughes, warp10, woutersj
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: kernel-4.0.1-300.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-05-03 17:22:23 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Major Hayden 🤠 2015-02-03 15:36:49 UTC
Description of problem:

No sound from speakers or headphone port on the Dell XPS 13 (9343, 2015 model).  The microphone is also not functioning.

Version-Release number of selected component (if applicable):

kernel-3.19.0-0.rc7.git0.1.fc22.x86_64
alsa-lib-1.0.28-2.fc22.x86_64
alsa-plugins-pulseaudio-1.0.28-4.fc22.x86_64
alsa-utils-1.0.28-2.fc22.x86_64

Steps to Reproduce:
1. Install F21/F22 on laptop
2. Load YouTube in browser or play audio file in Rhythmbox
3. No sound from speakers or headphone port

Based on Dell's software download page, the sound card in this laptop is a RealTek ALC3263 and *should* use the same kernel module as the RT286.  That's based on what I found in this Launchpad bug:

  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1413446

The snd_soc_rt286 module is loaded on my system now:

# lsmod | grep snd | awk '{print $1}' | sort
dw_dmac_core
snd
snd_compress
snd_hda_codec
snd_hda_codec_hdmi
snd_hda_controller
snd_hda_intel
snd_hwdep
snd_pcm
snd_seq
snd_seq_device
snd_soc_core
snd_soc_rt286
snd_soc_sst_acpi
snd_soc_sst_broadwell
snd_soc_sst_dsp
snd_soc_sst_haswell_pcm
snd_timer
soundcore

dmesg shows:

[    4.241594] rt286 i2c-INT343A:00: Device with ID register 0 is not rt286
[    4.394947] broadwell-audio broadwell-audio: ASoC: CODEC DAI rt286-aif1 not registered

Running alsamixer or adjusting audio in GNOME only shows the HDMI audio option.

Comment 1 Major Hayden 🤠 2015-02-03 15:39:01 UTC
alsa-info output: http://paste.fedoraproject.org/180936/22977907/raw/

Comment 2 Major Hayden 🤠 2015-02-07 22:03:04 UTC
The rt288 patch from the Launchpad bug[1] had no effect on the audio problem.

  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1413446

Apparently adding the following to the kernel command line *fixes* the audio problem but then *breaks* the trackpad by forcing it into PS/2 mode:

  acpi_os="!Windows 2013"

Comment 3 Major Hayden 🤠 2015-02-12 14:59:21 UTC
A reader on my blog found a patch in the alsa devel list that might be helpful:

http://permalink.gmane.org/gmane.linux.alsa.devel/133858

I'll give this a try tonight.

Comment 4 Major Hayden 🤠 2015-02-12 15:01:39 UTC
Better link: http://mailman.alsa-project.org/pipermail/alsa-devel/2015-February/087462.html

Comment 5 Jaroslav Reznik 2015-03-03 16:49:09 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22

Comment 6 Ricky Burgin 2015-03-09 19:31:46 UTC
Seems a firmware update is available, and along with some kernel param tweaking, fixes the sound.

http://bartongeorge.net/2015/02/23/update-2-dell-xps-13-laptop-developer-edition-sputnik-gen-4/

Not sure how "proper" the fix really is though, as written on the blog post, it's more of a workaround.

Comment 7 Major Hayden 🤠 2015-03-16 12:57:17 UTC
The firmware update hasn't helped with sound at all for me (I'm on A01), but I'm wondering if mjg's patch[1] that changes the ACPI _REV will help.  I've not yet tested it.

http://mjg59.dreamwidth.org/34542.html

Comment 8 Mario Limonciello 2015-04-08 17:47:55 UTC
After a BIOS update to A02 (or later) the sound will run in HDA mode on all Linux kernels.  BIOS A01 had an error that caused it to operate in an undefined mode on Linux.

These two patches will be needed for enabling HDA mic/headset support:

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?h=for-next&id=e1e62b98ebddc3234f3259019d3236f66fc667f8

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?h=for-next&id=f3b703326541d0c1ce85f5e570f6d2b6bd4296ec

If that above _REV patch (or some variation of it) does land upstream eventually then an I2S driver will need to be included as the hardware will run in I2S mode.

Comment 9 Mario Limonciello 2015-04-13 17:51:29 UTC
Can someone from the Fedora kernel maintainers backport those two patches for the latest Fedora development release?

Thanks

Comment 10 Josh Boyer 2015-04-17 12:50:00 UTC
Those two patches should already be in the latest Fedora development release kernels (rawhide) as of earlier this week.  Were you requesting that they be backported to the 4.0 based F22 kernel?

Comment 11 Mario Limonciello 2015-04-17 14:18:09 UTC
Yes, sorry, I wanted to see these backported to F21 and F22.  I thought they were CC'ed @stable, but they didn't seem to make it into 3.19.4 for whatever reason.

Here's the two upstream commits in Linuses' tree:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/sound/pci/hda/patch_realtek.c?id=e1e62b98ebddc3234f3259019d3236f66fc667f8

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/sound/pci/hda/patch_realtek.c?id=f3b703326541d0c1ce85f5e570f6d2b6bd4296ec

Comment 12 Mario Limonciello 2015-04-17 14:21:42 UTC
Oh, sorry I was wrong - they weren't CC'ed to stable.  I'll ask Kailang if they can be submitted to stable too.

Comment 13 Tim Hughes 2015-04-18 11:55:57 UTC
I have a patched copr build of 4.0.0 for Fedora 21 available here https://copr.fedoraproject.org/coprs/timhughes/kernel-xps13/

Comment 14 Laura Abbott 2015-04-21 17:18:50 UTC
Please test out http://koji.fedoraproject.org/koji/taskinfo?taskID=9521265. This has the two patches integrated.

Comment 15 darrell pfeifer 2015-04-28 12:03:19 UTC
Sound was working fine in the 4.0 builds, except for the headset.

With the start of 4.1 the initial set of sound fixes were committed and headset showed up too.

With the latest builds, the broadwell-rt286 device has appeared in pavuctl. It shows up separately from the default but doesn't produce sound. There is not headset, etc. The mic doesn't do anything in the level meter.

[    4.574199] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> System Pin mapping ok
[    4.574279] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Offload0 Pin mapping ok
[    4.574342] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Offload1 Pin mapping ok
[    4.574404] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Loopback Pin mapping ok
[    4.584734] broadwell-audio broadwell-audio: rt286-aif1 <-> snd-soc-dummy-dai mapping ok
[    4.601184] input: broadwell-rt286 Headset as /devices/pci0000:00/INT3438:00/broadwell-audio/sound/card1/input17

4.1.0-0.rc1.git0.1.fc23.x86_64

Comment 16 Mario Limonciello 2015-04-28 15:14:36 UTC
@Darrell: the 4.0 kernel that Laura posted above should include the fix for headset.  It should help if you can verify that.

As for the 4.1 build, you did cold boot twice after switching from 4.0 to 4.1?  The hardware needs to change the audio codec modes and to do this it uses cached values from a cold boot.  If it's still broke in 4.1 after that, then some changes in ASOC have likely caused problems that need to be fixed yet.

Comment 17 darrell pfeifer 2015-04-28 15:23:12 UTC
The 4.0 kernel worked.

The 4.1 kernel worked just fine with the first set of sound patches that were applied, including the headphones, mic, etc. It wa joyous. Shortly afterwards the 4.1 rawhide kernels stopped working at all.

I have cold booted many times with 4.1. I removed the !Windows kernel command at the time sound started working and haven't added it since. This is also with A03 BIOS (which also didn't change when sound stopped working)

I seem to recall the Matthew Garrett ACPI patch for "only report 2" came after the 4.1 sound patch but haven't confirmed.

Comment 18 Mario Limonciello 2015-04-28 15:31:08 UTC
@Laura,
Please see darrell's confirmation.  I think the patches should be good for 4.0 headset.

@darrell,
What happened is this commit landed in 4.1: https://github.com/torvalds/linux/commit/b1ef2972586577e0ca9675254ee141f65a8824e5

If after multiple cold boots it's still not working, then there is some work to be done in ASOC to solve this.  That causes the sound card to be operating in I2S mode.

If you can handle performing a bisect, then you can narrow down what patch caused the sound to break.  You should start out by applying b1ef2972586577e0ca9675254ee141f65a8824e5 to 4.0 final and make sure it works there.  If it works, then bisect between 4.0 final and 4.1-rc1.  If you are building a version that doesn't contain b1ef2972586577e0ca9675254ee141f65a8824e5, manually apply that.  This should help to identify where the ASOC changes that caused the problem are at.  It's very important that you make sure b1ef2972586577e0ca9675254ee141f65a8824e5 is applied for all the kernels you test.

Comment 19 Fedora Update System 2015-04-30 12:24:52 UTC
kernel-4.0.1-300.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/kernel-4.0.1-300.fc22

Comment 20 Fedora Update System 2015-05-01 16:54:23 UTC
Package kernel-4.0.1-300.fc22:
* should fix your issue,
* was pushed to the Fedora 22 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing kernel-4.0.1-300.fc22'
as soon as you are able to, then reboot.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-7371/kernel-4.0.1-300.fc22
then log in and leave karma (feedback).

Comment 21 Fedora Update System 2015-05-03 17:22:23 UTC
kernel-4.0.1-300.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 22 Niccolò Belli 2015-09-27 09:06:18 UTC
Hi, I want to get working I2S audio with recent kernels, so I rebuilt kernel 4.3-rc2 with # CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set but I still can't use I2S:

$ sudo lsmod | grep rt286
snd_soc_rt286          36864  0
snd_soc_rl6347a        16384  1 snd_soc_rt286
snd_soc_core          155648  1 snd_soc_rt286
snd_pcm                86016  7 snd_soc_core,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_soc_rt286,snd_pcm_dmaengine,snd_hda_core
i2c_core               49152  12 drm,i915,i2c_i801,elan_i2c,i2c_hid,i2c_designware_platform,drm_kms_helper,i2c_algo_bit,snd_soc_rl6347a,v4l2_common,snd_soc_rt286,videodev

$ sudo dmesg -t | egrep "(audio|rt286|INT343)"
snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC3263: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
snd_hda_codec_realtek hdaudioC1D0:    inputs:
snd_hda_codec_realtek hdaudioC1D0:      Headset Mic=0x18
snd_hda_codec_realtek hdaudioC1D0:      Headphone Mic=0x1a
snd_hda_codec_realtek hdaudioC1D0:      Internal Mic=0x12
input: DLL0665:01 06CB:76AD UNKNOWN as /devices/pci0000:00/INT3433:00/i2c-1/i2c-DLL0665:01/0018:06CB:76AD.0002/input/input9
snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3263 Analog [ALC3263 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0


Any idea?

Comment 23 Jan Henke 2015-09-27 09:10:19 UTC
Did you reboot twice into the new kernel? Only on the second cold boot into a I2S-enabled kernel the devices should be visible.

Comment 24 Niccolò Belli 2015-09-27 16:58:32 UTC
Thanks, that was part of the problem. Unfortunately it doesn't work:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


$ sudo dmesg -t | egrep "(audio|rt286|INT343)"
[sudo] password di niko: 
DMAR: ACPI device "INT3438:00" under DMAR at fed91000 as 00:13.0
input: DLL0665:01 06CB:76AD UNKNOWN as /devices/pci0000:00/INT3433:00/i2c-1/i2c-DLL0665:01/0018:06CB:76AD.0002/input/input8
Modules linked in: dw_dmac_core(+) gpio_lynxpoint snd_soc_sst_acpi 8250_dw snd_soc_rt286(+) video elan_i2c snd_soc_rl6347a drm_kms_helper snd_soc_core snd_hda_intel drm snd_compress snd_pcm_dmaengine i2c_hid snd_hda_codec tpm_crb snd_hda_core processor_thermal_device int3402_thermal intel_gtt i2c_designware_platform i2c_designware_core snd_hwdep spi_pxa2xx_platform syscopyarea sysfillrect sysimgblt fb_sys_fops snd_pcm tpm i2c_algo_bit i2c_core snd_timer snd int340x_thermal_zone mei_me intel_soc_dts_iosf int3400_thermal acpi_thermal_rel shpchp mei soundcore iosf_mbi acpi_pad button processor ac sch_fq_codel ip_tables x_tables btrfs xor raid6_pq sha256_ssse3 sha256_generic hmac drbg ansi_cprng algif_skcipher af_alg hid_multitouch usbhid hid dm_crypt dm_mod sd_mod rtsx_pci_sdmmc atkbd libps2
 [<ffffffffa047ed50>] rt286_i2c_probe+0xe0/0x460 [snd_soc_rt286]
 [<ffffffffa047ec70>] ? rt286_probe+0xa0/0xa0 [snd_soc_rt286]
 [<ffffffffa010a017>] rt286_i2c_driver_init+0x17/0x1000 [snd_soc_rt286]
snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
sst-acpi INT3438:00: DesignWare DMA Controller, 8 channels
haswell-pcm-audio haswell-pcm-audio: Direct firmware load for intel/IntcPP01.bin failed with error -2
haswell-pcm-audio haswell-pcm-audio: fw image intel/IntcPP01.bin not available(-2)
haswell-pcm-audio haswell-pcm-audio: FW loaded, mailbox readback FW info: type 01, - version: 00.00, build 77, source commit id: 876ac6906f31a43b6772b23c7c983ce9dcb18a19


$ sudo insmod /lib/modules/4.3.0-rc2-mainline/kernel/sound/soc/intel/boards/snd-soc-sst-broadwell.ko.gz                                                                                                    
insmod: ERROR: could not insert module /lib/modules/4.3.0-rc2-mainline/kernel/sound/soc/intel/boards/snd-soc-sst-broadwell.ko.gz: Device or resource busy


$ sudo lsmod | grep haswell
snd_soc_sst_haswell_pcm    77824  0
snd_soc_sst_ipc        16384  1 snd_soc_sst_haswell_pcm
snd_soc_sst_dsp        36864  1 snd_soc_sst_haswell_pcm
snd_soc_core          155648  3 snd_soc_sst_haswell_pcm,snd_soc_rt286
snd_pcm                86016  8 snd_soc_core,snd_hda_codec_hdmi,snd_soc_sst_haswell_pcm,snd_hda_codec,snd_hda_intel,snd_soc_rt286,snd_pcm_dmaengine,snd_hda_core
snd                    65536  13 snd_soc_core,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_soc_sst_haswell_pcm,snd_hda_codec,snd_hda_intel,snd_compress


$ sudo modprobe -r snd_soc_sst_haswell_pcm


$ sudo insmod /lib/modules/4.3.0-rc2-mainline/kernel/sound/soc/intel/boards/snd-soc-sst-broadwell.ko.gz                                                                                                    
insmod: ERROR: could not insert module /lib/modules/4.3.0-rc2-mainline/kernel/sound/soc/intel/boards/snd-soc-sst-broadwell.ko.gz: Unknown symbol in module


I'm using Arch, not Fedora: I hope this is not a problem because probably the problem is upstream and not distro specific.

Comment 25 Mads Villadsen 2015-09-29 18:00:39 UTC
This correctly worked with Fedora 22 but now after upgrading to F23 Beta it has stopped working again.

This is with kernel-4.2.1-300.fc23.x86_64.

Comment 26 ponor.hr 2015-10-03 03:47:34 UTC
(In reply to Mads Villadsen from comment #25)
> This correctly worked with Fedora 22 but now after upgrading to F23 Beta it
> has stopped working again.

Yes, it's back again - no sound with 4.2.2-300.fc23.x86_64. Please reopen

Comment 27 Peter Smith 2015-10-03 16:29:03 UTC
Also experiencing no audio on F23 beta.

Comment 28 Guillaume Kulakowski 2015-10-05 09:23:36 UTC
+1: I have open a bug for F23:
https://bugzilla.redhat.com/show_bug.cgi?id=1268786

Comment 29 Fernando Fernandez 2016-03-09 08:38:14 UTC
 As of a few weeks ago this issue has appeared for me.

Comment 30 ponor.hr 2016-03-10 03:17:18 UTC
No sound after booting into 4.4.3-300.fc23.x86_64. Sound comes back after rebooting to 4.3.3-303. And it's there after coming back to 4.4.3, but only until the next waking from suspend.

Comment 31 Samuel 2016-03-22 16:02:39 UTC
Problems started again with kernel 4.4.3

Comment 32 blitzkrieg263 2016-05-08 15:14:18 UTC
Same here with kernel 4.4.8...

Comment 33 blitzkrieg263 2016-05-08 15:32:28 UTC
Looks like there is a missing fw

→ dmesg | grep audio
[    3.843294] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.098918] haswell-pcm-audio haswell-pcm-audio: Direct firmware load for intel/IntcPP01.bin failed with error -2
[    4.098923] haswell-pcm-audio haswell-pcm-audio: fw image intel/IntcPP01.bin not available(-2)
[    4.099517] haswell-pcm-audio haswell-pcm-audio: FW loaded, mailbox readback FW info: type 01, - version: 00.00, build 77, source commit id: 876ac6906f31a43b6772b23c7c983ce9dcb18a19
[    4.172244] input: broadwell-rt286 Headset as /devices/pci0000:00/INT3438:00/broadwell-audio/sound/card1/input15
[   24.114143] haswell-pcm-audio haswell-pcm-audio: FW loaded, mailbox readback FW info: type 01, - version: 00.00, build 77, source commit id: 876ac6906f31a43b6772b23c7c983ce9dcb18a19

Comment 34 Jeroen Wouters 2016-05-08 23:54:34 UTC
According to this post, that firmware is optional and should therefore not be a problem:
http://www.spinics.net/lists/linux-acpi/msg57472.html

I got my sound working again with the copr kernel and alsa settings linked in Bug #1308792