fedora-silverblue / issue-tracker

Fedora Silverblue issue tracker
https://fedoraproject.org/atomic-desktops/silverblue/
123 stars 3 forks source link

lost front speaker and headset #559

Open briner opened 6 months ago

briner commented 6 months ago

Describe the bug Since the upgrade to silverblue 40, I'm not able to use the front speaker as they are not listed any more. I also lost the ability to use a jack's headset.

Fortunately, I can still use my bluetooth headset.

To Reproduce I've no idea on how to downgrade silverblue to 39 to test the front speaker

Expected behavior Able to choose the front speaker or the jack's headet

Screenshots This is a french screenshot

image

"Aucun périphérique de sortie" means in english "no output device"

OS version:

rpm-ostree status -b
State: idle
BootedDeployment:
● fedora:fedora/40/x86_64/silverblue
                  Version: 40.20240502.0 (2024-05-02T00:35:39Z)
               BaseCommit: 04d79eff818046ef8ea32b45effee0a4c06f086c018a5be39b3480c2e97df14d
             GPGSignature: Valid signature by 115DF9AEF857853EE8445D0A0727707EA15B79CC
      RemovedBasePackages: firefox firefox-langpacks 125.0.2-1.fc40
          LayeredPackages: distrobox emacs flatpak-spawn gnome-tweaks gstreamer1-plugin-openh264 htop vim

Additional context

I've no idea which cli command I should write to list the "audio device". I've put some commands here, in case of.

LC_ALL=C arecord -l | sed 's|^|  # |'
  # **** List of CAPTURE Hardware Devices ****
  # card 0: PCH [HDA Intel PCH], device 0: ALC285 Analog [ALC285 Analog]
  #   Subdevices: 1/1
  #   Subdevice #0: subdevice #0

LC_ALL=C arecord -L | sed 's|^|  # |'
  # null
  #     Discard all samples (playback) or generate zero samples (capture)
  # pipewire
  #     PipeWire Sound Server
  # default
  #     Default ALSA Output (currently PipeWire Media Server)
  # sysdefault:CARD=PCH
  #     HDA Intel PCH, ALC285 Analog
  #     Default Audio Device
  # front:CARD=PCH,DEV=0
  #     HDA Intel PCH, ALC285 Analog
  #     Front output / input

LC_ALL=C lspci -s 00:1f.3 -v | sed 's|^|  # |'
  # 00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21) (prog-if 80)
  #     Subsystem: Lenovo Device 2259
  #     Flags: bus master, fast devsel, latency 64, IRQ 152
  #     Memory at 2fff018000 (64-bit, non-prefetchable) [size=16K]
  #     Memory at 2fff000000 (64-bit, non-prefetchable) [size=64K]
  #     Capabilities: <access denied>
  #     Kernel driver in use: snd_hda_intel
  #     Kernel modules: snd_hda_intel, snd_soc_skl, snd_soc_avs, snd_sof_pci_intel_skl

dmesg -l warn,err,crit,alert,emerg | sed 's|^|  # |'
  # [    0.208757] MDS CPU bug present and SMT on, data leak possible. See https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html for more details.
  # [    0.208757] MMIO Stale Data CPU bug present and SMT on, data leak possible. See https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/processor_mmio_stale_data.html for more details.
  # [    0.484186] pnp 00:0b: disabling [mem 0x000c0000-0x000c3fff] because it overlaps 0000:00:02.0 BAR 6 [mem 0x000c0000-0x000dffff]
  # [    0.484193] pnp 00:0b: disabling [mem 0x000c8000-0x000cbfff] because it overlaps 0000:00:02.0 BAR 6 [mem 0x000c0000-0x000dffff]
  # [    0.484197] pnp 00:0b: disabling [mem 0x000d0000-0x000d3fff] because it overlaps 0000:00:02.0 BAR 6 [mem 0x000c0000-0x000dffff]
  # [    0.484201] pnp 00:0b: disabling [mem 0x000d8000-0x000dbfff] because it overlaps 0000:00:02.0 BAR 6 [mem 0x000c0000-0x000dffff]
  # [    1.632907] hpet_acpi_add: no address or irqs in _CRS
  # [    1.680059] device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log.
  # [    1.688493] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
  # [   17.823850] resource: resource sanity check: requesting [mem 0x00000000fed10000-0x00000000fed15fff], which spans more than pnp 00:08 [mem 0xfed10000-0xfed13fff]
  # [   17.823857] caller snb_uncore_imc_init_box+0x87/0xe0 [intel_uncore] mapping multiple BARs
  # [   18.430670] thermal thermal_zone9: failed to read out thermal zone (-61)
  # [   19.923748] Bluetooth: hci0: Malformed MSFT vendor event: 0x02
  # [   19.934743] Bluetooth: hci0: Reading supported features failed (-16)
  # [   19.934750] Bluetooth: hci0: HCI LE Coded PHY feature bit is set, but its usage is not supported.
  # [ 2947.305796] xhci_hcd 0000:3c:00.0: Unable to change power state from D3hot to D0, device inaccessible
  # [ 2947.366118] xhci_hcd 0000:3c:00.0: Unable to change power state from D3cold to D0, device inaccessible
  # [ 2947.366134] xhci_hcd 0000:3c:00.0: Controller not ready at resume -19
  # [ 2947.366135] xhci_hcd 0000:3c:00.0: PCI post-resume error -19!
  # [ 2947.366137] xhci_hcd 0000:3c:00.0: HC died; cleaning up
  # [ 2947.366805] xhci_hcd 0000:3c:00.0: Host halt failed, -19
  # [ 2947.366826] xhci_hcd 0000:3c:00.0: Host not accessible, reset failed.
  # [ 2952.186049] pcieport 0000:07:00.0: Unable to change power state from D3hot to D0, device inaccessible
travier commented 6 months ago

I had a similar issue and for me the pipewire user instance was not able to start due to older (incompatible) configuration.

Can you make sure that the user instances are started?

$ systemctl --user -t socket,service | grep pipewire
  pipewire-pulse.service                            loaded active running   PipeWire PulseAudio
  pipewire.service                                  loaded active running   PipeWire Multimedia Service
  pipewire-pulse.socket                             loaded active running   PipeWire PulseAudio
  pipewire.socket                                   loaded active running   PipeWire Multimedia System Sockets
briner commented 6 months ago

Thanks for your help, but it did not work out :(

systemctl --user -t socket,service | grep pipewire | sed 's|^|  # |'
  #   pipewire-pulse.service                              loaded active running PipeWire PulseAudio
  #   pipewire.service                                    loaded active running PipeWire Multimedia Service
  #   pipewire-pulse.socket                               loaded active running PipeWire PulseAudio
  #   pipewire.socket                                     loaded active running PipeWire Multimedia System Sockets
travier commented 6 months ago

Hum, then I think it's probably best to report that to pipewire, either upstream or in Bugzilla.

briner commented 6 months ago

I've used a live usb key with fedora39 and fedora40. And both of them provides me the front speaker and the headset.

Quite strange, as I thought that silverblue 40 was really close to fedora 40

I'll open a case on pipewire then !

briner commented 6 months ago

I've also try to list the audio sink with some pipewire commands. And it feels that I only get the HDMI one

pw-cli ls | grep -i "sink" -B 11 | sed 's|^|  # |'
  #     id 46, type PipeWire:Interface:Node/3
  #         object.serial = "50"
  #         object.path = "alsa:pcm:0:hdmi:0:playback"
  #         factory.id = "18"
  #         client.id = "40"
  #         device.id = "41"
  #         priority.session = "696"
  #         priority.driver = "696"
  #         node.description = "Audio interne Stéréo numérique (HDMI)"
  #         node.name = "alsa_output.pci-0000_00_1f.3.hdmi-stereo"
  #         node.nick = "HDMI 0"
  #         media.class = "Audio/Sink"
travier commented 6 months ago

If it works with Fedora Workstation 40 then it's super weird and could be a cache or config issue.

briner commented 6 months ago

You know what ?

When pressing "audio up", the system was augmenting the hdmi output.

So after your message, I launched the sound preferences. And then I've plugged an HDMI cable.

Suddenly, the "front speaker" appeared.

I've choose this new output, unplugged the hdmi, made some sound test, restarted my laptop.

And everything come back to normal.

I'm a bit puzzled. But it worked !