snd_hda peculiarities

Pieter de Goeje pieter at service2media.com
Wed Dec 30 16:23:32 UTC 2009


On Wednesday 30 December 2009 15:45:50 Richard L. Mace wrote:
> I recently installed FreeBSD 8.0 (amd64) on my laptop (HP 8510w) and most
> things are working. However, a minor annoyance is that I only get sound if
>  I manually load snd_hda via:
> 
> # kldload snd_hda
> 
> i.e., after booting. If I place the following in /boot/loader.conf
> 
> snd_hda_load="YES"
> 
> I get no sound, even though the driver seems to load and cat /dev/sndstat
> gives

Try setting hw.snd.default_unit=1 in sysctl.conf. Most likely the order of the 
devices has changed.

> ---------------------------------------------------------------------------
> ------------------------------------------- FreeBSD Audio Driver (newpcm:
>  64bit 2009061500/amd64)
> Installed devices:
> pcm0: <HDA Analog Devices AD1981HD PCM #0 Analog> at cad 0 nid 1 on hdac0
>  kld snd_hda [MPSAFE] (1p:1v/1r:1v channels duplex default)
> pcm1: <HDA Analog Devices AD1981HD PCM #1 Digital> at cad 0 nid 1 on hdac0
>  kld snd_hda [MPSAFE] (1p:1v/0r:0v channels simplex)
> ---------------------------------------------------------------------------
> ---------------------------------------------

This looks like the output from the working configuration. Note that the first 
device is the analog output, the second is a digital output. When you load 
snd_hda using loader.conf, the order is likely different on your machine and 
the digital output is listed first. hw.snd.default_unit=1 would then direct the 
sound to the proper (analog) output.

- Pieter


More information about the freebsd-questions mailing list