Bug 525595

Summary: M-Audio Revolution7.1 (ICE1724) failed to load by PulseAudio 0.9.18
Product: [Fedora] Fedora Reporter: Dawid Zamirski <dzrudy>
Component: kernelAssignee: Jaroslav Kysela <jkysela>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: dougsland, gansalmon, itamar, kernel-maint, lkundrak, lpoetter, vedran, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-11-20 04:12:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
pulseaudio -vvvv
none
aplay -L
none
The output of alsa-info.sh --no-upload
none
pulseaudio -vvv none

Description Dawid Zamirski 2009-09-25 00:51:07 UTC
Created attachment 362597 [details]
pulseaudio -vvvv

Description of problem:
I'm running an up-to-date rawhide system and since about two weeks pulseaudio no longer shows my sound card (the M-Audio Revolution 7.1). Currently I'm using my integrated sound card on the mother board - HDA ATI SB - which works fine (but sound quality sucks :-))

Version-Release number of selected component (if applicable):
[maners@phenom ~]$ rpm -q pulseaudio
pulseaudio-0.9.18-1.fc12.x86_64
[maners@phenom ~]$ rpm -q kernel
kernel-2.6.31-23.fc12.x86_64
kernel-2.6.31-33.fc12.x86_64
kernel-2.6.31-40.fc12.x86_64
[maners@phenom ~]$ rpm -q alsa-lib
alsa-lib-1.0.21-3.fc12.x86_64
alsa-lib-1.0.21-3.fc12.i686



Additional info:
Attached is pulseaudio -vvvv startup log

Comment 1 Dawid Zamirski 2009-09-25 00:51:38 UTC
Created attachment 362598 [details]
aplay -L

Comment 2 Dawid Zamirski 2009-09-25 00:53:05 UTC
Created attachment 362599 [details]
The output of alsa-info.sh --no-upload

Comment 3 Lennart Poettering 2009-09-29 02:39:26 UTC
Please provide the output that "pulseaudio -vvv" creates. (You might need to kill the running PA instance by issuing "pulseaudio -k" first, also temporarily set autospawn=no in ~/.pulse/client.conf, so that you don't have to race against autospawning of PA)

Most likely this is an issue of alsa lacking the right surround51:xxx-style device strings for your device.

Comment 4 Dawid Zamirski 2009-09-29 03:49:20 UTC
Created attachment 362958 [details]
pulseaudio -vvv

Hi Lennart,

I have just attached the pulseaudio -vvv startup log.

Comment 5 Lennart Poettering 2009-09-29 04:16:13 UTC
Uh, this is weird. Smells like a driver issue.

This is the interesting output:

D: alsa-util.c: Trying front:1 with SND_PCM_NO_AUTO_FORMAT ...
D: alsa-util.c: Managed to open front:1
D: alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Little Endian) failed: Invalid argument
D: alsa-util.c: snd_pcm_hw_params_set_format(Signed 16 bit Big Endian) failed: Invalid argument
D: alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Little Endian) failed: Invalid argument
D: alsa-util.c: snd_pcm_hw_params_set_format(Float 32 bit Big Endian) failed: Invalid argument
D: alsa-util.c: Maximum hw buffer size is 743 ms
I: (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_HW_PARAMS failed
I: (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_HW_PARAMS failed
I: (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_HW_PARAMS failed
I: (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_HW_PARAMS failed
D: alsa-util.c: Set neither period nor buffer size.
I: (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_HW_PARAMS failed
I: alsa-util.c: snd_pcm_hw_params failed: Device or resource busy

PA tries to open the audio device for stereo (front:1), tries a couple of different formats, finally settles on S32NE and sets up the number of channels/rate properly. Then, it tries to configure the buffer size in a few different ways. Every single one of our tries fails, and alsa-lib warns about SNDRV_PCM_IOCTL_HW_PARAMS failing. We then go on without setting any buffer/period size, which then fails with snd_pcm_hw_params() returning EBUSY.

The other deice strings fail in similar ways.

Reassigning to the kernel, since this really smells like a driver issue.

Comment 6 Vedran Miletić 2009-10-26 11:18:59 UTC
ICE1724 devices support only S32LE, as far as I remember. Not sure how come PA chooses S32NE.

Comment 7 Lennart Poettering 2009-10-26 18:29:44 UTC
NE means "native endian". On LE architectures it is just an alias for LE, and on BE archs it is an alias for BE. There's also RE, as in "reverse endian" which on LE CPUs is BE and on BE CPUs is LE.

Comment 8 Bug Zapper 2009-11-16 12:53:05 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 9 Dawid Zamirski 2009-11-20 04:12:01 UTC
The issue seems to be gone after I've done a clean install F12 Final.