Creative X-FI mic input only works when a different input is selected

So i have an odd problem. I installed openSUSE 11.4 x64 over the weekend and in the process of setting up my system i discovered that the microphone ports on my Creative X-FI Titanium only work when the input device in any audio capture program or the mixers is set to my Logitech webcam for business 3000. This is also the best i have gotten it at first it didn’t work at all but i updated ALSA, KDE and pulseaudio to the latest versions from the repositories and even went as far as building a custom kernel from the latest available 2.6 source in the kernel repo.

I was just wondering if anyone has seen this behaviour before and if so how they fixed it. I’ve tried everything i could think off and everything that has come up in my google searches and forum searches but nothing works.

One other note, I just wanted to say hey to oldcpu and the rest of the SLS crew. It’s good to be back

I don’t have Creative X-FI hardware, so I can’t answer your question re" if I have seen such behaviour.

Typically when I want to solve an audio problem, I look for the output provided by the information suggested to provide in the quoted section of our multimedia stickie: Welcome to multimedia sub-area which provides all sorts of detail on the installed rpms, alsa versions, and sound hardware/software configuration on one’s PC.

Cool Thanks Oldcpu. I’ll have a look at this when i’m next in nix I’ve been really busy doing development work in windows thease last few days.

I’ve just spend 3 hours going though the link oldcpu provided and got nothing. If anything things are a little worse because now the system can’t see the mic port my sound card has.

I’m gonna compile alsa from source (wooo /sarcasm) and see if that works.

I need a beer…

Either I worded my post wrong, or you did not understand my intent. The intent was for you to PROVIDE the information. I’ll quote:

the information suggested to provide in the quoted section of our multimedia stickie

ie it should not take you 3 hours to bang your head against the wall, when trying to provide the information requested? Not solve. Provide.

Please, what in the instructions where you are asked to provide do you not understand ? How could I have better worded my request ?

The way the post was written made it sound like a “this is what i would do” sort of thing. So that is what i did. hit up the link, ran through the steps, checked everything and got nothing. If you would really like to see the output from the script you will find it here.

Just so you know, I have just rebooted after a complete custom compile of ALSA. I got the X-FI mic port to be recognised again but it still doesn’t accept any input. Also none of the alsa tools starts (before or after i self compiled them). ALSAmixer, for example, give the following error (both as root and a normal user).

ALSA lib dlmisc.c:236:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib64/alsa-lib/libasound_module_ctl_pulse.so
cannot open mixer: No such device or address

I know nothing about the error you quoted. I have no idea what you did to get the error. But you custom compiled alsa and my guess it is because of that custom compilation.

And since you mentioned compiling … that adds a MASSIVE unknown into this. For all I know you could have compiled with inappropriate configuration … etc …

Also, the link I provided asked for information on alsa rpms installed, pulse, etc … Is it not possible to provide that ? Or has your compilation made that invalid ?

Now, from the diagnostic script I note this:


ARECORD

**** List of CAPTURE Hardware Devices ****
**card 0:** XFi [Creative X-Fi], **device 0:** ctxfi [Front/WaveIn]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
**card 1**: U0x46d0x9a5 [USB Device 0x46d:0x9a5], **device 0**: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

So clearly, you have two record devices: hw:0,0 (XFi) and hw:1,0 (USB mic)

So you can start the application pulse audio volume control (pavucontrol) [install it if not installed already], and ensure you have the appropriate setting applied in the ‘configuration’ tab for your Xfi, and ensure in the ‘input devices’ tab that with SHOW set to ‘all input devices’ you have your mic unmuted. And then when trying to record, check the ‘recording tab’ (with SHOW set to ‘all streams’) and if it shows the stream (it might not) then check you have the appropriate mic set in the application recording entry.

Then use the application ‘arecord’ to test your recording.

For example, for the USB mic try:


arecord -f S16_LE -c 2 -D hw:1,0 new.wav

and play back new.wav with a media player, such as :


aplay new.wav

and for your Xfi mic try this:


arecord -f S16_LE -c 2 -D hw:0,0 new.wav

Pay ATTENTION to the error messages you get with ‘arecord’. Its possible the ‘2-channel’ option I use with ‘-c 2’ is not appropriate for your setup. Or its possible the format I use with ‘-f S16_LE’ is not appropriate for your setup. My experience is arecord is very good in saying what the error is.

i did say that the alsamixer error was occurring before i compiled any software. Also i have been compiling software in linux since i was 13 (that’s nearly 16 years). So i think i know what i’m doing. I also did say that none of the alsa tools have ever worked. Further research proved that it was the way i was using the tools that caused the problem. Because i have 2 sound devices i actually have to specify the device i want to use, like you have above

Yes, self compiling alsa does make the alsa rpm’s invalid but i didn’t actually see the request to post my pulse rpm versions so i didn’t do it but it is now pasted below

rpm -qa | grep pulse | less

pulseaudio-module-jack-1.0-76.1.x86_64
pulseaudio-utils-1.0-76.1.x86_64
pulseaudio-equalizer-2.7rev4-0.pm.1.1.noarch
libpulse-devel-1.0-76.1.x86_64
libpulse-mainloop-glib0-1.0-76.1.x86_64
libpulse0-1.0-76.1.x86_64
libpulse0-32bit-0.9.22-6.11.1.x86_64
pulseaudio-esound-compat-1.0-76.1.x86_64
libxine1-pulse-1.1.19-50.13.x86_64
libpulse-browse0-0.9.22-6.9.1.i586
alsa-plugins-pulse-1.0.24-64.1.x86_64
pulseaudio-module-lirc-1.0-76.1.x86_64
pulseaudio-module-zeroconf-1.0-76.1.x86_64
pulseaudio-1.0-76.1.x86_64
pulseaudio-module-x11-1.0-76.1.x86_64
pulseaudio-module-bluetooth-1.0-76.1.x86_64

the alsa rpms (not that they do anything atm. They can be reinstalled with no issue though)

rpm -qa | grep alsa | less

alsa-devel-1.0.24.1-119.1.x86_64
alsa-tools-gui-1.0.24.1-31.1.x86_64
alsa-firmware-1.0.24.1-17.1.noarch
alsa-plugins-1.0.24-64.1.x86_64
alsa-oss-32bit-1.0.17-65.1.x86_64
alsamixergui-0.9.0rc1-749.1.x86_64
pyalsa-1.0.22-13.2.x86_64
alsa-utils-1.0.24.2-51.1.x86_64
alsa-plugins-pulse-1.0.24-64.1.x86_64
alsa-plugins-32bit-1.0.24-64.1.x86_64
alsa-tools-devel-1.0.24.1-31.1.x86_64
alsa-oss-1.0.17-65.1.x86_64
alsa-tools-1.0.24.1-31.1.x86_64
alsa-1.0.24.1-119.1.x86_64

In pavucontrol, under input both microphone devices are displayed. Both are unmuted and yet only the webcam mic shows an input (X-FI mic was tested in both front and back ports)

The output from arecord is also empty when using the X-FI mic (also tested using front and rear ports) and yes i did check the accepted audio formats by using arecord --help to print them.

So what’s next?

Webcam mic ‘shows an input’ ?? But does it record ?

I assume the USB mic worked ? Some feedback from you on the positive side would be nice, especially if there was something positive. ie USB mic ? Yes ? No ? Or if the USB mic did not work that information might also be useful. ie maybe there is also a problem with arecord (Sorry - I thought it intuitively obvious that if I gave the command for USB mic (which I did) and if one has 2 mics, both should try BOTH and post if arecord worked for both, to help see if this is a problem specific to one device). If I have to type in detail the reason for every suggestion, I would have to give up my day job which pays my salary (and has nothing to do with GNU/Linux). :frowning:

Whats next ?

Double check your pavucontrol settings. Odds are you have that set wrong.

Reference custom compile of alsa. IMHO thats not the optimal way to get a more cutting edge alsa. The best way is to install the alsa updates created by the openSUSE packager for sound. Guidance here: SDB:Alsa-update - openSUSE Those rpms are MORE cutting edge than what is on the alsa site.

… and failing that you are into bug reporting territory, guidance here: openSUSE:Submitting bug reports - openSUSE

I note in past cases, I have had users say they checked their ‘pavucontrol’ settings. They noted nothing worked. I then had them post their settings that were available. I suggested some settings. They tried one and it worked. … How could that be ? Turns out they only tried ‘some’ of the settings, and kept no record of what they were trying. Eventually frustration loomed so large they could no longer see what they were trying.

I’m not saying this is what is happening here (this could be a problem with Xfi driver) but I am saying I’ve seen strange things with GNU/Linux users and their mics in the past where frustration has blocked the obvious.

Sorry, I’ve been busy with work

Yes the USB mic did record and my pavucontrol settings are fine (i’ve checked them more times than i can count :slight_smile: ) tbh i’m gonna give up on it coz it’s not that important tbh. I only need the good mic (the one attached to my sound card) for gaming applications and i don’t have the patience or the inclination to keep bashing my head against a brick wall like i have in the past. Eventually the brain damage starts to show.

Thanks for the time though oldcpu