aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml')
-rw-r--r--en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml330
1 files changed, 330 insertions, 0 deletions
diff --git a/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml b/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml
new file mode 100644
index 0000000000..ca58bf0cdb
--- /dev/null
+++ b/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml
@@ -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>