snd_hda sound driver bug?

eric baumbach embaumbach at
Sat Mar 15 01:33:40 UTC 2008


I was excited to see that with FreeBSD 7.0R my sound card should work
natively under FreeBSD.  My chipset was listed in the man pages to be
reported working ok.  (nVidia MCP51/Analog Devices AD1986A).

I added the sound driver to /boot/loader.conf; snd_hda_load="YES"

My sound card will still not work.  I have tried sending data files to
/dev/dsp, playing audio cds and playing some X games all with no sound.

The free OSS driver from ports does work, though not very good.

I found a potential
bug listed in the man pages as well for the snd_hda driver:

"A few Hardware/OEM vendors tend to screw up BIOS settings, thus rendering
the snd_hda driver useless, which usually results in a state where the
snd_hda driver seems to attach and work, but without any sound."

The BIOS I am using is AMI.

I am running FreeBSD 7.0R on an ASUS A8M laptop with a stock kernel.

Here is my current dmesg:

Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008
root at
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Turion(tm) 64 X2 Mobile Technology TL-50 (1607.33-MHz 686-class
Origin = "AuthenticAMD" Id = 0x40f82 Stepping = 2
AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!>
AMD Features2=0x1f<LAHF,CMP,SVM,ExtAPIC,CR8>
Cores per package: 2
real memory = 2079981568 (1983 MB)
avail memory = 2025603072 (1931 MB)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
bios32: Bad BIOS32 Service Directory
ioapic0 <Version 1.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
ath_hal: (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
hptrr: HPT RocketRAID controller driver v1.1 (Feb 24 2008 19:59:27)
acpi0: <_ASUS_ Notebook> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, 7bf00000 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x508-0x50b on acpi0
acpi_ec0: <Embedded Controller: GPE 0x21> port 0x62,0x66 on acpi0
acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on
Timecounter "HPET" frequency 25000000 Hz quality 900
cpu0: <ACPI CPU> on acpi0
powernow0: <PowerNow! K8> on cpu0
cpu1: <ACPI CPU> on acpi0
powernow1: <PowerNow! K8> on cpu1
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0: <memory, RAM> at device 0.0 (no driver attached)
pci0: <memory, RAM> at device 0.1 (no driver attached)
pci0: <memory, RAM> at device 0.2 (no driver attached)
pci0: <memory, RAM> at device 0.3 (no driver attached)
pci0: <memory, RAM> at device 0.4 (no driver attached)
pci0: <memory, RAM> at device 0.5 (no driver attached)
pci0: <memory, RAM> at device 0.6 (no driver attached)
pci0: <memory, RAM> at device 0.7 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> at device 2.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> at device 3.0 on pci0
pci3: <ACPI PCI bus> on pcib2
ath0: <Atheros 5424/2424> mem 0xdfef0000-0xdfefffff irq 17 at device 0.0 on
ath0: [ITHREAD]
ath0: using obsoleted if_watchdog interface
ath0: Ethernet address: 00:15:af:09:3c:94
ath0: mac 10.0 phy 6.1 radio 10.2
pcib3: <ACPI PCI-PCI bridge> at device 4.0 on pci0
pci4: <ACPI PCI bus> on pcib3
vgapci0: <VGA-compatible display> mem
0xde000000-0xdeffffff,0xc0000000-0xcfffffff,0xdd000000-0xddffffff irq 16 at
device 5.0 on pci0
pci0: <memory, RAM> at device 9.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 10.0 on pci0
isa0: <ISA bus> on isab0
pci0: <serial bus, SMBus> at device 10.1 (no driver attached)
ohci0: <OHCI (generic) USB controller> mem 0xdcfde000-0xdcfdefff irq 21 at
device 11.0 on pci0
ohci0: [ITHREAD]
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: <nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 8 ports with 8 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xdcfdfc00-0xdcfdfcff irq 22
at device 11.1 on pci0
ehci0: [ITHREAD]
usb1: waiting for BIOS to give up control
usb1: EHCI version 1.0
usb1: companion controller, 8 ports each: usb0
usb1: <EHCI (generic) USB 2.0 controller> on ehci0
usb1: USB revision 2.0
uhub1: <nVidia EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb1
uhub1: 8 ports with 8 removable, self powered
ugen0: <Vimicro Corp. USB2.0 Web Camera, class 255/255, rev 2.00/1.00, addr
2> on uhub1
umass0: <Western Digital External HDD, class 0/0, rev 2.00/1.08, addr 3> on
atapci0: <nVidia nForce MCP51 UDMA133 controller> port
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 13.0 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
atapci1: <nVidia nForce MCP51 SATA300 controller> port
0xc800-0xc807,0xc480-0xc483,0xc400-0xc407,0xc080-0xc083,0xc000-0xc00f mem
0xdcfdd000-0xdcfddfff irq 23 at device 14.0 on pci0
atapci1: [ITHREAD]
ata2: <ATA channel 0> on atapci1
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci1
ata3: [ITHREAD]
pcib4: <ACPI PCI-PCI bridge> at device 16.0 on pci0
pci5: <ACPI PCI bus> on pcib4
fwohci0: <1394 Open Host Controller Interface> mem 0xdfffe800-0xdfffefff irq
18 at device 0.0 on pci5
fwohci0: [FILTER]
fwohci0: OHCI version 1.0 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:e0:18:00:03:6b:d8:63
fwohci0: Phy 1394a available S400, 1 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 02:e0:18:6b:d8:63
fwe0: Ethernet address: 02:e0:18:6b:d8:63
fwip0: <IP over FireWire> on firewire0
fwip0: Firewire address: 00:e0:18:00:03:6b:d8:63 @ 0xfffe00000000, S400,
maxrec 2048
sbp0: <SBP-2/SCSI over FireWire> on firewire0
dcons_crom0: <dcons configuration ROM> on firewire0
dcons_crom0: bus_addr 0x14f0000
fwohci0: Initiate bus reset
fwohci0: BUS reset
fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
pci5: <base peripheral> at device 0.1 (no driver attached)
pci5: <base peripheral> at device 0.2 (no driver attached)
pci5: <base peripheral> at device 0.3 (no driver attached)
pci5: <base peripheral> at device 0.4 (no driver attached)
rl0: <RealTek 8139 10/100BaseTX> port 0xe800-0xe8ff mem
0xdfffe400-0xdfffe4ff irq 18 at device 1.0 on pci5
miibus0: <MII bus> on rl0
rlphy0: <RealTek internal media interface> PHY 0 on miibus0
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:18:f3:6a:2d:f9
rl0: [ITHREAD]
pcm0: <NVidia MCP51 High Definition Audio Controller> mem
0xdcfd8000-0xdcfdbfff irq 20 at device 16.1 on pci0
pcm0: [ITHREAD]
acpi_button0: <Sleep Button> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button1: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
battery0: <ACPI Control Method Battery> on acpi0
acpi_acad0: <AC Adapter> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [ITHREAD]
psm0: model IntelliMouse, device ID 3
pmtimer0 on isa0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 8250 or not responding
sio0: [FILTER]
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 1.000 msec
hptrr: nofirewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
firewire0: bus manager 0 (me)
controller detected.
acd0: DVDR <HL-DT-ST DVDRAM GMA-4082N/HJ02> at ata1-master UDMA33
ad4: 76319MB <HTS541080G9SA00 MB4OC60R> at ata2-master SATA150
pcm0: hdac_widget_connection_parse: nid=18 WARNING: zero cnid entnum=4 j=2
index=0 entries=8 found=2 res=0x21002211
pcm0: <HDA Codec: Analog Devices AD1986A>
pcm0: <HDA Driver Revision: 20071129_0050>
SMP: AP CPU #1 Launched!
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <WD 2500JB External 0108> Fixed Direct Access SCSI-0 device
da0: 40.000MB/s transfers
da0: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
GEOM_LABEL: Label for provider da0s1 is msdosfs/My Book.
Trying to mount root from ufs:/dev/ad4s2a
rl0: link state changed to UP

Is there any possible workarounds I can try to keep testing my card and get
the sound to work with this driver?

Many Thanks

More information about the freebsd-multimedia mailing list