LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Help for Sound driver (https://www.linuxquestions.org/questions/linux-software-2/help-for-sound-driver-406883/)

hytechpro 01-23-2006 06:33 AM

Help for Sound driver
 
Hi all!
I am unable to configure sound driver on fedora core 4 64-bit.
I am having AMD Athlon 64, ASUS A8N-VM board, with NVIDIA GeForce 6100 graphics and SoundMAX ADI AD1986A audio.
Please, help!

Thanx:
Devs

Dtsazza 01-23-2006 08:27 AM

Have you downloaded (via yum, apt, urpmi or whatever) the ALSA drivers, and tried running the 'alsaconf' program? If not, give it a try; if so, let us know where it failed.

dhanar_10 01-28-2006 09:28 AM

Hi,

I have been able to use that card partially. What I did was:
1. Download ALSA 1.0.10 source (driver, lib, utils).
2. Patch the source with this. This patch will disable surround sound, because there is a bug on it.

*** alsa-driver-1.0.10/alsa-kernel/pci/hda/hda_codec.c.orig Mon Dec 12 09:07:41 2005
--- alsa-driver-1.0.10/alsa-kernel/pci/hda/hda_codec.c Fri Dec 9 15:08:04 2005
***************
*** 1770,1788 ****
--- 1770,1790 ----
/* front */
snd_hda_codec_setup_stream(codec, nids[HDA_FRONT], stream_tag, 0, format);
if (mout->hp_nid)
/* headphone out will just decode front left/right (stereo) */
snd_hda_codec_setup_stream(codec, mout->hp_nid, stream_tag, 0, format);
+ #if 0
/* surrounds */
for (i = 1; i < mout->num_dacs; i++) {
if (chs >= (i + 1) * 2) /* independent out */
snd_hda_codec_setup_stream(codec, nids[i], stream_tag, i * 2,
format);
else /* copy front */
snd_hda_codec_setup_stream(codec, nids[i], stream_tag, 0,
format);
}
+ #endif
return 0;
}

/*
* clean up the setting for analog out
***************
*** 1790,1803 ****
--- 1792,1809 ----
int snd_hda_multi_out_analog_cleanup(struct hda_codec *codec, struct hda_multi_out *mout)
{
hda_nid_t *nids = mout->dac_nids;
int i;

+ #if 0
for (i = 0; i < mout->num_dacs; i++)
snd_hda_codec_setup_stream(codec, nids[i], 0, 0, 0);
+ #endif
if (mout->hp_nid)
snd_hda_codec_setup_stream(codec, mout->hp_nid, 0, 0, 0);
+ snd_hda_codec_setup_stream(codec, HDA_FRONT, 0, 0, 0);
+
down(&codec->spdif_mutex);
if (mout->dig_out_nid && mout->dig_out_used == HDA_DIG_ANALOG_DUP) {
snd_hda_codec_setup_stream(codec, mout->dig_out_nid, 0, 0, 0);
mout->dig_out_used = 0;
}

3. Compile, install, and run alsaconf.

I hope this could help you. Sorry for my bad English...

Dtsazza 01-29-2006 06:51 AM

OK, so you have your card running partially. Which parts of it work, and which are failing? Did alsaconf detect your card OK and exit without error? When do things go wrong, and what output do you get when they do?

dhanar_10 01-30-2006 06:33 AM

Like I said before, the patch will disable surround sound. So, the card will only produce stereo sound. That's what I mean "partially".

If you don't apply the patch, the card will produce sound, but it will produce an irritating high pitch noise also (with arts --> ALSA). With arts --> ESD, it will produce cracking noise too. Maybe you can do some experiments yourself.

The alsaconf finished without error, but if you install alsa-driver without deleting the previous driver the card will be detected twice and you will get no sound. So, I suggest you to delete the previous driver.

To delete the previous driver you have to delete all folders in /lib/modules/`uname -r`/kernel/sound/. Don't delete soundcore.ko.gz file. WARNING: ALWAYS MAKE BACK UP, OK!


All times are GMT -5. The time now is 05:55 PM.