Opened 4 years ago

Closed 2 years ago

#16335 closed bug (invalid)

No audio on Intel HDA system (Haswell, HP ProBook 430)

Reported by: dogcow Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Drivers/Audio/HDA Version: R1/beta2
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

System is a HP ProBook 430 laptop with i7-4500U CPU and integrated graphics.

The Intel HDA audio driver loads up and my audio device is recognized, but there is no audio output on the speakers or any of the audio jacks (I even tested the "line in" jack for audio output).

I made sure everything was unmuted and turned up in Media prefs.

syslog and listdev attached. I do wonder if it is technically working, but trying to send audio to the wrong place - like the built-in HDMI port, instead of to the speakers or headphones. I have seen this happen in other OSes before, but I am unsure how to troubleshoot further in Haiku.

This is an issue both on hrev54154+115 as well as the latest nightly hrev54379. The syslog attached is from hrev54154+115.

The two audio devices found in listdev:

device Multimedia controller (Audio device) [4|3|0]
  vendor 8086: Intel Corporation
  device 9c20: 8 Series HD Audio Controller

device Multimedia controller (Audio device) [4|3|0]
  vendor 8086: Intel Corporation
  device 0a0c: Haswell-ULT HD Audio Controller

Attachments (6)

syslog.txt (414.0 KB ) - added by dogcow 4 years ago.
listdev.txt (2.1 KB ) - added by dogcow 4 years ago.
two-sound-devices.png (20.1 KB ) - added by dogcow 4 years ago.
Linux shows two sound cards
hdmi-devices.png (181.9 KB ) - added by dogcow 4 years ago.
Card 0 is all HDMI digital output
analog-devices.png (143.5 KB ) - added by dogcow 4 years ago.
Card 1 is analog output
channel.png (21.4 KB ) - added by dogcow 4 years ago.
Haiku has the "channel" option set to "output 0", I wonder if this translates to "card 0" in Linux - if so, that means its trying to use the digital HDMI output instead of analog

Download all attachments as: .zip

Change History (14)

by dogcow, 4 years ago

Attachment: syslog.txt added

by dogcow, 4 years ago

Attachment: listdev.txt added

comment:1 by waddlesplash, 4 years ago

Component: Audio & VideoDrivers/Audio/HDA
Keywords: Intel HDA removed
Platform: x86-64All

comment:2 by ttcoder, 4 years ago

Not seeing significant error messages after a quick look at the HDA logging..

Things to try:

  • does audio work with another OS ?
  • does audio work with the Haiku driver if warm-booting from another OS where audio works ?

by dogcow, 4 years ago

Attachment: two-sound-devices.png added

Linux shows two sound cards

by dogcow, 4 years ago

Attachment: hdmi-devices.png added

Card 0 is all HDMI digital output

by dogcow, 4 years ago

Attachment: analog-devices.png added

Card 1 is analog output

by dogcow, 4 years ago

Attachment: channel.png added

Haiku has the "channel" option set to "output 0", I wonder if this translates to "card 0" in Linux - if so, that means its trying to use the digital HDMI output instead of analog

comment:3 by dogcow, 4 years ago

Replying to ttcoder:

Not seeing significant error messages after a quick look at the HDA logging..

Things to try:

  • does audio work with another OS ?
  • does audio work with the Haiku driver if warm-booting from another OS where audio works ?

To answer your questions, audio does work just fine under Linux, but even after warm-booting from Linux into Haiku, it does not work.

I will note that Linux sees two audio cards; one appears to be dedicated to digital HDMI output, whilst the other is analog.

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 0: HDMI [HDA Intel HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: 92HD91BXX Analog [92HD91BXX Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Notice how all the card 0 devices are related to HDMI output, while card 1 is the analog output.

If I had to make a completely uneducated guess, I suspect that Haiku might be trying to use card 0, which of course is not going to generate any analog output.

Please see the attached screenshots. Notice how Haiku has the "Channel" set to "output 0" under the Media preferences: Audio settings panel. I wonder if this "output 0" maps to what Linux refers to as "card 0," which would be the HDMI output. Unfortunately, Haiku doesn't present any other options on that drop-down menu. Is there some place to manually edit the configuration?

comment:4 by ttcoder, 4 years ago

Actually nope, the "output 0" in the Media Prefs is related to multi-channel audio, and to something called "jack re-tasking". We use that in our installs of Haiku, to make _one_ HDA codec (the Analog codec of course, not HDMI codec) output two different audio feeds to two different applications : with some special tweaks you can make MediaPlayer get hooked up to "output 0" and send a song for preview to e.g. the (analog) green jack, and have another application get hooked up to "output 1" and send another song to e.g. the (still analog) orange jack. Completely unrelated to HDMI.

I'm out of my depth for analysing your problem any further (korli will have to volunteer :-) but on the analog vs HDMI side, I'm fairly positive that your log contains the usual (sane/sensible) scenario : the driver attempts to talk to the HDMI codec, fails (returns playback 0x00000..), then attempts to talk to the Analog codec, and "succeeds" (apart from some minor warning about failing to look up display labels).

Edit:

There's a settings file but it controls just buffer sizes IIRC.

The driver indeed detects codec 0 as digital (HDMI)

The second chip (still says "codec 0", maybe I'm mis-remembering how the terminology works) is analog

There are "Digital" pin complexes down the road, not sure if that's significant.

Last edited 4 years ago by ttcoder (previous) (diff)

comment:5 by defcon8, 3 years ago

I have the exact same problem with a Lenovo Thinkpad Yoga. Haiku shows 1 audio device, HDA with only output 0. While media player plays a song, there is no audio coming from the speakers or the headphone output. I also suspect that Haiku is playing audio on the HDMI output. But I have no micro HDMI cable, so I cannot verify that...te

Ps. I tried Open Sound System, but I can't get it to work.

Listdev output:

device Multimedia controller (Audio device) [4|3|0]

vendor 8086: Intel Corporation device 9c20: 8 Series HD Audio Controller

device Multimedia controller (Audio device) [4|3|0]

vendor 8086: Intel Corporation device 0a0c: Haswell-ULT HD Audio Controller

Anyone know how to fix this, Haiku is great. But without audio its a whole lot less fun.

Version 3, edited 3 years ago by defcon8 (previous) (next) (diff)

comment:6 by diver, 3 years ago

Try to blocklist hda driver and install OpenSound package from HaikuDepot.

comment:7 by korli, 3 years ago

Please check with hrev55842 or newer.

comment:8 by waddlesplash, 2 years ago

Resolution: invalid
Status: newclosed

No reply to previous 2 comments.

Note: See TracTickets for help on using tickets.