# No sound in 11.2, is there per chance an AMD FreeBSD sound driver?



## fusion809 (Sep 29, 2018)

Hi,

Sound doesn't work on my FreeBSD 11.2 desktop; I'm presently typing this from openSUSE Tumbleweed (Linux) on the same PC so here's the output of lspci: https://paste.pound-python.org/show/NLhG3d7cKqTCKqlDGqxz/. If I run 
	
	



```
lspci | grep -i audio
```
 (which I'm running to give what I think is relevant in that lspci output) I get:


```
1f:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)
21:00.3 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) HD Audio Controller
```

I have tried building my kernel with snd_hda built-in (after which I've rebooted, of course) but as my audio cards aren't Intel it doesn't seem to be working, or so I would imagine. I've also tried loading snd_driver per https://www.freebsd.org/doc/handbook/sound-setup.html, along with building my kernel with sound, and_sbc, snd_sb16 built in. Also tried adding:


```
hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"
```

to my /boot/device.hints just in case (I didn't understand what the handbook meant reading I/O and alike, so I thought let's see what happens if I do in fact do that, although I have tried without with the same result) and still no audio.


```
dmesg | grep pcm
```

returns:


```
pcm0: <NVIDIA (0x0080) (HDMI/DP 8ch)> at nid 4 on hdaa0
pcm1: <NVIDIA (0x0080) (HDMI/DP 8ch)> at nid 5 on hdaa0
pcm2: <NVIDIA (0x0080) (HDMI/DP 8ch)> at nid 6 on hdaa0
pcm3: <Realtek ALC892 (Rear Analog)> at nid 20 and 24,26 on hdaa1
pcm4: <Realtek ALC892 (Front Analog)> at nid 27 and 25 on hdaa1
```

likewise 
	
	



```
cat /dev/sndstat
```
 returns:


```
Installed devices:
pcm0: <NVIDIA (0x0080) (HDMI/DP 8ch)> (play)
pcm1: <NVIDIA (0x0080) (HDMI/DP 8ch)> (play)
pcm2: <NVIDIA (0x0080) (HDMI/DP 8ch)> (play)
pcm3: <Realtek ALC892 (Rear Analog)> (play/rec) default
pcm4: <Realtek ALC892 (Front Analog)> (play/rec)
No devices installed from userspace.
```

I've also tried changing the default sound device with 
	
	



```
sysctl hw.snd.defaultl.unit=4
```
. as well as 2 and still no audio.

The funny thing is that under Linux audio runs fine and here's a snippet of lspci -k that seems relevant:


```
1f:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)
        Subsystem: ASUSTeK Computer Inc. Device 862a
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
21:00.3 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) HD Audio Controller
        DeviceName: Realtek ALC898
        Subsystem: Micro-Star International Co., Ltd. [MSI] Device eb90
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
```

as you can see Intel modules are in use and they're running fine. If it is relevant I have x11/nvidia-driver installed too and graphics are working fine. Any ideas what I should do folks?

Thanks for your time and patience,
Brenton


----------



## fusion809 (Sep 29, 2018)

Oh and I should say alsamixer doesn't show any sound cards when I press F6. Here's a screenshot showing you what I mean: 
	

	
	
		
		

		
			





Now that I'm back on FreeBSD I might as well also give you pciconf -lv: https://gist.github.com/4081061e14978cd234945cac807d6032. If it is relevant I use headphones to listen to audio, as my desktop has no speakers, internal or external.


----------



## ShelLuser (Sep 29, 2018)

What happens if you try to use the snd_driver.ko kernel module? So: boot a GENERIC kernel, or at least a kernel which provides all the sound drivers, and then use `# kldload snd_driver`, see also chapter 7.2 of the FreeBSD handbook.


----------



## fusion809 (Sep 29, 2018)

I've edited my original post a bit mate since you must of read it, please re-read and it'll answer your excellent question.


----------



## ShelLuser (Sep 29, 2018)

fusion809 said:


> I've edited my original post a bit mate since you must of read it, please re-read and it'll answer your excellent question.


Yet it doesn't really answer my question.

You share a lot of output yet fail to mention any further details about it. In this case you mention that you used the generic sound driver but not what happened afterwards, and "_it doesn't work_" doesn't really tell us much. The key to solving stuff like this is to try and rule out possible issues by trying things one at a time.

Anyway, you obviously use a custom kernel; what happens when you try using a GENERIC one? See, some comments don't make much sense to me: you said you tried to embed snd_hda how would you do that?

Another thing: what sound card do you actually use?  You said it's not Intel but what is it? I assume an embedded card on your motherboard or...  if so: what motherboard?

(edit)

What happens if you run `mixer` from the commandline (/usr/sbin/mixer)?


----------



## fusion809 (Sep 29, 2018)

I didn't say my sound card was Intel, I said the drivers Linux used were Intel. As you can see in the output there seems to be AMD and NVIDIA sound cards. When I used the GENERIC one it was the same, no sound, including when I inserted these modules with kldload. By 'doesn't work' I mean exactly what it sounds like, when I go to YouTube and play something I know has sound (e.g. a music video) no sound is heard. Likewise when I play a mp4 file in VLC that I know has sound I get no sound. Alsamixer also doesn't register the sound card after I do this when I say "It doesn't work". Mixer hasn't helped either as still there is no sound, but if the output helps here it is:


```
Mixer vol      is currently set to 100:100
Mixer pcm      is currently set to 100:100
```

Oh I built my kernel with it by adding:

```
device snd_hda
```

to /usr/src/sys/amd64/conf/MYKERNEL then rebuilding the kernel (with make buildkernel KERNCONF=MYKERNEL) and reinstalling it (make installkernel KERNCONF=MYKERNEL), which is what the handbook says.

Oh and yes the sound card is embedded into my motherboard, or so I believe (I don't usually tinker with the hardware), which is a MSI B450M Bazooka Plus.

The precise make of the cards are listed in the lspci output.


```
1f:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)
...
21:00.3 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) HD Audio Controller
```
 
Sorry mate for being unclear when I gave that output, as I was trying to give you all the details needed to help me. Clearly I somehow failed there. I shall try to be more helpful and clear in the future .


----------



## chrbr (Sep 29, 2018)

fusion809 said:


> I've also tried changing the default sound device with
> 
> 
> 
> ...


May be this it just a typo in the post, it should be

```
sysctl hw.snd.default_unit=4
```
 or any other card number instead. May be it helps. May be not.


----------



## fusion809 (Sep 29, 2018)

Yep it was, sorry, I used the correct code you just provided, I was just typing this post quickly as I was trying to finish editing my post before more people saw it in its incomplete state.


----------

