/[gentoo]/xml/htdocs/doc/en/alsa-guide.xml
Gentoo

Diff of /xml/htdocs/doc/en/alsa-guide.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.60 Revision 1.61
1<?xml version='1.0' encoding="UTF-8"?> 1<?xml version='1.0' encoding="UTF-8"?>
2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/alsa-guide.xml,v 1.60 2005/08/30 11:38:02 fox2mike Exp $ --> 2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/alsa-guide.xml,v 1.61 2005/09/09 06:49:31 fox2mike Exp $ -->
3 3
4<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 4<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
5 5
6<guide link="/doc/en/alsa-guide.xml"> 6<guide link="/doc/en/alsa-guide.xml">
7<title>Gentoo Linux ALSA Guide</title> 7<title>Gentoo Linux ALSA Guide</title>
8 8
9<author title="Author"> 9<author title="Author">
10 <mail link="fox2mike@gentoo.org">Shyam Mani</mail> 10 <mail link="fox2mike@gentoo.org">Shyam Mani</mail>
11</author> 11</author>
12 12
13<abstract> 13<abstract>
14This document helps a user setup ALSA on Gentoo Linux. 14This document helps a user setup ALSA on Gentoo Linux.
15</abstract> 15</abstract>
16 16
17<!-- The content of this document is licensed under the CC-BY-SA license --> 17<!-- The content of this document is licensed under the CC-BY-SA license -->
18<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 18<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
19<license/> 19<license/>
20 20
21<version>2.8</version> 21<version>2.9</version>
22<date>2005-08-30</date> 22<date>2005-09-09</date>
23 23
24<chapter> 24<chapter>
25<title>Introduction</title> 25<title>Introduction</title>
26<section> 26<section>
27<title>What is ALSA?</title> 27<title>What is ALSA?</title>
28<body> 28<body>
29 29
30<p> 30<p>
31ALSA, which stands for <e>Advanced Linux Sound Architecture</e>, provides 31ALSA, which stands for <e>Advanced Linux Sound Architecture</e>, provides
32audio and MIDI (<e>Musical Instrument Digital Interface</e>) functionality to 32audio and MIDI (<e>Musical Instrument Digital Interface</e>) functionality to
33the Linux operating system. ALSA is the default sound subsystem in the 2.6 33the Linux operating system. ALSA is the default sound subsystem in the 2.6
34kernel thereby replacing OSS (<e>Open Sound System</e>), which was used in the 34kernel thereby replacing OSS (<e>Open Sound System</e>), which was used in the
352.4 kernels. 352.4 kernels.
36</p> 36</p>
37 37
727Audio devices: 727Audio devices:
7280: EMU10K1 (DUPLEX) 7280: EMU10K1 (DUPLEX)
729 729
730Synth devices: NOT ENABLED IN CONFIG 730Synth devices: NOT ENABLED IN CONFIG
731 731
732Midi devices: 732Midi devices:
7330: EMU10K1 MPU-401 (UART) 7330: EMU10K1 MPU-401 (UART)
734 734
735Timers: 735Timers:
7367: system timer 7367: system timer
737 737
738Mixers: 738Mixers:
7390: SigmaTel STAC9721/23 7390: SigmaTel STAC9721/23
740</pre> 740</pre>
741 741
742<p>
743The other most common issue users face is the dreaded "Unknown symbol in module"
744error. An example of the same is shown below.
745</p>
746
747<pre caption="Unknown Symbol in module error">
748# <i>/etc/init.d/alsasound start</i>
749 * Loading ALSA modules ...
750 * Loading: snd-card-0 ... [ ok ]
751 * Loading: snd-pcm-oss ...
752WARNING: Error inserting snd_mixer_oss
753(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
754symbol in module, or unknown parameter (see dmesg) FATAL: Error inserting
755snd_pcm_oss
756(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-pcm-oss.ko): Unknown
757symbol in module, or unknown parameter (see dmesg)
758 [ !! ]
759 * Loading: snd-mixer-oss ...
760FATAL: Error inserting snd_mixer_oss
761(/lib/modules/2.6.12-gentoo-r6/kernel/sound/core/oss/snd-mixer-oss.ko): Unknown
762symbol in module, or unknown parameter (see dmesg)
763 [ !! ]
764 * Loading: snd-seq ... [ ok ]
765 * Loading: snd-emu10k1-synth ... [ ok ]
766 * Loading: snd-seq-midi ... [ ok ]
767 * Restoring Mixer Levels ... [ ok ]
768</pre>
769
770<p>
771And when you take a look at <c>dmesg</c> as suggested, you're quite likely to
772see:
773</p>
774
775<pre caption="dmesg output">
776<comment>(Only relevant portions are shown below)</comment>
777# <i>dmesg | less</i>
778ACPI: PCI Interrupt 0000:02:06.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 209
779snd_mixer_oss: Unknown symbol snd_unregister_oss_device
780snd_mixer_oss: Unknown symbol snd_register_oss_device
781snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback
782snd_mixer_oss: Unknown symbol snd_oss_info_register
783snd_pcm_oss: Unknown symbol snd_unregister_oss_device
784snd_pcm_oss: Unknown symbol snd_register_oss_device
785snd_pcm_oss: Unknown symbol snd_mixer_oss_ioctl_card
786snd_pcm_oss: Unknown symbol snd_oss_info_register
787snd_mixer_oss: Unknown symbol snd_unregister_oss_device
788snd_mixer_oss: Unknown symbol snd_register_oss_device
789snd_mixer_oss: Unknown symbol snd_mixer_oss_notify_callback
790snd_mixer_oss: Unknown symbol snd_oss_info_register
791</pre>
792
793<p>
794The above issue is caused when you switch from <c>alsa-driver</c> to in-kernel
795ALSA because when you unmerge <c>alsa-driver</c> the module files are config
796protected and hence get left behind. So, when you switch to in-kernel
797drivers, running <c>modprobe</c> gives you a mix of <c>alsa-driver</c> and
798in-kernel modules thus causing the above errors.
799</p>
800
801<p>
802The solution is quite easy. We just need to manually remove the problem causing
803directory after you unmerge <c>alsa-driver</c>. Be sure to remove the correct
804kernel version and not the current one!
805</p>
806
807<pre caption="Removing the alsa-driver modules">
808<comment>(Replace KERNELVER with your kernel version)</comment>
809# <i>rm -rf /lib/modules/KERNELVER/alsa-driver</i>
810</pre>
811
742</body> 812</body>
743</section> 813</section>
744</chapter> 814</chapter>
745 815
746<chapter> 816<chapter>
747<title>Other things ALSA</title> 817<title>Other things ALSA</title>
748<section> 818<section>
749<title>Setting up MIDI support</title> 819<title>Setting up MIDI support</title>
750<body> 820<body>
751 821
752<p> 822<p>
753If your sound card is one of those that come with on-board MIDI synthesizers 823If your sound card is one of those that come with on-board MIDI synthesizers
754and you would like to listen to some .mid files, you have to install 824and you would like to listen to some .mid files, you have to install
755<c>awesfx</c> which is basically a set of utilities for controlling the AWE32 825<c>awesfx</c> which is basically a set of utilities for controlling the AWE32
756driver. We need to install it first. If you don't have a hardware synthesizer, 826driver. We need to install it first. If you don't have a hardware synthesizer,
771<p> 841<p>
772After copying over the Soundfont files, we can then play a midi file as shown. 842After copying over the Soundfont files, we can then play a midi file as shown.
773You can also add the <c>asfxload</c> command to 843You can also add the <c>asfxload</c> command to
774<path>/etc/conf.d/local.start</path>, so that the sound font is loaded 844<path>/etc/conf.d/local.start</path>, so that the sound font is loaded
775every time the system starts up. 845every time the system starts up.
776</p> 846</p>
777 847
778<note> 848<note>
779<path>/mnt</path> paths mentioned in the code listing(s) below will <e>not</e> 849<path>/mnt</path> paths mentioned in the code listing(s) below will <e>not</e>
780be the same in your machine. They are just an example. Please be careful to 850be the same in your machine. They are just an example. Please be careful to
781change the path to suit your machine. 851change the path to suit your machine.
782</note> 852</note>
783 853
784<pre caption="Loading Soundfonts"> 854<pre caption="Loading Soundfonts">
785<comment>(First, copy the Soundfont)</comment> 855<comment>(First, copy the Soundfont)</comment>
786# <i>cp /mnt/win2k/Program\ Files/CreativeSBLive2k/SFBank/8MBGMSFX.SF2 /usr/share/sounds/sf2/</i> 856# <i>cp /mnt/win2k/Program\ Files/CreativeSBLive2k/SFBank/8MBGMSFX.SF2 /usr/share/sounds/sf2/</i>
857<comment>(Or get it from your SoundBlaster CD)</comment>
858# <i>cp /mnt/cdrom/AUDIO/ENGLISH/SFBANK/8MBGMSFX.SF2 /usr/share/sounds/sf2/</i>
787<comment>(We load the specific Soundfont)</comment> 859<comment>(We load the specific Soundfont)</comment>
788# <i>asfxload /usr/share/sounds/sf2/8MBGMSFX.SF2</i> 860# <i>asfxload /usr/share/sounds/sf2/8MBGMSFX.SF2</i>
789</pre> 861</pre>
790 862
791<p> 863<p>
792You can now play midi files using a program like <c>aplaymidi</c>. Run 864You can now play midi files using a program like <c>aplaymidi</c>. Run
793<c>aplaymidi -l</c> to get a list of available ports and then pick one 865<c>aplaymidi -l</c> to get a list of available ports and then pick one
794to play the file on. 866to play the file on.
795</p> 867</p>
796 868
797<pre caption="Playing MIDI"> 869<pre caption="Playing MIDI">
798<comment>(Check open ports)</comment> 870<comment>(Check open ports)</comment>
799# <i>aplaymidi -l</i> 871# <i>aplaymidi -l</i>
800 Port Client name Port name 872 Port Client name Port name
801 64:0 EMU10K1 MPU-401 (UART) EMU10K1 MPU-401 (UART) 873 64:0 EMU10K1 MPU-401 (UART) EMU10K1 MPU-401 (UART)

Legend:
Removed from v.1.60  
changed lines
  Added in v.1.61

  ViewVC Help
Powered by ViewVC 1.1.20