Red HatThis forum is for the discussion of Red Hat Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hi,
Got a new "Sound blaster Audigy 2" PCI card. Did a kernel (2.6.11.11) recompile. But sound does not seem to be coming out. (Earlier, was using the main board's built in sound chip: Sound was ok with i810_audio driver. )
Was wondering if anybody had similar problems. Can you help me?
(My apologies for the format of the columns, in lsmod output. Did not know how to make them appear with proper spacing. Even after editing the lsmod output with spaces, "Preview" seems to sqeeze them together)
Thank you.
After recompiling your kernel did you issue as a normal user "alsamixer"
and unmute and turn up your volumes? Then as root issue "alsactl store"
to save your settings. You have the correct modules.
To format it properly, use the code button above the window where you
post, or put [_code_] before and [_/code_] after your output, without the
underscores, of course.
Where is alsamixer? Is it got by setting an option in the kernel config file and recompiling, or do we have to get it from another site? How to go about it?
Thank you.
Originally posted by vasanthraghavan Where is alsamixer? Is it got by setting an option in the kernel config file and recompiling, or do we have to get it from another site? How to go about it?
Thank you.
That was a good question you asked. Why not ask your OS like this:
I'm running Slackware, and RedHat puts things in different places. If you will issue:
Code:
mingdao@james:~$ which alsamixer
/usr/bin/alsamixer
you can find where it is, because "which <command>" shows the full path to shell commands. To list the directories in a users path issue:
Code:
mingdao@james:~$ $PATH
-bash: /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/opt/www/htdig/bin:/usr/lib/java/bin:/usr/lib/java/jre/bin:/usr/lib/java/bin:/usr/lib/java/jre/bin:/opt/kde/bin:/usr/lib/qt/bin:/usr/share/texmf/bin:.: No such file or directory
as a normal user, and as root. If the path to alsamixer is not in your user's $PATH, you will need to give the full path, i.e. /usr/bin/alsamixer
From the output of "lsmod" you seem to have the correct modules. However, emu10k1x is support for the Dell OEM version of the Sound Blaster Live!. I do not think that's the card you have, is it?
You can issue as root "modprobe -rv snd_emu10k1x" to remove it, and that should remove any modules it depends on, if they're usused.
Therefore, my advice is to (1) remove the emu10k1x module, then (2) find the full path to alsamixer on your box, then (3) use "alsamixer" as a normal user (not root) to unmute and turn up your sound, then (4) run "alsactl store" as root to save your settings after you reboot.
If you are running KDE, then you might need to select ALSA by opening the:
KDE Control Center > Sound & Multimedia > Sound System > Hardware tab > and choose:
Select the audio device: Advanced Linux Sound Architecture (ALSA)
and then I have a check in the box beside Full duplex
Last edited by Bruce Hill; 07-05-2005 at 09:23 PM.
Hi,
"whereis" command did not give me any module path at all.
A few questions here:
1. Is the kernel source code for 2.6.11.11 sufficient to make this card work? Or do we also need the alsa code downloaded from www.alsa-project.org. Somehow some thread says we need both. A bit confused here as to why alsa code package is needed when alsa support/code is already there in the 2.6.11.11 kernel.
2. What is the option to be set for alsa and sound in the .config file before the 2.6.11.11 kernel recompile?(did the recompile of the kernel many times!!)
Thank you.
The "whereis" command does not give module paths, and that wasn't the point. Issue and read "man whereis" to gain a deeper understanding.
Answers to questions:
(1) The full kernel source available from http://kernel.org is sufficient;
(2) To humor you, I'll post the kernel options from my 2.6.12.2 with the same sound chipset:
Code:
# Sound
#
CONFIG_SOUND=m
#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
# CONFIG_SND_SEQUENCER is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
#
# PCI devices
#
CONFIG_SND_AC97_CODEC=m
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
CONFIG_SND_EMU10K1=m
# CONFIG_SND_EMU10K1X is not set
<nothing below here matters for you...>
although I believe I already provided you with the information you need to get it working. Why don't you re-read my post just prior to this one, and try using copy and paste to execute the commands...
#
# Sound
#
CONFIG_SOUND=m
#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
# CONFIG_SND_SEQUENCER is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
# CONFIG_SND_RTCTIMER is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
#
# ISA devices
#
# CONFIG_SND_AD1816A is not set
# CONFIG_SND_AD1848 is not set
# CONFIG_SND_CS4231 is not set
# CONFIG_SND_CS4232 is not set
# CONFIG_SND_CS4236 is not set
# CONFIG_SND_ES968 is not set
# CONFIG_SND_ES1688 is not set
# CONFIG_SND_ES18XX is not set
# CONFIG_SND_GUSCLASSIC is not set
# CONFIG_SND_GUSEXTREME is not set
# CONFIG_SND_GUSMAX is not set
# CONFIG_SND_INTERWAVE is not set
# CONFIG_SND_INTERWAVE_STB is not set
# CONFIG_SND_OPTI92X_AD1848 is not set
# CONFIG_SND_OPTI92X_CS4231 is not set
# CONFIG_SND_OPTI93X is not set
# CONFIG_SND_SB8 is not set
# CONFIG_SND_SB16 is not set
# CONFIG_SND_SBAWE is not set
# CONFIG_SND_WAVEFRONT is not set
# CONFIG_SND_ALS100 is not set
# CONFIG_SND_AZT2320 is not set
# CONFIG_SND_CMI8330 is not set
# CONFIG_SND_DT019X is not set
# CONFIG_SND_OPL3SA2 is not set
# CONFIG_SND_SGALAXY is not set
# CONFIG_SND_SSCAPE is not set
#
# PCI devices
#
CONFIG_SND_AC97_CODEC=m
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
CONFIG_SND_EMU10K1=m
# CONFIG_SND_EMU10K1X is not set
CONFIG_SND_CA0106=m
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_HDA_INTEL is not set
However "alsamixer" command still fails. You said "the full kernel source is sufficent" and also humored me in point (2). But could you please explain how to get "alsamixer" working, excusing my inability? Once again my audio card is:
"Sound Blaster Audigy 2 Value" from Creative, model no: SB0400.
Thank you.
I see you've figured out how to use vBcode for your output...good on yah!
1 - Let me say that I have been assuming some things about RedHat, which might not be true. Slackware-10.1 ships with alsa-driver, alsa-lib, alsa-oss, and alsa-utils. These packages must be in your OS for what we're doing to work. To answer your question, alsamixer is part of alsa-utils. If RedHat doesn't ship with these packages, we will need to do some more installing. So the first thing I would like you to do is check for these packages. There is a GUI app in RedHat that checks for installed pkgs, but I don't remember what it is or how to use it. If you don't know either, and you're comfortable working from cli, you can do this. First, update you database so we know that everything in your system will be searched ... issue "su -" to switch users to root with root's environment, and then issue "updatedb" from there. After that returns you to a prompt, issue "locate alsa-driver alsa-lib alsa-oss alsa-utils" to see if you have those packages. If they're installed you should find something like this:
I'd like to see that output from your system to know if we have the tools we need. Make sure you post exactly what's in your comp, including the version number. I have done some checking on this card, because I'm also trying to help another guy who apparently has the same card. According to what I've been able to find out, if you have ALSA before version 1.0.8 you would have to patch ALSA to get this card working.
2 - For some reason your "lsmod" output has changed since your first post. Is that all that "lsmod" outputs? That doesn't show which modules they're used by, i.e.
3 - We need to know if your kernel is even picking up your card from the PCI slot. Just issue "lspci -vs" while you are root, and it will give you output. Please post it all using the Code button. That will also tell us the particular PCI IDs of your card, which we will probably need. (You can also issue "cat /proc/asound/cards" to see if anything is in there if you don't get anything from "lspci -vs")
4 - Why did you included ca0106? Did you read somewhere that this module is needed by your card? On the ALSA soundcard matrix for Creative Labs I see that module mentioned for a SB0410 ... but don't even see this SB0400 card at all. Keep that module in there, as it won't hurt anything if it's not needed. Looking at some lines of code in a kernel patch on Kernel.org I see
+ unsigned char ca0108_chip; /* Audigy 2 Value */
which leads me to believe this might the one you need. This patch was applied in 2.6.12-rc1-mm3, so it should be in the 2.6.12.x kernels. (So you should be good there with 2.6.12.2. Those changes are also included in the ALSA-1.09 version string.) I also saw this module mentioned on another forum.
5 - If you don't have ISA devices, you don't need to select ISA bus options here:
Code:
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
# CONFIG_ISA is not set
One major purpose of compiling your own kernel is to remove things you don't need or use.
I went to the Creative Labs website and selected your card to download a driver for Linux. This is what it returned: "Sorry, no Creative updates are available for the selected query."
These are some links to some information about your card that I've found:
One major problem you have is that manufacturers change names of cards, change chipsets of cards with the same name, and things like that ... but they only write drivers for Windoze. So some hacker needs the code for the card to write it for Linux. Your card is fairly new, but the name is taken from an old card. ALSA doesn't have it listed, and everything on the web is confusing.
Just try your best to do the steps above and let's at least get your distro where it can perform the proper functions to get this soundcard working under ALSA. You should have everything we need, because your onboard Intel soundchip worked.
Hi Chinaman,
Figured out myself by doing a lot of tinkering with the alsa source code download. Had to comment a line in some of the c files for an include file which was missing. Also a variable declaration was resolved by me too in a few c files. Anyway the long story made short is:
Was able to get the util source code compiled and installed.
(The kernel support was not adequate. Had to get the source code tars - drivers, lib and util - from alsa project and then build it)
The last one had some compilation problems, which was fixed by me.(whew!)
issuing a alsamixer command works!
But Thank you for all the help and research you had done for me in answering my previous post.
The problem seems to be that RedHat doesn't ship the ALSA packages. So that others could get it working, it would be good of you to post specifically what you did, and why the ALSA packages didn't work from ALSA ... if that's where you got them from and not some RedHat mirror.
Which module are you using for your card now?
If so, can you post your "lsmod" output?
There's another guy in LQ with the same card who needs help...
Last edited by Bruce Hill; 07-07-2005 at 03:52 AM.
How my Sound Blaster Audigy 2 Value card (model SB0400) started working
Hi,
Here are a few steps done:
1. Got the kernel from kernel.org(2.6.12.2).
2. Recompiled it with the section for sound using .config you had specified:
Code:
#
# Sound
#
CONFIG_SOUND=m
#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
# CONFIG_SND_SEQUENCER is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
# CONFIG_SND_RTCTIMER is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
#
# ISA devices
#
# CONFIG_SND_AD1816A is not set
# CONFIG_SND_AD1848 is not set
# CONFIG_SND_CS4231 is not set
# CONFIG_SND_CS4232 is not set
# CONFIG_SND_CS4236 is not set
# CONFIG_SND_ES968 is not set
# CONFIG_SND_ES1688 is not set
# CONFIG_SND_ES18XX is not set
# CONFIG_SND_GUSCLASSIC is not set
# CONFIG_SND_GUSEXTREME is not set
# CONFIG_SND_GUSMAX is not set
# CONFIG_SND_INTERWAVE is not set
# CONFIG_SND_INTERWAVE_STB is not set
# CONFIG_SND_OPTI92X_AD1848 is not set
# CONFIG_SND_OPTI92X_CS4231 is not set
# CONFIG_SND_OPTI93X is not set
# CONFIG_SND_SB8 is not set
# CONFIG_SND_SB16 is not set
# CONFIG_SND_SBAWE is not set
# CONFIG_SND_WAVEFRONT is not set
# CONFIG_SND_ALS100 is not set
# CONFIG_SND_AZT2320 is not set
# CONFIG_SND_CMI8330 is not set
# CONFIG_SND_DT019X is not set
# CONFIG_SND_OPL3SA2 is not set
# CONFIG_SND_SGALAXY is not set
# CONFIG_SND_SSCAPE is not set
#
# PCI devices
#
CONFIG_SND_AC97_CODEC=m
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
CONFIG_SND_EMU10K1=m
# CONFIG_SND_EMU10K1X is not set
CONFIG_SND_CA0106=m
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_HDA_INTEL is not set
Restarted the computer and went to BIOS: Turned off Plug and Play option. Save and exit from BIOS.
Then chose 2.6.12.2 kernel in GRUB screen.
3.1. Did "tar xvjf " on each of the bz2 files.
3.2. cd /usr/src/;
3.2.1. Became root. Issueed "mkdir alsa" command.
3.3. Copied alsa-driver-1.09a, alsa-lib-1.0.9rc4, alsa-utils-1.0.9rc4 folders from home directory to /usr/src/alsa.
3.4. cd to the /usr/src/alsa-driver-1.09a folder.
3.4.1. Issued ./configure
3.4.2. Issued make
3.4.3. Issed make install
3.5. Similarly cd to /usr/src/alsa/(lib folder or util folder)
Do steps 3.4.1 to 3.4.3
Some work is needed for utils alone:
"make" will give error complaining about not finding alsactl.h on some c files: alsactl.c, names.c, state.c and power.c.
Comment those lines in those c files:
include "alsactl.h" by doing:
/* include "alsactl.h" */
Also "make" complains about a few variables: "debugflag" and "force_restore". To resolve these do the following:
3.5.1. insert the line:
extern int debugflag
in names.c
and
3.5.2. insert the line
extern int force_restore;
in state.c
just after the include files portion of the files.
Save those files with the changes.
Now utils must go through a nice "make" and "make install".
3.7. exit out of root, open a console and issue "alsamixer". From here onwards you can unmute the volume.
3.8. To test the sound card, open another console and issue: "speaker-test"
Now sound comes out of the speaker plugged to the card.
Hope this helps. My apologies for the detail.
Thank you.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.