Tuesday, June 27, 2006

USB Headset on Suse 10.1
Software

I've got a Dell Inpsiron 6000 laptop which is generally pretty good (except for the support). However, the built-in microphone doesn't seem to work at all, and apparently doesn't work on quite a few of their laptops.

So I got hold of a USB headset to try out instead. I've managed to get it going, but not without a number of problems.

Keep reading over the break for those interested in such technical matters.

First of all, I'm running Suse 10.1 which auto-detected the on-board sound on the laptop - that works fine, so I can play my music. I thought using a USB headset would be rather simple, so I got hold of a Logitech Stereo USB Headset 250, and plugged it in.

Unsurprisingly, nothing happened, but nothing obvious happened on Windows either. So after confirming that it hadn't magically set it up behind the scenes, I went into Yast to configure it as a generic USB sound device. That was pretty simple, and the test within the Yast sound applet worked correctly.

However, none of my applications could use it. And when I went back into Yast, it had managed to lose the name of the USB device, and more importantly, couldn't delete it, and crashed whenever I tried to edit it.

Not good.

After much hunting around, I found where Yast stored its sound configuration (/etc/modprobe.d/sound and /etc/sysconfig/hardware/hwcfg-xxxx) and manually removed the USB device. I added it again via Yast and it screwed up again.

Eventually I found that it had created the device as /dev/dsp1 and /dev/audio1 (/dev/dsp and /dev/audio are the onbound sound). So, I thought I simply need to get KDE to recognise /dev/dsp1 as the default audio device and all should be good.

Hmmm.

I couldn't find where I set this for KDE. The sound manager under the personal settings applet claims to configure it, but couldn't seem to switch devices.

So I went for the hacky approach:

rm /dev/audio
rm /dev/dsp
ln -s /dev/audio1 /dev/audio
ln -s /dev/dsp1 /dev/dsp

And it worked. Basically all that script does is to create a symbolic link from the default sound system to my USB device, but once that script had been run, everything worked fine with both the headphones and the built-in microphone - yay, I can Sykpe again.

However, a reboot wipes this out and recreates the standard devices. I was unable to determine precisely when this was occurring (as it appears to differ between a shutdown restart, and a simple reboot), so I ended up both scripts in both /etc/init.d/rc5.d (runlevel 5 for my normal bootup) and in /etc/X11/xinit/xinitrc.d (to run when X Windows starts). Between them, they seem to have resolved it completely.

This is definitely not the best solution, and if someone can tell me how to set this up without Yast and KDE getting confused I'm interested. But it will do for now...

Trackbacks

TrackBack URL for this entry:
http://www.cloudsofheaven.org/cgi-bin/mt-tb.cgi/157.

Comments

At 29 Jun 06 12:36 PM, Ashley Clarkson said...

Try one of the solutions in these threads:

http://forums.gentoo.org/viewtopic-t-432414-highlight-usb+headset.html

http://forums.gentoo.org/viewtopic-t-445366-highlight-usb+headset+switch.html

Never used Suse, but surely the same principle applies for this stuff in Suse as it does in Gentoo.


Post a comment