[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: audio problems in fc 6

On Mon, 2007-01-29 at 18:09 +0530, Manu G.V wrote:
> hi,
>     when I try this command 
> $cat "file name" > /dev/dsp 
>    I don't get any beep sound and there were no errors even. I don't
> understand(Iam an end user) what is the problem. I installed torcs and
> tried all audio options but there was no sound. I was told to try
> above command to find whether my audio worked properly or not. I
> thought if there is no beep sound then there is some problem with
> audio. Is  there any relationship between the above command and
> problem with the sound in torcs. I have "nVidia Corporation MCP51 High
> Definition Audio" device. 
> I would be really thankful if anyone can tell me what is the problem
> and suggest a solution for it.

I can only make guesses.  Some of my guesses will be wild goose chases.
I am not an expert in sound.  Like you, I am an end user.

My first guess is to assume you are using ALSA to control sound.
ALSA is the default.

My second guess is to assume entries were made in
your /etc/modprobe.conf associating sound cards with drivers.
I believe entries are made during the Fedora installation process.
In my case, I have the following /etc/modprobe.conf file.
rsewill rsewill:~ <2:23> $ more /etc/modprobe.conf 
alias eth0 forcedeth
alias scsi_hostadapter sata_nv
alias snd-card-0 snd-hda-intel
options snd-card-0 index=0
options snd-hda-intel index=0
remove snd-hda-intel { /usr/sbin/alsactl store 0 >/dev/null 2>&1
|| : ; }; /sbin
/modprobe -r --ignore-remove snd-hda-intel
rsewill rsewill:~ <2:24> $

First, we need to determine what is found on your system.

Please do all of the following within a gnome-terminal or xterm window.

We will use some ALSA programs, one of which is "aplay"
Please do "man aplay" to learn about aplay.
Please do "aplay -l"  that is aplay with the option lower-case L.
                      A one and a lower-case L look the same to me.
The goal of doing this command is to determine what devices are in your
system.  When I do the command, I get the following:
rsewill rsewill:~ <2:26> $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC883 Analog [ALC883 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
rsewill rsewill:~ <2:27> $ 

I assume, another way to get information, would be to
cat /proc/asound/cards and cat /proc/asound/devices:
rsewill rsewill:~ <2:27> $ cat /proc/asound/cards
 0 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xfe024000 irq 7
rsewill rsewill:~ <2:28> $ cat /proc/asound/devices
  2:        : timer
  3:        : sequencer
  4: [ 0- 2]: digital audio capture
  5: [ 0- 0]: digital audio playback
  6: [ 0- 0]: digital audio capture
  7: [ 0]   : control
rsewill rsewill:~ <2:29> $
I would be guessing what the information from these files means.

If you have multiple sound cards, we will need to figure out how to
select which sound card to use.  I believe we would need to create a
~/.asoundrc file, with entries, that let us specify which card do use,
with what alsa mixer name, but I am uncertain because I have only ever
had one sound device.  The following will assume you have one sound card
and that card is "card 0".

If the problem is not multiple sound cards, I would next run the
program, alsamixer.  Please type "alsamixer" in the gnome-terminal or
xterm window.

alsamixer should do "ncurses" graphics within the gnome-terminal or
xterm window.  The top will say something like,
"Card: HDA NVidia
 Chip: Realtek ALC888
 View: [Playback] Capture All
 Item: Headphone"

There will be bars showing how things (mixers) are set.
Below the bars will percentages and indications if the device can be
muted and is muted, and at the bottom, below each bar will be the name
of mixer.  The name for your mixers will be different than mine.  You
may not have "Item: Headphone" as your first item.  You may or may not
have "Headphone" as any mixer item.

The "View:" shows what type of mixers are currently being displayed.
To switch "View:", use tab.  Since we are interested in speakers, we are
interested in "Playback".  

By trial and error, I have learned multiple mixers control the output of
a speaker.  In my case, I need to have the bars for the "PCM" mixer
raised and I need to have one or more other mixers, "Front", or "Front
Line" raised.  For "Front" and "Front Line", it is important the bottom
of the bar have what looks like the infinity symbol (some will say
double zero) and not have the MM symbol.  The MM symbol means muted.

The names of your mixers can and will be different than mine.  To move
from one mixer to another, please use the left arrow and right arrow
keys.  To "mute" a mixer that can be muted, please type "m".  To unmute
a mixer that has been muted, please type "m".  The "PCM" mixer cannot be

Just above the name of the mixer, and below the bar for the mixer, is
the percentage the mixer has been raised. 

If you have left arrow or right arrow to a mixer that you want to raise,
you will type "q" to raise the left channel, and type "e" to raise the
right channel, and type "w" to raise both left and right channel.  You
will type "z" to lower the left channel, "c" to lower the right channel,
and "x" to lower both left and right channel.

To exit alsamixer, please type "Escape".
Please see "man alsamixer"

I would have another gnome-terminal or xterm window up while running
alsamixer.  I would do ls /usr/share/sounds and remember a name of a wav
file from /usr/share/sounds.  I would do the following:
aplay /usr/share/sounds/startup3.wav    -- if you have this file.
                                           Actually, any file should do.

I am guessing you have a similar problem to what I had in that one of
your mixers is either muted or set too low.  

I do not know if it is appropriate, but I raise my PCM mixer to maximum
and control the volume of my speak using the "Front" mixer.  I have
problems with this approach.  Some programs assume they should control
the volume using the PCM mixer.  I do not know which mixer a program
will adjust when one tries to adjust the volume using that program.
Hopefully, someone with more knowledge and experience will tell how to
control this.  I suspect, if I put the correct entries in a ~/.asoundrc
file, I might be able to control which mixer is used, but do not know.

Assuming we start to get sound, the next step will be to save a working
sound configuration.  There is a program, "alsactl" which will store the
current alsa controls to a file and will restore the alsa controls from
a file.  Please see "man alsactl".  

There should be a file in the /etc directory, /etc/asound.state, which
should be the global settings for the alsa controls.  To change this
global file to the current alsa control settings, assuming the current
alsa control settings are what one wants, one would become root and do
"alsactl -f /etc/asound.state store".  One can also keep a local file
and change the alsa control settings manually:
alsactl -f ~/.asound.state store              -- to save settings
alsactl -f ~/.asound.state restore            -- to load settings

I hope I do not lead you on too wild a goose chase and wish you luck.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]