linuxnewbie.org.gif
Tuesday, 12-Dec-2000 10:32:09 EST
Newbized Help Files articles discussion board bookshelf sensei's log advertising info
Installing ALSA for the VT82C686 integrated sound
Written By: Chris High
based on the NHF by Todd Davis for Yamaha

This tutorial is specifically tailored towards installing ASLA and getting it configured for the VT82C686 [Apollo Super AC97/Audio] aka Southbridge integrated sound, with an effort to include information on how to locate the particulars for other sound systems. This tutorial is meant to supplement, not replace, ALSA's own documentation files.

ASLA stands for Advanced Linux Sound Architecture, and was developed as a method of modularizing and standardizing sound for Linux. If your Linux distribution already supports your sound card, then you don't need ALSA. Be aware that Via Technologies does release drivers for this sound device for Redhat and Caldera, see the end of the tutorial for a reference on where to pick them up at.

This tutorial assumes several things:
* You have Linux installed and working
* You are using an X based desktop, such as KDE or Gnome
* You are logged in as Root, or have used 'su'
* You know what a terminal window is, and can enter commands
* You have been able to acquire the ALSA 0.5.8a (or newer) source files, and that they reside in your home directory; ALSA web site is: http://www.alsa-project.org/ 
* You have no soundcard card and are using the integrated sound chips on your mb, and those chips are the Southbridge set.

There are 3 packages available for ALSA:
* alsa-driver-0.5.9c.tar.bz2 
* alsa-lib-0.5.9.tar.bz2
* alsa-utils-0.5.9b.tar.bz2

You will need at least 5.9 to pickup the VT82C686

The only package that we need for sound, and the only one that we be covered here, is the driver package. It is assumed that this file is in your home directory, if not you will need to 'cd' to wherever it is located. Let's begin.

Start by opening a terminal window. Type:

ls

This should give you a listing of all the files and folders in your home directory. You should see the asla-driver-0.5.8a.tar.gz file in this list. If you have a newer version of this file, then note down that name, as you will be using it in place of the 0.5.8 references made here. Type:

bzip2 -d alsa-driver-0.5.9c.tar.bz2

This will uncompress the zipped up file, leaving you with a file called asla-driver-0.5.9c.tar. Now we can extract those files by typing:

tar xvf alsa-driver-0.5.9c.tar

At this point, a directory called alsa-driver-0.5.9c has been created, and the source code has been placed in the directory. Switch to the new directory by typing:

cd alsa-driver-0.5.9c

You may wish to type an ls command to make sure that there are files in this directory. I recommend that you read any README and INSTALL files to make sure there is no new information necessary to install ALSA.

ALSA will configure the source code for your system automatically by typing:

./configure

Note that the "./" is part of the command and is necessary. The 'configure' script has several options that can assist you in customizing the source to your system and sound card. For the VT82C686, you will not need them. Those of you with an older, ISAPNP sound card may need to run configure with this switch (./configure --with--isapnp=yes). Read the included docs for other options available.

Once configure is complete, we need to compile the source to produce the binary files. This is done by typing:

make

The compile process can take a while, depending on the speed of your computer. It is normal for small 'warnings' to come up during the compile process, which should not stop the compile, and should not alarm you. If the process encounters a fatal error, the compile will halt and alert you. At that point, you will need determine the problem and try to resolve it before recompiling.

Assuming the process was successful, type:

make install

to install the ALSA binaries. We are now halfway done (roughly). Incidentally, if you have downloaded the ALSA lib and utils packages, you may follow the same basic above procedure to install those packages as well, but they are not needed for sound.

ALSA has provided a script file that will create the new sound devices for us, and it will put them in the /dev directory. To run this script, type:

./snddevices

This is the part of the install that causes the most confusion for people, and the documentation provided by ALSA is sparse and confusing. It is necessary to modify Modprobe's configuration file with the necessary ALSA information. This file resides under the /etc directory, and depending on what version of Modprobe you have installed, it may be called either 'conf.modules', or 'modules.conf'. For newbies, the easiest way to locate and edit this file is to use the graphical file manager in KDE or Gnome (or whatever) to locate this file, and click on it to open up a text editor. There may already be a few lines of text in there, which we don't want to disturb.

Let me take a moment here to recommend that you make a backup copy of this file before proceeding. A backup 'should' automatically be created later, but just to be safe, do it by hand. Name it conf.modules.old or something similar to that, and put it in a safe place, just in case. Always backup any file you edit by hand.

If you are using something other than VT82C686, you have have to figure out what ALSA call your card, and what, if any snd_id you will need for the interwave entry.  Many sound cards have listed in the ALSA doc what you should use but many of the newer "cards" dont. If not, try the following:

Where $Install is where you've placed your ALSA install (perhaps /usr/local/alsa), 
cd $Install/alsa-driver-0.5.9c/modules
ls

These are the possible values you can replace snd-card-via686a with.

To determine if your card requires the extra snd_id parm:
cd $Install/alsa-driver-0.5.9c/cards
grep Card: YOURDRIVERFILE.c

This should list the possible id's your card might take; for the via686a this returns nothing, this means you don't have to specify that parameter. You might also find that grep "Card identification stuff" *.c in this dir will help you figure out which driver works for your card. The trick is that some of the module names leave off "card", so you still have to go to the module dir to figure out which name you should specify in the configuration file.

Once you have the conf.modules file open in your text editor, move the text cursor to the line after any other existing entries, and add these lines to the file:

# ALSA native device support
alias char-major-116 snd
options snd snd_major=116 snd_cards_limit=1
alias snd-card-0 snd-card-via686a
#next line might need to have snd_id, if so...
options snd-card-interwave snd_index=0 # see below

# OSS/Free setup
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
#----------> end add to /etc/conf.modules

Some cards require something more like this on the interwave.
options snd-card-interwave snd_index=0 snd_id="YMF724"

#I also found I had to remove:
alias sound-slot-0 sb
options sound dmabuf=1
alias midi opl3
options opl3 io=0x388
options sb io=0x240 irq=5 dma=1
#---------> end remove /etc/conf.modules

Save this file under the same name. If your first guess at snd_id and snd_card dont work, keep trying variations.

Almost done now. Switch back to the console, and enter the following command:

modprobe snd-card-via686a

For all intents and purposes, your ALSA driver is now setup and ready to go, but there are a few things you should be aware of. First of all, reboot. It's a pain, but I like to take the side of caution and make sure that everything loads and works as it should.

NOTE: This is important. When the driver is first installed, it sets all the mixer channels to "Mute". You must use a mixer app of some sort to turn the volume up on the various sound channels. I use KDE, and the mixer app built into the status bar works just fine. If you downloaded the ALSA utils also, there is a mixer app in there that you can use as well.

Finally, you may want or need to setup "aslasound" as a startup service. It is beyond the scope of this document to discuss each distro's method of doing this. However, most distros now come with utilities to help you setup your startup services using a GUI of some sort. If not, you may need to edit your /etc/rc.local file by hand.

Have fun with ALSA. So far, it has worked 100% with my KDE sounds, playing CD's and starcraft had sound with no problems.

Some non-ALSA help for Southbridge:
For folks running redhat or caldera, you can pickup drivers at VIA Technologies's web site,
http://www.via.com.tw/drivers/index.htm
Look in the section that discusses enabling the VT82C686A Southbridge Audio Drivers

Incidentally, the MB I had which has this chipset is Biostar's M7VKB




Would you like to have your article published online? Send them in to newfiles@linuxnewbie.org
[-NHF Control Panel-]
The Linux Channel at internet.com
Linux Planet
Linux Today
Linux Central
Linuxnewbie.org
PHPBuilder
Just Linux
Linux Programming
Linux Start
BSD Today
Apache Today
Enterprise Linux Today
BSD Central
All Linux Devices
SITE DESCRIPTIONS
[-What's New-]
Order a Linuxnewbie T-Shirt
Easy Webcam NHF
Directory Navigation NHF
Installing Snort 1.6.3 on SuSE 6.x-7.x
Customizing vim
The SysVinit NHF
Installing ALSA for the VT82C686 integrated sound
USB Creative Video Blaster II for Linux
Configuring the Intellimouse Explorer in XFree86 V4+
The beginnings of a distro NHF
Getting Past Carnivore?
Getting and Installing PGP
Getting your ATI Rage 128 Working
How to create a multiple partition system
Using Fdisk
Introduction to Programming in C/C++ with Vim
Adding a Hard drive in Linux -- In five steps
Installing ALSA for the Yamaha DS-XG Sound Card
Getting your Diamond Rio Mp3 Player to work with Linux
Bash Programming Cheat Sheet
Installing NVIDIA Drivers for Mandrake
Setting up Portsentry
Hard Drive Speed Tweak for Linux
Sensei's Log
Chat room
Join: Linuxnewbie.org SETI Black Belts!
Send in your news
Click the image to add Linuxnewbie.org to your MyNetscape Page
[-LNO Newsletter-]

[-Archive-]
The beginnings of a distro NHF
Connecting to the Internet using KPPP
Getting your SBLive to work
Unreal Tournament NHF
LWE Day 2 Pictures
LWE Day 1 Pictures
The LNO FAQ!
WoW (Words of Wisdom)
Other sites news
What is Linux?
What is Linux? part deux (ups & downs)
Search newsgroups
The List
ALS Report
Feedback Form
jobs.linuxtoday.com.gif
Match: Format: Sort by:
Search:
[-Quick Links-]

Copyright 2000 internet.com Corp. All Rights Reserved. Legal Notices Privacy Policy

internet.com.gif