My new project: Tact, a simple chat app.

Mac OS X USB stereo headset weirdness [update: and fix]

April 05, 2007

Another OS X hardware/software weirdness. My USB stereo headset suddenly went mono. This means that it only plays crap mono sound and the sound devices widget in System Preferences tells me “no controls for this device”, instead of where should be the left/right balance gauge. So is my headset toast now and tells OS X it’s mono, even though it isn’t? (All the same after multiple plugins/plugouts, reboots and such.)

This seemed to be the most plausible explanation. Until I plugged the headset into another USB port. There it works great again with full quality.

So now I have a headset that works crappy through one USB port and fine through the other. My bet would be on the OS X internal structures enumerating and keeping track of USB devices being a bit boinkers. Any more ideas? And is there a way to fix it? I’d like to use the “other” USB port that currently doesn’t work, as it gives me a neater desk/wires setup.

And while in the process of researching this, I discovered many sites talking about how USB headset support under OS X sucks. Darn. No chance to get rid of another set of cables then (possibly replacing wired headset with wireless), as I need quality sound.

UPDATE: looks like I’ve discovered the cause of this and it’s reproducable now. It happens when I have something playing back and launch Reason at the same time. I guess it polls the sound ports in a weird way or something. So off to talk with their support… as now both of my USB ports are messed up this way :(

UPDATE: ahh, I wish everything was so easy to fix. Some googling took me to this thread. This had lots of ideas and the one that worked was indeed just fixing device preferences as I had suspected all along. Just needed to go to /Library/Preferences and there I had the file “com.apple.audio.DeviceSettings.plist” that seems to contain the settings for all known devices. So all I had to do was to open this file and kill the key/value pairs for my headset. Then, save and re-plug. Kaboom, the device is again detected properly, being a good USB headset. Great success (y)