Can't get the sound to work with any linux distro I've tried so far, please help!

Hey fellas, I’ve just bought myself a new a laptop and finally decided to give linux a try. I’m loving the fedora environment so far but I’ve come across a big problem that I’m unable to resolve myself. Namely I can’t get the system to play any sound at all, neither from the built-in speakers or my wired headset…

At this point I’ve tried the following:

  • I tried different apps to see if any of them would have sound
  • Reinstalling pipewire and wireplumber
  • Reinstalling the whole fedora distro
  • I tried installing a couple of other linux distros hoping to get any sound to work with bad results (ubuntu, linuxmint)
  • As well as countless other possible fixes that I found on the web, which I didn’t completely understand

I also tried booting up windows 10 again today, just to make sure that it’s not a hardware issue. And sure enough, the speakers started working just fine…

Lastly I wanted to mention that when viewing the sound settings menu, fedora does show me that I have an Output Device connected (Speakers - Celeron/Pentium Silver Processor high Definition Audio). While both ubuntu and mint couldn’t recognize any Output Device at all, the only option they gave me was the “Dummy Audio” device.


I just did a complete wipe of my computer again and installed a fresh copy of fedora on it, also i ran the sudo dnf update command.

I believe I am more tech savvy than the average person but i’m completely clueless when it comes to linux. Any help would be appreciated guys, thank you!


My system info:

H/W path           Device     Class          Description
========================================================
                              system         GeoBook 240 (GE178-US-1)
/0                            bus            EM_IG218_200B_ENE_TI_V2.0
/0/0                          memory         64KiB BIOS
/0/23                         memory         8GiB System Memory
/0/23/0                       memory         2GiB DIMM LPDDR4 Synchronous 2400 MHz (0.4 ns)
/0/23/1                       memory         2GiB DIMM LPDDR4 Synchronous 2400 MHz (0.4 ns)
/0/23/2                       memory         2GiB DIMM LPDDR4 Synchronous 2400 MHz (0.4 ns)
/0/23/3                       memory         2GiB DIMM LPDDR4 Synchronous 2400 MHz (0.4 ns)
/0/35                         memory         224KiB L1 cache
/0/36                         memory         4MiB L2 cache
/0/37                         processor      Intel(R) Pentium(R) Silver N5030 CPU @ 1.10GHz
/0/100                        bridge         Gemini Lake Host Bridge
/0/100/0.1                    generic        Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework P
/0/100/2                      display        GeminiLake [UHD Graphics 605]
/0/100/e                      multimedia     Celeron/Pentium Silver Processor High Definition Audio
/0/100/f                      communication  Celeron/Pentium Silver Processor Trusted Execution Engine Interface
/0/100/12          scsi1      storage        Celeron/Pentium Silver Processor SATA Controller
/0/100/12/0.0.0    /dev/sda   disk           128GB Netac SSD 128GB
/0/100/12/0.0.0/1             volume         599MiB Windows FAT volume
/0/100/12/0.0.0/2  /dev/sda2  volume         1GiB EXT4 volume
/0/100/12/0.0.0/3  /dev/sda3  volume         117GiB EFI partition
/0/100/14                     bridge         Gemini Lake PCI Express Root Port
/0/100/14/0        wlp1s0     network        RTL8821CE 802.11ac PCIe Wireless Network Adapter
/0/100/15                     bus            Celeron/Pentium Silver Processor USB 3.0 xHCI Controller
/0/100/15/0        usb1       bus            xHCI Host Controller
/0/100/15/0/3      mmc0       bus            USB2.0-CRW
/0/100/15/0/4                 communication  Bluetooth Radio
/0/100/15/0/6                 multimedia     USB camera
/0/100/15/1        usb2       bus            xHCI Host Controller
/0/100/16                     generic        Celeron/Pentium Silver Processor I2C 0
/0/100/16.1                   generic        Celeron/Pentium Silver Processor I2C 1
/0/100/16.2                   generic        Celeron/Pentium Silver Processor I2C 2
/0/100/16.3                   generic        Celeron/Pentium Silver Processor I2C 3
/0/100/17                     generic        Celeron/Pentium Silver Processor I2C 4
/0/100/17.1                   generic        Celeron/Pentium Silver Processor I2C 5
/0/100/17.2                   generic        Celeron/Pentium Silver Processor I2C 6
/0/100/17.3                   generic        Celeron/Pentium Silver Processor I2C 7
/0/100/18                     generic        Celeron/Pentium Silver Processor Serial IO UART Host Controller
/0/100/18.1                   generic        Celeron/Pentium Silver Processor Serial IO UART Host Controller
/0/100/18.2                   generic        Celeron/Pentium Silver Processor Serial IO UART Host Controller
/0/100/18.3                   generic        Celeron/Pentium Silver Processor Serial IO UART Host Controller
/0/100/19                     generic        Celeron/Pentium Silver Processor Serial IO SPI Host Controller
/0/100/19.1                   generic        Celeron/Pentium Silver Processor Serial IO SPI Host Controller
/0/100/19.2                   generic        Celeron/Pentium Silver Processor Serial IO SPI Host Controller
/0/100/1c          mmc1       bus            Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controlle
/0/100/1e          mmc2       bus            Intel Corporation
/0/100/1f                     bridge         Celeron/Pentium Silver Processor LPC Controller
/0/100/1f.1                   bus            Celeron/Pentium Silver Processor Gaussian Mixture Model
/0/1                          system         PnP device PNP0c02
/0/2                          system         PnP device PNP0c02
/0/3                          input          PnP device PNP0303
/0/4                          system         PnP device PNP0b00

Pipewire seems to be ok?

[david@fedora ~]$ systemctl --user status pipewire
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; vendor preset: disabled)
    Drop-In: /usr/lib/systemd/user/pipewire.service.d
             └─00-uresourced.conf
     Active: active (running) since Thu 2022-06-16 21:45:10 EDT; 2h 28min ago
TriggeredBy: ● pipewire.socket
   Main PID: 1591 (pipewire)
      Tasks: 2 (limit: 9155)
     Memory: 8.7M
        CPU: 27.307s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─ 1591 /usr/bin/pipewire

Jun 16 21:45:10 fedora systemd[1461]: Started pipewire.service - PipeWire Multimedia Service.

[david@fedora ~]$ systemctl --user status pipewire-pulse.service
● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; disabled; vendor preset: disabled)
     Active: active (running) since Thu 2022-06-16 21:45:11 EDT; 2h 25min ago
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 1743 (pipewire-pulse)
      Tasks: 2 (limit: 9155)
     Memory: 17.0M
        CPU: 20.857s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─ 1743 /usr/bin/pipewire-pulse

Jun 16 21:45:11 fedora systemd[1461]: Started pipewire-pulse.service - PipeWire PulseAudio.
[david@fedora ~]$ ps ax | grep pipewire
   1591 ?        S<sl   0:28 /usr/bin/pipewire
   1743 ?        S<Lsl   0:24 /usr/bin/pipewire-pulse
  30554 pts/0    S+     0:00 grep --color=auto pipewire

Please tell me if you require any additional info, I’ll provide it first thing in the morning!

Hi!

The problem is probably in the kernel. You can look for such issue in RHBZ or report it. Be sure to include the technical specifications of the device.

Ok I’ll check it out, ty!

You could also switch back to pulse audio completely, as shown in the (Arch Linux based) tutorial.

The install / remove commands would have to be executed not using pacman, but dnf, of course:

Thanks for the suggestion! But I thought ubuntu used Pulseaudio? I didn’t get any sound last time I tried it… But I think I’ll create a system backup and try it out just in case.

The later distros issued have all / are all switching to pipewire, away from pulse-audio, just fyi.

The first two things you tried are more Windows oriented than Linux and I’m not at all surprised that they didn’t work. As far as installing other distros, you should be able to create and use a LiveUSB, boot from that and see what happens without needing to go through the whole installation process. Have you tried looking at whatever support forums your laptop’s OEM provides, or using their tech support people to troubleshoot this? Yes, their suggestions, if any, will probably be Windows-centric, but you may be able to learn something helpful from them.

Hello @wickedave ,
Could you try pw-cli dump Device to get a look at the device that pipewire sees?

1 Like

Unfortunately that didn’t solve the problem, it only made my microphone unresponsive as well

Hi! Seems like after the latest update my system is unable to recognize the speakers at all… The only output device available in the settings right now is “Dummy Output”.

Here are the results from that command:

[david@fedora ~]$ pw-cli dump Device
	id: 39
	permissions: rwxm
	type: PipeWire:Interface:Device/3
	properties:
		api.v4l2.path = "/dev/video0"
		device.api = "v4l2"
		device.bus = "usb"
		device.bus-path = "pci-0000:00:15.0-usb-0:6:1.0"
		device.capabilities = ":capture:"
		device.description = "USB camera"
		device.enum.api = "udev"
		device.name = "v4l2_device.pci-0000_00_15.0-usb-0_6_1.0"
		device.plugged.usec = "8378468"
		device.product.id = "26249"
		device.product.name = "USB camera"
		device.serial = "SunplusIT_Inc_USB_camera_J20210323V000"
		device.subsystem = "video4linux"
		device.sysfs.path = "/sys/devices/pci0000:00/0000:00:15.0/usb1/1-6/1-6:1.0/video4linux/video0"
		device.vendor.id = "11030"
		device.vendor.name = "SunplusIT Inc"
		media.class = "Video/Device"
		factory.id = "14" ("client-device")
		client.id = "33"
		object.id = "39"
		object.serial = "39"
		object.path = "v4l2:/dev/video0"
		api.v4l2.cap.driver = "uvcvideo"
		api.v4l2.cap.card = "USB camera: USB camera"
		api.v4l2.cap.bus_info = "usb-0000:00:15.0-6"
		api.v4l2.cap.version = "5.18.5"
		api.v4l2.cap.capabilities = "84a00001"
		api.v4l2.cap.device-caps = "04200001"
	params:
	id: 40
	permissions: rwxm
	type: PipeWire:Interface:Device/3
	properties:
		api.v4l2.path = "/dev/video1"
		device.api = "v4l2"
		device.bus = "usb"
		device.bus-path = "pci-0000:00:15.0-usb-0:6:1.0"
		device.capabilities = ":"
		device.description = "USB camera"
		device.enum.api = "udev"
		device.name = "v4l2_device.pci-0000_00_15.0-usb-0_6_1.0.2"
		device.plugged.usec = "8382713"
		device.product.id = "26249"
		device.product.name = "USB camera"
		device.serial = "SunplusIT_Inc_USB_camera_J20210323V000"
		device.subsystem = "video4linux"
		device.sysfs.path = "/sys/devices/pci0000:00/0000:00:15.0/usb1/1-6/1-6:1.0/video4linux/video1"
		device.vendor.id = "11030"
		device.vendor.name = "SunplusIT Inc"
		media.class = "Video/Device"
		factory.id = "14" ("client-device")
		client.id = "33"
		object.id = "40"
		object.serial = "40"
		object.path = "v4l2:/dev/video1"
		api.v4l2.cap.driver = "uvcvideo"
		api.v4l2.cap.card = "USB camera: USB camera"
		api.v4l2.cap.bus_info = "usb-0000:00:15.0-6"
		api.v4l2.cap.version = "5.18.5"
		api.v4l2.cap.capabilities = "84a00001"
		api.v4l2.cap.device-caps = "04a00000"
	params:
	id: 41
	permissions: rwxm
	type: PipeWire:Interface:Device/3
	properties:
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "0"
		api.alsa.card.longname = "SunplusIT Inc USB camera at usb-0000:00:15.0-6, high speed"
		api.alsa.card.name = "USB camera"
		api.alsa.path = "hw:0"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio0"
		device.api = "alsa"
		device.bus = "usb"
		device.bus-id = "usb-SunplusIT_Inc_USB_camera_J20210323V000-02"
		device.bus-path = "pci-0000:00:15.0-usb-0:6:1.2"
		device.description = "USB camera"
		device.enum.api = "udev"
		device.form-factor = "webcam"
		device.icon-name = "camera-web-analog-usb"
		device.name = "alsa_card.usb-SunplusIT_Inc_USB_camera_J20210323V000-02"
		device.nick = "USB camera"
		device.plugged.usec = "8346449"
		device.product.id = "26249"
		device.product.name = "USB camera"
		device.serial = "SunplusIT_Inc_USB_camera_J20210323V000"
		device.subsystem = "sound"
		device.sysfs.path = "/sys/devices/pci0000:00/0000:00:15.0/usb1/1-6/1-6:1.2/sound/card0"
		device.vendor.id = "11030"
		device.vendor.name = "SunplusIT Inc"
		media.class = "Audio/Device"
		factory.id = "14" ("client-device")
		client.id = "33"
		object.id = "41"
		object.serial = "41"
		object.path = "alsa:pcm:0"
		alsa.card = "0"
		alsa.card_name = "USB camera"
		alsa.long_card_name = "SunplusIT Inc USB camera at usb-0000:00:15.0-6, high speed"
		alsa.driver_name = "snd_usb_audio"
		device.string = "0"
	params:
	  8 (Spa:Enum:ParamId:EnumProfile) r-
	  9 (Spa:Enum:ParamId:Profile) rw
	  12 (Spa:Enum:ParamId:EnumRoute) r-
	  13 (Spa:Enum:ParamId:Route) rw

Hi @wickedave ,
Can you do an ls/dev/snd/by-path/ just to see if udev has any devices mapped.

1 Like

You could try the steps described on Install Pipewire on Linux Fedora | Tom Ordonez.

I’m assuming you have both pipewire and wireplumber still installed.

Can you remove anything you have under:
~/.config/wireplumber/
~/.config/pipewire/
~/.local/state/wireplumber/
/etc/wireplumber/
/etc/pipewire/

sudo dnf reinstall pipewire wireplumber

If you haven’t you may also want to try installing alsa-sof-firmware

Thanks

2 Likes

@jakfrost @tachi @grumpey I appreciate the help guys!

You wanted me to run an ls command inside /dev/snd/by-path/ right? Here it goes:

[david@fedora wireplumber]$ cd /dev/snd/by-path/
[david@fedora by-path]$ ls
pci-0000:00:15.0-usb-0:6:1.2

I removed everything from ~/.local/state/wireplumber/ and /etc/wireplumber/, the other 3 directories didn’t exist.

I then reinstalled both pipewire and wireplumber, alsa-soft-firmware was installed already. I restarted the machine afterwards.

I checked that both pipewire-pulse.service and pipewire-media-session were running also.

It didn’t seem to do anything unfortunately…


Lastly, I tried booting up Manjaro in the meantime and didn’t get any sound there either. it’s starting to feel kind of hopeless honestly… :confused:

So okay you have a device mapped to there, and no you don’t have to be in the directory to do this.
Now you can check if udev is mapping this device for you with the following command udevadm info /dev/snd/by-path/pci-0000:00:15.0-usb-0:6:1.2
Although it is the same device that [edit: not, different channel) you have a video in the listing you did last with pw-cli dump so does the camera and audio come from the one USB device? (Ah, it’s the same USB bus controller).

Alright here goes:

P: /devices/pci0000:00/0000:00:15.0/usb1/1-6/1-6:1.2/sound/card0/controlC0
N: snd/controlC0
L: 0
S: snd/by-path/pci-0000:00:15.0-usb-0:6:1.2
S: snd/by-id/usb-SunplusIT_Inc_USB_camera_J20210323V000-02
E: DEVPATH=/devices/pci0000:00/0000:00:15.0/usb1/1-6/1-6:1.2/sound/card0/controlC0
E: DEVNAME=/dev/snd/controlC0
E: MAJOR=116
E: MINOR=3
E: SUBSYSTEM=sound
E: USEC_INITIALIZED=8932916
E: ID_VENDOR=SunplusIT_Inc
E: ID_VENDOR_ENC=SunplusIT\x20Inc
E: ID_VENDOR_ID=2b16
E: ID_MODEL=USB_camera
E: ID_MODEL_ENC=USB\x20camera
E: ID_MODEL_ID=6689
E: ID_REVISION=0323
E: ID_SERIAL=SunplusIT_Inc_USB_camera_J20210323V000
E: ID_SERIAL_SHORT=J20210323V000
E: ID_TYPE=audio
E: ID_BUS=usb
E: ID_USB_INTERFACES=:0e0100:0e0200:010100:010200:
E: ID_USB_INTERFACE_NUM=02
E: ID_USB_DRIVER=snd-usb-audio
E: ID_PATH=pci-0000:00:15.0-usb-0:6:1.2
E: ID_PATH_TAG=pci-0000_00_15_0-usb-0_6_1_2
E: SYSTEMD_WANTS=sound.target
E: SYSTEMD_USER_WANTS=sound.target
E: DEVLINKS=/dev/snd/by-path/pci-0000:00:15.0-usb-0:6:1.2 /dev/snd/by-id/usb-SunplusIT_Inc_USB_camera_J20210323V000-02
E: TAGS=:uaccess:systemd:
E: CURRENT_TAGS=:uaccess:systemd:

And yes the camera and audio do come from the one USB device as I understand it.

Bear with me a bit more. The sound device is recognized by the system, the device is recognized by udev, but you don’t seem to have it mapped to pipewire via wireplumber. I’m going to look at the configuration file(s) for wireplumber/pipewire, they’re located at https://pipewire.pages.freedesktop.org/wireplumber/configuration/alsa.html. As I note there, it talks about USB devices specifically as needing some extra attention, but I’m not finished reading it yet. You may want to check it out, Wireplumber is how to setup Pipewire, and getting it’s configuration sorted plus making sure the daemon is running should get your sound back.

1 Like

That does sound promising! I’ll look into it later today also, thank you!

Hi Dave,

I had a similar dummy output problem in F36 with an up-to-date 5.18.5 kernel, which has only been partially resolved today by a firmware update (sof: sound open firmware, see https://www.sofproject.org/). That system did not recognize the soundcard via ALSA, although Pipewire was configured and running correctly. Now the sound card is detected in the audio settings because Fedora provided version 2.1.1 of the SOF firmware. The sound chip was simply too new and firmware support for it was only added today in as a sound firmware update (https://fedora.pkgs.org/36/fedora-updates-aarch64/alsa-sof-firmware-2.1.1-1.fc36.noarch.rpm.html) in the F36-repo. The card was properly detected and running in Windows 11, but not in F36.

You can get some valuable info about your sound system by running the following script as superuser (via sudo). It is located at https://git.alsa-project.org/?p=alsa-utils.git;a=blob_plain;f=alsa-info/alsa-info.sh. The output is saved in a file in the /tmp directory and can also be automatically uploaded to the ALSA-project if you need help from them in debugging your audio problems. Also Alsamixer output and dmesg info may help you into the right direction.

It looks like only an USB-device (webcam) is detected, but not your sound chip. I suggest you do a search on the internet for your laptop model, to find some more info about the hardware devices in your laptop.

On the internet, you can also find other causes for a dummy output problem, but it maybe that support for your audio chip only recently has been added, or will be added in the future by an update of sof. Without the correct firmware loaded, some chips will simply not be detected by low-level ALSA (https://alsa-project.org/wiki/Main_Page). See Advanced Linux Sound Architecture - Wikipedia for some more info about the Linux sound architecture. Pipewire and PulseAudio run on top of ALSA.

Hopefully this is of help to you.

Kind regards,
Josquin

Hey and thanks for the info!

I ran the script and found that my soundcard must be “Intel Corporation Celeron/Pentium Silver Processor High Definition Audio [8086:3198] (rev 06)”. I did a quick google search for “8086:3198” and found 5 whole google pages of different forum posts of people having troubles with getting any sound output at all. Some of them were 6 months old…

The only solution seems to be to use some sort of external usb soundcard… But I’ll try getting in contact with the ALSA team, maybe they can look into it.


Also, as a side note, fedora recognizes my output device after the latest update again! Still no sound though no matter what I do.

1 Like