Bug 95731 - Broadwell RT286 only has HDMI outputs
Summary: Broadwell RT286 only has HDMI outputs
Status: RESOLVED UNREPRODUCIBLE
Alias: None
Product: Drivers
Classification: Unclassified
Component: Sound(ALSA) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Keyon
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-27 13:06 UTC by Steven Harms
Modified: 2015-08-19 00:51 UTC (History)
10 users (show)

See Also:
Kernel Version: 3.19.1-201.fc21.x86_64
Subsystem:
Regression: No
Bisected commit-id:


Attachments
lspci output (7.16 KB, application/octet-stream)
2015-03-27 13:06 UTC, Steven Harms
Details
dmesg output (86.44 KB, application/octet-stream)
2015-03-27 13:07 UTC, Steven Harms
Details
aplay -l output (356 bytes, application/octet-stream)
2015-03-27 13:09 UTC, Steven Harms
Details
enable audio logs for debugging. (651 bytes, patch)
2015-04-29 07:26 UTC, Keyon
Details | Diff
dmesg sound debug (87.61 KB, application/octet-stream)
2015-05-14 18:46 UTC, Peter Andreas Entschev
Details

Description Steven Harms 2015-03-27 13:06:46 UTC
Created attachment 172501 [details]
lspci output

This device supports audio output, however only the HDMI output is shown.  I have tested this against 3.19.1-201.fc21.x86_64 along with 4.0.0rc3.

May be related to bug #93361 (https://bugzilla.kernel.org/show_bug.cgi?id=93361)

This is on a HP Spectre x360.  Running 'alsamixer -c1' results in 'invalid card index: 1
try `alsamixer --help' for more information'
Comment 1 Steven Harms 2015-03-27 13:07:18 UTC
Created attachment 172511 [details]
dmesg output
Comment 2 Steven Harms 2015-03-27 13:08:03 UTC
Also already took mainline linux-firmware.git firmware and installed, no change in behavior
Comment 3 Steven Harms 2015-03-27 13:09:13 UTC
Created attachment 172521 [details]
aplay -l output
Comment 4 Steven Harms 2015-03-27 13:10:50 UTC
Verified I have Latest I2S firmware in /lib/firmware/intel/IntcSST2.bin
Comment 5 Steven Harms 2015-03-27 13:21:22 UTC
Rebooted with cmdline parameter acpi_osi="!Windows 2013" with no change in behavior
Comment 6 Steven Harms 2015-03-27 13:31:36 UTC
Relevant dmesg lines:

[  186.173021] haswell-pcm-audio haswell-pcm-audio: error: no free blocks for section at offset 0xa0000 size 0x10c
[  186.173023] haswell-pcm-audio haswell-pcm-audio: error: could not allocate blocks for module 0
[  186.173025] haswell-pcm-audio haswell-pcm-audio: error: invalid module 0
[  186.173027] haswell-pcm-audio haswell-pcm-audio: error: parse fw failed -12
[  186.173028] haswell-pcm-audio haswell-pcm-audio: error: SST FW reload failed
[  186.173037] haswell-pcm-audio haswell-pcm-audio: failed to reload -12
[  186.173325] broadwell-audio broadwell-audio: ASoC: CODEC DAI rt286-aif1 not registered
[  186.173347] platform broadwell-audio: Driver broadwell-audio requests probe deferral
[  186.173785] broadwell-audio broadwell-audio: ASoC: CODEC DAI rt286-aif1 not registered
[  186.173803] platform broadwell-audio: Driver broadwell-audio requests probe deferral
Comment 7 Edward Peckham 2015-04-27 20:45:42 UTC
Tried with 4.1.0rc1 and now get a more accurate error message, but no idea why we're getting an -ETIMEOUT from the vendor id I2C read. 

$ uname -r
4.1.0-040100rc1-generic

$ dmesg | grep rt286
[    6.999989] rt286 i2c-INT343A:00: I2C error -110
[    9.105565] rt286: probe of i2c-INT343A:00 failed with error -110
[    9.108801] broadwell-audio broadwell-audio: ASoC: CODEC DAI rt286-aif1 not registered
Comment 8 Keyon 2015-04-29 07:26:59 UTC
Created attachment 175221 [details]
enable audio logs for debugging.

can you apply the patch(0001-ALSA-enable-debug-logs.patch) to enable audio logs for debugging, and send dmesg again?
Comment 9 Peter Andreas Entschev 2015-05-14 18:46:09 UTC
Created attachment 176901 [details]
dmesg sound debug
Comment 10 Peter Andreas Entschev 2015-05-14 18:47:45 UTC
(In reply to Keyon from comment #8)
> Created attachment 175221 [details]
> enable audio logs for debugging.
> 
> can you apply the patch(0001-ALSA-enable-debug-logs.patch) to enable audio
> logs for debugging, and send dmesg again?

I also have the same problem with HP Spectre x360. I attached the dmesg with sound debug info, running kernel 4.1.0-rc3.

Linux mjolnir 4.1.0-rc3 #1 SMP Thu May 14 14:28:10 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
Comment 11 Keyon 2015-06-04 08:18:43 UTC
assigning to me.
Comment 12 jungoo.kwak 2015-08-12 15:47:48 UTC
Has there been any progress made towards this bug lately?
Comment 13 Keyon 2015-08-13 03:17:27 UTC
finally got time and platform to debug it, anyone can share me how to duplicate it on Dell XPS with latest kernel?
Comment 14 jungoo.kwak 2015-08-13 03:25:24 UTC
Keyon: I believe with the XPS 13, any distribution results in the bug where the output for audio is HDMI only. A solution to the bug on the XPS13 was resolved on the Ubuntu forums here, where they state that you have to flash the firmware to A03 and then perform a cold boot. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1413446
Comment 15 Keyon 2015-08-13 06:07:12 UTC
thanks, jungoo, do you know how to flash the firmware? do I need special tool for that?
Comment 16 Keyon 2015-08-13 06:30:04 UTC
my x13 show that I have card 1, and audio playback works for HDA audio, do you know how I can switch to ADSP mode?

the "aplay -l" show as below:

test@test-XPS-13-9343:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
Failed to create secure directory (/run/user/1000/pulse): Permission denied
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
test@test-XPS-13-9343:~$
Comment 17 jungoo.kwak 2015-08-13 10:14:41 UTC
Keyon: The BIOS can be upgraded from the Dell website. It requires that you have Windows. http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=XY677 The aplay -l shows that you have an audio device for card 1. In order to switch cards, I believe you edit the /etc/asound.conf and add 

pcm.!default {
        type hw
        card 1
}

I got this information from here. https://bbs.archlinux.org/viewtopic.php?id=197265
Comment 18 jungoo.kwak 2015-08-13 11:02:51 UTC
Ok, I was able to manage to get the sound to work on an HP Spectre x360 13-4003dx. The first thing to do was to change options under systemd from root=/dev/sda2 rw to acpi_osi="!Windows 2013" acpi_osi="!Windows 2012" acpi_backlight=vendor root=/dev/sda2 rw

So nano esp/loader/entries/arch.conf
title          Arch Linux
linux          /vmlinuz-linux
initrd         /initramfs-linux.img
options        acpi_osi="!Windows 2013" acpi_osi="!Windows 2012"           acpi_backlight=vendor root=/dev/sda2 rw

I then rebooted. In aplay -l, I originally had
**** 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

But editing systemd and rebooting gave this option,
card 1: PCH [HDA Intel PCH], device 0: ALC3242 Analog [ALC3242 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

I then went in to alsamixer, and changed the card from 0 to 1, and the audio finally works.
Comment 19 Keyon 2015-08-14 01:40:26 UTC
hi jungoo, finally I verified that my DELL XPS 13 9343 ADSP(I2S) works well.

please use latest ASoC for-next kernel, and config to unselect CONFIG_ACPI_REV_OVERRIDE_POSSIBLE(to select I2S mode), also remember to select broadwell adsp driver.

test@test-XPS-13-9343:~$ 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 1: broadwellrt286 [broadwell-rt286], device 0: System Playback/Capture (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: broadwellrt286 [broadwell-rt286], device 1: Offload0 Playback (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: broadwellrt286 [broadwell-rt286], device 2: Offload1 Playback (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
test@test-XPS-13-9343:~$
Comment 20 Keyon 2015-08-18 07:21:26 UTC
let me mark it fixed as upstream kernel don't have this issue anymore.
Comment 21 jungoo.kwak 2015-08-18 15:17:07 UTC
Alright, great. So it's now fixed in the 4.2 Kernel?
Comment 22 Keyon 2015-08-19 00:51:20 UTC
yes, I think so. can you also have a try on your side to verify it?

Note You need to log in before you can comment on or make changes to this bug.