[callout] This is an article I created almost a decade ago on how to get a Plantronix DSP-400 headset working in Linux and at the time it was very useful. The website it was on has been taken down, so I post this here simply to keep it available in case it helps someone.[/callout]

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: https://help.ubuntu.com/community/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.

  1. 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 driver

    Make sure it’s compiled as a module (<M>), NOT into the kernel (<*>).

  2. 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 support

    No <M> or <*>, just blank. If you are approaching this from the .config file, this means that CONFIG_USB_AUDIO should be set to N.

  3. 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 customize 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-oss

    After 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.