Differences between current version and predecessor to the previous major change of HowToAlsasound.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 4 | Last edited on Thursday, October 21, 2004 5:07:04 pm | by AristotlePagaltzis | |
Older page: | version 3 | Last edited on Saturday, January 18, 2003 5:28:38 am | by GregLindauer | Revert |
@@ -1,2398 +1 @@
-See (and update) the official Alsa Wiki at http://alsa.opensrc.org/ for the latest information. As of Jan 17 2003, Alsa is at .9 and the Linux kernel is at 2.4.20.
-
-----
-
-Alsa-sound-mini-HOWTO
-
-
-
-----
-
-!!!Alsa-sound-mini-HOWTO
-
-!!Valentijn Sessink valentyn@alsa-project.orgv2.-pre1, 12 November 1999
-
-
-----
-''Describes the installation of the ALSA sound drivers for Linux. These sound drivers can be used as a replacement for the regular sound drivers, as they are fully compatible.''
-----
-
-
-
-
-!!1. Introduction
-
-
-*1.1 Acknowledgments
-
-*1.2 Revision History
-
-*1.3 New versions of this document
-
-*1.4 Feedback
-
-*1.5 Distribution Policy
-
-
-
-
-
-!!2. NOWTO - a quick install guide
-
-
-*2.1 Installing ALSA for kernels 2.2.x
-
-*2.2 Playing and recording sound
-
-*2.3 Installing ALSA for 2..x
-
-*2.4 Playing and recording sound
-
-
-
-
-
-!!3. Before you start
-
-
-*3.1 Introduction
-
-*3.2 General information about the ALSA drivers
-
-*3.3 Supported hardware
-
-*3.4 Other HOWTO's
-
-
-
-
-
-!!4. How to install ALSA sound drivers
-
-
-*4.1 What you need
-
-*4.2 Getting the drivers
-
-*4.3 ALSA versions
-
-*4.4 Extracting
-
-*4.5 Compiling
-
-*4.6 Preparing the devices
-
-
-
-
-
-!!5. Loading the driver
-
-
-*5.1 Inserting with modprobe
-
-*5.2 Which module for which card?
-
-*5.3 modprobe for drivers without auto-probing
-
-*5.4 The kerneld approach
-
-*5.5 Backwards compatibility
-
-
-
-
-
-!!6. Testing and using
-
-
-*6.1 The /proc filesystem
-
-*6.2 The mixer
-
-*6.3 The /dev/snd/ devices
-
-*6.4 Additional information
-
-
-
-
-
-!!7. Tips and Troubleshooting
-
-
-*7.1 Compiling the driver
-
-*7.2 Loading the driver
-
-*7.3 Driver loaded... but no (or hardly any) sound
-
-*7.4 General suggestions
-
-*7.5 Bug reports
-
-*7.6 Tip: playing CD's
-
-*7.7 Tip: installing the MIDI serial driver
-
-*7.8 Tip: new kernel? New modules!
-
-*7.9 Tip: KDE and ALSA drivers
-
-*7.10 Tip: use the ALSA devices
-
-*7.11 Tip: removing all modules
-
-----
-
-!!1. Introduction
-
-
-This is the ALSA Sound drivers mini-HOWTO. It gives you information about
-installing and using the ALSA sound drivers for your soundcard. The ALSA
-drivers are fully modularized sound drivers that support kerneld and
-kmod. They are compatible with, but surpass the possibilities of, the current
-OSS API. In other words: compatible, but better.
-
-!!1.1 Acknowledgments
-
-
-
-This documents contains information I got from the ALSA driver page. The
-structure was ripped off the SB-mini-HOWTO, mainly because it had about
-the structure I was looking for. Thanks to the
-SGML
-Tools package, this HOWTO is available in several formats, all generated
-from a common source file. Thanks to Erik Warmelink for proof
-reading, thanks to Alfred Munnikes
-for a couple of questions and helpful suggestions. Yamahata Isaku thanks for the Japanese
-translation, Miodrag Vallat for the translation in French. Later on, Steve Crowder did a great
-job by reading and editing the whole text. Thanks to Cserna Zsolt for the Hungarian translation and Marco Meloni for
-the Italian one.
-Thanks to Mohamed Ismail Mohamed-Ibrahim who sent me a document about the Trident 4DWave DX/NX soundcard
-with a lot of useful information, thanks to Gerard Haagh who sent me a lot of useful information and
-who also pointed out a few unclear sections.
-
-
-Thanks to Marc-Aur`ele Darche, Piotr Ingling, Juergen Kahrs, Tim Pearce, Patrick Stoddard, Rutger de Graaf,
-Shuly Wintner, Jyrki Saarela, Jonas Lofwander, Kumar Sankaran and many others for useful tips and additions.
-
-!!1.2 Revision History
-
-
-
-Version 2.-pre1 - November 12, 1999. Updating a couple of sections to ALSA .4.1e., added various links.
-
-
-Version 1.7 - July 29, 1999. A few fixes.
-
-
-Version 1.6 - July 26, 1999. Added a section about ALSA-versions
-
-
-Version 1.5 - May 21, 1999. Changed the mixer section, added a quick install section
-
-
-Version 1.4 - May 18, 1999. Included the URL to the French version, changed more URLs.
-
-
-Version 1.3 - May 16, 1999. Thanks to Jaroslav this HOWTO has found a home at the ALSA-project website.
-As a result of that, some updates in mail and web addresses.
-
-
-Version 1.2 - May 11, 1999. Several updates.
-
-
-Version 1.1 - March 11, 1999. Added a couple of sound cards from the new .3 series drivers, wrote a bit
-about the 2.2 series kernel.
-
-
-Version 1.0 - February 8, 1999. Added a few things to the troubleshooting section, but we seem fairly complete.
-
-
-Version .3 beta - January 20, 1999. A link on the ALSA-homepage. Ha, we're official!
-
-
-Version .2 alpha - Mid January 1999, first .sgml-version.
-
-
-Version .1 alpha - January 1999, first version, mostly HTML.
-
-
-Still: please submit any patches in plain English, you native speakers!
-
-
-There are a couple of additions that need to be added to the HOWTO now. Notably,
-Mohamed Ismail Mohamed-Ibrahim and Gerard Haagh wrote wonderful additions to the HOWTO, that will keep me
-off my regular work for some more time. So this is 2.-pre1 and more pre's are to follow.
-
-
-
-
-!!1.3 New versions of this document
-
-
-
-The latest version can be found at
-http://www.alsa-project.org./~valentyn
-
-Other formats (full size html, sgml, txt) are in the directory
-other-formats. Unfortunately, I have not succeeded in compiling a Postscript version,
-as the sgml2latex-script returns a bunch of errors.
-
-
-Yamahata Isaku has translated a Japanese version, which will be available
-at the Japanese ALSA site,
-http://plaza21.mbn.or.jp/~momokuri/alsa/index.html
-
-Miodrag Vallat translated a French version, which is available at
-http://www.freenix.fr/unix/linux/HOWTO/mini/Alsa.html.
-
-
-Cserna Zsolt has translated the Hungarian version of the ALSA-HOWTO. You can find
-it at
-http://kib4.vein.hu/~zsolt/alsa.html.
-
-
-Marco Meloni did an Italian version, you can get it at
-http://pluto.linux.it/ildp/index.html.
-
-
-If you make a translation of this document into another language, let
-me know and I'll include a reference to it here. Ook een Nederlandse versie is welkom, ik heb zelf geen
-tijd om deze te schrijven. Leve de koningin!
-
-!!1.4 Feedback
-
-
-
-I rely on you, the reader, to make this HOWTO useful. If you have any suggestions,
-corrections or comments, please send them to me (
-alsa-howto@alsa-project.org),
-and I will try to incorporate them in the next revision.
-
-
-Please note: I do not get a lot of mail about the ALSA drivers and any addition is welcome. Even a
-``thank you for'' is appreciated - maybe it's not too much work to add a ``I appreciated most'' or
-``this-or-that was not immediately clear to me''-section.
-
-
-If you publish this document on a CD-ROM or in hardcopy form, a complimentary
-copy would be appreciated. Mail me for my postal address. Also consider
-making a donation to the Linux Documentation Project to help support free
-documentation for Linux. Contact the Linux HOWTO co-ordinator, Tim Bynum
-linux-howto@metalab.unc.edu,
-for more information.
-
-!!1.5 Distribution Policy
-
-
-
-Copyright 1998/1999 Valentijn Sessink
-
-
-This HOWTO is free documentation; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2 of the License, or (at your
-option) any later version.
-
-
-This document is distributed in the hope that it will be useful, but
-__without
-any warranty__; without even the implied warranty of
-__merchantability__
-or __fitness for a particular purpose__. See the GNU General Public
-License for more details.
-
-
-You can obtain a copy of the GNU General Public License by writing to
-the
-Free Software Foundation, Inc., 675
-Mass Ave, Cambridge, MA 02139, USA.
-
-
-
-----
-
-!!2. NOWTO - a quick install guide
-
-
-If you want sound and you want it NOW! and not after reading this HOWTO, this quick tour through
-the ALSA driver installation might be of help. Please note: there are a couple of differences between
-the ALSA versions that support 2.0 kernels and those that support 2.2 kernels.
-
-!!2.1 Installing ALSA for kernels 2.2.x
-
-
-
-You will probably want to use the ALSA .4.1e (or later) version if your kernel is 2.2.x.
-If your kernel is older, please use .3.-pre4 and see below.
-
-
-Just the all time ``./configure - make - make install'' stuff. Do this for __drivers, library and utilities__.
-You need all three because the utilities help you to unmute your card. Kernels 2.2.x need to have __general
-sound support__ in the kernel (without choosing a specific card).
-
-
-The ALSA drivers have their own devices, you can make them usinge the __./snddevices__ script.
-
-
-You need to load the module for your card (or use kmod)
-and if you want sound to be backwards compatible with the Linux kernel sound drivers (yes you want this) you need
-two other modules called __snd-pcm1-oss__ and __snd-mixer-oss__. See the section
-Which module for which card to find
-out which module to load. After loading, you can look in /proc/asound
-for various information about the ALSA drivers.
-
-!!2.2 Playing and recording sound
-
-
-
-A few remarks. ALSA has it's own devices in /dev/snd, for example /dev/snd/pcmC0D1 is Card , Device 1.
-You can use the old /dev/pcmXY devices if you loaded snd-pcm1-oss for backwards compatibility. You'll also want
-to use /dev/mixer, so load snd-mixer-oss as well. Before you can
-play any sound, you need to unmute the card with ``amixer''. Type ``amixer groups'', then try something like
-
-
-amixer set PCM 100 unmute
-
-
-Generally you can use options ``mute'' or ``unmute'', ``capture'' or ``nocapture'' and numbers.
-
-
-That's it! Now if it works, it works. If it doesn't work, you may need to actually read this HOWTO...
-
-
-
-
-!!2.3 Installing ALSA for 2..x
-
-
-
-The ALSA drivers versions .3., .3.1 and .3.2 have various problems due to the
-restructuring of the mixer interface. Later versions do not support kernel 2..x, so you definately will want to
-use version .3.-pre4 if you have a 2.0 version kernel.
-
-
-Just the all time ``./configure - make - make install'' stuff. Do this for __drivers, library and utilities__.
-You need all three because the utilities help you to unmute your card. Kernels 2..x need to have all __sound
-support disabled__ in the kernel setup
-
-
-The ALSA drivers have their own devices, you can make them usinge the __./snddevices__ script.
-
-
-You need to load the module for your card (or use kmod)
-and if you want sound to be backwards compatible with the Linux kernel sound drivers (yes you want this) you need
-another modules called __snd-pcm1-oss__. See the section
-Which module for which card to find
-out which module to load. After loading, you can look in /proc/asound
-for various information about the ALSA drivers.
-
-!!2.4 Playing and recording sound
-
-
-
-A few remarks. ALSA has it's own devices in /dev/snd, for example /dev/snd/pcmC0D1 is Card , Device 1.
-You can use the old /dev/pcmXY devices if you loaded snd-pcm1-oss for backwards compatibility. Before you can
-play any sound, you need to unmute the card with ``amixer''. Type ``amixer'', then try something like
-
-
-amixer pcm 100 unmute
-
-
-Generally you can use options ``mute'' or ``unmute'', ``rec'' or ``norec'', numbers or left:right.
-
-
-That's it! Now if it works, it works. If it doesn't work, you may need to actually read this HOWTO...
-----
-
-!!3. Before you start
-
-
-
-
-
-
-
-!!3.1 Introduction
-
-
-
-This document tries to help you install and use the ALSA sound drivers
-in your Linux system. The reference system is a Slackware 4.0 distribution
-of Linux on an AMD/K6 computer (x86 compatible), but it should work with
-any other Linux distribution. I do not know if the ALSA drivers work on
-other platforms, according to the documentation, Alpha has been tested and proven to work.
-I have only x86 PC's here, so any additional information you may have would be appreciated.
-
-
-It might be handy to read the Linux
-Sound HOWTO (see section Other HOWTO's), but that HOWTO focuses on the built-in kernel drivers.
-
-!!3.2 General information about the ALSA drivers
-
-
-
-The ALSA sound driver was originally written as a replacement for the Linux
-kernel sound for Gravis !UltraSound (GUS) cards. As this GUS replacement proved to be a success,
-the author started the ALSA project for a generic
-driver for several sound chips, with fully modularized design.
-
-
-It is compatible with the OSS/Free and OSS/Linux sound drivers (the drivers in the kernel),
-but has its own interface that is even better than the OSS drivers. A list
-of features can be found at
-http://www.alsa-project.org/intro.html
-
-Please note that the ALSA drivers are still under development. Things may change over time, and some programs that
-rely on ALSA only work under specific versions of it. Apart from that: I think they're great. I use ALSA for 10 months now and
-will never go back to the dark ages of closed source sound drivers - hint ;)
-
-
-The main page of the ALSA project is
-http://www.alsa-project.org/
-
-
-
-!!3.3 Supported hardware
-
-
-
-The ALSA drivers support only a subset of all sound cards available.
-As the
-time of writing, the following cards are supported.
-
-
-*Cards with a Trident 4D Wave DX/NX chipset, thanks to Trident Microsystems who
-offered ALSA ``first cut'' GPL'd drivers (MIXER and PCM devices only) and documentation for
-their 4D Wave PCI audio chipsets.
-See http://www.tridentmicro.com/HTML/products%20folder/audio.htm for more information.
-Cards using this chipset include: Best Union Miss Melody 4DWave PCI, HIS 4DWave PCI,
-Warpspeed ONSpeed 4DWave PCI, !AzTech PCI 64-Q3D, Addonics SV 750, CHIC True Sound 4Dwave,
-Shark Predator4D-PCI and Jaton !SonicWave 4D.
-
-*
-
-*Gravis Ultrasound (GUS): ``PnP'', Extreme, Classic/ACE, MAX
-*
-
-*Cards with a GUS chipset: Dynasonic 3-D, STB Sound Rage 32, !UltraSound
-32-Pro (STB), !ExpertColor MED3201 and others with AMD !InterWave(tm) chip, notably some STB cards by Compaq
-*
-
-*Soundblaster: 1., 2., Pro, 16, AWE32/64, PCI64
-*
-
-*ESS !AudioDrive ESx688
-*
-
-*ESS ES968 chip based cards (PnP only).
-
-*
-
-*ESS ES18xx (chipsets). Please note that I personally experienced a lot of
-trouble with the ESS1888. The developer of the driver for this card did his best, but to no avail.
-*
-
-*ESS Solo-1 ES1938 and ES1946. Only one of the two channels works, which means that recording is not possible. The
-author of the ES1938 code ``is aware of the problem and is currently investigating it''.
-*
-
-*Yamaha: OPL3-SA2, OPL3-SA3 (chipsets)
-*
-
-*OAK Mozart
-*
-
-*Schubert 32 PCI (PINE, S3 !SonicVibes PCI chipset)
-*
-
-*Ensoniq AudioPCI ES1370/1371 PCI soundcards (Soundblaster PCI64)
-*
-
-*!SonicVibes PCI soundcards (PINE Schubert 32 PCI)
-*
-
-*!ForteMedia FM801 based cards (in .3.2)
-*
-
-*OPTi 82C9xx chipset based soundcards
-*
-
-*AD1847, AD1848 and CS4248 chipset based cards
-*
-
-*AZT2320 chip based soundcards (PnP only).
-*
-
-*Advance Logic ALS100/ALS120 based cards
-*
-
-*C-Media CMI8330 based cards
-*
-
-Then a whole lot of Crystal Semiconductors-based sound boards are supported.
-These chips can be found in a lot of hardware, in separate cards (some
-Philips PCA series) and on motherboards (e.g. IBM Aptiva, Dell computers). Boards
-based on the following chipsets are supported:
-
-
-*4231
-*
-
-*4232
-*
-
-*4232A
-*
-
-*4235
-*
-
-*4236B
-*
-
-*4237B
-*
-
-*4238B
-*
-
-*4239
-*
-
-*4280
-*
-
-*4610
-*
-
-*4612
-*
-
-*4614
-*
-
-*4615
-*
-
-*4680
-*
-
-The best thing is: ALSA now supports computers without a soundcard to produce video! This is done with a dummy
-driver, that tricks programs like Realplayer into thinking that there is a sound card available.
-
-
-A more recent list may be found inside the driver package itself, that
-is in doc/SOUNDCARDS
-
-!!3.4 Other HOWTO's
-
-
-
-This ALSA-sound-mini-HOWTO is just mini - although it seems to grow fast. Other HOWTO's may help you out in case
-this one is too terse. I will name a few things you may come across while trying to
-install the ALSA drivers. HOWTO's can generally, be found at mirrors of Metalab (the former Sunsite). So
-take a look at
-http://metalab.unc.edu/LDP/mirrors.html
-and pick out your closest mirror site. You can find HOWTO's in the directory LDP/HOWTO/.
-Please note: the links in this document will all be relative to /LDP/HOWTO/mini. If you
-look at this document from a reasonably good mirror site, you will find the HOWTO's.
-
-
-Then a note for the 2.2.x kernel series. For the 2.2.x kernel series, sound support is like any other support: it works,
-but it is different from what you used to do. This HOWTO (like any other HOWTO) will from version 2.0pre1 concentrate
-on the 2.2 series kernel, although I'll try to point out the differences.
-
-!Sound cards
-
-
-Perhaps you bought a sound card already, or maybe it has been installed in your computer for ages. And
-now you are going to use it! Have a look at the
-Sound-HOWTO
-to see if this is all worth the trouble. (You might want to buy this new Mega-Rumble-Blaster first,
-then try the ALSA drivers.)
-
-!Plug and Play cards
-
-
-Most modern sound cards for the Intel platform are ISA PnP cards, which is an
-abbreviation for ''Plug and Play''. This means, that the card has to be
-configured by the operation system. This has to be done through an
-initialization routine at boot time. You probably need to configure your
-card with the PnP-utils-package. Every recent Linux distribution
-includes these tools. For usage have a look at the
-Plug-and-Play-HOWTO
-
-The ALSA-drivers seem to have built in their own ISA-PnP-support for a couple of sound cards. Unfortunately,
-as I cannot find documentation about this, I cannot tell you how it works. If anyone out there wants to
-try ALSA sound support while deliberately not using the ISA-PnP-tools, please drop me a line.
-
-!Loadable modules
-
-
-The ALSA sound drivers are built as modules. You can find more information
-about modules in the
-Kernel-HOWTO.
-There is also a module-HOWTO, but that is unmaintained at the moment; take a
-look at the umaintained section of the Howto-HOWTO. There is a
-Modules-mini-HOWTO though that may be useful.
-
-!Kerneld
-
-
-Another HOWTO that will be useful for some, is the
-Kerneld-mini-HOWTO.
-Kerneld is a daemon that installs and removes kernel modules as
-needed. (I have zero experience with it, so additional information on the
-topic is welcome. The ALSA driver documentation contains some information
-about configuration of the kerneld, this has been included in this mini-HOWTO.)
-
-
-As the kernel module loader is included in kernel 2.2.x, things have changed. But as I am one of those guys that
-rather modprobes something than have some daemon handle it, I have no info on this.
-
-
-
-----
-
-!!4. How to install ALSA sound drivers
-
-
-
-
-
-
-
-!!4.1 What you need
-
-
-
-
-
-
-
-
-
-*a functional Linux system (e.g. the Slackware distribution), with the "Development"
-packages installed (i.e. gcc, make etc.)
-*
-
-*some knowledge about Linux (meaning you know how to use "ls", "cd", "tar"
-etc.)
-*
-
-*a root-account
-*
-
-The great thing is: you don't need a supported sound card anymore, as ALSA now has a dummy driver that does nothing!
-(No, it really does nothing, but some programs will work now that they believe there is a sound card available).
-
-
-If you have a PnP card, you will also need:
-
-
-*the isapnptools software package.
-*
-
-The INSTALL text in the driver directory suggests that for some cards, PnP
-support is native. I also received a suggestion from Jaroslav about this.
-When I get further information about this topic I will add it to this
-mini-HOWTO.
-
-
-Please note that you should not have any sound drivers active when you want
-to use the ALSA drivers. If you have a kernel with sound drivers compiled
-in, you'll need a kernel recompilation. If you have the old "sound.o" module
-active, you need to deactivate it. If you use kerneld, this probably means
-deleting sound.o from the /lib/modules/<kernel_version>/misc directory.
-Newer !RedHat systems have a different
-sound approach, with several sound modules active. You need to deactivate
-them all.
-
-
-The 2.2 series kernel has a new approach to sound. You should include sound support here ! Yep, that's
-right: you add sound support to the kernel, but do not include any sound card. Then compile and install
-the kernel and after that, compile the ALSA-drivers.
-
-
-
-
-!!4.2 Getting the drivers
-
-
-
-The ALSA drivers are available from
-ftp://ftp.alsa-project.org/pub/
-and there are mirrors at
-
-
-*US:
-ftp://ftp.silug.org/pub/alsa
-*
-
-*US:
-ftp://ftp.eecs.umich.edu/pub/linux/alsa
-*
-
-*Netherlands:
-ftp://linux.a2000.nl/alsa
-*
-
-*Poland:
-ftp://ftp.task.gda.pl/pub/linux/misc/alsa
-*
-
-*Germany:
-ftp://ftp.tu-clausthal.de/pub/linux/alsa
-*
-
-*Slovakia:
-ftp://ftp.phacka.sk/pub/alsa
-*
-
-*Australia:
-ftp://ftp.suburbia.com.au/pub/alsa
-*
-
-
-
-For a fully functional ALSA-installation, you will need the driver, the
-libs and the utilities; e.g if you chose the A2000 mirror you would
-get ftp://linux.a2000.nl/alsa/driver/alsa-driver-.4.1e.tar.gz, ftp://linux.a2000.nl/alsa/lib/alsa-lib-.4.1d.tar.gz
-and ftp://linux.a2000.nl/alsa/utils/alsa-utils-.4.1.tar.gz
-
-
-
-
-!!4.3 ALSA versions
-
-
-
-The ALSA drivers have come a long way. Development started during the 2.0 version kernel,
-then the 2.2 series showed up (with their own sound kernel).
-
-
-As the .4 versions work perfectly for me, I think it is safe to use .4.1e (or newer, if you want). If you have a 2..x kernel,
-you will definately not want to use .3.0 or later. Instead, use alsa-driver-.3.-pre4, alsa-lib-.3.-pre4
-and alsa-utils-.3.-pre3.
-
-
-The older versions, .2.-pre10p3 and older do work under 2..x, but I cannot get them to work under 2.2.x (probably
-due to the lack of interfacing with the soundcore module of the kernel).
-
-
-
-
-!!4.4 Extracting
-
-
-
-You extract the drivers by some reasonable command, like the all-time tar
--zxf <file>. Most likely you would do that in the /usr/src directory, so you need root priviliges for this.
-Type ``su'' and then the root password to become root. But please note: it is unwise to use your system as the ``root''
-user if it is not necessary. So:
-
-
-
-
-
-cd /usr/src
-
-
-
-
-
-
-
-tar -zxf ~/alsa-driver-.4.1e.tar.gz
-
-
-
-
-
-
-
-tar -zxf ~/alsa-lib-.4.1d.tar.gz
-
-
-
-
-
-
-
-tar -zxf ~/alsa-utils-.4.1.tar.gz
-
-
-Also working and more fun: find ~ -name alsa* -exec tar -zxf {} \;
-(Don't try this at home kids, it's just an example). Note that when downloading
-the drivers with Netscape, you may accidentally get unpacked drivers with
-a ".tgz" extension. If tar complains about the file format, you may get
-better results by leaving off the "z" in the tar options.
-
-!!4.5 Compiling
-
-
-
-You need the drivers before you can compile and use the libs. You need
-the libs before you can compile or use the utils. So let's begin:
-
-
-cd alsa-driver-.4.1e
-
-
-(and for those not so experienced: try typing a <tab> (the "tab"-key)
-after "alsa-d". That's called ''command line completion''.)
-
-
-./configure
-
-
-If you want to use the built-in PnP interfacing, you should use
-
-
-./configure --with-isapnp=yes
-
-
-
-
-
-
-
-
-
-
-make
-
-
-Now you need to be 'root' to install the stuff (you probably were "root"
-already)
-
-
-make install
-
-
-If this tells you that something like ``version.h'' cannot be found, then you probably do not have
-a proper kernel source tree. You need a couple of files of your kernel source to be able to
-compile the ALSA-drivers. Unpack your favorite linux-2.x.y.tar.gz in /usr/src, and issue a
-make menuconfig. (Actually, make symlinks may be enough).
-Now compile the libraries:
-
-
-cd ../alsa-lib-.4.1d
-
-
-
-
-
-
-
-./configure
-
-
-
-
-
-
-
-make
-
-
-
-
-
-
-
-make install
-
-
-OK, you're getting it, the utilities:
-
-
-cd ../alsa-utils-.4.1
-
-
-
-
-
-
-
-./configure
-
-
-
-
-
-
-
-make
-
-
-
-
-
-
-
-make install
-
-
-Note: you can leave out the "make install" for the utilities at first.
-You could even leave out the whole library-making and utility-making, just
-to check if the driver works.
-
-!!4.6 Preparing the devices
-
-
-
-There is a script in the driver-directory that will install the ALSA-sound-devices
-in your /dev directory. Type
-
-
-./snddevices
-
-
-from the driver-directory. There should be a /dev/snd subdirectory now
-(test if it is there. If you are not familiar with even the "ls" command,
-please consider reading other HOWTO's first. You should have some basic
-Linux knowledge to install these drivers).
-
-
-Now you're ready to insert the driver, so please turn over to the next
-paragraph.
-----
-
-!!5. Loading the driver
-
-
-There are two ways to use the ALSA-sound-modules. I personally prefer using
-the manual method, meaning that I insert the driver at startup. The ALSA-drivers
-were designed as loadable/unloadable modules - for instance they do not
-reset the mixer after loading - so you can easily use the kerneld approach.
-
-
-Please do read the section
-Backwards Compatibility.
-You need it to have sound support ``the old way''.
-
-!!5.1 Inserting with modprobe
-
-
-
-Note: If you have a PnP audio-card, you first need to set it to the right
-(or at least some known) IO/IRQ/DMA. See the Plug-and-Play-HOWTO. Did
-you configure your Plug-and-Play-soundcard? Ok, then read on please.
-The main part is: do a "modprobe snd-card-<soundcard>". This should do
-the trick. Please note that not all distributions do include /sbin in your path.
-If you get a "bash: modprobe: command not found", this will most
-likely mean that modprobe is not in your path. Try ``/sbin/modprobe snd-card-sb16'',
-or try to find the modprobe utility elsewhere.
-
-
-The most important difficulty is with the Crystal chipsets, for these
-the ALSA-drivers are not auto probing. More recent information may be acquired
-from the INSTALL file in the driver-directory. Two examples, then a list:
-Gravis !UltraSound (GUS) and compatibles:
-
-
-/sbin/modprobe snd-card-gusclassic
-
-
-For all 16-bit Soundblaster-cards (!SoundBlaster 16 (PnP), !SoundBlaster
-AWE 32 (PnP), !SoundBlaster AWE 64 (PnP):
-
-
-/sbin/modprobe snd-card-sb16
-
-
-However, if you have a .3.-pre4 package, the GUS Classic driver is called ``snd-gusclassic'' and the
-!SoundBlaster 16 module is called ``snd-sb16'' (so, without the ``card'' part).
-
-
-
-
-!! 5.2 Which module for which card?
-
-
-
-Please note that ALSA versions before .4.x sometimes had different names. You need to leave out the ``card'' part for those
-drivers. This is indicated by an asterisk (*).
-
-
-
-
-!Gravis !UltraSound Extreme (*)
-
-
-
-
-
-modprobe snd-card-gusextreme
-
-!Gravis !UltraSound MAX (*)
-
-
-
-
-
-modprobe snd-card-gusmax
-
-
-
-
-!ESS !AudioDrive (*)
-
-
-ESS !AudioDrive ES-1688 and ES-688 soundcards
-
-
-modprobe snd-card-audiodrive1688
-
-
-
-
-!ESS !AudioDrive 18xx (*)
-
-
-ESS !AudioDrive ES-18xx based soundcards
-
-
-modprobe snd-card-audiodrive18xx
-
-
-
-
-!Gravis !UltraSound PnP (*)
-
-
-Gravis !UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32, !ExpertColor MED3201 and other
-soundcards based on AMD !InterWave(tm) chip.
-
-
-modprobe snd-card-interwave
-
-!!UltraSound 32-Pro (*)
-
-
-!UltraSound 32-Pro (soundcard from STB used by Compaq) and other soundcards
-based on AMD !InterWave (tm) chip with TEA6330T circuit for extended control
-of bass, treble and master volume
-
-
-modprobe snd-card-interwave-stb
-
-!Soundblaster (*)
-
-
-8-bit Soundblaster cards (!SoundBlaster 1., !SoundBlaster 2., !SoundBlaster
-Pro)
-
-
-modprobe snd-card-sb8
-
-!Soundblaster 16 (*)
-
-
-16-bit !SoundBlaster cards (!SoundBlaster 16 (PnP), !SoundBlaster AWE
-32 (PnP), !SoundBlaster AWE 64 (PnP). Please note: this module does not support the !SoundBlaster VibraX16 soundcard.
-
-
-modprobe snd-card-sb16
-
-!OAK Mozart (*)
-
-
-
-
-
-modprobe snd-mozart
-
-!OPTi 82C9xx (*)
-
-
-Various sound cards that use the OPTi 82C9xx chipset, like Audio 16 Pro EPC-SOUN9301 (82C930 based),
-!ExpertColor MED-3931 v2.0 (82C931 based), !ExpertMedia Sound 16 MED-1600 (82C928 based - AD1848),
-Mozart S601206-G (OPTI601 based - CS4231) and Sound Player S-928
-
-
-modprobe snd-card-opti9xx
-
-!AD1847/48 and CS4248
-
-
-
-
-
-modprobe snd-card-ad1848
-
-!Yamaha OPL3-SA2/SA3 soundcards (*)
-
-
-Just "modprobe snd-opl3sa" will not work, this driver does not do autoprobing.
-See below.
-
-!S3 !SonicVibes (*)
-
-
-S3 !SonicVibes PCI soundcards. (PINE Schubert 32 PCI)
-
-
-modprobe snd-card-sonicvibes
-
-
-
-
-!Ensoniq/Soundblaster PCI64 (*)
-
-
-Ensoniq AudioPCI ES1370/1371 PCI soundcards. (!SoundBlaster PCI 64)
-
-
-modprobe snd-card-audiopci
-
-!CS4231
-
-
-Just ``modprobe snd-card-cs4231'' will not work, no auto-probing. See below.
-
-!CS4232/4232A
-
-
-All soundcards based on CS4232/CS4232A chips.
-Just "modprobe snd-card-cs4232" will not work, no auto-probing. See
-below.
-
-
-
-
-!4235 and higher
-
-
-All soundcards based on CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 chips.
-Just "modprobe snd-card-cs4236" will not work, no auto-probing. See below.
-
-
-
-
-!4610/4612/4615 and 4680
-
-
-
-
-
-modprobe snd-card-cs461x
-
-!ESS Solo 1 (*)
-
-
-ESS Solo-1, 128iPCI card (es1938, ESS-SOLO-1). Jonas Lofwander sent me a link to a document that will help you installing
-this card - which is, basically, nothing more than
-modprobe snd-card-esssolo1
-... but
-http://dice.shopcenter.nu/alsa/
-can be of help. If you have an IBM Thinkpad 1412 you can also refer to
-http://www.geocities.com/!SiliconValley/Peaks/3649/1412.html, thanks to Kumar Sankaran.
-
-!Trident 4DWave DX/NX (**)
-
-
-Best Union Miss Melody 4DWave PCI, HIS 4DWave PCI, Warpspeed ONSpeed 4DWave PCI,
-!AzTech PCI 64-Q3D, Addonics SV 750, CHIC True Sound 4Dwave, Shark Predator4D-PCI,
-Jaton !SonicWave 4D.
-
-
-modprobe snd-card-trident
-
-!!ForteMedia FM801
-
-
-These are PCI cards based on the FM801 chip.
-
-
-modprobe snd-card-fm801
-
-
-__(*)__
-
-For ALSA version .3.-pre4, you need to leave out the ``card-'' part in most (not all!) of the drivernames.
-So ``snd-card-sb16'' becomes ``snd-sb16'', however, ``snd-card-cs4232'' remains ``snd-card-cs4232''
-(modprobe snd-cs4232 will do something, but it will not produce any sound!)
-
-
-__(**)__
-
-In older ALSA versions this driver was called ``snd-card-trid4wave'' and ``snd-trid4wave''.
-
-
-
-
-
-
-
-!!5.3 modprobe for drivers without auto-probing
-
-
-
-If you have a non-autoprobing driver, you need to supply additional info
-at startup to have the driver work. More information can be found in the
-file INSTALL in the driver directory.
-
-!OPL3-SA2 and OPL3-SA3
-
-
-According to the INSTALL file you need to supply all the information for
-this driver. If you initialized the card with the isapnp-tools, you can
-probably get info from the /etc/isapnp.conf file for the following values:
-
-
-snd_port - control port # for OPL3-SA chip
-snd_wss_port - WSS port # for OPL3-SA chip (0x530,0xe80,0xf40,0x604)
-snd_midi_port - port # for MPU-401 UART (0x300,0x330), -1 = disable
-snd_fm_port - FM port # for OPL3-SA chip (0x388), -1 = disable
-snd_irq - IRQ # for OPL3-SA chip (5,7,9,10)
-snd_dma1 - first DMA # for Yamaha OPL3-SA chip (,1,3)
-snd_dma1_size - max first DMA size in kB (4-64kB)
-snd_dma2 - second DMA # for Yamaha OPL3-SA chip (,1,3), -1 = disable
-snd_dma2_size - max second DMA size in kB (4-64kB)
-
-
-You would do a "modprobe snd-card-opl3sa snd_port=0xNNN snd_wss_port=0x530 snd_midi_port=-1
-snd_fm_port=0x388 snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN"
-to load this driver (without midi-support. I am still convinced that midi-support
-is the thing you need when you have synthesizers and stuff and want to
-connect them to your Linux box. Never needed Midi-support even to play
-midi-files.)
-
-
-Note that the "NN" values need to be supplied, only I do not know what
-would be reasonable values. I do not know if the dma size option is really required.
-
-
-If you happen to have an IBM Thinkpad with this chipset, then
-http://www.cirs.org/patrick/index.html might be of help.
-
-
-If you use the driver from .3.-pre4, then leave out the ``card-'' part in the name.
-
-
-
-
-!CS4231 chips
-
-
-According to the INSTALL file you need to supply the main port for this
-card. Note that with the driver for 3235/6/7/8/9 cards, the one below,
-I ended up supplying all information (except DMA-size), otherwise the driver did not work.
-So you may as well use the whole command line to insert the driver. If
-you initialized the card with the isapnp-tools, you can probably get info
-from the /etc/isapnp.conf file for the following values:
-
-
-snd_port - port # for CS4232 chip (PnP setup - 0x534)
-snd_mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
-snd_irq - IRQ # for CS4232 chip (5,7,9,11,12,15)
-snd_mpu_irq - IRQ # for MPU-401 UART (9,11,12,15)
-snd_dma1 - first DMA # for CS4232 chip (,1,3)
-snd_dma1_size - max first DMA size in kB (4-64kB)
-snd_dma2 - second DMA # for Yamaha CS4232 chip (,1,3), -1 = disable
-snd_dma2_size - max second DMA size in kB (4-64kB)
-
-
-You would do a "modprobe snd-card-cs4231 snd_port=0x534
-snd_mpu_port=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN
-snd_dma2=1 snd_dma2_size=NN" to load the driver for a "standard configured"
-soundcard. (Without midi-support, see the note at Yamaha OPL-3).
-If you used different values in /etc/isapnp.conf, then
-you would use the values here also (Note: it can be wise to use your brains
-anyway ;)
-
-
-Note that the "NN" values need to be supplied, only I do not know what
-would be reasonable values. I do not know if the dma size option is really required.
-
-
-
-
-!CS4232/CS4232A chips
-
-
-According to the INSTALL file you need to supply the main port for this
-card. Note that with the driver for 3235/6/7/8/9 cards, the one below,
-I ended up supplying all information (except DMA-size), otherwise the driver did not work.
-So you may as well use the whole command line to insert the driver. If
-you initialized the card with the isapnp-tools, you can probably get info
-from the /etc/isapnp.conf file for the following values:
-
-
-snd_port - port # for CS4232 chip (PnP setup - 0x534)
-snd_cport - control port # for CS4232 chip (PnP setup - 0x120)
-snd_mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
-snd_fm_port - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable
-snd_jport - joystick port for CS4232 chip (PnP setup - 0x200), -1 =
-disable
-snd_irq - IRQ # for CS4232 chip (5,7,9,11,12,15)
-snd_mpu_irq - IRQ # for MPU-401 UART (9,11,12,15)
-snd_dma1 - first DMA # for CS4232 chip (,1,3)
-snd_dma1_size - max first DMA size in kB (4-64kB)
-snd_dma2 - second DMA # for Yamaha CS4232 chip (,1,3), -1 = disable
-snd_dma2_size - max second DMA size in kB (4-64kB)
-
-
-You would do a "modprobe snd-card-cs4232 snd_port=0x534 snd_cport=0x120
-snd_mpu_port=-1 snd_fm_port=0x388 snd_jport=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN
-snd_dma2=1 snd_dma2_size=NN" to load the driver for a "standard configured"
-soundcard. (Without midi-support, see the note at Yamaha OPL-3, and no
-joystick support). If you used different values in /etc/isapnp.conf, then
-you would use the values here also (Note: it can be wise to use your brains
-anyway ;)
-
-
-Note that the "NN" values need to be supplied, only I do not know what
-would be reasonable values. I do not know if the dma size option is really required.
-
-!CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239 chips
-
-
-According to the INSTALL file you need to supply the main port and control
-ports for this card. Note that with a CS4237B card, I ended up supplying
-all information (except DMA-size), otherwise the driver did not work. So you may as well
-use the whole command line to insert the driver, and not only supply snd_port
-and snd_cport. If you initialized the card with the isapnp-tools, you can
-probably get info from the /etc/isapnp.conf file for the following values:
-
-
-snd_port - port # for CS4232 chip (PnP setup - 0x534)
-snd_cport - control port # for CS4232 chip (PnP setup - 0x120)
-snd_mpu_port - port # for MPU-401 UART (PnP setup - 0x300), -1 = disable
-snd_fm_port - FM port # for CS4232 chip (PnP setup - 0x388), -1 = disable
-snd_jport - joystick port for CS4232 chip (PnP setup - 0x200), -1 = disable
-snd_irq - IRQ # for CS4232 chip (5,7,9,11,12,15)
-snd_mpu_irq - IRQ # for MPU-401 UART (9,11,12,15)
-snd_dma1 - first DMA # for CS4232 chip (,1,3)
-snd_dma1_size - max first DMA size in kB (4-64kB)
-snd_dma2 - second DMA # for Yamaha CS4232 chip (,1,3), -1 = disable
-snd_dma2_size - max second DMA size in kB (4-64kB)
-
-
-You would do a "modprobe snd-card-cs4236 snd_port=0x534 snd_cport=0x120
-snd_mpu_port=-1 snd_fm_port=0x388 snd_jport=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN
-snd_dma2=1 snd_dma2_size=NN" to load the driver. (Without midi-support,
-see the note at Yamaha OPL-3, and no joystick support).
-Notes:
-
-
-*the "NN" values need to be supplied, only I do not know what
-would be reasonable values.
-*
-
-*my CS4237B works fine without explicit dma size option.
-*
-
-
-!!5.4 The kerneld approach
-
-
-
-kerneld is a daemon that inserts modules on request, and unloads them once
-they are not in use anymore. Since I have no experience with kerneld, I
-do not know if the information below is accurate. The info comes from the
-INSTALL file in the ALSA-drivers package. Excellent information about kerneld
-can be found in the kerneld-mini-HOWTO.
-
-
-Follow these steps:
-
-
-*Edit your /etc/conf.modules (see below for examples)
-*
-
-*Run 'modprobe snd-card' where card is name of your card
[[Which I find rather
-strange, since kerneld is supposed to load them? VS
]
-*
-
-Example for /etc/conf.modules for Gravis !UltraSound PnP soundcard:
-
-
-alias char-major-14 snd
-alias snd-minor-oss-0 snd-interwave
-alias snd-minor-oss-3 snd-pcm1-oss
-alias snd-minor-oss-4 snd-pcm1-oss
-alias snd-minor-oss-5 snd-pcm1-oss
-alias snd-minor-oss-12 snd-pcm1-oss
-alias snd-card-0 snd-interwave
-options snd snd_major=14 snd_cards_limit=1
-options snd-interwave snd_index=1 snd_id="guspnp" snd_port=0x220 snd_irq=5
-snd_dma1=5 snd_dma2=6
-
-
-Example if you want use more soundcards in one machine (configuration below
-is for Sound Blaster 16 and Gravis !UltraSound Classic):
-
-
-alias char-major-14 snd
-alias snd-minor-oss-0 snd-mixer
-alias snd-minor-oss-3 snd-pcm1-oss
-alias snd-minor-oss-4 snd-pcm1-oss
-alias snd-minor-oss-5 snd-pcm1-oss
-alias snd-minor-oss-12 snd-pcm1-oss
-alias snd-card-0 snd-sb16
-alias snd-card-1 snd-gusclassic
-options snd snd_major=14 snd_cards_limit=2
-options snd-sb16 snd_index=1 snd_port=0x220 snd_irq=5 snd_dma8=1 snd_dma16=5
-options snd-gusclassic snd_index=2 snd_irq=11 snd_dma1=6 snd_dma2=7
-
-
-Example if two Gravis !UltraSound Classic soundcards are present in system:
-
-
-alias char-major-14 snd
-alias snd-minor-oss-0 snd-mixer
-alias snd-minor-oss-3 snd-pcm1-oss
-alias snd-minor-oss-4 snd-pcm1-oss
-alias snd-minor-oss-5 snd-pcm1-oss
-alias snd-minor-oss-12 snd-pcm1-oss
-alias snd-card-0 snd-gusclassic
-alias snd-card-1 snd-gusclassic
-options snd snd_major=14 snd_cards_limit=2
-options snd-gusclassic snd_index=1,2 snd_port=0x220,0x260 snd_irq=5,11
-snd_dma1=5,6 snd_dma2=7,3
-
-
-
-
-
-
-!! 5.5 Backwards compatibility
-
-
-
-If you want to preserve OSS/Free or OSS/Linux compatibility, you need to
-insert one more driver: the snd-pcm1-oss driver for OSS-compatibility.
-Issue a
-
-
-modprobe snd-pcm1-oss
-
-
-This will give you /dev/audio and /dev/dsp-support, just as the OSS/Free
-(kernel) drivers and OSS/Linux (the $25 ones) do. Note that this is only
-an emulation.
-
-
-
-----
-
-!!6. Testing and using
-
-
-Now you should test if the sound driver really is available, then try to
-use it.
-
-!!6.1 The /proc filesystem
-
-
-
-You can find a lot of useful information about your system in the /proc subdirectory. /proc is
-a "virtual" filesystem, meaning that it does not exist in real life, but merely is a mapping to
-various processes and tasks in your computer. In order for /proc to work, you need to have support
-for it compiled into your kernel. Most linux distributions have this as a default, but if you
-compiled a kernel and left /proc out obviously there won't be anything in /proc.
-
-
-/proc/modules gives information about loaded modules. Once the ALSA sound
-drivers are loaded, if you type cat /proc/modules you should see
-something like:
-
-
-snd-pcm1-oss 4
-snd-sb16 1 1
-snd-sb-dsp 4 [[snd-sb16]
-snd-pcm1 4 [[snd-pcm1-oss snd-sb-dsp]
-snd-pcm 3 [[snd-pcm1-oss snd-sb16 snd-sb-dsp snd-pcm1]
-snd-mixer 3 [[snd-pcm1-oss snd-sb16 snd-sb-dsp] 1
-snd-mpu401-uart 1 [[snd-sb16]
-snd-midi 4 [[snd-sb16 snd-sb-dsp snd-mpu401-uart]
-snd-opl3 1 [[snd-sb16]
-snd-synth 1 [[snd-sb16 snd-opl3]
-snd-timer 1 [[snd-opl3]
-snd 8 [[snd-pcm1-oss snd-sb16 snd-sb-dsp snd-pcm1 snd-pcm snd-mixer snd-mpu401-uart snd-midi snd-opl3 snd-synth snd-timer]
-
-
-If something went wrong during the installation of the driver, you will
-still see a couple of "snd" devices, but there won't be sound support.
-
-
-For example (Note: you should never issue this command as follows, the cs4236 driver needs options):
-
-
-win3:~# modprobe snd-card-cs4236
-/lib/modules/2..35/misc/snd-card-cs4236.o: init_module: Device or resource busy
-snd-mixer: Device or resource busy
-win3:~# cat /proc/modules
-snd-cs4236 2
-snd-cs4231 3 [[snd-cs4236]
-snd-timer 1 [[snd-cs4231]
-snd-pcm1 4 [[snd-cs4236 snd-cs4231]
-snd-mixer 3 [[snd-cs4236 snd-cs4231]
-snd-pcm 3 [[snd-cs4236 snd-cs4231 snd-pcm1]
-snd-mpu401-uart 1
-snd-midi 4 [[snd-mpu401-uart]
-snd-opl3 1
-snd-synth 1 [[snd-opl3]
-snd-timer 1 [[snd-cs4231 snd-opl3]
-snd 8 [[snd-cs4231 snd-timer snd-pcm1 snd-mixer snd-pcm]
-
-
-You can check the existence of a soundcard by looking in /proc/asound/cards.
-For example:
-
-
-bash$ cat /proc/asound/cards
-0 [[card1 : SB16 - Sound Blaster 16
-Sound Blaster 16 at 0x220, irq 5, dma 1&5
-
-
-In the previous example (where I forgot the options) the output would have
-been:
-
-
-win3:~# cat /proc/asound/cards
---- no soundcards ---
-
-
-A working CS4236 card would produce
-
-
-0 [[card1 ]: CS4236 - CS4237B
-CS4237B at 0x534, irq 7, dma 1&
-
-
-If you checked and doublechecked your settings and still see no sound card,
-take a look at the troubleshooting section.
-
-
-The /proc/asound/ virtual directory shows lots of other information
-about the driver. Please note that /proc/asound/ will only exist after you inserted
-the first ALSA module. If there is no /proc/asound, it simply means that the "snd"
-module was not loaded properly. You can find installed cards in /proc/asound/cards, then
-find information about card0 in /proc/asound/, /proc/asound/1 for card1
-etcetera.
-
-
-If cat /proc/asound/card1/pcm0 shows something like
-
-
-ES1370 DAC2/ADC
-Playback isn't active.
-Record isn't active.
-
-
-this means that your driver is ready to go, but
-is not doing anything right now. (So everything went well).
-
-
-For users of a 2..x kernel there is a third method to find information about the sound devices, namely if you inserted
-the OSS compatible driver there is a /dev/sndstat device. The ALSA drivers kindly request
-that you
-not to rely on this information as it is only there for compatibility with the OSS drivers
-and better information can easily be obtained from /proc/asound/. In kernel 2.2.x ALSA uses
-the kernel soundcore and therefor cannot emulate /dev/sndstat, since it would interfere
-with the OSS drivers.
-
-
-
-
-!!6.2 The mixer
-
-
-
-Once the drivers for your sound card have been installed and your /proc
-filesystem tells you so, you can try to make a real sound. To do this, you
-need to set the mixer volumes to a reasonable value. You need the ``amixer''
-from the alsa-utils package for this. First of all,
-install the utility package, or at least put the "amixer" command in some
-reasonable place (like /usr/local/bin).
-
-
-Version .3.2 and
-later have an interface that differs from the OSS drivers. If you type just ``amixer''
-you will see the mixer elements and their value. One of these elements
-could be ``Master volume'' for example, and could look like:
-
-
-
-
-
-Group 'Master',
-Capabilities: volume
-Channels: Front-Left Front-Right
-Limits: min = , max = 31
-Front-Left: 31 [[100%] [[on] [[---]
-Front-Right: 26 [[84%] [[on] [[---]
-
-
-
-
-Unfortunately, I do not know how to set left and right volumes independently. With amixer,
-you can change volumes with the ``amixer set'' command. For example, to change the Master
-volume, you would issue a
-
-
-
-
-
-amixer set Master 15
-
-
-
-
-Please note that the names of the elements can be different for different types of sound cards. Also note
-that amixer is case dependent, so ``amixer set masteR 10'' will not work.
-For more information, please look in the amixer man page.
-
-
-
-
-
-If you have a .3.-pre4 ALSA, then amixer works just like normal mixer programs.
-You can look at the mixer settings
-by typing ``amixer''. This command lists the ``mixer settings'', or as you would
-normally call it, the volume settings of the various parts of the soundcard.
-The output from amixer can greatly differ from card
-to card. My Soundblaster 16 shows:
-
-
-Master 0 % (-14.00dB) : 0 % (-14.00dB)
-Bass 0 % (-14.00dB) : 0 % (-14.00dB)
-Treble 0 % (-14.00dB) : 0 % (-14.00dB)
-Synth 0 % (-62.00dB) : 0 % (-62.00dB)
-PCM 0 % (-62.00dB) : 0 % (-62.00dB)
-Line-In 0 % (-62.00dB) : 0 % (-62.00dB) Mute
-MIC 0 % (-62.00dB) : 0 % (-62.00dB) Mute
-CD 0 % (-62.00dB) : 0 % (-62.00dB) Mute
-In-Gain 0 % (-18.00dB) : 0 % (-18.00dB)
-Out-Gain 0 % (-18.00dB) : 0 % (-18.00dB)
-PC Speaker 0 % (-18.00dB) : 0 % (-18.00dB)
-
-
-
-
-If you only get a message like ``amixer: Specify command...'', then you are using
-the ALSA 3.2 utilities. I suggest you to upgrade to .4.1e or later, or to go back to
-.3.-pre4.
-
-
-
-
-!Mixer settings for playing
-
-
-You have noticed the "Mute" entry for some devices. This means that this particular
-device will be zeroed out, whatever volume setting you use. Some cards
-(the CS4237B in the example) even mute their master channel.
-So, for the CS4237B, I would have to type
-
-
-amixer set "Master d" unmute
-
-
-to even be able to produce any sound at all. The Soundblaster does not
-have muted output, but
-
-
-amixer set Master 100 unmute
-
-
-would set the
-volume to 100% - and unmute it if it would have been muted.
-You can use a number, a word like
-"mute" or "unmute", or both. Type
-
-
-amixer set "Master d" 100; amixer set PCM 100 unmute
-
-
-to set the CS4237B card to maximum master volume and unmute
-PCM volume and set it to maximum.
-
-
-If you use an older version of amixer, you need to leave out the ``set'' part of the command, so you would
-just type
-
-
-amixer "master d" 100
-
-
-
-
-!Mixer parts
-
-
-The various mixer parts may confuse you if you have no knowledge of digital sound
-production. The sound-HOWTO may help a bit, but a very short introduction is
here.
-
-
-You will probably only need few mixer elements: one of them is the ``CD'' setting
-(this is analog sound of your CD player, most CD players are connected
-with a 3 or 4 wire red/white/black cable).
-
-
-The ``PCM'' setting is used for most applications. Programs like
-mpg123, xmms, speakfreely, realplayer and most others use the PCM channel.
-
-
-``MIC'' stands for
-microphone, ``line-in'' is an (optional) extra input at the back of your sound card.
-
-
-The various ``gain'' parts offer extra amplification for various uses and are pretty
-self-explanatory. (Like: record-gain is extra amplification for the recording channel, which
-can be useful if you use a microphone).
-
-
-
-
-!Mixer settings for recording
-
-
-You would set the CD channel to record by typing
-
-
-amixer set CD capture
-
-
-and stop the recording setting again by typing
-
-
-amixer set CD nocapture.
-
-
-Note that older amixer programs use ``amixer CD rec'' and ``amixer CD norec'' for this.
-
-
-If you would like to record something from the microphone, you would probably
-use
-
-
-amixer set "Input Gain" 100; amixer set Mic 100 capture mute.
-
-
-(Using the
-microphone input unmuted will produce loud high-pitched sound if your mic
-picks up its own signal from the speakers again). Most microphones have
-a ``gain'' setting to boost the microphone volume; you are most likely going
-to need it to pick up any sound from the microphone at all.
-
-
-Again, older amixer programs use ``amixer "input gain" 100; amixer mic 100 rec mute''.
-
-
-
-
-!Other mixer settings
-
-
-Unfortunately I have not been able to change the volume of the "3d
-center" and "3d space" settings with amixer .3.-pre4. I haven't tried yet with .4.1e (this particular machine
-is still running 2..38). If anyone succeeds please
-let me know. I can use alsamixer for this job, but alsamixer was not ported to the .4.1e version yet.
-
-
-The ALSA FAQ says that it is possible to restore mixer settings with
-cat <file> > /proc/asound/#/mixerC0D0, where <file> was obtained from
-/proc/asound/#/mixerC0D0. I have not been able to reproduce this as my system
-complains about non-existing devices. Then there is the ``alsactl'' program, which I don't use. I invite you (yes, you!)
-to write this section.
-
-
-
-
-!!6.3 The /dev/snd/ devices
-
-
-
-The alsa drivers have native sound-devices in the /dev/snd/ directory.
-If you have one card you might see the following devices:
-
-
-/dev/snd/pcmC0D0 - the raw audio device for the card
-/dev/snd/mixerC0D0 - the mixer for card
-/dev/snd/controlC0D0 - the control device for card
-
-
-The first number means the number of the soundcard, the second number (if
-any) is the number of the device. A sound card with two PCM devices would
-have a pcmC0D0 and pcmC0D1 device.
-Please note: the ALSA devices have changed between the previous version. Older
-ALSA drivers use /dev/snd/pcm00 (first number is the card, second number is the device).
-If this HOWTO uses the older notation, please drop me a line so I can correct it.
-
-
-Now you are ready to put any soundfile you want into the PCM device
-of the first card. So try to cat any textfile (any file) to /dev/snd/pcmC0D0,
-like this: cat <filename> > /dev/snd/pcmC0D0. The filename can
-be any file, as long as it has some length. If you have a soundfile lying
-around somewhere, you could try that. You could also get the file at
-http://www.ldp.org/sounds/english.au
-this is Linus Torvalds saying how to pronounce Linux.
-
-
-The default setting of your sound device is 8000 Hz, 8 bit. That means that
-the "english.au" file mentioned above will produce speech,
-other test files will probably just produce noise. If you do not hear anything,
-check your speakers, try to run "amixer" again or consult a doctor.
-(Later on you can easily use the full 48 KHz, 16 bit features of your sound card, by using
-your favourite sound player like sox or mpg123).
-
-
-If you loaded the ``snd-pcm1-oss'' module, you can also use the OSS-compatibility
-to access your sound card. The following mappings are made:
-
-
-/dev/snd/pcmC0D0 -> /dev/audio0 (/dev/audio) -> minor 4
-/dev/snd/pcmC0D0 -> /dev/dsp0 (/dev/dsp) -> minor 3
-/dev/snd/pcmC0D1 -> /dev/adsp0 (/dev/adsp) -> minor 12
-/dev/snd/pcmC1D0 -> /dev/audio1 -> minor 4+16 = 20
-/dev/snd/pcmC1D0 -> /dev/dsp1 -> minor 3+16 = 19
-/dev/snd/pcmC1D1 -> /dev/adsp1 -> minor 12+16 = 28
-/dev/snd/pcmC2D0 -> /dev/audio2 -> minor 4+32 = 36
-/dev/snd/pcmC2D0 -> /dev/dsp2 -> minor 3+32 = 35
-/dev/snd/pcmC2D1 -> /dev/adsp2 -> minor 12+32 = 44
-
-
-
-
-You probaly want to use the ``snd-mixer-oss'' module as wel, so you can use the backwards compatible mixer.
-
-
-
-
-!!6.4 Additional information
-
-
-
-The INSTALL file in the ALSA driver directory mentions some tricks to tell
-the driver which settings to use. If you need these commands it will depend on the application you
-use to play sound. Regular sound playing applications, like mpg123, sox
-(mostly called with the ``play'' command), or X11 applications like !RealPlayer will probably
-do fine without these. I never used these anyway.
-
-!/proc/asound/#/pcm#
-
-
-
-
-
-
-
-
-"Playback erase" - erase all additional informations about OSS applications
-"Playback <app_name> <fragments> <fragment_size> [[<options>]"
-"Record erase" - erase all additional informations about OSS applications
-"Record <app_name> <fragments> <fragment_size> [[<options>]"
-
-
-
-
-<app_name> - name of application with (highter priority) or without path
-
-
-<fragments> - number of fragments or zero if auto
-
-
-<fragment_size> - size of fragment in bytes or zero if auto
-
-
-<options> - optional parameters
-
-
-WR_ONLY - if application tries open pcm device with O_RDWR driver rewrites this to O_WRONLY (playback) - good for Quake etc...
-
-
-Examples:
-
-
-echo "Playback x11amp 128 16384" > /proc/asound//pcm0o
-echo "Playback squake 0 0 WR_ONLY" > /proc/asound//pcm0o
-
-
-
-!/proc/asound/#card#/sb16
-
-
-
-
-
-
-
-
-"Playback 8" -> driver will use always 8-bit DMA channel for playback.
-"Playback 16" -> driver will use always 16-bit DMA channel for playback.
-"Playback auto" (default) -> driver will use auto mode (first opened direction will use 16-bit DMA channel).
-"Record 8" -> driver will use always 8-bit DMA channel for record.
-"Record 16" -> driver will use always 16-bit DMA channel for record.
-"Record auto" (default) -> driver will use auto mode (first opened direction will use 16-bit DMA channel).
-
-
-
-
-Example: echo "Record 16" > /proc/asound//sb16
-
-
-For further reference, please consult the INSTALL file.
-----
-
-!!7. Tips and Troubleshooting
-
-
-Please take a look at the FAQ file in the sound driver directory. This section is still under construction.
-
-!!7.1 Compiling the driver
-
-
-
-
-
-!Linux kernel sourcetree
-
-
-If your ALSA drivers do not compile correctly and tell you things about ``version.h'' or other
-header-files that cannot be found, this can mean that you do not have the kernel header files.
-Take a look at the kernel-HOWTO, unpack a recent kernel in /usr/src and issue a make config.
-
-
-
-
-!Cannot create executables
-
-
-The utils also contain code written in c++. Most of us have a c++ compiler
-either from gcc or egcs but make sure you also have the libstdc++-devel
-package installed, else when you run the configure script for the utils,
-your system will stump you with an error message saying your ``c++ compiler
-cannot create executables''.
-
-
-
-
-!!7.2 Loading the driver
-
-
-
-Please check the following items.
-
-
-
-
-!Sound devices
-
-
-ALSA uses special devices in the /dev-tree. Make sure you have run the ./snddevices script in the
-alsa-drivers source directory.
-
-
-
-
-!Sound card compatibility
-
-
-Are you 100% sure that your sound card IS supported ? Do check it again.
-Sometimes an X123 is not exactly an X123b and you might be wasting time.
-On the other hand, even a supported card can give you troubles - it took me two hours to
-figure out the installation of a CS4237B which was, after all, just a fine example
-of RTFM.
-
-
-
-
-!``Device busy'' or ``unresolved symbols''
-
-
-You might have a 2..x kernel with sound support compiled in, or the OSS/Lite (kernel) sound driver
-could be loaded (check with cat /proc/modules). Remove the driver or recompile
-the kernel (have a look at the Kernel-HOWTO).
-
-
-The sound module in the 2.0 series kernel is called ``sound.o'' and should __not__ be active.
-(The ALSA driver ``snd.o'' is OK, though).
-
-
-If you have a 2.2.x series kernel without sound driver compiled in, the ALSA drivers will not work, too.
-
-
-
-
-!2.0 kernels
-
-
-I know it this is confusing, so let me try to explain it one more time. If you have a
-__2..x series kernel__ (the command ``uname -a'' tells you something like
-``Linux penguin 2..35 #6 Wed Sep 23 10:19:16 CEST 1998 i686 unknown'') then
-you need to __leave out__ sound drivers in the kernel. __ALSA .4.x and later do not work with the
-2.0 series kernel__
-
-
-
-
-!2.2 kernels
-
-
-If you have a __2.2.x series kernel__ you do __need the sound drivers__. A 2.2 series kernel should
-be compiled __with sound support, but without any sound card driver__. So you select sound support but
-make sure that no specific sound card driver will be compiled.
-
-
-
-
-!References to other drivers
-
-
-Another reason why the driver complains that the device is busy could be that the file /etc/conf.modules still
-has references to the soundcard drivers. You should delete these and leave only the references to the ALSA-driver.
-(If there are other non-sound-related drivers there, then you can probably leave these as-is).
-
-
-
-
-!Unresolved symbols revisited
-
-
-Another source of ``unresolved symbols'' messages could be a new kernel with older drivers. Please
-recompile the ALSA drivers after you recompile a new kernel. This will make sure that the drivers
-match your new kernel.
-
-
-
-
-!Check the PnP setup
-
-
-Are you sure that your card is active? Take another look at the PnP-HOWTO and check if
-you activated your sound card correctly.
-
-
-
-
-!Are your parameters right ?
-
-
-Check, doublecheck your sound card parameters. Please note: 534 is not 543,
-nor is 0x534 the same as 534.
-
-
-Also, some sound cards must be loaded by a different name than might be expected. Take a break,
-a beer or whatever, and look again at your ``modprobe'' command. For example the Crystal 4232
-driver should be inserted by modprobe snd-card-cs4232, not ``snd-cs4231'', and the !SoundBlaster
-PCI 64 should be loaded with ``snd-card-audiopci'', not snd-es1370. (It's all in the docs, and even
-though I wrote the HOWTO, I once spent an evening trying to persuade snd-cs4231
-to make sound).
-
-
-
-
-!!7.3 Driver loaded... but no (or hardly any) sound
-
-
-
-
-
-
-
-
-!Unmuting
-
-
-The ALSA drivers can use the ``muting'' facilities that most soundcards have. If you
-loaded the sound drivers and everything is fine but you get nothing but silence, then you probably
-forgot to unmute your card. You need ``amixer'' or ``alsamixer'' for this, both from the ALSA-util package.
-Just typing
-
-
-amixer set -c 1 Master 70 unmute
-amixer set -c 1 PCM 70 unmute
-amixer set -c 1 CD 70 unmute
-
-
-should do for most applications. Please note that for the older amixer command you need to leave out the
-``set'' in the command line.
-
-
-
-
-!Gain
-
-
-Most sound cards have a separate mixer part for extra input or output boosting. This entry is most likely called
-the ``gain'', ``in-gain'' for input and ``out-gain'' for output. Setting this gain to an appropriate level will
-greatly help you getting the maximum volume out of your speakers (think about your parents/neighbours/ears
-though).
-So a command like
-
-
-amixer set out-gain 100 unmute
-
-
-will probably help.
-
-
-
-
-!OSS/Linux compatibility
-
-
-If this is the first time you use the ALSA drivers and you used the built-in sound drivers before, you
-probably want to have backwards compatible sound (i.e. use the /dev/pcmX devices). You need to load the
-``OSS compatibility driver'' for this. Do a modprobe snd-pcm1-oss && modprobe snd-mixer-oss. (See the end of the
-section about loading the driver). Please note: snd-pcm1-oss is not equal to snd-pcm1, you __need__
-snd-pcm1-oss for old-fashioned sound support and snd-mixer-oss for (you guessed it) the mixer.
-
-
-
-
-!Cannot open mixer
-
-
-If you have tried to install a couple of different ALSA versions, then sometimes the mixer
-cannot be opened anymore. This happens if you have tried .3.2 and want to downgrade to .3.-pre4 (IIRC). You should
-delete all libasound files and links from /usr/lib and then recompile libraries and utils:
-
-
-rm /usr/lib/libasound.*
-
-
-Just to be safe, remove all ALSA sound drivers afterwards, then recompile and install and reload the drivers.
-
-
-
-
-!!7.4 General suggestions
-
-
-
-
-
-
-
-
-!Try using ``insmod''
-
-
-It can always be useful to start with "insmod" instead of kerneld. Maybe you
-actually see the error on screen.
-
-
-
-
-!Read the INSTALL file.
-
-
-A lot of information can be found in the INSTALL file in the drivers directory. If your driver
-won't work check if there is additional information available.
-
-
-
-
-!Debug messages
-
-
-As a last resort, you can rebuild the driver and tell it to send debug information
-to /var/log/messages. Go to the driver-directory with cd /usr/src/alsa-driver-....
-and type:
-
-
-
-
-
-./configure --with-debug=detect; make clean; make
-
-
-
-
-Remove the driver (as far as it is active, see below for a general remove statement).
-Then use the "modprobe" statement you used before to insert the newly compiled driver.
-Look in /var/log/messages if there are any messages.
-
-
-
-
-!If all else fails...
-
-
-If these messages doesn't help you, send a message to the ALSA users mailing list,
-alsa-user@alsa-project.org.
-
-
-Include the following information:
-
-
-*soundcard name + chip names present on your soundcard
-*
-
-*relevant sections in your isapnp.conf if you have ISA PnP soundcard
-*
-
-*your conf.modules or line which you activate ALSA driver
-*
-
-*all messages from /var/log/messages which should be relevant to the
-ALSA driver
-*
-
-
-
-
-
-!!7.5 Bug reports
-
-
-
-If you found a bug, the ALSA developers would like to know the following things
-(at minimum)
-
-
-# driver + kernel version: 'cat /proc/asound/version'
-#
-
-#soundcard info
-
-
-#*soundcard name provided by manufacture
-#*
-
-#*list of chips which soundcard have onboard
-#*
-
-#*contents of 'cat /proc/asound/cards'
-#*
-
-
-#
-
-#all messages from /var/log/messages which should be relevant to ALSA driver
-#
-
-#problem description
-#
-
-
-
-
-
-!!7.6 Tip: playing CD's
-
-
-
-If you use kmod/kerneld and the ALSA drivers to play CD's, then kmod/kerneld probably do not
-load the drivers as expected. This is due to the fact that a command line CD player only tells
-the CD player to start playing without using any of the devices that tell kmod/kerneld that
-there is sound to occur. Using modprobe may be your only solution to this problem.
-
-
-
-
-!!7.7 Tip: installing the MIDI serial driver
-
-
-
-Normally, the IO port of the serial device is owned by the standard
-serial device driver. So before you can do ``modprobe snd-serial'' we have to tell
-the driver to release the serial device.
-
-
-Here is the procedure.
-
-
-
-
-
-setserial /dev/ttyS0 uart none
-modprobe snd-serial
-
-
-
-
-(Replace /dev/ttyS0 with the appropriate /dev/ttySx device if your MIDI device uses a different serial device).
-
-
-
-
-!!7.8 Tip: new kernel? New modules!
-
-
-
-After you upgrade your kernel, you probably need to recompile the ALSA drivers. If they are still
-in the original /usr/src directory, then please do not forget to issue a make clean before
-you do the ./configure, make, make install thing.
-
-
-Oh, and then there is this anomaly in kernel numbering: a ``2.2.0ac1'' kernel that is ``not a number''
-- says the configure script. I think this was resolved in newer scripts, otherwise you should maybe
-change the kernel version in the source.
-
-
-
-
-!!7.9 Tip: KDE and ALSA drivers
-
-
-
-Suppose you have KDE up and running but you cannot get system sounds to work,
-like for opening windows, changing desktops, etc. Sound works in general.
-If your cd player and mp3 player and mixer all do work, then it's probably
-just "kwmsound" that's lacking.
-
-
-So: make sure "kwmsound" is in your startscript ($KDEDIR/bin/startkde)
-
-
-
-
-!!7.10 Tip: use the ALSA devices
-
-
-
-If you had sound support in your Linux before, then your applications will probably all point
-to /dev/pcm0, /dev/audio and /dev/mixer. This is fine, if you use OSS compatibility with the
-snd-pcm1-oss module. It might be better, however, to use the real ALSA devices, those found
-in /dev/snd/.
-
-
-
-
-!!7.11 Tip: removing all modules
-
-
-
-Removing 10+ modules one by one is not the way to go. Luckily,
-all modules start with the "snd-" prefix, so a little command line programming will do.
-You can easily remove ALSA sound by issuing a command like:
-
-
-
-
-
-cat /proc/modules|gawk '/^snd-/{print $1}'|xargs -i rmmod {}
-
-
-
-
-Juergen Kahrs wrote: ``I have a script that also removes soundcore and soundlow and sound if
-present and if they are not in use. This script processes /proc/modules three times so
-there should not be too many modules left after processing''. His solution is
-
-
-
-
-
-awk '/^snd/||/^sound/&&($3==){system("rmmod " $1)}' /proc/modules /proc/modules /proc/modules
-
-
-
-
-Please note: if some module is dependent on another module you cannot just remove the "higher" one.
-This means that you might need to issue a second removal statement. (I never encountered this
-situation though, it seems that you can remove the ALSA modules in the order they appear in /proc/modules).
-
-
-
-----
+Describe
[HowToAlsasound
] here.