Plantronics DSP-400 in Linux
This article chronicles my experiences in trying to make the DSP-400 headset work in linux.
Update -- June 8, 2005
I no longer have this equipment and can't field any more questions on how to make it work. Thank you for your interest! There are more notes on how to work with this headset located at: http://www.ubuntulinux.org/wiki/PlantronicsUSBHeadsetControls
Update -- October 16, 2004
I received an email from Paul, who says the following:
"Have you made some progress? I have, I noted that my unmute button
sends the esc key to X. I investigated (with 'xev'), and found that my
sound increase and decrease buttons send an unused keycode.
I found a deamon called LinEAK capable of capturing those keycodes and
execute a command. With 'amixer' I had the command to control the
mixer with command line options. "
After a lot of work trying to figure out how to get the Plantronics DSP-400 to work under linux, I've finally figured it out more or less. Hopefully many of you who are trying the same thing will find this useful, as I've noticed a LOT of posts in forums that got no response. Here is what I did to make it work.
- Your kernel needs to be configured correctly, obviously. For ALSA related issues, I was instructed to follow a general rule, which is, "if it's not needed to boot the operating system, it shouldn't be in the kernel." In other words, compile the ALSA USB sound support as a module. In case you don't know where this is at in the kernel config menu, it is located under:
Device Drivers --> Sound --> Advanced Linux Sound Architecture --> Alsa USB Devices --> <M> USB Audio/MIDI driverMake sure it's compiled as a module (<M>), NOT into the kernel (<*>).
- Apparently, though I haven't confirmed this, you do NOT need and possibly should NOT have support for USB audio in any form. From the kernel config menu, it's located under:
Device Drivers --> USB Support --> < > USB Audio supportNo <M> or <*>, just blank. If you are approaching this from the .config file, this means that CONFIG_USB_AUDIO should be set to N.
- Next, I put the proper options in my /etc/modules.d/alsa file (Gentoo specific) or for other distro's, it's the modules.conf file. The following is my output of that file.
## IMPORTANT: ## You need to customise this section for your specific sound card(s) ## and then run `update-modules' command. # OPTIONS options snd major=116 cards_limit=2 options snd-intel8x0 index=0 options snd-usb-audio index=1 # ALSA portion alias char-major-116 snd alias snd-card-0 snd-intel8x0 alias snd-card-1 snd-usb-audio # OSS/Free portion alias char-major-14 soundcore alias sound-slot-0 snd-card-0 alias sound-slot-1 snd-card-1 # OSS/Free portion - card #1 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss ## OSS/Free portion - card #2 alias sound-service-1-0 snd-mixer-oss alias sound-service-1-3 snd-pcm-oss alias sound-service-1-12 snd-pcm-oss alias /dev/mixer snd-mixer-oss alias /dev/dsp snd-pcm-oss alias /dev/midi snd-seq-ossAfter doing this, I get the following output:
vigilance ~ # cat /proc/asound/cards 0 [I82801DBICH4 ]: ICH - Intel 82801DB-ICH4 Intel 82801DB-ICH4 at 0xf4fff800, irq 7 1 [Headset ]: USB-Audio - Plantronics Headset Plantronics Plantronics Headset at usb-0000:00:1d.1-1, full speed
Low and behold, after doing this, programs like XMMS actually recognized the hardware and let me play music on it quite nicely. Now to figure out how to get hardware buttons working, and how to control the volume.
So, you get it working and you wonder how on earth you can control the volume of the hardware doesn't work... Well, the answer is alsamixer. I tried that, but it didn't have any new options. Then it was pointed out to me that alsamixer -c 1 selects sound card 1, and lets you change the settings. It's great.