Opened 2 years ago

Last modified 2 years ago

#17972 assigned bug

no sound with Framework Laptop (12th Gen Intel Core)

Reported by: taos Owned by: korli
Priority: normal Milestone: Unscheduled
Component: Drivers/Audio/HDA Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

According to listdev, hrev56511 sees the following multimedia device but can't use it. Preferences - Media shows no usable devices.

device Multimedia controller (Audio device) [4|3|80]
  vendor 8086: Intel Corporation
  device 51c8: Alder Lake PCH-P High Definition Audio Controller

Relevant (maybe) parts of the syslog (full syslog of hrev56511 64bit attached):

KERN: PCI: [dom 0, bus  0] bus   0, device 31, function  3: vendor 8086, device 51c8, revision 01
KERN: PCI:   class_base 04, class_function 03, class_api 80
KERN: PCI:   vendor 8086: Intel Corporation
KERN: PCI:   device 51c8: Alder Lake PCH-P High Definition Audio Controller
KERN: PCI:   info: Multimedia controller (Audio device)
KERN: PCI:   line_size 10, latency 20, header_type 00, BIST 00
KERN: PCI:   ROM base host 00000000, pci 00000000, size 00000000
KERN: PCI:   cardbus_CIS 00000000, subsystem_id 0002, subsystem_vendor_id f111
KERN: PCI:   interrupt_line ff, interrupt_pin 01, min_grant 00, max_latency 00
KERN: PCI:   base reg 0: host 000000605d1b8000, pci 000000605d1b8000, size 00004000, flags 04 00
KERN: PCI:   base reg 2: host 00000000, pci 00000000, size 00000000, flags 00
KERN: PCI:   base reg 3: host 00000000, pci 00000000, size 00000000, flags 00
KERN: PCI:   base reg 4: host 000000605d000000, pci 000000605d000000, size 00100000, flags 04 00
KERN: PCI:   Capabilities: PM, vendspec, MSI
KERN: sis7018:init_hardware:ver:2.0.2
KERN: pci_reserve_device(0, 31, 3, hda)
KERN: HDA: Detected controller @ PCI:0:31:3, IRQ:16, type 8086/51c8 (f111/0002)
KERN: loaded driver /boot/system/add-ons/kernel/drivers/dev/audio/hmulti/hda
KERN: es1370: init_hardware()
KERN: emuxki: init_hardware()
KERN: echo3g: init_hardware()
KERN: echo3g: no card found
KERN: auvia: init_hardware()
KERN: auich: init_hardware()
KERN: set MTRRs to:
KERN:   mtrr:  0: base: 0x43a00000, size:    0x80000, type: 0
KERN:   mtrr:  1: base: 0x43ae0000, size:    0x10000, type: 0
KERN:   mtrr:  2: base: 0x43ac0000, size:    0x20000, type: 0
KERN:   mtrr:  3: base: 0x43af0000, size:     0x8000, type: 0
KERN:   mtrr:  4: base: 0x60000000, size: 0x20000000, type: 0
KERN:   mtrr:  5: base: 0x80000000, size: 0x80000000, type: 0
KERN:   mtrr:  6: base: 0x605d1a0000, size:    0x10000, type: 0
KERN:   mtrr:  7: base: 0x4000000000, size: 0x10000000, type: 1
KERN: update_mtrrs(): Succeeded setting MTRRs after ignoring uncacheable ranges up to size 0x4000.
KERN: hda: enabling PCI bus mastering
KERN: hda: enabling PCI memory access
KERN: allocate_io_interrupt_vectors: allocated 1 vectors starting from 68
KERN: msi_allocate_vectors: allocated 1 vectors starting from 68
KERN: msi enabled: 0x0081
KERN: hda: using MSI vector 68
KERN: hda: DMA snooping: no
KERN: hda: HDA v1.0, O:9/I:7/B:0, #SDO:1, 64bit:yes
KERN: set MTRRs to:
KERN:   mtrr:  0: base: 0x43a00000, size:    0x80000, type: 0
KERN:   mtrr:  1: base: 0x43ae0000, size:    0x10000, type: 0
KERN:   mtrr:  2: base: 0x43ac0000, size:    0x20000, type: 0
KERN:   mtrr:  3: base: 0x43af0000, size:     0x8000, type: 0
KERN:   mtrr:  4: base: 0x60000000, size: 0x20000000, type: 0
KERN:   mtrr:  5: base: 0x80000000, size: 0x80000000, type: 0
KERN:   mtrr:  6: base: 0x605d1a0000, size:    0x10000, type: 0
KERN:   mtrr:  7: base: 0x4000000000, size: 0x10000000, type: 1
KERN: update_mtrrs(): Succeeded setting MTRRs after ignoring uncacheable ranges up to size 0x4000.
KERN: hda: Failed to get vendor and revision parameters: Operation timed out
KERN: hda: no active codec
KERN: msi_free_vectors: freeing 1 vectors starting from 68
KERN: free_io_interrupt_vectors: freeing 1 vectors starting from 68
KERN: set MTRRs to:
KERN:   mtrr:  0: base: 0x43a00000, size:    0x80000, type: 0
KERN:   mtrr:  1: base: 0x43ac0000, size:    0x20000, type: 0
KERN:   mtrr:  2: base: 0x43af0000, size:     0x8000, type: 0
KERN:   mtrr:  3: base: 0x43ae0000, size:    0x10000, type: 0
KERN:   mtrr:  4: base: 0x43afc000, size:     0x2000, type: 0
KERN:   mtrr:  5: base: 0x43af8000, size:     0x4000, type: 0
KERN:   mtrr:  6: base: 0x60000000, size: 0x20000000, type: 0
KERN:   mtrr:  7: base: 0x80000000, size: 0x80000000, type: 0
KERN:   mtrr:  8: base: 0x605d1a0000, size:    0x10000, type: 0
KERN:   mtrr:  9: base: 0x4000000000, size: 0x10000000, type: 1
KERN: update_mtrrs(): Succeeded setting MTRRs after ignoring uncacheable ranges up to size 0x1000.
KERN: hda: ERROR: No such device(80007007)

Attachments (7)

syslog_timestamp_hrev56511.txt (139.4 KB ) - added by taos 2 years ago.
syslog booting hrev56511 with timestamps
Media preferences hrev56521.png (58.3 KB ) - added by taos 2 years ago.
no audio input in Media Preferences of hrev56521
syslog_hrev56521.txt (141.0 KB ) - added by taos 2 years ago.
syslog with timestamps booting hrev56621
Media preferences after rebooting from Linux.png (28.0 KB ) - added by taos 2 years ago.
audio in Media preferences after rebooting from linux
syslog_hrev56524_with_sound.txt (153.8 KB ) - added by taos 2 years ago.
syslog of hrev56524 with audible sound after rebboting from linux
output_cat_dev_acpi_namespace.txt (205.9 KB ) - added by taos 2 years ago.
output of 'cat /dev/acpi/namespace' (hrev56530)
syslog_hrev56541.txt (386.0 KB ) - added by taos 2 years ago.
syslog of hrev56541 (first re-booting from haiku, last re-booting from linux)

Download all attachments as: .zip

Change History (25)

by taos, 2 years ago

syslog booting hrev56511 with timestamps

comment:1 by korli, 2 years ago

Owner: changed from nobody to korli
Status: newassigned

comment:3 by korli, 2 years ago

Merged in hrev56517

by taos, 2 years ago

no audio input in Media Preferences of hrev56521

by taos, 2 years ago

Attachment: syslog_hrev56521.txt added

syslog with timestamps booting hrev56621

comment:4 by taos, 2 years ago

With hrev56521, there's still no audio input to choose from in Media Preferences:

no audio input in Media Preferences of hrev56521

However, compared to hrev56511, there's now an additional line in syslog (full syslog for hrev56521 attached):

KERN: hda: quirk disable miscbdcge on init

And the following has changed to 'yes':

KERN: hda: DMA snooping: yes

comment:5 by korli, 2 years ago

The device is like powered off. No idea what could help.

comment:6 by korli, 2 years ago

Does it work with FreeBSD or OpenBSD?

in reply to:  6 comment:7 by taos, 2 years ago

Replying to korli:

Does it work with FreeBSD or OpenBSD?

Not yet tested, still deciding between FreeBSD and OpenBSD and thinking about the best partition layout that fits on the internal disk and leaves enough room for shared data partitions (hey, those three (and soon four) operating systems have to co-exist and interact peacefully ;-) ).

lspci -vvv under Linux doesn't add more useful information, does it?

00:1f.3 Audio device: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01) (prog-if 80)
        Subsystem: Device f111:0002
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 32, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 196
        IOMMU group: 15
        Region 0: Memory at 605d1b8000 (64-bit, non-prefetchable) [size=16K]
        Region 4: Memory at 605d000000 (64-bit, non-prefetchable) [size=1M]
        Capabilities: <access denied>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl

comment:8 by korli, 2 years ago

No, I looked at some logs for this laptop at linux-hardware.org and couldn't spot anything. Or try https://github.com/helloSystem/hello live USB.

in reply to:  5 comment:9 by taos, 2 years ago

Replying to korli:

The device is like powered off. No idea what could help.

audio in Media preferences after rebooting from linux

It appears in Media preferences after rebooting from Linux (but not after a cold boot°). However, it doesn't list the speakers, only the headphone output and still doesn't produce any sound.

° Unfortunately, rebooting from Linux prevents the touchpad from working, and starting WebPositive then kills the network connection after some 30 s.

The Live CD mode of the FreeBSD installation medium does produce sound (just checked with the acoustic feedback of the command line), both over the speakers and the headphone jack (it switches accordingly). For FreeBSD, the audio device does not have to be "initialized" by rebooting from Linux.

Version 2, edited 2 years ago by taos (previous) (next) (diff)

by taos, 2 years ago

audio in Media preferences after rebooting from linux

comment:10 by taos, 2 years ago

I have sound in OpenBSD (mp3 stream in browser). Switching between headphones and speakers work, as well as changing the volume with the media keys. Any information I should collect from the OpenBSD system?

comment:11 by korli, 2 years ago

Could it be that the HDA device is in PCIe cold state? Then waking up from D3 has to happen with platform support, ie ACPI.

comment:12 by taos, 2 years ago

I got it once (so far) to actually emit audible sound (incl. switching between headphones and speakers) after rebooting from linux, no idea how that worked. Corresponding syslog is attached.

Media preferences shows under HD Audio output only "Right Headphones" with gain controls, in the next column, there's only a centered "Speaker" without any controls. It stays the same and doesn't react to plugging the headphone cable in/out. Media keys don't work.

by taos, 2 years ago

syslog of hrev56524 with audible sound after rebboting from linux

comment:13 by korli, 2 years ago

Could you attach the result of cat /dev/acpi/namespace ? I've added a command acpi_call (still to be merged), which would help to make sure the device is out of its cold state.

by taos, 2 years ago

output of 'cat /dev/acpi/namespace' (hrev56530)

comment:14 by korli, 2 years ago

Thanks, the ACPI path to call is '\_SB_.PC00.HDAS._PS0'

comment:15 by korli, 2 years ago

acpi_call is merged and provided by the haiku_extras package. Please update and install this package, then acpi_call -p '\_SB_.PC00.HDAS._PS0' should switch to the correct state. If this works, you can try to restart the media_server.

comment:16 by taos, 2 years ago

I'll have a look as soon as hrev56537 is available from SoftwareUpdater. At the moment, the most recent is haiku_extras-r1~beta3_hrev56536-1-x86_64.hpkg which should be the last revison without acpi_call.

comment:17 by taos, 2 years ago

After a cold boot (or re-booting from Haiku), acpi_call -p '\_SB_.PC00.HDAS._PS0' results in Unknown object type '0'. Hitting "Restart media services" in Media preferences doesn't affect the available options for Audio Input/Output.

After re-booting from linux, I already have HD Audio as Audio Input/Output (this time again with actual sound). acpi_call -p '\_SB_.PC00.HDAS._PS0' still gives Unknown object type '0'. Hitting "Restart media services" in Media preferences disables sound (no usable Audio Input/Output to choose from).

by taos, 2 years ago

Attachment: syslog_hrev56541.txt added

syslog of hrev56541 (first re-booting from haiku, last re-booting from linux)

comment:18 by korli, 2 years ago

Summary: no sound with "Alder Lake PCH-P High Definition Audio Controller"no sound with Framework Laptop (12th Gen Intel Core)

I've tested on a Alder Lake laptop and audio works.

Note: See TracTickets for help on using tickets.