I've attached my first draft attempt at describing how I set up alsa on
my debian testing box for my guillemot maxisound fortissimo using the
ymfpci driver. Here's my todo list which includes some questions I'm
hoping some of you can answer.


TODO: asoundrc section. Is this needed for this card? Where can I get
      information on how to set this up for my card?

      describe all controls and parameters available for this card and
what 
      they do. Is this information in the driver source? I know there is
an
      alsa ftp site with manufacturer docs on various cards. Where is
that?

      recording/playing section. What are the line and mic devices for?
      They don't seem to be needed for recording. I just used the
capture
      and ADC devices. Is that appropriate? Is there something I
      missed in my configuration that would make these work?

      Incorporate suggestions from mailing list members.

      proof read.
      
      HTML markup for Dave and Patrick's quick toots pages.

      enter into the wiki so others can fill in the gaps and make it
      applicable to other ymfpci supported cards. Mark Constable has
      offered to do this. Mark, I suppose it can't hurt to put this
      up on the wiki as is, seeing as how wiki's are all dynamic anyway.



Thanks in advance for any suggestions or answers.

-Eric Rz.
Installing alsa-0.9.0beta12 
Debian Testing with Linux 2.4.x
Guillemot Maxisound Fortissimo (ymfpci)
HOWDID

Eric Rzewnicki
First Draft 2002-03-10

TODO: asoundrc section. Is this needed for this card? Where can I get
      information on how to set this up for my card?

      recording/playing section. What are the line and mic devices for?
      They don't seem to be needed for recording. I just used the capture
      and ADC devices. Is that appropriate? Is there something I
      missed in my configuration that would make these work?

      Incorporate suggestions from mailing list members.

      HTML markup for Dave and Patrick's quick toots pages.

      enter into the wiki so others can fill in the gaps and make it
      applicable to other ymfpci supported cards. Mark Constable has 
      offered to do this. Mark, I suppose it can't hurt to put this
      up on the wiki as is, seeing as how wiki's are all dynamic anyway.


DOWNLOAD:

alsa-driver-0.9.0beta12.tar.bz2
alsa-lib-0.9.0beta12.tar.bz2
alsa-utils-0.9.0beta12.tar.bz2


CONFIGURE BUILD ENVIRONMENT:

Create a directory, copy and unpack source:
mkdir /usr/src/alsa-0.9.0beta12/
ln -s /usr/src/alsa-0.9.0beta12/ /usr/src/alsa
cp /directory/where/you/put/alsa-*.bz2 /usr/src/alsa
cd /usr/src/alsa
bunzip2 -v alsa-*.bz2 
tar -xvf alsa-lib-0.9.0beta12.tar
tar -xvf alsa-utils-0.9.0beta12.tar
tar -xvf alsa-driver-0.9.0beta12.tar

Make sure "make install" can find System.map:
I am using the Debian make-kpkg system for compiling and installing my kernels.
It does not leave System.map in the kernel source directory. It was necessary 
for me to create two symlinks in order for the alsa-driver "make install"
procedure to find my System.map. 

cd /boot
ln -s System.map-`uname -r` System.map
cd /usr/src/linux/
ln -s /boot/System.map System.map

Before I made these links "make install" for the drivers would fail at the 
depmod stage with an error like this (with `uname -r` here standing in for the
current running kernel):

depmod -a -F /lib/modules/`uname -r`/build/System.map `uname -r`
depmod: Can't read /lib/modules/`uname -r`/build/System.map

I don't think this step is needed if you compiled your kernel with the more
traditional "make dep; make clean; make bzImage; make install; make modules;
make modules_install" chain of commands.


COMPILE AND INSTALL ALSA-DRIVERS:

cd /usr/src/alsa/alsa-driver-0.9.0beta12

Read the INSTALL file. Make sure your kernel has sound support turned on. You
also need to have your configured kernel sources installed.
 
If you want to pass some options to configure, ./configure --help will show you
what's available. I chose to use the defaults:

./configure

Build the modules and install them in /lib/modules/`uname -r`/kernel/sound/:

make install

Create device nodes in /dev/snd/. (Actually, links to /proc/asound/dev/:

./snddevices

The INSTALL file tells you to edit /etc/modules.conf. On Debian this file is
generated by the update-modules utility based on files in /etc/modutils/.
I added the following lines to /etc/modutils/aliases then ran update-modules:

alias char-major-116 snd
alias snd-card-0 snd-ymfpci

Load the modules into the running kernel:

depmod snd-ymfpci


COMPILE AND INSTALL ALSA-LIB:

This is necessary in order to build and install the alsa-utils.

cd /usr/src/alsa/alsa-lib-0.9.0beta12
./configure
make install


COMPILE AND INSTALL ALSA-UTILS:

Alsa-utils includes alsactl, alsamixer, amixer and aplay. They are useful
tools for testing and working with your soundcard.

cd /usr/src/alsa/alsa-lib-0.9.0beta12
./configure
make install


TESTING RECORD AND PLAYBACK:

I tested recording first through a cheap microphone that plugs directly into 
the mic input with a mini-jack and then with a hand-held cassette 
recorder/player plugged into the line input via a mini-jack patch cable. I also
tested playback.

Start alsamixer:

alsamixer

Prepare the soundcard for recording from the microphone:

Alsamixer displays an ncurses interface to the various devices within the
soundcard. You can select devices using the left and right arrow keys or n and
p for (n)ext and (p)revious. Level for the selected device can be adjusted with
the up and down arrow keys or w and x. Mute status can be togled with the m key.
Capture status can be togled with the space bar. 

Except for Capture and ADC, I muted, turned off capture and set the level to 
zero for all devices. Capture and ADC I unmuted and turned all the way up.

Test recording:

arecord -d 30 -f cd -t wav test.wav

This records a file named test.wav of (t)ype wav in cd (f)ormat for a
(d)uration of 30 seconds. 

Prepare the soundcard for playback:

Except for Master, PCM and Wave, I muted, turned off capture and set the level
to zero for all devices. Master, PCM and Wave were unmuted and set to the 
maximum "green" level.

Test playback:

aplay -f cd test.wav

Prepare the soundcard for duplex recording from line input:

Except for Master, PCM, Capture and ADC, I muted, turned off capture and set the
level to zero for all devices. Master, PCM and Wave were unmuted and set to the
maximum "green" level. This allows the input to play through the speakers while
it is recording.

arecord -d 30 -f cd -t wav testline.wav

Set up the soundcard and test playback the same way as above.


STORING AND RESTORING MIXER SETTINGS:  
 
alsactl allows you to store the current mixer settings to a file and then
restore those settings at a later time. For each mixer scenario described above
you can store the settings in a file and then use that file to set the
soundcard:

Set the devices via alsamixer for recording from the mic as described above.
alsactl -f micrecord.conf store

Set the devices via alsamixer for recording from line input as descrbed above.
alsactl -f linerecord.conf store

Set the devices via alsamixer for playback as described above.
alsactl -f micrecord.conf store

Then you can switch between the different scenarios without using alsamixer:
alsactl -f foo.conf restore


ASOUNDRC CONFIGURATION:

????????

Reply via email to