LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Red Hat
User Name
Password
Red Hat This forum is for the discussion of Red Hat Linux.

Notices


Reply
  Search this Thread
Old 03-30-2004, 03:12 AM   #1
Thetargos
Senior Member
 
Registered: Mar 2003
Location: Mexico City
Distribution: Fedora, Ubuntu & Mint
Posts: 1,679

Rep: Reputation: 45
Red Hat/Fedora ALSA mini-HowTo.


So you've finally decided to try out ALSA. The reasons behind your decision may be various, from support of certain features in a given package (like Xine, for instance) or simply to be able to not use artsd or esd. Whichever the reason behind this, the first obstacle though is how do I install this?. The answer is really simple, though not that straight forward. Some people have trouble installing ALSA even if they follow the instructions on the project's site. However the most common problem is that when you try to configure your card after you installed the drivers, you get an error stating that no card was found... quite frustrating. So what's the best way to install ALSA? Well for starters the simplest way to install ALSA in my experience is:
  • Get the ALSA packages from the website
  • At least you will need the alsa-driver, alsa-lib, alsa-utils and alsa-oss packages.
  • Untar them into a directory. You may use this code to make a script to automate the untar process:
    Code:
    for i in *.tar.bz2
    do
    	tar jxf $i
    done
  • Install.
This looks fairly easy, right? And it is! basically you will need to follow the standard 3 step process to install source packages: ./configure, make, make install.

Prerequisites
All you need is actually to have your kernel sources installed, and a kernel with audio support either as module or compiled in, though many recommend it as module rather than built in (soundcore module). To make things easier, install the packages in the following order:
  • alsa-lib
  • alsa-oss
  • alsa-utils
  • alsa-driver
I prefer to install the driver last, so I avoid the error when trying to run alsamixer of no hardware detected.

The alsa-lib, alsa-oss, alsa-utils packages will get installed all under the /usr/ prefix, so basically you can just type:
Code:
# ./configure && make && make install
However there are some options you should know for the configuration of the alsa-driver package:

Souncard hardware
You should be familiar with what chipset does your sound card use, this is important because you will need to know which module to load and what alias to make in your configuration files (more on this in a bit). And hence load the support for your current sound card. If you currently have a sound enabled system, finding out what drivers/sound card do you have installed may be much easier. Basically there are two ways of finding out what your hardware is, via 'lsmod', to list the currently loaded drivers, and trhough 'lspci', to list the actual pci devices the kernel sees:

Drivers loaded:
Code:
# /sbin/lsmod | grep soundcore
With this command you should see what module(s) does soundcore is using. You may see something like this:
Code:
soundcore               7392  1 emu10k1
In this example I have loaded my Sound Blaster Live! driver, emu10k1.

Hardware physically attached to the computer:
Code:
# /sbin/lspci
This command will output something like this:
Code:
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 735 Host (rev 01)
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP)
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS85C503/5513 (LPC Bridge)
00:02.2 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 07)
00:02.3 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 07)
00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0)
00:03.0 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 90)
00:0f.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 04)
00:0f.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 01)
00:11.0 Communication controller: Ambient Technologies Inc HaM controllerless modem (rev 02)
00:13.0 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 50)
00:13.1 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 50)
00:13.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51)
01:00.0 VGA compatible controller: ATI Technologies Inc R300 AD [Radeon 9500 Pro]
01:00.1 Display controller: ATI Technologies Inc R300 AD [Radeon 9500 Pro] (Secondary)
This enumerates the PCI devices attached to the PCI bus. If you want a more extensive listing of the devices on the PCI bus, you may use the special procfs interface: /proc/pci,
Code:
# cat /proc/pci
Which will output:
Code:
PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Silicon Integrated Systems [SiS] 735 Host (rev 1).
      Master Capable.  Latency=32.
      Non-prefetchable 32 bit memory at 0xd0000000 [0xd7ffffff].
  Bus  0, device   1, function  0:
    PCI bridge: Silicon Integrated Systems [SiS] SiS 530 Virtual PCI-to-PCI bridge (AGP) (rev 0).
      Master Capable.  Latency=64.  Min Gnt=10.
  Bus  0, device   2, function  0:
    ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513 (rev 0).
  Bus  0, device   2, function  3:
    USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (#2) (rev 7).
      IRQ 10.
      Master Capable.  Latency=64.  Max Lat=80.
      Non-prefetchable 32 bit memory at 0xcffff000 [0xcfffffff].
  Bus  0, device   2, function  2:
    USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 7).
      IRQ 5.
      Master Capable.  Latency=64.  Max Lat=80.
      Non-prefetchable 32 bit memory at 0xcfffe000 [0xcfffefff].
  Bus  0, device   2, function  5:
    IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev 208).
      Master Capable.  Latency=128.
      I/O at 0xff00 [0xff0f].
  Bus  0, device   3, function  0:
    Ethernet controller: Silicon Integrated Systems [SiS] SiS900 10/100 Ethernet (rev 144).
      IRQ 12.
      Master Capable.  Latency=64.  Min Gnt=52.Max Lat=11.
      I/O at 0xd800 [0xd8ff].
      Non-prefetchable 32 bit memory at 0xcfffd000 [0xcfffdfff].
  Bus  0, device  15, function  0:
    Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 4).
      IRQ 5.
      Master Capable.  Latency=64.  Min Gnt=2.Max Lat=20.
      I/O at 0xd400 [0xd41f].
  Bus  0, device  15, function  1:
    Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 1).
      Master Capable.  Latency=64.
      I/O at 0xdc00 [0xdc07].
  Bus  0, device  17, function  0:
    Communication controller: Ambient Technologies Inc HaM controllerless modem (rev 2).
      IRQ 11.
      Non-prefetchable 32 bit memory at 0xcfffc000 [0xcfffcfff].
      I/O at 0xd000 [0xd0ff].
  Bus  0, device  19, function  1:
    USB Controller: VIA Technologies, Inc. USB (#2) (rev 80).

      IRQ 11.
      Master Capable.  Latency=64.
      I/O at 0xcc00 [0xcc1f].
  Bus  0, device  19, function  0:
    USB Controller: VIA Technologies, Inc. USB (rev 80).
      IRQ 11.
      Master Capable.  Latency=64.
      I/O at 0xc800 [0xc81f].
  Bus  0, device  19, function  2:
    USB Controller: VIA Technologies, Inc. USB 2.0 (rev 81).
      IRQ 10.
      Master Capable.  Latency=64.
      Non-prefetchable 32 bit memory at 0xcfffbf00 [0xcfffbfff].
  Bus  1, device   0, function  0:
    VGA compatible controller: ATI Technologies Inc Radeon R300 AD [Radeon 9500 Pro] (rev 0).
      IRQ 11.
      Master Capable.  Latency=255.  Min Gnt=8.
      Prefetchable 32 bit memory at 0xc0000000 [0xc7ffffff].
      I/O at 0x9800 [0x98ff].
      Non-prefetchable 32 bit memory at 0xcfef0000 [0xcfefffff].
  Bus  1, device   0, function  1:
    Display controller: ATI Technologies Inc Radeon R300 Secondary (DVI) output (rev 0).
      Master Capable.  Latency=64.  Min Gnt=8.
      Prefetchable 32 bit memory at 0xb8000000 [0xbfffffff].
      Non-prefetchable 32 bit memory at 0xcfee0000 [0xcfeeffff].
As you can see the information this supplies is quite vast, from IRQ interrupts, to I/O memory ranges, etc. Using this information should be fairly easy to pick up the correct soundcard support you should configure into ALSA.

So we now know what audio card we need support for with the ALSA modules, but will actually ALSA support the hardware? Fortunately, the configure script for the driver, has a way to tell us what cards does the driver(s) support:
Code:
# cd /path/to/alsa-driver-<version>
# ./configure --help
Depending on your version of ALSA you may see something like this:
Code:
  --with-cards=<list>     compile driver for cards in <list>;
                          cards may be separated with commas;
                          'all' compiles all driver
                          Possible cards are:
                          dummy, virmidi, serial-u16550, mtpav, mpu401,
                          als100, azt2320, cmi8330, dt019x, es18xx,
                          opl3sa2, sgalaxy, sscape, ad1816a, ad1848,
                          cs4231, cs4232, cs4236, pc98-cs4232, es1688,
                          gusclassic, gusmax, gusextreme, interwave,
                          interwave-stb, opti92x-ad1848, opti92x-cs4231,
                          opti93x, sb8, sb16, sbawe, es968, wavefront,
                          als4000, azt3328, bt87x, cmipci, cs4281, ens1370,
                          ens1371, es1938, es1968, fm801, intel8x0,
                          maestro3, rme32, rme96, sonicvibes, via82xx,
                          ali5451, cs46xx, emu10k1, ice1712, ice1724,
                          korg1212, mixart, nm256, rme9652, hdsp, trident,
                          vx222, ymfpci, powermac, sa11xx-uda1341,
                          usb-audio, harmony, vxpocket, vxp440, serialmidi,
                          intel8x0m, hdspm, atiixp, pdplus, msnd-pinnacle,
                          pdaudiocf, usb-usx2y, au8810, au8820, au8830
This flag is actually one of the most important. Although you may just compile all modules, that would actually be a waste of space, since you Will only be using some of the drivers, and not all. Another advantage of ALSA is that it supports more than 1 soundcard simultaneously and provides a way to control which is the preferred device (sounds familiar?) via a special file called .asoundrc located in your home directory. Anyway while there are still many applications that use the (now) deprecated OSS interface, for the time being is a good idea to compile your driver with built-in OSS support, with the '--with-oss=yes' flag passed to configure. Other flag that I personally use often is '--with-sequencer=yes' to have support for the MIDI interface (whether it be just to listen to MIDI files, or to work with external MIDI devices*). You should notice the special option about Red Hat kernels and the flag corresponding to it.

Before you compile the driver

There are some steps you should take in order for your configuration to work just swell at the first try. Among them is the configuration of the file that controls module Dependant options: modules.conf (for 2.4.x kernels, in 2.6.x kernels this is modprobe.conf). You should comment out the lines pertaining your sound configuration:
Code:
#alias sound-slot-0 emu10k1
#post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || : 
#pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
And add in your soundcard's ALSA configuration:
Code:
# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-emu10k1

# module options should go here
# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0

# card #1
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
These lines are pretty much the same for every card (with the obvious exception of the main driver name), however if you want to check the exact settings for your card, go here.
[/code
Once you've got modules.conf/modprobe.conf configured correctly, get ready to compile and install the driver:

Code:
# cd /path/to/alsa-driver-<version>
# ./configure --<options> && make && make install
Once you have installed the driver, before you execute alsmixer to unmute the channels on your sound card, please execute the snddevices script. According to the ALSA documentation, this is only necessary for the CVS checked out versions, however in the practice, you will need to do so. This is actually one of the most critical steps, since alsamixer will not be able to detect a control point for your mixer settings. Also this is the key to have your volume settings restored up on reboot.
Code:
# ./snddevices
Once it finishes, you can execute alsamixer (installed by the alsa-utils package) to unmute your card.
Code:
# alsamixer
And you are ready. Enjoy!



* Requires kernel support for your gameport/MIDI interface, like the sbgp kernel module.

Addendum: I forgot to include that in order for Fedora systems to compile right the modules, you should use the same compiler used to build the kernel, in this case gcc 3.2.3, whcih is installed when you install all kernel-source releated packages. To use it, just export the variable CC with the string gcc32 (the name of the command):
Code:
# export CC="gcc32"
#<the rest here>
If you prefer it so, you may add that same lline (exprt CC="gcc32" ) in your /etc/profile file, at the end of the file, so the shell you log in to, will already have the variable exported.

Last edited by Thetargos; 04-09-2004 at 08:29 PM.
 
Old 03-30-2004, 04:15 PM   #2
jailbait
LQ Guru
 
Registered: Feb 2003
Location: Virginia, USA
Distribution: Debian 12
Posts: 8,340

Rep: Reputation: 550Reputation: 550Reputation: 550Reputation: 550Reputation: 550Reputation: 550
This is very good. You should post it on the web where anyone can find it easily. Once you get it posted on the web you can register it with Google at:

http://www.google.com/addurl.html

___________________________________
Be prepared. Create a LifeBoat CD.
http://users.rcn.com/srstites/LifeBo...home.page.html

Steve Stites
 
Old 03-30-2004, 04:34 PM   #3
Thetargos
Senior Member
 
Registered: Mar 2003
Location: Mexico City
Distribution: Fedora, Ubuntu & Mint
Posts: 1,679

Original Poster
Rep: Reputation: 45
Thanks for your interest. I'm in fact willing to, as soon as I have the URL I will.
 
Old 03-31-2004, 08:04 AM   #4
tkorstanje
LQ Newbie
 
Registered: Mar 2004
Posts: 8

Rep: Reputation: 0
After much time searching on the internet, how to install these ALSA drivers properly, I still can get it fixed.... feel like a terrible newbie (well, I am a Linuxnewbie, however I tried just about everything I could think of...).

When following the steps mentioned above, I get the error message
Code:
alsamixer: function snd_ctl_open failed for default: No such device
I've got a on-board soundcard on an Asus P4PE-X motherboard, which I believe uses the Intel i810 chipset. refferred to in lspci as follows:
Code:
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio (rev 02)
and in lsmod as:
Code:
soundcore               6404   2  [i810_audio snd]
I used the --with-redhat=auto, --with-cards=intel8x0, --with-oss=yes, --with-sequencer=yes flags at the ./configure step for the ALSA driver. I use RH9, kernel 2.4.20.

Modprobe of the snd-intel8x0 module gives the following error:
Code:
 /lib/modules/2.4.20-30.9/kernel/sound/pci/snd-intel8x0.o: init_module: No such device
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
      You may find more information in syslog or the output from dmesg
/lib/modules/2.4.20-30.9/kernel/sound/pci/snd-intel8x0.o: insmod /lib/modules/2.4.20-30.9/kernel/sound/pci/snd-intel8x0.o failed
/lib/modules/2.4.20-30.9/kernel/sound/pci/snd-intel8x0.o: insmod snd-intel8x0 failed
The most stupid thing is, that at one point I DID get the sound working, however after a reboot it failed again and I can't trace my then followed steps...
Can anybody help?
 
Old 03-31-2004, 01:32 PM   #5
Thetargos
Senior Member
 
Registered: Mar 2003
Location: Mexico City
Distribution: Fedora, Ubuntu & Mint
Posts: 1,679

Original Poster
Rep: Reputation: 45
Quote:
Originally posted by tkorstanje

and in lsmod as:
Code:
soundcore               6404   2  [i810_audio snd]
This is your problem. You've got the OSS module loaded besides the ALSA drivers. This means you still have some reference in modules.conf to the i810_audio driver (the OSS driver) and most probably also the the aumix settings. Please post your modules.conf.
 
Old 04-04-2004, 07:43 PM   #6
johnydoe
LQ Newbie
 
Registered: Jun 2003
Location: NL
Posts: 5

Rep: Reputation: 0
i have almost the same problem:

I have a asus a7n8x with the same onboard soundcard. I'm using fedora core 1 and I'm having the same error when i'm starting alsamixer.

My lsmod output:
Code:
soundcore               6500   0  (autoclean) [snd]
So it looks to me there are not drivers loaded or it's set to auto or something.

This is my modules.conf:
Code:
alias char-major-81 bttv
alias usb-controller usb-ohci
alias usb-controller1 ehci-hcd
#alias sound-slot-0 i810_audio
#post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
#pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
# ALSA portion
alias char-major-116 snd
alias snd-card-0 snd-intel8x0

# OSS/Free portion
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0

# Card #1
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
alias char-major-195 nvidia
I configured the driver with this ./configure options:
Code:
./configure --with-cards=ac97-codec --with-oss=yes --with-redhat=auto
I'm not really sure what I've done wrong as I've followed all the steps from the above and even looked up some other documents (wich didn't give me any answers though).

I looked up my soundcard config on the alsa website here:
Code:
http://www.alsa-project.org/alsa-doc/doc-php/template.php?company=Nvidia&card=nForce&chip=NM2360&module=intel8x0
and it seems right (this is the only document for the nvidia soundcards)

I hope you can help me with my problems and I think tkorstanje has the same.

thanks in advance!
 
Old 04-04-2004, 07:51 PM   #7
Thetargos
Senior Member
 
Registered: Mar 2003
Location: Mexico City
Distribution: Fedora, Ubuntu & Mint
Posts: 1,679

Original Poster
Rep: Reputation: 45
Change the driver to intel8x0, that's the one for your card. The AC97 AFAIK is a generic one.
 
Old 04-08-2004, 07:30 PM   #8
regorbro
Member
 
Registered: Jun 2003
Location: Australia
Distribution: FC7
Posts: 37

Rep: Reputation: 15
ALSA on ASUS P4P800 Deluxe

Well, I tried all of that on Fedora Core 1 using my ASUS P4P800 deluxe mobo, which has the intel SoundMax onboard sound chipset (82801EB AC'97 audio controller), and it went well until the driver install. Then I get

"The file /lib/modules/2.4.22-1.2115.nptl/build/include/linux/version.h does not exist.
Please, install the package with full kernel sources for your distribution
or use --with-kernel=dir option to specify another directory with kernel
sources (default is /usr/src/linux)."

This happens every time, and I do not know what to do next?

Can anyone help? There are numerous other "version.h" files around, but I guess they are not the right ones. So where does one get those particular "version.h" files"

RB
 
Old 04-08-2004, 09:52 PM   #9
Thetargos
Senior Member
 
Registered: Mar 2003
Location: Mexico City
Distribution: Fedora, Ubuntu & Mint
Posts: 1,679

Original Poster
Rep: Reputation: 45
Just make sure the file exist under you kernel source directory (/usr/src/linux-2.4.22-1.2115.nptl/inlcude/linux/version.h) To me this sounds like you don't have the kenrel-source package installed... please make sure you have this package with the command:
Code:
rpm -qa | grep kernel-source
 
Old 04-09-2004, 05:27 AM   #10
tkorstanje
LQ Newbie
 
Registered: Mar 2004
Posts: 8

Rep: Reputation: 0
That problem I had too. The solution is quite simple (that is IF you have the kernel source installed). As the error message already says, the default directory where it presumes the kernel source to be is /usr/src/linux/. In my case Redhat only created a symbolic link named linux-2.4 (pointing to my actual kernel source linux-2.4.20-30.9) but not the link named linux.

You could do the following:
Code:
 
# su
Password:
# cd /usr/src
# ls -l
(something like this should be shown:)
drwxr-xr-x    2 root     root         4096 Jan 25  2003 debug
lrwxrwxrwx    1 root     root           17 Mar  9 08:39 linux-2.4 -> linux-2.4.20-30.9
drwxr-xr-x   16 root     root         4096 Apr  8 21:42 linux-2.4.20-30.9
drwxr-xr-x    7 root     root         4096 Mar  7 19:02 redhat

# ln -s linux-2.4.20-30.9/ linux
(this creates the symbolic link named linux, pointing to linux-2.4.20-30.9, this you should replace with your current kernel source of course)
# ls -l
(now this should be shown:)
drwxr-xr-x    2 root     root         4096 Jan 25  2003 debug
lrwxrwxrwx    1 root     root           18 Apr  9 12:23 linux -> linux-2.4.20-30.9/
lrwxrwxrwx    1 root     root           17 Mar  9 08:39 linux-2.4 -> linux-2.4.20-30.9
drwxr-xr-x   16 root     root         4096 Apr  8 21:42 linux-2.4.20-30.9
drwxr-xr-x    7 root     root         4096 Mar  7 19:02 redhat
 
Old 04-09-2004, 02:07 PM   #11
Thetargos
Senior Member
 
Registered: Mar 2003
Location: Mexico City
Distribution: Fedora, Ubuntu & Mint
Posts: 1,679

Original Poster
Rep: Reputation: 45
That's odd... I never changed/added the link ot the src directory, but rather to the /lib/modules/<kernel>/build link
 
Old 04-09-2004, 03:44 PM   #12
tkorstanje
LQ Newbie
 
Registered: Mar 2004
Posts: 8

Rep: Reputation: 0
Check....that's propably why your name says:

Thetargos
Guru

And mine says
tkorstanje
Newbie

 
Old 04-09-2004, 05:12 PM   #13
regorbro
Member
 
Registered: Jun 2003
Location: Australia
Distribution: FC7
Posts: 37

Rep: Reputation: 15
Hi Thetargos, and thanks for the idea. Sadly, it didn't work.

I will just list the whole session - perhaps you can find an error, because I cannot get sound either with the original Fedora/i810_audio setup or with ALSA.

[root@localhost root]# /sbin/lsmod | grep soundcore
soundcore 6468 2 (autoclean) [i810_audio]
[root@localhost root]# /sbin/lspci
00:00.0 Host bridge: Intel Corp. 82865G/PE/P Processor to I/O Controller (rev 02 )
00:01.0 PCI bridge: Intel Corp. 82865G/PE/P Processor to AGP Controller (rev 02)
00:1d.0 USB Controller: Intel Corp. 82801EB USB (rev 02)
00:1d.1 USB Controller: Intel Corp. 82801EB USB (rev 02)
00:1d.2 USB Controller: Intel Corp. 82801EB USB (rev 02)
00:1d.3 USB Controller: Intel Corp. 82801EB USB (rev 02)
00:1d.7 USB Controller: Intel Corp. 82801EB USB2 (rev 02)
00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB/EB PCI Bridge (rev c2)
00:1f.0 ISA bridge: Intel Corp. 82801EB LPC Interface Controller (rev 02)
00:1f.1 IDE interface: Intel Corp. 82801EB Ultra ATA Storage Controller (rev 02)
00:1f.2 RAID bus controller: Intel Corp.: Unknown device 24df (rev 02)
00:1f.3 SMBus: Intel Corp. 82801EB SMBus Controller (rev 02)
00:1f.5 Multimedia audio controller: Intel Corp. 82801EB AC'97 Audio Controller (rev 02)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R350 [Radeon 9800 ]
01:00.1 Display controller: ATI Technologies Inc Radeon R350 [Radeon 9800] (Seco ndary)
02:03.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller ( rev 80)
02:05.0 Ethernet controller: 3Com Corporation 3c940 1000Base? (rev 12)
[root@localhost root]# cat /prof/pci
cat: /prof/pci: No such file or directory
[root@localhost root]# cat /proc/pci
PCI devices found:
Bus 0, device 0, function 0:
Host bridge: Intel Corp. 82865G/PE/P Processor to I/O Controller (rev 2).
Prefetchable 32 bit memory at 0xf8000000 [0xfbffffff].
Bus 0, device 1, function 0:
PCI bridge: Intel Corp. 82865G/PE/P Processor to AGP Controller (rev 2).
Master Capable. Latency=64. Min Gnt=8.
Bus 0, device 29, function 0:
USB Controller: Intel Corp. 82801EB USB (rev 2).
IRQ 10.
I/O at 0xef00 [0xef1f].
Bus 0, device 29, function 1:
USB Controller: Intel Corp. 82801EB USB (rev 2).
IRQ 5.
I/O at 0xef20 [0xef3f].
Bus 0, device 29, function 2:
USB Controller: Intel Corp. 82801EB USB (rev 2).
IRQ 5.
I/O at 0xef40 [0xef5f].
Bus 0, device 29, function 3:
USB Controller: Intel Corp. 82801EB USB (rev 2).
IRQ 10.
I/O at 0xef80 [0xef9f].
Bus 0, device 29, function 7:
USB Controller: Intel Corp. 82801EB USB2 (rev 2).
IRQ 11.
Non-prefetchable 32 bit memory at 0xfebffc00 [0xfebfffff].
Bus 0, device 30, function 0:
PCI bridge: Intel Corp. 82801BA/CA/DB/EB PCI Bridge (rev 194).
Master Capable. No bursts. Min Gnt=2.
Bus 0, device 31, function 0:
ISA bridge: Intel Corp. 82801EB LPC Interface Controller (rev 2).
Bus 0, device 31, function 1:
IDE interface: Intel Corp. 82801EB Ultra ATA Storage Controller (rev 2).
IRQ 5.
I/O at 0xfc00 [0xfc0f].
Non-prefetchable 32 bit memory at 0x20000000 [0x200003ff].
Bus 0, device 31, function 2:
RAID bus controller: PCI device 8086:24df (Intel Corp.) (rev 2).
IRQ 5.
I/O at 0xefe0 [0xefe7].
I/O at 0xefac [0xefaf].
I/O at 0xefa0 [0xefa7].
I/O at 0xefa8 [0xefab].
I/O at 0xef60 [0xef6f].
Bus 0, device 31, function 3:
SMBus: Intel Corp. 82801EB SMBus Controller (rev 2).
IRQ 11.
I/O at 0x400 [0x41f].
Bus 0, device 31, function 5:
Multimedia audio controller: Intel Corp. 82801EB AC'97 Audio Controller (rev 2).
IRQ 11.
I/O at 0xe800 [0xe8ff].
I/O at 0xee80 [0xeebf].
Non-prefetchable 32 bit memory at 0xfebff800 [0xfebff9ff].
Non-prefetchable 32 bit memory at 0xfebff400 [0xfebff4ff].
Bus 1, device 0, function 0:
VGA compatible controller: ATI Technologies Inc Radeon R350 [Radeon 9800] (r ev 0).
IRQ 10.
Master Capable. Latency=64. Min Gnt=8.
Prefetchable 32 bit memory at 0xe8000000 [0xefffffff].
I/O at 0xc000 [0xc0ff].
Non-prefetchable 32 bit memory at 0xfe9f0000 [0xfe9fffff].
Bus 1, device 0, function 1:
Display controller: ATI Technologies Inc Radeon R350 [Radeon 9800] (Secondar y) (rev 0).
Master Capable. Latency=64. Min Gnt=8.
Prefetchable 32 bit memory at 0xe0000000 [0xe7ffffff].
Non-prefetchable 32 bit memory at 0xfe9e0000 [0xfe9effff].
Bus 2, device 3, function 0:
FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 128).
IRQ 11.
Master Capable. Latency=64. Max Lat=32.
Non-prefetchable 32 bit memory at 0xfeaff800 [0xfeafffff].
I/O at 0xdc00 [0xdc7f].
Bus 2, device 5, function 0:
Ethernet controller: 3Com Corporation Gigabit Ethernet Adapter (rev 18).
IRQ 11.
Master Capable. Latency=64. Min Gnt=23.Max Lat=31.
Non-prefetchable 32 bit memory at 0xfeaf8000 [0xfeafbfff].
I/O at 0xd800 [0xd8ff].

[root@localhost root]# cd /root/packages/alsa-1.0.4/alsa-driver-1.0.4
[root@localhost alsa-driver-1.0.4]# ./configure --help
`configure' configures this package to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']

Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]

By default, `make install' will install all the files in
`/usr/bin', `/usr/lib' etc. You can specify
an installation prefix other than `/usr' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data [PREFIX/share]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--infodir=DIR info documentation [PREFIX/info]
--mandir=DIR man documentation [PREFIX/man]

Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-verbose-printk enables verbose printk (file + line number)

Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-cross=dir give the cross-compile prefix
--with-kernel=dir give the directory with kernel sources
/usr/src/linux
--with-redhat=no,yes,auto specify Red Hat kernel build
--with-moddir=/path give the path for the alsa driver kernel modules
/lib/modules/<KVER>/misc
--with-debug=level give the debug level (none,basic,full,detect)
--with-isapnp=yes,no,auto driver will (not) be compiled with ISA PnP support
--with-sequencer=yes,no driver will (not) be compiled with sequencer support
--with-oss=no,yes driver will (not) be compiled with OSS/Free emulation
--with-pcmcia=kernel,external support kernel PCMCIA driver or external PCMCIA driver
--with-pcmcia-root=dir specify the root directory of external PCMCIA source-tree
--with-cards=<list> compile driver for cards in <list>;
cards may be separated with commas;
'all' compiles all drivers;
Possible cards are:
seq-dummy, dummy, virmidi, mtpav, serial-u16550,
mpu401, serialmidi, ad1816a, ad1848, cs4231,
cs4232, cs4236, pc98-cs4232, es968, es1688,
es18xx, gusclassic, gusextreme, gusmax,
interwave, interwave-stb, opti92x-ad1848,
opti92x-cs4231, opti93x, sb8, sb16, sbawe,
wavefront, als100, azt2320, cmi8330, dt019x,
opl3sa2, sgalaxy, sscape, msnd-pinnacle,
ac97-codec, ali5451, atiixp, au8810, au8820,
au8830, azt3328, bt87x, cs46xx, cs4281, emu10k1,
korg1212, mixart, nm256, rme32, rme96, rme9652,
hdsp, trident, ymfpci, als4000, cmipci, ens1370,
ens1371, es1938, es1968, maestro3, fm801,
fm801-tea575x, ice1712, ice1724, intel8x0,
intel8x0m, sonicvibes, via82xx, vx222, pdplus,
hdspm, powermac, sa11xx-uda1341, usb-audio,
usb-usx2y, vxpocket, vxp440, pdaudiocf,
sun-amd7930, sun-cs4231, harmony

Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
headers in a nonstandard directory <include dir>
CPP C preprocessor

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Modules.conf is
alias scsi_hostadapter ata_piix
#alias sound-slot-0 i810_audio

alias usb-controller usb-uhci
alias usb-controller1 ehci-hcd
alias ieee1394-controller ohci1394
alias eth0 sk98lin

#ALSA native device support
alias char-major-116 snd
options snd major=116 cards_limit=1
alias snd-card-0 snd-intel8x0

#OSS/Free setup
alias char-major-14 soundcore
alias sound-slot-0 snd-intel8x0
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
# post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
# pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :

I compiled alsa-driver-1.0.4 with
./configure - -with-cards=intel8x0 - - with-kernel=/usr (to get over the missing “version.h” problem) - this was apparently successful

ran ./snddevices apparently successfully

alsamixer returns function and_ctl_open failed for default: No such device

The volume control denies the existence of a mixer device.

I'm baffled, and would really appreciate help

regorbro
 
Old 04-09-2004, 06:56 PM   #14
Thetargos
Senior Member
 
Registered: Mar 2003
Location: Mexico City
Distribution: Fedora, Ubuntu & Mint
Posts: 1,679

Original Poster
Rep: Reputation: 45
Just a silly idea though... well actually two:
  • Have you tried with the other intel8x0 (intel8x0m) driver?
  • Second, have you made sure the previous module is not loaded?
  • And finally in FC1 You must export the environment variable CC as CC="gcc32" when using the stock kernel due to compiler incompatibilities!!. Actually if you try to load the built moduels by hand (modprobe snd) you will get unresolved symbols because of this. Parse this CC environment variable and compile like this:
    Code:
    # CC="gcc32" ./configure <options>
    -or-
    # export CC="gcc32"
    # ./configure --with-cards=intel8x0 --with-oss=yes --with-sequencer=yes && make && make install
    Since you already ran the snddevices script, you shoul not run it again, just run alsamixer and post back your aoutput

I APPLOGIZE FOR NOT INCLUDING THIS crucial INFORMATION IN THE MAIN HOWTO I simply had no need for that since I moved to kernel 2.6.x (compiled by myself of course)...
 
Old 04-09-2004, 08:21 PM   #15
regorbro
Member
 
Registered: Jun 2003
Location: Australia
Distribution: FC7
Posts: 37

Rep: Reputation: 15
Thank you Thetargos, the gcc32 compilation worked with intel8x0.

I'm not ready to try to install kernel 2.6.x yet, especially if I am still having troubles with something as basic as sound.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Red Hat custom Kernel compilation mini-How-To for Red Hat 8-9 Thetargos Red Hat 431 04-13-2007 05:19 AM
HowTo Install GCC on Red Hat Enterprise 3 ? skate Red Hat 4 02-27-2006 10:11 PM
HostAP - very mini HOWTO on Fedora 2 SteveGodfrey Linux - Wireless Networking 5 06-21-2004 05:43 PM
gateway solo 1450 Red Hat 9 HOWTO!!!!! Ricio Linux - Hardware 1 09-30-2003 07:01 PM
HOWTO install NVdriver for Red Hat 7.3 ChaosX2 Linux - Software 4 09-07-2002 05:08 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Red Hat

All times are GMT -5. The time now is 10:48 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration