Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Multiple soundcards with alsa
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
JefP@@
Apprentice
Apprentice


Joined: 09 May 2002
Posts: 179
Location: Belgium

PostPosted: Fri May 31, 2002 1:00 pm    Post subject: Multiple soundcards with alsa Reply with quote

Hey

Got a question about using multiple sound cards with alsa & devfs. I have the 2 modules compiled, changed the /etc/modules.d/alsa config file, to set up for 2 audio cards. But that's not quite doing it :( When I try to load the second module, it says there's no device for it ... This is probably related to modules.devfs config, maybe even devfsd.conf ?

Anyone any ideas on how I should get this working ?

Thx,

Grtz
Back to top
View user's profile Send private message
knala
n00b
n00b


Joined: 15 Apr 2002
Posts: 12
Location: Texas USA

PostPosted: Sat Jun 01, 2002 8:48 pm    Post subject: Multiple soundcards Reply with quote

Jeff, I am running Via on-board sound and an AWE32 both through alsa.
I went through the headaches some time ago, so I am digging into distant memory.
Are you certain you are not loading any kernel built-in drivers?
I am at work at the moment, I will dig into my configuration files this evening and see if anything there stimulates my memory.

knala
Back to top
View user's profile Send private message
JefP@@
Apprentice
Apprentice


Joined: 09 May 2002
Posts: 179
Location: Belgium

PostPosted: Sun Jun 02, 2002 9:49 am    Post subject: Reply with quote

thx knala

and no, I'm not using builtin kernel drivers. I just put on sound support ...

btw: on my old slackware box, I had 2 soundcards running, with the old alsa drivers, but ofcourse, not with devfs ...

Maybe I should try my second soundcard first, it's an onboard soundcard (should be via686a thing). So gonna try it first ... it would explain a lot if it doesn't work :p

Grtz
Back to top
View user's profile Send private message
knala
n00b
n00b


Joined: 15 Apr 2002
Posts: 12
Location: Texas USA

PostPosted: Mon Jun 03, 2002 3:48 am    Post subject: Reply with quote

I have the via686 as the first card and the awe as the second.
I have not had any trouble with the via driver, most of my pain has been with the AWE (an old ISA card).
I have just this weekend upgraded from alsa 5.... to alsa 9...
Not completely smoothly, the alsa dirvers are working o.k., but I am having difficulty with oss emulation on the second card. So my offer of help may have been a bit premature

You say you are getting an error when you try to load the 2nd module?
This is snd-via686? What is the other driver?
Back to top
View user's profile Send private message
JefP@@
Apprentice
Apprentice


Joined: 09 May 2002
Posts: 179
Location: Belgium

PostPosted: Mon Jun 03, 2002 10:58 am    Post subject: Reply with quote

k, I tested both soundcards. They're working now under alsa (the second one via686, wouldn't load, because I forgot to turn on a jumper switch on the mobo ... Should have checked dmesg earlier, I guess, it stated : device not found or in use ... then I suddenly remembered there was a jumper switch on the mainboard :P)

So now, I have both drivers loaded and appearantly working ok (I set the mixer settings & stored them to /etc/asound.state

my trouble now is, I only have 1 dsp device in /dev and dmesg gives me an error:
devfs_register(unknown): could not append to parent, err: -17

so I guess, I still have to edit some files : devfsd.conf or modules.devfs. I figure only sound-slot-0 is defined in modules.devfs, so maybe I have to add an entry for snd-slot-1 .. and it appears only 1 dsp device can exist .. so I'll have to change that 2.
But how ;)

btw: my first sound card is a Guillemot maxi sound Fortissimo, it uses the snd-ymfpci driver.

Grtz
Back to top
View user's profile Send private message
knala
n00b
n00b


Joined: 15 Apr 2002
Posts: 12
Location: Texas USA

PostPosted: Mon Jun 03, 2002 8:50 pm    Post subject: Reply with quote

Glad to hear you got it going. Now we are both at the same point. Everything was working for me in 0.5xx, but now I only get 1 OSS compatible /dev/dsp.

I am not sure that the "could not append to parent" message is related, I have seen that reported elsewhere (it seems related to "manual" entries in the /dev directory conflicting with devfs and seems generally harmless).
I got it both before and after changing alsa versions.

I guess we will see who gets there first :)

knala
Back to top
View user's profile Send private message
JefP@@
Apprentice
Apprentice


Joined: 09 May 2002
Posts: 179
Location: Belgium

PostPosted: Tue Jun 04, 2002 5:40 pm    Post subject: Reply with quote

Ok, Knala, I got it working !!!

Here's what my /dev/sound looks like :

Code:
crw-rw----    1 root     audio     14,  12 Jan  1  1970 adsp
crw-rw----    1 root     audio     14,   4 Jan  1  1970 audio
crw-rw----    1 root     audio     14,  20 Jan  1  1970 audio1
crw-rw----    1 root     audio     14,  10 Jan  1  1970 dmfm
crw-rw----    1 root     audio     14,   9 Jan  1  1970 dmmidi
crw-rw----    1 root     audio     14,  25 Jan  1  1970 dmmidi1
crw-rw----    1 root     audio     14,   3 Jan  1  1970 dsp
crw-rw----    1 root     audio     14,  19 Jan  1  1970 dsp1
crw-rw----    1 root     audio     14,   2 Jan  1  1970 midi
crw-rw----    1 root     audio     14,  18 Jan  1  1970 midi1
crw-rw----    1 root     audio     14,   0 Jan  1  1970 mixer
crw-rw----    1 root     audio     14,  16 Jan  1  1970 mixer1
crw-rw----    1 root     audio     14,   1 Jan  1  1970 sequencer
crw-rw----    1 root     audio     14,   8 Jan  1  1970 sequencer2


How I did this, that's a bit tricky. While searching on google, I found an interesting post on the kernel mailing lists. It stated the same problem we had here (also with devfs) and moreover, it contained a patch (for kernel v. 2.4.17). I cp & pasted the patch in a file and tried it on backup copy of my 2.4.18-xfs ... which ofcourse didn't work. So I had to apply the patch by hand. Which I did, and quite succesfully ;), so it seems. I have 2 devices now (dsp & dsp1) and both soundcards are working. The patch itself only changed a few things in the sound_core.c file. You can download the file here. I'm using the vanilla kernel v. 2.4.18 patched for xfs support, so that's the version of the sound_core.c file ... It could be, the patch isn't needed anymore in the 2.5.x series, but I duno & I don't intend to use it, because it's a development series.

Here's the original patch I found in the mailing lists :

Code:
--- linux-2.4.17/drivers/sound/sound_core.c.orig Sun Jan 6 17:31:30 2002
+++ linux-2.4.17/drivers/sound/sound_core.c Sun Jan 6 17:39:43 2002
@@ -17,7 +17,7 @@
* plug into this. The fact they dont all go via OSS doesn't mean
* they don't have to implement the OSS API. There is a lot of logic
* to keeping much of the OSS weight out of the code in a compatibility
- * module, but its up to the driver to rember to load it...
+ * module, but it's up to the driver to remember to load it...
*
* The code provides a set of functions for registration of devices
* by type. This is done rather than providing a single call so that
@@ -173,10 +173,10 @@
return r;
}

- if (r == low)
+ if ( r < SOUND_STEP )
sprintf (name_buf, "%s", name);
else
- sprintf (name_buf, "%s%d", name, (r - low) / SOUND_STEP);
+ sprintf (name_buf, "%s%d", name, (r / SOUND_STEP));
s->de = devfs_register (devfs_handle, name_buf,
DEVFS_FL_NONE, SOUND_MAJOR, s->unit_minor,
S_IFCHR | mode, fops, NULL);
@@ -231,17 +231,20 @@

int register_sound_special(struct file_operations *fops, int unit)
{
- char *name;
+ const int chain = (unit & 0x0F);
+ int max_unit = chain + 128;
+ const char *name;

- switch (unit) {
+ switch (chain) {
case 0:
name = "mixer";
break;
case 1:
name = "sequencer";
+ max_unit = unit + 1;
break;
case 2:
- name = "midi00";
+ name = "midi";
break;
case 3:
name = "dsp";
@@ -260,6 +263,7 @@
break;
case 8:
name = "sequencer2";
+ max_unit = unit + 1;
break;
case 9:
name = "dmmidi";
@@ -280,10 +284,10 @@
name = "admmidi";
break;
default:
- name = "unknown";
+ name = "unknownX";
break;
}
- return sound_insert_unit(&chains[unit&15], fops, -1, unit, unit+1,
+ return sound_insert_unit(&chains[chain], fops, -1, unit, max_unit,
name, S_IRUSR | S_IWUSR);
}


k, hope that does it for you Knala, it did for me, so I wouldn't see why not ...

Grtz (this has been quite an enlightening discussion, thx for the help ;) )
Back to top
View user's profile Send private message
knala
n00b
n00b


Joined: 15 Apr 2002
Posts: 12
Location: Texas USA

PostPosted: Tue Jun 04, 2002 8:29 pm    Post subject: Reply with quote

Thanks for the great info, I will look into that this evening.

I eventually have managed to get my /dev/dsp1 working by creating it manually. Not an elegant solution and not getting to the core problem, like yours, but it works for what I want.

knala
Back to top
View user's profile Send private message
JefP@@
Apprentice
Apprentice


Joined: 09 May 2002
Posts: 179
Location: Belgium

PostPosted: Tue Jun 04, 2002 9:37 pm    Post subject: Reply with quote

hehe, lol

it's a different approach, but I'm sure it works too.

Not realy good if you want to keep everything nice & clean :P

Grtz

btw: would it be possible to fake 4 speaker support using 2 soundblasters ? To let the audio, destined for the front speakers go through 1 card, and the other stream through the other... lol would be nice :twisted: (emulate dolby surround with 2 soundcards)
Back to top
View user's profile Send private message
knala
n00b
n00b


Joined: 15 Apr 2002
Posts: 12
Location: Texas USA

PostPosted: Wed Jun 05, 2002 2:27 am    Post subject: Reply with quote

Hmm.. I have been running the gentoo patched kernel (2.4.19-gentoo-r5). The diff between that sound_core.c and the one you posted (for 2.4.18?) is fairly small.
I won't get time to check it out till next weekend though.
A brief look through the diff doesn't reveal anything that looks likely to break just using that file with the remainder of the gentoo kernel.. though I am not a kernel expert! (IANAKE?)

As for 4 speaker surround... seems do-able. A GPL Dolby decoder could be problematic though :-(

Thanks again for your good info.
knala
Back to top
View user's profile Send private message
knala
n00b
n00b


Joined: 15 Apr 2002
Posts: 12
Location: Texas USA

PostPosted: Sat Jun 08, 2002 8:38 pm    Post subject: sound device enumeration patch Reply with quote

OK, checked it out. It works for me too. Have you submitted this as a patch to gentoo? Or perhaps an entry in the "Tips & Tricks" forum.

If there is effort required I am happy to assist, although my main available time is limited to the weekends.

knala
Back to top
View user's profile Send private message
JefP@@
Apprentice
Apprentice


Joined: 09 May 2002
Posts: 179
Location: Belgium

PostPosted: Sun Jun 09, 2002 10:10 am    Post subject: Reply with quote

No I haven't ...

You said there was a sound patch applied to the 2.4.19-gentoo-r5 sources, similar to mine ... did that do the trick, or did you use my patch ?

anyways, duno anything about diffs etc. Maybe my brother does :P, he has a lot more experience in these matters ;) And unfortunately my time is limited too... those damned exams ... Another 3 weeks left *sigh*

Grtz
Back to top
View user's profile Send private message
knala
n00b
n00b


Joined: 15 Apr 2002
Posts: 12
Location: Texas USA

PostPosted: Mon Jun 10, 2002 2:13 am    Post subject: Reply with quote

No, I ran a diff between your posted file and the sound_core.c source in the 2.4.19-gentoo-r5 tree. The difference showed that I could just use your posted file as is, since the only differences were in the enumeration.

Good luck with the exams. Are you taking or marking?

knala
Back to top
View user's profile Send private message
idave
n00b
n00b


Joined: 20 Aug 2003
Posts: 41
Location: /dev/null

PostPosted: Sat Oct 11, 2003 2:25 pm    Post subject: Reply with quote

Good news: https://bugs.gentoo.org/show_bug.cgi?id=30837
Back to top
View user's profile Send private message
knala
n00b
n00b


Joined: 15 Apr 2002
Posts: 12
Location: Texas USA

PostPosted: Sun Nov 30, 2003 6:10 pm    Post subject: Reply with quote

:oops: I forgot to submit this as a bug. I only noticed this weekend when it bit me again.

knala
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum