LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (http://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Sound/Multi-channels on an HDA-Intel/C-Media CMI9880 soundcard? (http://www.linuxquestions.org/questions/linux-hardware-18/sound-multi-channels-on-an-hda-intel-c-media-cmi9880-soundcard-341822/)

newbuntu 07-10-2005 08:14 AM

Sound/Multi-channels on an HDA-Intel/C-Media CMI9880 soundcard?
 
Hardware: ASUS P5AD2-E Deluxe motherboard with onboard HDA-Intel/C-Media CMI9880 soundcard (which has 7.1 audio)

Distro: Ubuntu Hoary-Hedgehog

Driver: alsa-driver-1.0.9rc4a

Problem: After getting the sound driver [snd_hda_intel] installed (see details below), I am unable to get:
1. sound out of the card (after initially getting some sound)
2. control of output channels other than the PCM / PC Speaker channels.

Here's what I've down so far (simplified):

1. I downloaded, compiled and installed the latest version of the alsa drivers, libraries and utilities (alsa-driver-1.0.9rc4a, alsa-lib-1.0.9rc4, alsa-utils-1.0.9rc4a). I also ran ./snddevices in the alsa-driver directory to create /devfs nodes.

2. I used alsaconf to workout what type of audio card I had.

3. I then used 'alsamixer' to try to set the audio levels -- whilst all channels are visible (PCM / Surround / Center / LFE / Side / IEC958 / PC Speaker / Input Sound), I can only adjust the PCM and PC Speaker levels.

At one point, I managed to get sound out of the side speakers by running 'esd' at the command prompt (and by using the speaker-test program in the alsa utils), but that seems to have gone away now.

I tried installing: alsa-oss, alsaplayer-esd, alsaplayer-alsa, alsaplayer. None of these things seem to make any difference.

I know the card is there and the driver is talking to it because of the entries in /proc and because alsamixer recoginses it.
$> cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xcadf4000 irq 16

I just can't get any ^%$&^% sound out!!

After a day of trying, I am at my wits end, is anyone able to suggest anything that might put me out of my misery?? Please?

Thanks in advance,
Newbuntu.

PS. I'll leave you with the output from the alsa-utils 'amixer' program (and no, trying to change the values in /etc/asound-state doesn't work using alsactl
-------
$> cat /etc/asound.state
Simple mixer control 'PCM',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Front Left: Playback 255 [100%] [on]
Front Right: Playback 255 [100%] [on]
Simple mixer control 'Surround',0
Capabilities: pswitch
Playback channels: Front Left - Front Right
Front Left: Playback [off]
Front Right: Playback [off]
Simple mixer control 'Center',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'LFE',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Side',0
Capabilities: pswitch
Playback channels: Front Left - Front Right
Front Left: Playback [off]
Front Right: Playback [off]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined cswitch cswitch-joined
Playback channels: Mono
Capture channels: Mono
Mono: Playback [off] Capture [on]
Simple mixer control 'PC Speaker',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 15
Front Left: Playback 15 [100%] [on]
Front Right: Playback 15 [100%] [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 30
Front Left: Capture 0 [0%] [off]
Front Right: Capture 0 [0%] [off]
Simple mixer control 'Capture',1
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 30
Front Left: Capture 0 [0%] [off]
Front Right: Capture 0 [0%] [off]
Simple mixer control 'Input Source',0
Capabilities:
Mono:
Simple mixer control 'Input Source',1
Capabilities:
Mono:






foo

lightchain 07-16-2005 04:25 AM

CMI9880 chip and no sound in Hoary Hedgehog (ubuntu 5.04)
 
Hi
I have got thesame problem, I can't even get the /proc to list the soundcard yet!!!
all nice people out there help us out...please!
lightchain

imitheos 07-19-2005 05:46 PM

Re: Sound/Multi-channels on an HDA-Intel/C-Media CMI9880 soundcard?
 
Quote:

Originally posted by newbuntu
Hardware: ASUS P5AD2-E Deluxe motherboard with onboard HDA-Intel/C-Media CMI9880 soundcard (which has 7.1 audio)

Distro: Ubuntu Hoary-Hedgehog

Driver: alsa-driver-1.0.9rc4a

Problem: After getting the sound driver [snd_hda_intel] installed (see details below), I am unable to get:
1. sound out of the card (after initially getting some sound)
2. control of output channels other than the PCM / PC Speaker channels.

Here's what I've down so far (simplified):

1. I downloaded, compiled and installed the latest version of the alsa drivers, libraries and utilities (alsa-driver-1.0.9rc4a, alsa-lib-1.0.9rc4, alsa-utils-1.0.9rc4a). I also ran ./snddevices in the alsa-driver directory to create /devfs nodes.

2. I used alsaconf to workout what type of audio card I had.

3. I then used 'alsamixer' to try to set the audio levels -- whilst all channels are visible (PCM / Surround / Center / LFE / Side / IEC958 / PC Speaker / Input Sound), I can only adjust the PCM and PC Speaker levels.

At one point, I managed to get sound out of the side speakers by running 'esd' at the command prompt (and by using the speaker-test program in the alsa utils), but that seems to have gone away now.

I tried installing: alsa-oss, alsaplayer-esd, alsaplayer-alsa, alsaplayer. None of these things seem to make any difference.

I know the card is there and the driver is talking to it because of the entries in /proc and because alsamixer recoginses it.
$> cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xcadf4000 irq 16


foo

Hello.
I have the P5AD2 Premium which is basically the same motherboard (without 1066bus) so i guess everything about the
sound card are the same.

Firstly, do u use the alsa as modules or installed in the kernel ?
If installed as modules use "insmod snd-hda-intel model=full"
In ubuntu i guess you should put the option "model=full" to /etc/modules if i remember correctly. (I use Slackware)
This option is needed for 5.1/7.1 sound. without it didn't work for me.
If you don't use it, you get sound but not surround, so it is not rellevant to your problem. I just mention it in case you need it
later.

When u add the module, try alsamixer
I can also change only PC speaker/PCM levels. I don't know why is that but the sound works perfectly.
Alsa is muted by default, so u need to press "m" to unmute them.
Then run "speaker-test -c N" where N=2 for stereo,6 for 5.1,8 for 7.1 depending on what type of speakers you have.
I have 5.1 speakers and hear everything fine.
If you don't hear correctly the try "speaker-test -c N -D plug:surround51" (again for 5.1 speakers)

If you want to have the regular mixer/player programs to work you need alsa oss emulation too.

I use the driver since early CVS stage (it was called snd-azx then, now snd-hda-intel) and it works perfectly.

The modules i load are the following:
bash-3.00# lsmod
Module Size Used by
snd_hda_intel 13696 0
snd_pcm_oss 48544 0
snd_mixer_oss 17664 1 snd_pcm_oss
snd_hda_codec 69248 1 snd_hda_intel
snd_pcm 80648 3 snd_hda_intel,snd_pcm_oss,snd_hda_codec
snd_timer 20484 1 snd_pcm
snd 44772 6 snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_hda_codec,snd_pcm,snd_timer
snd_page_alloc 8712 2 snd_hda_intel,snd_pcm

It worked relatively easy for me (and for my friend) so i can't guess what is your problem. If you post what error do you get,
maybe i can tell you what is the fault.

I hope i helped.

lightchain 07-21-2005 09:06 AM

Intel HDA
 
Thanks for the reply imitheos!
How do I find out whether ALSA is loaded as modules or into the kernel?
Is it possible to expand on the lnsmod command; whether to try as root or whether I shd be in a specific directory etc?
how do I get alsamixer?
thanks again
lightchain

imitheos 07-21-2005 09:29 AM

Re: Intel HDA
 
Quote:

Originally posted by lightchain
Thanks for the reply imitheos!
How do I find out whether ALSA is loaded as modules or into the kernel?

run "lsmod" as root and you get the list of all the loaded modules.
If the modules for sound are there (output similar to mine) then you use modules.

Quote:

Originally posted by lightchain
Is it possible to expand on the lnsmod command; whether to try as root or whether I shd be in a specific directory etc?
i didn't understand.
If you mean the path of the module, i think insmod need full path e.g "insmod /lib/modules/foo/bar/module.ko", while
modprobe take only the name (and also insmods dependencies) e.g "modprobe module.ko"

Quote:

Originally posted by lightchain
how do I get alsamixer?
thanks again
lightchain
alsamixer is included in the "alsa-utils" package.
I browsed the fedora core 3 ftp and it has a package named alsa-utils-1.0.6-3.i386.rpm, so i guess this is it.

run alsamixer, unmute the channels, set the volume where you want it to be.
then run "alsactl store" so that it saves your setting. Every distribution has a initscript that loads the settings again when you
reboot, so that you don't need to set the mixer everytime.

newbuntu 07-26-2005 07:36 AM

Imitheos -- thanks for your reply.

Unfortunately weeks later I am still without sound.
I have(had) a sneaking suspicion that a module may be blocking alsa accessing the soundcard. Everything is installed ok, and the modules I have loaded seem to match the modules you have loaded.
Do you have the "pcspkr" module loaded by the way?

In any case, I was just tooling round the net and found that I could get further sound info by issuing: cat /dev/sndstat
The output of which gives:
----------------------------------------------
Sound Driver:3.8.1a-980706 (ALSA v1.0.9rc4a emulation code)
Kernel: Linux neo 2.6.10-5-386 #1 Fri Jun 24 16:53:01 UTC 2005 i686
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
HDA Intel at 0xcacf4000 irq 16

Audio devices:
0: CMI9880 (DUPLEX)

Synth devices: NOT ENABLED IN CONFIG

Midi devices: NOT ENABLED IN CONFIG

Timers:
7: system timer

Mixers:
0: C-Media CMI9880
------------------------------------------------------

This is a little curious. Why would ALSA be loaded in what looks like emulation mode? I can only think perhaps because it can't get access to the sound card becuase another driver is blocking it??

I'm at a loss to workout what's going on.

I guess my next step is to try to workout exactly which sound modules are loaded and in what order. This is no mean feat, I think it involves trawling through commands executed in scripts in /etc/modprobe.d/

I tried grabbing the output of "modprobe -c -v -n" and trawling through it for relevant info also. Not tonight. Too tired.

tis very disappointing having a u-beaut soundcard that is .. well .. dumb.

newbuntu 08-09-2005 08:05 PM

Success!

Ok, so this has been bugging me bigtime and after a barrage of reading and snooping I finally worked out what the problem was (well, at least, here's the solution, I think there were multiple problems initially).

1. Download and install the latest alsa drivers (for me alsa-1.09rc4a)
#> ./configure --with-oss=yes --with-cards=hda-intel --with-isapnp=no --with-debug=full
#> make
#> make install

2. Download and install the lastest alsa library, oss and utils
(no special instructions here, just ./configure, make, make install in that order)

3. Make sure that upon booting, the sound card module snd_hda_intel *isn't* loaded before hotplug (I had this module being loaded in /etc/modules after a previous suggestion further back in this thread. I obviously had this load in the wrong place, because it was loaded _before_ hotplug got a chance to recognise the card I guess? I will still need to workout how to pass arguments to the module on boot so I get access to the full capabilities of the card - at present I only care about L/R channels tho).

4. (Maybe Ubuntu specific) make sure that the 'esd' (Enlightenment Sound Daemon) is not running. It seems to block access to the DSP device (how? ps -A; kill [esd process number] is a quick and dirty way to do this). There is probably a way to make esd play nice, but I've run out of patience and time trying to think about it.

I found a FAQ on the Ubuntu website that may be of some interest also, here 'tis ..
https://wiki.ubuntu.com/HdaIntelSoundHowto
http://www.sabi.co.uk/Notes/linuxSoundALSA.html (an ALSA readme that might also be useful)

ciao,
the now not so newbuntu.


All times are GMT -5. The time now is 10:12 PM.