Fix for Section 7.2.1.1 - Soundblaster 16 driver
Fred Wheeler
fred.wheeler at gmail.com
Thu Sep 15 16:15:10 UTC 2005
Marc,
Thanks for the the test suggestions. Having run them I understand
this much better now. The lengthy output is below.
The real problem is that I thought "snd_sbc" was the driver for
SoundBlaster 16 cards, but "snd_sb16" is what I really need. If I use
snd_sb16_load="YES" (and nothing else) in /boot/loader.conf then the
sound card is found. The other required drivers are brought in as
they should be.
I either did not see, or did not understand the significance of the
"kld snd_sb16" in /dev/sndstat when all the sound drivers were used.
Section 7.2.1.1 made me think that "snd_sbc" is *the* driver for SB16
cards ('man snd_sbc' seems to me to imply this as well), but
apparently it is not the primary driver but some sort of extra helper
driver for ISA cards.
If anyone would like specific suggestions for handbook section 7.2.1.1
and man snd_sbc that make it clear that other drivers are required
also I'd be happy to send something to this list. Based on my
experience, a few parenthetical comments indicating that sbc is a
"helper" or something and that other drivers are required for SB16
would be helpful.
Regards,
Fred Wheeler
### SoundBlaster 16 /boot/loader.conf tests
# uname -a
FreeBSD mobile.earthlink.net 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Sun
May 8 10:21:06 UTC 2005
root at harlow.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
### 1. Just load "sbc" -> no sound
# emacs /boot/loader.conf
# cat /boot/loader.conf
snd_sbc_load="YES"
# shutdown -r now
# kldstat
Id Refs Address Size Name
1 9 0xc0400000 5dde24 kernel
2 1 0xc09de000 49ec snd_sbc.ko
3 2 0xc09e3000 1d4fc sound.ko
4 14 0xc0a01000 56270 acpi.ko
5 1 0xc188a000 17000 linux.ko
# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
# dmesg (just relevant section shown here)
orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff on isa0
pmtimer0 on isa0
sbc0: <SoundBlaster 16> at port 0x240-0x24f irq 10 drq 1 flags 0x15 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
### 2. Load "sbc" and "sound" -> no sound
# emacs /boot/loader.conf
# cat /boot/loader.conf
sound_load="YES"
snd_sbc_load="YES"
# shutdown -r now
# kldstat
Id Refs Address Size Name
1 9 0xc0400000 5dde24 kernel
2 2 0xc09de000 1d4fc sound.ko
3 1 0xc09fc000 49ec snd_sbc.ko
4 14 0xc0a01000 56270 acpi.ko
5 1 0xc188b000 17000 linux.ko
# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
# dmesg (just relevant section shown here)
orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff on isa0
pmtimer0 on isa0
sbc0: <SoundBlaster 16> at port 0x240-0x24f irq 10 drq 1 flags 0x15 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
### 3. Load all sound drivers -> sound works!
# emacs /boot/loader.conf
# cat /boot/loader.conf
snd_driver_load="YES"
sound_load="YES"
snd_sbc_load="YES"
# shutdown -r now
# kldstat
Id Refs Address Size Name
1 32 0xc0400000 5dde24 kernel
2 29 0xc09de000 1d4fc sound.ko
3 5 0xc09fc000 49ec snd_sbc.ko
4 1 0xc0a01000 328c snd_driver.ko
5 2 0xc0a05000 45b8 snd_vibes.ko
6 2 0xc0a0a000 46c8 snd_via82c686.ko
7 2 0xc0a0f000 47dc snd_via8233.ko
8 2 0xc0a14000 4664 snd_t4dwave.ko
9 2 0xc0a19000 4604 snd_solo.ko
10 2 0xc0a1e000 4de4 snd_sb16.ko
11 2 0xc0a23000 49fc snd_sb8.ko
12 2 0xc0a28000 1095c snd_neomagic.ko
13 3 0xc0a39000 b6f8 snd_mss.ko
14 2 0xc0a45000 8378 snd_maestro3.ko
15 2 0xc0a4e000 7200 snd_maestro.ko
16 2 0xc0a56000 5884 snd_ich.ko
17 2 0xc0a5c000 4b54 snd_fm801.ko
18 3 0xc0a61000 505c snd_ess.ko
19 2 0xc0a67000 62ac snd_es137x.ko
20 2 0xc0a6e000 7494 snd_emu10k1.ko
21 2 0xc0a76000 bfe4 snd_ds1.ko
22 4 0xc0a82000 7464 snd_csa.ko
23 2 0xc0a8a000 443c snd_cs4281.ko
24 2 0xc0a8f000 517c snd_cmi.ko
25 2 0xc0a95000 4e1c snd_als4000.ko
26 2 0xc0a9a000 4c9c snd_ad1816.ko
27 14 0xc0a9f000 56270 acpi.ko
28 1 0xc1897000 17000 linux.ko
# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <SB16 DSP 4.05> at io 0x240 irq 10 drq 1:5 bufsz 4096d kld
snd_sb16 (1p/1r/0v channels duplex default)
# dmesg (just relevant section shown here)
orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff on isa0
pmtimer0 on isa0
sbc0: <SoundBlaster 16> at port 0x240-0x24f irq 10 drq 1 flags 0x15 on isa0
pcm0: <SB16 DSP 4.05> on sbc0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
### Hmmm. Now I see snd_sb16 above.
### 4. try sbc and sb16 -> sound works!
# emacs /boot/loader.conf
# cat /boot/loader.conf
snd_sbc_load="YES"
snd_sb16_load="YES"
# shutdown -r now
# kldstat
Id Refs Address Size Name
1 10 0xc0400000 5dde24 kernel
2 1 0xc09de000 4de4 snd_sb16.ko
3 2 0xc09e3000 49ec snd_sbc.ko
4 3 0xc09e8000 1d4fc sound.ko
5 14 0xc0a06000 56270 acpi.ko
6 1 0xc1887000 17000 linux.ko
# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <SB16 DSP 4.05> at io 0x240 irq 10 drq 1:5 bufsz 4096d kld
snd_sb16 (1p/1r/0v channels duplex default)
# dmesg (just relevant section shown here)
orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff on isa0
pmtimer0 on isa0
sbc0: <SoundBlaster 16> at port 0x240-0x24f irq 10 drq 1 flags 0x15 on isa0
pcm0: <SB16 DSP 4.05> on sbc0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
### 5. try just "sb16" -> sound works!
# emacs /boot/loader.conf
# cat /boot/loader.conf
snd_sb16_load="YES"
# shutdown -r now
# kldstat
Id Refs Address Size Name
1 10 0xc0400000 5dde24 kernel
2 1 0xc09de000 4de4 snd_sb16.ko
3 2 0xc09e3000 49ec snd_sbc.ko
4 3 0xc09e8000 1d4fc sound.ko
5 14 0xc0a06000 56270 acpi.ko
6 1 0xc1885000 17000 linux.ko
# cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <SB16 DSP 4.05> at io 0x240 irq 10 drq 1:5 bufsz 4096d kld
snd_sb16 (1p/1r/0v channels duplex default)
# dmesg (just relevant section shown here)
orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff on isa0
pmtimer0 on isa0
sbc0: <SoundBlaster 16> at port 0x240-0x24f irq 10 drq 1 flags 0x15 on isa0
pcm0: <SB16 DSP 4.05> on sbc0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
On 8/29/05, Marc Fonvieille <blackend at freebsd.org> wrote:
> On Mon, Aug 29, 2005 at 12:46:14PM -0400, Fred Wheeler wrote:
> > Marc is correct that my previous post makes little sense and section
> > and section 7.2.1.1 is good as it is. I was trying to recall what I
> > did a couple of days ago and by mistake I focused on 7.2.1.1 when my
> > suggestion really applies to 7.2.1. (That's why I was mixing up
> > loader.conf and kernel config file syntax.)
> >
> > Section 7.2.1 explains how to use
> >
> > # kldload snd_emu10k1
> >
> > on the command line or put
> >
> > snd_emu10k1_load="YES"
> >
> > in /boot/loader.conf.
> >
> > I think this needs to be
> >
> > # kldload sound
> > # kldload snd_emu10k1
> >
>
> No, since when you do a kldload snd_emu10k1, it also loads sound.
> You can check it with a kldstat.
>
> > and
> >
> > sound_load="YES"
> > snd_emu10k1_load="YES"
> >
>
> snd_emu10k1_load="YES" is the only needed line.
>
> > However - I'm not 100% sure this is correct - so this should only be
> > added if someone else knows that this is an obvious omission. I'll
> > carefully verify this if needed, but will not be able to get back to
> > the machine for two weeks. What I do know for sure is that
> >
> > snd_sbc_load="YES"
> >
>
> Could you do a simple test:
>
> Use of snd_sbc_load="YES" and then do a kldstat and post the result.
>
> > did not work for me (sbc0 card found, but /dev/sndstat listed no
> > installed devices), but
> >
> > snd_driver_load="YES"
> >
> > worked (snd0 shows up in dmesg and audio works great).
>
> What is the output of
> cat /dev/sndstat
>
> What are the revelant lines from dmesg?
>
> >
> > While 7.2.1.1 seems complete I think 7.2.1 implies that only the
> > driver for the specific card is needed and does not mention the
> > generic audio driver.
> >
>
> These both sections are correct.
> But please try the tests I mentioned above, I suspect another problem...
>
> Marc
>
More information about the freebsd-doc
mailing list