Add a sound chapter to the handbook. Now we have somewhere to send all of

those people asking for help with sound.  Woo hoo! :-)

Submitted by:	Moses Moore <jm-moses@home.com>
This commit is contained in:
Jim Mock 2000-12-01 00:58:20 +00:00
parent b5dd3acd5e
commit 6003d33d8a
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=8466
9 changed files with 1002 additions and 6 deletions
en_US.ISO8859-1/books/handbook
en_US.ISO_8859-1/books/handbook

View file

@ -1,5 +1,5 @@
#
# $FreeBSD: doc/en_US.ISO_8859-1/books/handbook/Makefile,v 1.28 2000/03/20 20:59:30 jim Exp $
# $FreeBSD: doc/en_US.ISO_8859-1/books/handbook/Makefile,v 1.29 2000/07/12 14:35:51 nbm Exp $
#
# Build the FreeBSD Handbook.
#
@ -46,6 +46,7 @@ SRCS+= ppp-and-slip/chapter.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= sound/chapter.sgml
SRCS+= staff/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= x11/chapter.sgml

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Documentation Project
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/book.sgml,v 1.92 2000/10/12 05:06:15 jim Exp $
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/book.sgml,v 1.93 2000/11/21 10:27:59 nik Exp $
-->
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
@ -97,6 +97,7 @@
&chap.backups;
&chap.x11;
&chap.l10n;
&chap.sound;
</part>
<part>

View file

@ -6,7 +6,7 @@
Chapters should be listed in the order in which they are referenced.
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/chapters.ent,v 1.7 2000/03/17 10:44:01 nbm Exp $
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/chapters.ent,v 1.8 2000/03/20 20:59:32 jim Exp $
-->
<!-- Part one -->
@ -25,6 +25,7 @@
<!ENTITY chap.backups SYSTEM "backups/chapter.sgml">
<!ENTITY chap.x11 SYSTEM "x11/chapter.sgml">
<!ENTITY chap.l10n SYSTEM "l10n/chapter.sgml">
<!ENTITY chap.sound SYSTEM "sound/chapter.sgml">
<!-- Part three -->
<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml">

View file

@ -0,0 +1,330 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="sound">
<title>Sound</title>
<para><emphasis>Contributed by Moses Moore
<email>jm-moses@home.com</email>, 20 November 2000.</emphasis></para>
<sect1>
<title>Synopsis</title>
<para>This chapter of the handbook deals with setting up sound on a
FreeBSD system.</para>
</sect1>
<sect1>
<title>Locating the Correct Device</title>
<para>Before you begin, you should know the model of the card you
have, the chip it uses, and whether it is a PCI or ISA card.
FreeBSD supports a wide variety of both PCI and ISA cards. If you
do not see your card in the following list, check the &man.pcm.4;
manual page. This is not a complete list, however, it does list
some of the most common cards.</para>
<itemizedlist>
<listitem>
<para>Crystal 4237, 4236, 4232, 4231</para>
</listitem>
<listitem>
<para>Yamaha OPL-SAx</para>
</listitem>
<listitem>
<para>OPTi931</para>
</listitem>
<listitem>
<para>Ensoniq AudioPCI 1370/1371</para>
</listitem>
<listitem>
<para>ESS Solo-1/1E</para>
</listitem>
<listitem>
<para>NeoMagic 256AV/ZX</para>
</listitem>
<listitem>
<para>Sound Blaster Pro, 16, 32, AWE64, AWE128, Live</para>
</listitem>
<listitem>
<para>Creative ViBRA16</para>
</listitem>
<listitem>
<para>Advanced Asound 100, 110, and Logic ALS120</para>
</listitem>
<listitem>
<para>ES 1868, 1869, 1879, 1888</para>
</listitem>
<listitem>
<para>Gravis UltraSound</para>
</listitem>
<listitem>
<para>Aureal Vortex 1 or 2</para>
</listitem>
</itemizedlist>
<para>The driver you use in your kernel depends on the kind of card
you have. The sections below provide more information and what
you will need to add to your <ulink url="../kernelconfig.html">kernel
configuration</ulink>.</para>
<sect2>
<title>Creative, Advance, and ESS Sound Cards</title>
<para>If you have one of the above cards, you will need to
add</para>
<programlisting>device pcm</programlisting>
<para>to your kernel. If you have a PnP ISA card, you will also
need to add</para>
<programlisting>device sbc</programlisting>
<para>to your kernel. For a non-PnP ISA card, add</para>
<programlisting>device pcm</programlisting>
<para>and</para>
<programlisting>
device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15</programlisting>
<para>to your kernel. Those are the default settings. You may
need to change the IRQ, etc. See the &man.sbc.4; man page for
more information.</para>
<note>
<para>The Sound Blaster Live is not supported under FreeBSD 4.0
without a patch, which this document will not cover. It is
recommended that you update to the latest -STABLE before
trying to use this card.</para>
</note>
</sect2>
<sect2>
<title>Gravis UltraSound Cards</title>
<para>For a PnP ISA card, you will need to add</para>
<programlisting>device pcm</programlisting>
<para>and</para>
<programlisting>device gusc</programlisting>
<para>to your kernel. If you have a non-PnP ISA card, you will
need to add</para>
<programlisting>device pcm</programlisting>
<para>and</para>
<programlisting>
device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13</programlisting>
<para>to your kernel. You may need to change the IRQ, etc. See
the &man.gusc.4; man page for more information.</para>
</sect2>
<sect2>
<title>Crystal Sound Cards</title>
<para>For Crystal cards, you will need both</para>
<programlisting>device pcm</programlisting>
<para>and</para>
<programlisting>device csa</programlisting>
<para>in your kernel.</para>
</sect2>
<sect2>
<title>Generic Support</title>
<para>For PnP ISA or PCI cards, you will need to add</para>
<programlisting>device pcm</programlisting>
<para>to your kernel configuration. If you have a non-PnP ISA
sound card that does not have a bridge driver, you will need
to add</para>
<programlisting>
device pcm0 at isa? irq 10 drq 1 flags 0x0</programlisting>
<para>to your kernel configuration. You may need to change the
IRQ, etc., to match your hardware configuration.</para>
</sect2>
</sect1>
<sect1>
<title>Recompiling the Kernel</title>
<para>After adding the driver(s) you need to your kernel
configuration, you will need to recompile your kernel. Please see
the <xref linkend="kernelconfig-building"> of the handbook for
more information.</para>
</sect1>
<sect1>
<title>Creating and Testing the Device Nodes</title>
<para>After you reboot, log in and run <command>cat
/dev/sndstat</command>. You should see output similar to the
following:</para>
<programlisting>
FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53
Installed devices:
pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels duplex)</programlisting>
<para>If you see an error message, something went wrong earlier. If
that happens, go through your kernel configuration file again and
make sure you chose the correct device.</para>
<para>If it reported no errors and returned
<devicename>pcm0</devicename>, <command>su</command> to
<username>root</username> and do the following:</para>
<screen>
&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>
<para>If it reported no errors and returned
<devicename>pcm1</devicename>, <command>su</command> to
<username>root</username> and do the following:</para>
<screen>
&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV snd1</userinput></screen>
<para>Please note that either of the above commands will
<emphasis>not</emphasis> create a
<devicename>/dev/snd</devicename> device! Instead it creates a
group of device nodes including:</para>
<informaltable frame="none">
<tgroup cols="2">
<thead>
<row>
<entry>Device</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><devicename>/dev/audio</devicename></entry>
<entry>SPARC-compatible audio device</entry>
</row>
<row>
<entry><devicename>/dev/dsp</devicename></entry>
<entry>Digitized voice device</entry>
</row>
<row>
<entry><devicename>/dev/dspW</devicename></entry>
<entry>Like <devicename>/dev/dsp</devicename>, but 16 bits
per sample</entry>
</row>
<row>
<entry><devicename>/dev/midi</devicename></entry>
<entry>Raw midi access device</entry>
</row>
<row>
<entry><devicename>/dev/mixer</devicename></entry>
<entry>Control port mixer device</entry>
</row>
<row>
<entry><devicename>/dev/music</devicename></entry>
<entry>Level 2 sequencer interface</entry>
</row>
<row>
<entry><devicename>/dev/sequencer</devicename></entry>
<entry>Sequencer device</entry>
</row>
<row>
<entry><devicename>/dev/pss</devicename></entry>
<entry>Programmable device interface</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>If all goes well, you should now have a functioning sound
card. If you do not, see the next section.</para>
</sect1>
<sect1>
<title>Common Problems</title>
<qandaset>
<qandaentry>
<question>
<para>I get an unsupported subdevice XX error!</para>
</question>
<answer>
<para>One or more of the device nodes wasn't created
correctly. Repeat the steps above.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I get a sb_dspwr(XX) timed out error!</para>
</question>
<answer>
<para>The I/O port is not set correctly.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I get a bad irq XX error!</para>
</question>
<answer>
<para>The IRQ is set incorrectly. Make sure that the set IRQ
and the sound IRQ are the same.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I get a "xxx: gus pcm not attached, out of memory"
error. What causes that?</para>
</question>
<answer>
<para>If this happens, it is because there is not enough
available memory to use the device.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>
</chapter>

View file

@ -0,0 +1,330 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="sound">
<title>Sound</title>
<para><emphasis>Contributed by Moses Moore
<email>jm-moses@home.com</email>, 20 November 2000.</emphasis></para>
<sect1>
<title>Synopsis</title>
<para>This chapter of the handbook deals with setting up sound on a
FreeBSD system.</para>
</sect1>
<sect1>
<title>Locating the Correct Device</title>
<para>Before you begin, you should know the model of the card you
have, the chip it uses, and whether it is a PCI or ISA card.
FreeBSD supports a wide variety of both PCI and ISA cards. If you
do not see your card in the following list, check the &man.pcm.4;
manual page. This is not a complete list, however, it does list
some of the most common cards.</para>
<itemizedlist>
<listitem>
<para>Crystal 4237, 4236, 4232, 4231</para>
</listitem>
<listitem>
<para>Yamaha OPL-SAx</para>
</listitem>
<listitem>
<para>OPTi931</para>
</listitem>
<listitem>
<para>Ensoniq AudioPCI 1370/1371</para>
</listitem>
<listitem>
<para>ESS Solo-1/1E</para>
</listitem>
<listitem>
<para>NeoMagic 256AV/ZX</para>
</listitem>
<listitem>
<para>Sound Blaster Pro, 16, 32, AWE64, AWE128, Live</para>
</listitem>
<listitem>
<para>Creative ViBRA16</para>
</listitem>
<listitem>
<para>Advanced Asound 100, 110, and Logic ALS120</para>
</listitem>
<listitem>
<para>ES 1868, 1869, 1879, 1888</para>
</listitem>
<listitem>
<para>Gravis UltraSound</para>
</listitem>
<listitem>
<para>Aureal Vortex 1 or 2</para>
</listitem>
</itemizedlist>
<para>The driver you use in your kernel depends on the kind of card
you have. The sections below provide more information and what
you will need to add to your <ulink url="../kernelconfig.html">kernel
configuration</ulink>.</para>
<sect2>
<title>Creative, Advance, and ESS Sound Cards</title>
<para>If you have one of the above cards, you will need to
add</para>
<programlisting>device pcm</programlisting>
<para>to your kernel. If you have a PnP ISA card, you will also
need to add</para>
<programlisting>device sbc</programlisting>
<para>to your kernel. For a non-PnP ISA card, add</para>
<programlisting>device pcm</programlisting>
<para>and</para>
<programlisting>
device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15</programlisting>
<para>to your kernel. Those are the default settings. You may
need to change the IRQ, etc. See the &man.sbc.4; man page for
more information.</para>
<note>
<para>The Sound Blaster Live is not supported under FreeBSD 4.0
without a patch, which this document will not cover. It is
recommended that you update to the latest -STABLE before
trying to use this card.</para>
</note>
</sect2>
<sect2>
<title>Gravis UltraSound Cards</title>
<para>For a PnP ISA card, you will need to add</para>
<programlisting>device pcm</programlisting>
<para>and</para>
<programlisting>device gusc</programlisting>
<para>to your kernel. If you have a non-PnP ISA card, you will
need to add</para>
<programlisting>device pcm</programlisting>
<para>and</para>
<programlisting>
device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13</programlisting>
<para>to your kernel. You may need to change the IRQ, etc. See
the &man.gusc.4; man page for more information.</para>
</sect2>
<sect2>
<title>Crystal Sound Cards</title>
<para>For Crystal cards, you will need both</para>
<programlisting>device pcm</programlisting>
<para>and</para>
<programlisting>device csa</programlisting>
<para>in your kernel.</para>
</sect2>
<sect2>
<title>Generic Support</title>
<para>For PnP ISA or PCI cards, you will need to add</para>
<programlisting>device pcm</programlisting>
<para>to your kernel configuration. If you have a non-PnP ISA
sound card that does not have a bridge driver, you will need
to add</para>
<programlisting>
device pcm0 at isa? irq 10 drq 1 flags 0x0</programlisting>
<para>to your kernel configuration. You may need to change the
IRQ, etc., to match your hardware configuration.</para>
</sect2>
</sect1>
<sect1>
<title>Recompiling the Kernel</title>
<para>After adding the driver(s) you need to your kernel
configuration, you will need to recompile your kernel. Please see
the <xref linkend="kernelconfig-building"> of the handbook for
more information.</para>
</sect1>
<sect1>
<title>Creating and Testing the Device Nodes</title>
<para>After you reboot, log in and run <command>cat
/dev/sndstat</command>. You should see output similar to the
following:</para>
<programlisting>
FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53
Installed devices:
pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels duplex)</programlisting>
<para>If you see an error message, something went wrong earlier. If
that happens, go through your kernel configuration file again and
make sure you chose the correct device.</para>
<para>If it reported no errors and returned
<devicename>pcm0</devicename>, <command>su</command> to
<username>root</username> and do the following:</para>
<screen>
&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>
<para>If it reported no errors and returned
<devicename>pcm1</devicename>, <command>su</command> to
<username>root</username> and do the following:</para>
<screen>
&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV snd1</userinput></screen>
<para>Please note that either of the above commands will
<emphasis>not</emphasis> create a
<devicename>/dev/snd</devicename> device! Instead it creates a
group of device nodes including:</para>
<informaltable frame="none">
<tgroup cols="2">
<thead>
<row>
<entry>Device</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><devicename>/dev/audio</devicename></entry>
<entry>SPARC-compatible audio device</entry>
</row>
<row>
<entry><devicename>/dev/dsp</devicename></entry>
<entry>Digitized voice device</entry>
</row>
<row>
<entry><devicename>/dev/dspW</devicename></entry>
<entry>Like <devicename>/dev/dsp</devicename>, but 16 bits
per sample</entry>
</row>
<row>
<entry><devicename>/dev/midi</devicename></entry>
<entry>Raw midi access device</entry>
</row>
<row>
<entry><devicename>/dev/mixer</devicename></entry>
<entry>Control port mixer device</entry>
</row>
<row>
<entry><devicename>/dev/music</devicename></entry>
<entry>Level 2 sequencer interface</entry>
</row>
<row>
<entry><devicename>/dev/sequencer</devicename></entry>
<entry>Sequencer device</entry>
</row>
<row>
<entry><devicename>/dev/pss</devicename></entry>
<entry>Programmable device interface</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>If all goes well, you should now have a functioning sound
card. If you do not, see the next section.</para>
</sect1>
<sect1>
<title>Common Problems</title>
<qandaset>
<qandaentry>
<question>
<para>I get an unsupported subdevice XX error!</para>
</question>
<answer>
<para>One or more of the device nodes wasn't created
correctly. Repeat the steps above.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I get a sb_dspwr(XX) timed out error!</para>
</question>
<answer>
<para>The I/O port is not set correctly.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I get a bad irq XX error!</para>
</question>
<answer>
<para>The IRQ is set incorrectly. Make sure that the set IRQ
and the sound IRQ are the same.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I get a "xxx: gus pcm not attached, out of memory"
error. What causes that?</para>
</question>
<answer>
<para>If this happens, it is because there is not enough
available memory to use the device.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>
</chapter>

View file

@ -1,5 +1,5 @@
#
# $FreeBSD: doc/en_US.ISO_8859-1/books/handbook/Makefile,v 1.28 2000/03/20 20:59:30 jim Exp $
# $FreeBSD: doc/en_US.ISO_8859-1/books/handbook/Makefile,v 1.29 2000/07/12 14:35:51 nbm Exp $
#
# Build the FreeBSD Handbook.
#
@ -46,6 +46,7 @@ SRCS+= ppp-and-slip/chapter.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= sound/chapter.sgml
SRCS+= staff/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= x11/chapter.sgml

View file

@ -1,7 +1,7 @@
<!--
The FreeBSD Documentation Project
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/book.sgml,v 1.92 2000/10/12 05:06:15 jim Exp $
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/book.sgml,v 1.93 2000/11/21 10:27:59 nik Exp $
-->
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [
@ -97,6 +97,7 @@
&chap.backups;
&chap.x11;
&chap.l10n;
&chap.sound;
</part>
<part>

View file

@ -6,7 +6,7 @@
Chapters should be listed in the order in which they are referenced.
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/chapters.ent,v 1.7 2000/03/17 10:44:01 nbm Exp $
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/chapters.ent,v 1.8 2000/03/20 20:59:32 jim Exp $
-->
<!-- Part one -->
@ -25,6 +25,7 @@
<!ENTITY chap.backups SYSTEM "backups/chapter.sgml">
<!ENTITY chap.x11 SYSTEM "x11/chapter.sgml">
<!ENTITY chap.l10n SYSTEM "l10n/chapter.sgml">
<!ENTITY chap.sound SYSTEM "sound/chapter.sgml">
<!-- Part three -->
<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml">

View file

@ -0,0 +1,330 @@
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<chapter id="sound">
<title>Sound</title>
<para><emphasis>Contributed by Moses Moore
<email>jm-moses@home.com</email>, 20 November 2000.</emphasis></para>
<sect1>
<title>Synopsis</title>
<para>This chapter of the handbook deals with setting up sound on a
FreeBSD system.</para>
</sect1>
<sect1>
<title>Locating the Correct Device</title>
<para>Before you begin, you should know the model of the card you
have, the chip it uses, and whether it is a PCI or ISA card.
FreeBSD supports a wide variety of both PCI and ISA cards. If you
do not see your card in the following list, check the &man.pcm.4;
manual page. This is not a complete list, however, it does list
some of the most common cards.</para>
<itemizedlist>
<listitem>
<para>Crystal 4237, 4236, 4232, 4231</para>
</listitem>
<listitem>
<para>Yamaha OPL-SAx</para>
</listitem>
<listitem>
<para>OPTi931</para>
</listitem>
<listitem>
<para>Ensoniq AudioPCI 1370/1371</para>
</listitem>
<listitem>
<para>ESS Solo-1/1E</para>
</listitem>
<listitem>
<para>NeoMagic 256AV/ZX</para>
</listitem>
<listitem>
<para>Sound Blaster Pro, 16, 32, AWE64, AWE128, Live</para>
</listitem>
<listitem>
<para>Creative ViBRA16</para>
</listitem>
<listitem>
<para>Advanced Asound 100, 110, and Logic ALS120</para>
</listitem>
<listitem>
<para>ES 1868, 1869, 1879, 1888</para>
</listitem>
<listitem>
<para>Gravis UltraSound</para>
</listitem>
<listitem>
<para>Aureal Vortex 1 or 2</para>
</listitem>
</itemizedlist>
<para>The driver you use in your kernel depends on the kind of card
you have. The sections below provide more information and what
you will need to add to your <ulink url="../kernelconfig.html">kernel
configuration</ulink>.</para>
<sect2>
<title>Creative, Advance, and ESS Sound Cards</title>
<para>If you have one of the above cards, you will need to
add</para>
<programlisting>device pcm</programlisting>
<para>to your kernel. If you have a PnP ISA card, you will also
need to add</para>
<programlisting>device sbc</programlisting>
<para>to your kernel. For a non-PnP ISA card, add</para>
<programlisting>device pcm</programlisting>
<para>and</para>
<programlisting>
device sbc0 at isa? port0x220 irq 5 drq 1 flags 0x15</programlisting>
<para>to your kernel. Those are the default settings. You may
need to change the IRQ, etc. See the &man.sbc.4; man page for
more information.</para>
<note>
<para>The Sound Blaster Live is not supported under FreeBSD 4.0
without a patch, which this document will not cover. It is
recommended that you update to the latest -STABLE before
trying to use this card.</para>
</note>
</sect2>
<sect2>
<title>Gravis UltraSound Cards</title>
<para>For a PnP ISA card, you will need to add</para>
<programlisting>device pcm</programlisting>
<para>and</para>
<programlisting>device gusc</programlisting>
<para>to your kernel. If you have a non-PnP ISA card, you will
need to add</para>
<programlisting>device pcm</programlisting>
<para>and</para>
<programlisting>
device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13</programlisting>
<para>to your kernel. You may need to change the IRQ, etc. See
the &man.gusc.4; man page for more information.</para>
</sect2>
<sect2>
<title>Crystal Sound Cards</title>
<para>For Crystal cards, you will need both</para>
<programlisting>device pcm</programlisting>
<para>and</para>
<programlisting>device csa</programlisting>
<para>in your kernel.</para>
</sect2>
<sect2>
<title>Generic Support</title>
<para>For PnP ISA or PCI cards, you will need to add</para>
<programlisting>device pcm</programlisting>
<para>to your kernel configuration. If you have a non-PnP ISA
sound card that does not have a bridge driver, you will need
to add</para>
<programlisting>
device pcm0 at isa? irq 10 drq 1 flags 0x0</programlisting>
<para>to your kernel configuration. You may need to change the
IRQ, etc., to match your hardware configuration.</para>
</sect2>
</sect1>
<sect1>
<title>Recompiling the Kernel</title>
<para>After adding the driver(s) you need to your kernel
configuration, you will need to recompile your kernel. Please see
the <xref linkend="kernelconfig-building"> of the handbook for
more information.</para>
</sect1>
<sect1>
<title>Creating and Testing the Device Nodes</title>
<para>After you reboot, log in and run <command>cat
/dev/sndstat</command>. You should see output similar to the
following:</para>
<programlisting>
FreeBSD Audio Driver (newpcm) Sep 21 2000 18:29:53
Installed devices:
pcm0: &lt;Aureal Vortex 8830&gt; at memory 0xfeb40000 irq 5 (4p/1r +channels duplex)</programlisting>
<para>If you see an error message, something went wrong earlier. If
that happens, go through your kernel configuration file again and
make sure you chose the correct device.</para>
<para>If it reported no errors and returned
<devicename>pcm0</devicename>, <command>su</command> to
<username>root</username> and do the following:</para>
<screen>
&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>
<para>If it reported no errors and returned
<devicename>pcm1</devicename>, <command>su</command> to
<username>root</username> and do the following:</para>
<screen>
&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV snd1</userinput></screen>
<para>Please note that either of the above commands will
<emphasis>not</emphasis> create a
<devicename>/dev/snd</devicename> device! Instead it creates a
group of device nodes including:</para>
<informaltable frame="none">
<tgroup cols="2">
<thead>
<row>
<entry>Device</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><devicename>/dev/audio</devicename></entry>
<entry>SPARC-compatible audio device</entry>
</row>
<row>
<entry><devicename>/dev/dsp</devicename></entry>
<entry>Digitized voice device</entry>
</row>
<row>
<entry><devicename>/dev/dspW</devicename></entry>
<entry>Like <devicename>/dev/dsp</devicename>, but 16 bits
per sample</entry>
</row>
<row>
<entry><devicename>/dev/midi</devicename></entry>
<entry>Raw midi access device</entry>
</row>
<row>
<entry><devicename>/dev/mixer</devicename></entry>
<entry>Control port mixer device</entry>
</row>
<row>
<entry><devicename>/dev/music</devicename></entry>
<entry>Level 2 sequencer interface</entry>
</row>
<row>
<entry><devicename>/dev/sequencer</devicename></entry>
<entry>Sequencer device</entry>
</row>
<row>
<entry><devicename>/dev/pss</devicename></entry>
<entry>Programmable device interface</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>If all goes well, you should now have a functioning sound
card. If you do not, see the next section.</para>
</sect1>
<sect1>
<title>Common Problems</title>
<qandaset>
<qandaentry>
<question>
<para>I get an unsupported subdevice XX error!</para>
</question>
<answer>
<para>One or more of the device nodes wasn't created
correctly. Repeat the steps above.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I get a sb_dspwr(XX) timed out error!</para>
</question>
<answer>
<para>The I/O port is not set correctly.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I get a bad irq XX error!</para>
</question>
<answer>
<para>The IRQ is set incorrectly. Make sure that the set IRQ
and the sound IRQ are the same.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>I get a "xxx: gus pcm not attached, out of memory"
error. What causes that?</para>
</question>
<answer>
<para>If this happens, it is because there is not enough
available memory to use the device.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>
</chapter>