I have an HP 15z-fc000 that won't play sound from its built-in speakers after a warm boot (i.e., after doing "reboot"). It works fine after a cold boot (i.e., after doing "shutdown", waiting for it to turn completely off, and then turning it back on with the power button). When it's not working, the name of the output device I see is "Dummy output". Here's the relevant device from lspci -vvvnn from a warm boot when it's broken:
03:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller [1022:15e3]
        Subsystem: Hewlett-Packard Company Family 17h (Models 10h-1fh) HD Audio Controller [103c:8b2f]
        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: 0, Cache Line Size: 64 bytes
        Interrupt: pin C routed to IRQ 54
        IOMMU group: 17
        Region 0: Memory at fccc0000 (32-bit, non-prefetchable) [size=32K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [64] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0.000W
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 256 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 16GT/s (ok), Width x16 (ok)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
                         10BitTagComp+ 10BitTagReq- OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
                         EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [2a0 v1] Access Control Services
                ACSCap: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
                ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
On cold boots when it's working, it has DisINTx+ instead of DisINTx-, MSI: Enable+ instead of MSI: Enable-, and Address: 00000000fee00000 instead of Address: 0000000000000000.
On warm boots when it's broken, I don't see this device in aplay -l at all, but on cold boots when it's working, it appears there like this:
card 1: Generic_1 [HD-Audio Generic], device 0: ALC236 Analog [ALC236 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
I've tried on both Ubuntu 22.04 (a clean installation, not an upgrade from an older version) and 23.04 (from a live USB), and neither one works. I'm happy to use either, should there be a solution that works on one but not the other. Here's some other things I tried, and the results:
- Adding snd-hda-intel.model=genericto the kernel command line, or appendingoptions snd-hda-intel model=genericto/etc/modprobe.d/alsa-base.conf- Changes the output device I see to "HD-Audio Generic Digital Stereo (HDMI)", but I still can't hear anything played through it.
- Adding snd-hda-intel.dmic_detect=0to the kernel command line, or appendingoptions snd-hda-intel dmic_detect=0to/etc/modprobe.d/alsa-base.conf- No noticeable change
- Both of the above at the same time - No noticeable change beyond what the first one did alone
- Booting the 6.3.0 mainline kernel from https://kernel.ubuntu.com/~kernel-ppa/mainline/v6.3/amd64/ - No noticeable change
- pulseaudio --killfollowed by- pulseaudio --start: PulseAudio never comes back up and I can't even see sound preferences anymore until I reboot
- sudo touch /usr/share/pipewire/media-session.d/with-pulseaudiofollowed by- systemctl --user restart pipewire-session-manager: No noticeable change
I'm out of ideas. What should I try/do next?
 
     
    