[pulseaudio-tickets] [Bug 39664] Kinect USB Audio device and module-alsa-card.c: Failed to find a working profile.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Sep 9 07:33:57 PDT 2011


https://bugs.freedesktop.org/show_bug.cgi?id=39664

--- Comment #13 from Colin Guthrie <fdo at colin.guthr.ie> 2011-09-09 07:33:57 PDT ---
(In reply to comment #12)
> (In reply to comment #11)
> > OK, so we generally don't probe for 4ch input. It's just not that common, so I
> > think a specialist profile like this makes sense.
> > 
> > The firmware uploader is obviously a bit custom, but I can add the profile
> > mapping quite happily to our official repository if it makes sense.
> >
> > Should the inputs really be labelled as digital? Are they not actually
> > analogue?
> >
> 
> About the kinect.conf profile, I can send a patch about it, if this is the way 
> we want to fix it, and I will not mention "Digital" at all, as you suggested.
> 
> > The firmware stuff is likely something you need to add to the alsa-firmware
> > project. Not sure of any legal problems with that tho'.
> > 
> 
> Yep, I'll split the udev file in two, the "profile" rule to be shipped with
> pulseaudio in 90-pulseaudio.rules, and the "firmware loading" one to be
> shipped independently.

Perfect, thanks.

> > At present, I'm really not sure why it would work with hotplug and not coldplug
> > :( If I can ever borrow a friends Kinect system I will try and have a look, but
> > so far I don't know anyone nearby with such kit.
> 
> I tested on the latest development version from 
> git://anongit.freedesktop.org/pulseaudio/pulseaudio and it does NOT even work 
> on hotplug, this seems to be because this difference in default.conf:
> 
> -[Mapping iec958-surround-40]
> -device-strings = iec958:%f
> -channel-map = front-left,front-right,rear-left,rear-right
> -priority = 1
> -

I presume you mean without modifying it with your specific profile?

I guess this was removed as it was thought to be invalid (and does it even work
with iec958: for input anyway?)


> After some time reading the log I thinks I can at least isolate what could be 
> the important messages:
> 
> With the _stable_ version it does not work if I plug the device after loading
> PA:
> 
> D: alsa-util.c: Trying iec958:1 with SND_PCM_NO_AUTO_FORMAT ...
> I: (alsa-lib)confmisc.c: Unable to find definition
> 'cards.USB-Audio.pcm.iec958.0:CARD=1,AES0=4,AES1=130,AES2=0,AES3=2'
> I: (alsa-lib)conf.c: function snd_func_refer returned error: No such file or
> directory
> I: (alsa-lib)conf.c: Evaluate error: No such file or directory
> I: (alsa-lib)pcm.c: Unknown PCM iec958:1
> I: alsa-util.c: Error opening PCM device iec958:1: No such file or directory
> I: module.c: Loaded "module-alsa-card" (index: #19; argument: "device_id="1"
> name="usb-Microsoft_Kinect_USB_Audio_A44884D23275040A-01-Audio"
> card_name="alsa_card.usb-Microsoft_Kinect_USB_Audio_A44884D23275040A-01-Audio"
> tsched=yes ignore_dB=no card_properties="module-udev-detect.discovered=1"").

This smells like a race - e.g. udev is telling us there is a new device before
it's actually ready for use - i.e the firmware load is not yet completely and
thus the card is not yet ready.

> Instead it works when the device is already plugged in:
> 
> D: alsa-mixer.c: Looking at profile input:iec958-surround-40
> D: alsa-mixer.c: Checking for recording on Surround digitale 4.0 (IEC958)
> (iec958-surround-40)
> D: alsa-util.c: Trying iec958:1 with SND_PCM_NO_AUTO_FORMAT ...
> D: alsa-util.c: Managed to open iec958:1
> D: alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Little Endian)
> failed: Argomento non valido
> D: alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Big Endian) failed:
> Argomento non valido
> D: alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Little Endian)
> failed: Argomento non valido
> D: alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Big Endian) failed:
> Argomento non valido
> D: alsa-util.c: Maximum hw buffer size is 4096 ms
> D: alsa-util.c: Set buffer size first (to 1599 samples), period size second (to
> 399 samples).
> I: alsa-util.c: Device iec958:1 doesn't support 44100 Hz, changed to 16000 Hz.
> I: alsa-util.c: Device iec958:1 doesn't support sample format s16le, changed to
> s32le.
> D: alsa-mixer.c: Profile input:iec958-surround-40 supported.
> I: module-card-restore.c: Restoring profile for card
> alsa_card.usb-Microsoft_Kinect_USB_Audio_A44884D23275040A-01-Audio.
> I: card.c: Created 2
> "alsa_card.usb-Microsoft_Kinect_USB_Audio_A44884D23275040A-01-Audio"
> D: reserve-wrap.c: Successfully create reservation lock monitor for device
> 'Audio1'
> D: alsa-util.c: Trying iec958:1 with SND_PCM_NO_AUTO_FORMAT ...
> D: alsa-util.c: Managed to open iec958:1
> D: alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Little Endian)
> failed: Argomento non valido
> D: alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Big Endian) failed:
> Argomento non valido
> D: alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Little Endian)
> failed: Argomento non valido
> D: alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Big Endian) failed:
> Argomento non valido
> D: alsa-util.c: Maximum hw buffer size is 4096 ms
> D: alsa-util.c: Set buffer size first (to 32000 samples), period size second
> (to 32000 samples).
> I: alsa-util.c: Device iec958:1 doesn't support 44100 Hz, changed to 16000 Hz.
> I: alsa-util.c: Device iec958:1 doesn't support sample format s16le, changed to
> s32le.
> I: alsa-source.c: Successfully opened device iec958:1.
> I: alsa-source.c: Selected mapping 'Surround digitale 4.0 (IEC958)'
> (iec958-surround-40).
> I: alsa-source.c: Successfully enabled mmap() mode.
> I: alsa-source.c: Successfully enabled timer-based scheduling mode.
> I: (alsa-lib)control.c: Invalid CTL iec958:1
> I: alsa-mixer.c: Unable to attach to mixer iec958:1: File o directory non
> esistente
> I: alsa-mixer.c: Successfully attached to mixer 'hw:1'
> ...
> 
> It looks like it tried the four channel mapping (iec958-surround-40) on
> iec958:1,
> but then ends up using hw:1 anyways, but I still haven't figured out the WHY,
> this is just a hint for when (if) you will look at that.

It could be a timing thing... perhaps it's just as simple as that. Question is,
how to fix it!

> The symptoms looked similar to the unrelated post here:
> http://www.mail-archive.com/pulseaudio-discuss@mail.0pointer.de/msg04847.html

Yeah I remember that issue. Not sure it was ever solved tho' :(

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the pulseaudio-bugs mailing list