<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18939">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Is it possible that sense you have two of the exact
same cards, maybe one of them isn't working as there is an I R Q conflict
between both of them? I'll admit my expertees on Pulse Audio are not very
good at all, and probably I shouldn't be making this assumption being I really
don't totally know what I'm doing, admittedly, but it is a thought.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Chris.</FONT></DIV>
<DIV> </DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B>
<A title=ivar.mossin@gmail.com href="mailto:ivar.mossin@gmail.com">Ivar
Mossin</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A
title=pulseaudio-discuss@mail.0pointer.de
href="mailto:pulseaudio-discuss@mail.0pointer.de">pulseaudio-discuss@mail.0pointer.de</A>
</DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Saturday, August 21, 2010 3:51
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> [pulseaudio-discuss] Two
identical USB sound-cards - second card fails to load because card-name found
in hashmap.</DIV>
<DIV><BR></DIV>Hello.<BR><BR>I'm having problems loading two identical
sound-cards in my computer. I'm using Ubuntu 9.10 and PulseAudio 0.9.19 coming
with this release.<BR><BR>I have tried looking at the logs, and when using
loglevel 4 I find these lines:<BR><A
href="mailto:pulseaudio-discuss@mail.0pointer.de"></A><BR>(first card -
failing scenario):<BR>Aug 9 22:53:08 ivar-laptop pulseaudio[2573]:
module.c: Loaded "module-alsa-card" (index: #24; argument: "device_id="1"
name="usb-BeAutiful_Qing_Audioengine_AW1-00"
card_name="alsa_card.usb-BeAutiful_Qing_Audioengine_AW1-00" tsched=yes
ignore_dB=no
card_properties="module-udev-detect.discovered=1"").<BR><BR>(second card -
failing scenario):<BR>Aug 9 22:58:32 ivar-laptop pulseaudio[2573]:
module.c: Failed to load module "module-alsa-card" (argument:
"device_id="2" name="usb-BeAutiful_Qing_Audioengine_AW1-00"
card_name="alsa_card.usb-BeAutiful_Qing_Audioengine_AW1-00" tsched=yes
ignore_dB=no card_properties="module-udev-detect.discovered=1""):
initialization failed.<BR><BR><BR>I downloaded the source-code using 'apt-get
source pulseaudio' and was looking around a bit. What I found was that the
pa__init() function in modules/alsa/module-alsa-card.c called a function
pa_card_new() located in pulsecore/card.c which returned a null-pointer. This
function again called pa_namereg_register() in pulsecore/namereg.c which
returned NULL because it could find the card-name in the hashmap and the fail
argument was set to TRUE. As a simple test, I changed the fail argument to
FALSE, and the second module loaded as well:<BR><BR>(first card - working
scenario):<BR>Aug 21 18:10:03 ivar-laptop pulseaudio[3835]: module.c: Loaded
"module-alsa-card" (index: #18; argument: "device_id="2"
name="usb-BeAutiful_Qing_Audioengine_AW1-00"
card_name="alsa_card.usb-BeAutiful_Qing_Audioengine_AW1-00" tsched=yes
ignore_dB=no
card_properties="module-udev-detect.discovered=1"").<BR><BR>(second card -
working scenario):<BR>Aug 21 18:12:37 ivar-laptop pulseaudio[3835]: module.c:
Loaded "module-alsa-card" (index: #19; argument: "device_id="3"
name="usb-BeAutiful_Qing_Audioengine_AW1-00"
card_name="alsa_card.usb-BeAutiful_Qing_Audioengine_AW1-00" tsched=yes
ignore_dB=no
card_properties="module-udev-detect.discovered=1"").<BR><BR><BR>Having this
flag set to TRUE basically disables the functionality further down in the
pa_namereg_register() which tries to add a ".%u" to the card-name, where %u
starts at 2 and gives up at 99. Trying to figure out where this flag was set,
I found that it had been set by a function set_card_name() called further up
in pa__init(). If the module being loaded has the argument "card_name" or
"name", then data->namereg_fail is set to TRUE. Looking at the arguments
given in the logfile, it actually provides both of these arguments, also at
load-time:<BR><BR>(second card - failing scenario):<BR>Aug 9 22:58:32
ivar-laptop pulseaudio[2573]: module-udev-detect.c: Loading module-alsa-card
with arguments 'device_id="2" name="usb-BeAutiful_Qing_Audioengine_AW1-00"
card_name="alsa_card.usb-BeAutiful_Qing_Audioengine_AW1-00" tsched=yes
ignore_dB=no card_properties="module-udev-detect.discovered=1"'<BR><BR><BR>So
my questions are:<BR>Is there a way to load both these cards without modifying
the source?<BR>Can I configure something to make this work?<BR>What is the
reasoning behind setting this flag at all?<BR>Which side-effect will I
experience by simply ignoring this flag, and trying to add a ".%u" to the
card-name anyway?<BR><BR>Thanks for any help provided.<BR><BR><BR>Kind
Regards,<BR>Ivar Mossin<BR>
<P>
<HR>
<P></P>_______________________________________________<BR>pulseaudio-discuss
mailing
list<BR>pulseaudio-discuss@mail.0pointer.de<BR>https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss<BR></BLOCKQUOTE></BODY></HTML>