# HOWTO get a USB Skype Phone to work

## evoweiss

EDITED October 14, 2005 to clean up some of the weird characters.

HOW-TO get a Skype Phone working in Gentoo.

My set-up: P4, 2.6ghz, 512 megs of RAM, ck-sources-2.6.13-ck7, BeyondTel SK-04 Skype Phone, on board (intel8x0) sound.

First, I do not have ALSA built into the kernel and do not have the time or extra computer to work out the specifics of how to set that sort of thing up. However, the basics should remain the same and information within this How-To could probably be used to get a Skype Phone working when ALSA is built into the kernel.

Second, the first thing to know is that USB phones are using a standard USB audio device. The name of the ALSA driver for this device is "usb-audio".

From what I can tell (and I am not writing this by my computer), three things need to exist for a Skype Phone to work:

The usb-audio ALSA drivers

Modifications to /etc/modules.d/alsasound

ALSA OSS emulation

Now, let's get started on how we get those goodies and get Skype working.

The usb-audio ALSA drivers.

Add "usb-audio" (no quotes) to the section in /etc/make.conf that reads ALSA_CARDS. On my system that line reads:

```

ALSA_CARDS="intel8x0 usb-audio"

```

The modifications to /etc/modules.d/alsasound are such that your system will be set up to have two sound cards: Your normal sound card and the USB sound card in your phone. 

Add a line under the "ALSA portion" that tells indicates the presence of an additional sound card:

```

alias snd-card-1 snd-usb-audio

```

Under the "OSS/Free portion" again point out the existence of a second sound card by adding:

```

alias sound-slot-1 snd-card-1

```

Now you want to set up the proper aliases. I have them for both the original sound card and my USB phone, though I run stuff through ALSA on my original sound card:

```

# 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-1 snd-seq-oss 

alias sound-service-1-3 snd-pcm-oss 

alias sound-service-1-8 snd-seq-oss 

alias sound-service-1-12 snd-pcm-oss 

```

If you did not have the OSS emulation set up before, you will also need to create the right devices, again via using alias statements:

```

alias /dev/mixer snd-mixer-oss 

alias /dev/dsp snd-pcm-oss 

alias /dev/midi snd-seq-oss 

```

Finally, just some extra touches to let your system know what ID numbers are assigned to the cards and how many you have:

```

options snd-intel8x0 index=0 

options snd-usb-audio index=1 

options snd cards_limit=2 

```

The next step is to make sure you have ALSA's OSS emulation enabled.

If you have "-oss" in your /etc/make.conf use flags, you will need to edit /etc/portage/package.use to include this line:

```

media-sound/alsa-driver oss

```

When you are finished doing this, run the following emerge statement (you may not need to emerge all of this, but you may as well!)

```

emerge alsa-driver alsa-lib alsa-oss alsa-utils

```

Next, to get everything working, you will need to update your modules and restart ALSA. This is the simple part (I hope!):

```

modules-update

/etc/init.d/alsasound restart

```

If all went well, you should notice that your /dev directory contains dsp and dsp1.

Your next step is to start skype, go to tools, pick phone, and choose /dev/dsp1 as the sound output.

Try calling echo123. If it doesn't sound good, don't fret like I did. I would try calling somebody else as my skypeout calls are a bit better than what you'd expect from a mobile/cellphone.

Finally, if your calls have too much echo, insert the following into .Skype/youridname/config.xml:

```

    <General>

      <AEC>1</AEC>

      <AGC>1</AGC>

    </General>

```

This is my first HOWTO. If anybody has suggestions on how to improve it and knows any tips or tricks that I have missed, let me know. 

Best,

AlexLast edited by evoweiss on Fri Oct 14, 2005 7:48 am; edited 5 times in total

----------

## vladgrigorescu

Cool!  Thanks a lot!  Off to buy one now...   :Smile: 

----------

## snoopman

same here...

----------

## e04mk

I've followed the instructions in an effort to get skype working correctly, though I do not get the device /dev/dsp1. I do have a /dev/dsp, /dev/dsp2 and /dev/dsp3 but there's no sign of any /dev/dsp1. You don't have any suggestions of what to do?

----------

## evoweiss

 *e04mk wrote:*   

> I've followed the instructions in an effort to get skype working correctly, though I do not get the device /dev/dsp1. I do have a /dev/dsp, /dev/dsp2 and /dev/dsp3 but there's no sign of any /dev/dsp1. You don't have any suggestions of what to do?

 

Hi, sorry to say that it didn't work properly. It sounds as if your alsasound.conf might be trying to set up more sound cards than the two. Do you have udev or devfs? I am running udev. Did you try using one of the additional dsps as your skype output?

Alex

----------

## e04mk

Hi again.

I'm running udev as well. I have tried the other dsps, and skype just says that there is a problem with the sound device.

I'm a bit embarrassed to ask, but I can't find alsasound.conf, where is it located? I thought it would be in /etc/. But I can't find it.

btw, thanx for your fast answer. =)

----------

## evoweiss

 *e04mk wrote:*   

> Hi again.
> 
> I'm running udev as well. I have tried the other dsps, and skype just says that there is a problem with the sound device.
> 
> I'm a bit embarrassed to ask, but I can't find alsasound.conf, where is it located? I thought it would be in /etc/. But I can't find it.
> ...

 

The file is /etc/modules.d/alsasound. I need to get going though, so I won't be able to answer right away. Perhaps if you post it, somebody will be able to help (or I could when I am back home.)

Best,

Alex

----------

## e04mk

Here's my alsaconfig:

```

# Alsa 0.9.X kernel modules' configuration file.

# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsa-modules.conf-rc,v 1.4 2004/11/16 01:31:22 eradicator Exp $

# ALSA portion

alias snd-card-1 snd-usb-audio

# OSS/Free portion

alias sound-slot-1 snd-card-1 

##

## IMPORTANT:

## You need to customise this section for your specific sound card(s)

## and then run `update-modules' command.

## Read alsa-driver's INSTALL file in /usr/share/doc for more info.

##

##  ALSA portion

## alias snd-card-0 snd-interwave

## alias snd-card-1 snd-ens1371

##  OSS/Free portion

## alias sound-slot-0 snd-card-0

## alias sound-slot-1 snd-card-1

##

# OSS/Free portion - card #1

##  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

# 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-1 snd-seq-oss

alias sound-service-1-3 snd-pcm-oss

alias sound-service-1-8 snd-seq-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

# Set this to the correct number of cards.

# --- BEGIN: Generated by ALSACONF, do not edit. ---

# --- ALSACONF version 1.0.9a ---

alias snd-card-0 snd-intel8x0

alias sound-slot-0 snd-intel8x0

# --- END: Generated by ALSACONF, do not edit. ---

options snd-intel8x0 index=0

options snd-usb-audio index=1

options snd cards_limit=2 

```

I hope someone can find something i've done wrong...   :Very Happy: 

----------

## evoweiss

Hi,

From my brief scan I think you went overboard on this file and it's doing some weird stuff. Asides from the section at the beginning, i.e.,

```

# ALSA portion

alias char-major-116 snd

# OSS/Free portion

alias char-major-14 soundcore

```

You should only need the stuff I mentioned earlier.

Alex

----------

## evoweiss

This may sound like a silly question, but, well, I am using skypeout to call landlines and that seems straightforward and reasonable. Is it really free to call other people with skype or is there some sort of hidden cost associated with it? I just have no desire to get screwed like what happened with my cellphone early on (it took a few hours of talking before I got my money back.)

Best,

Alex

----------

## snoopman

Don't worry, calls between Skype clients are absolutely free, no hidden costs   :Very Happy: 

----------

## Thundah

It doesn't work:

```
mauro@rey22 ~ $ dmesg | tail

ACPI: PCI Interrupt 0000:00:0a.0[A] -> GSI 18 (level, low) -> IRQ 19

ALSA /var/tmp/portage/alsa-driver-1.0.9b/work/alsa-driver-1.0.9b/alsa-kernel/pci/ens1370.c:677: codec read timeout (final) at 0x9414, reg = 0x28 [0x190]

ALSA /var/tmp/portage/alsa-driver-1.0.9b/work/alsa-driver-1.0.9b/alsa-kernel/pci/ens1370.c:677: codec read timeout (final) at 0x9414, reg = 0x3c [0x190]

ALSA /var/tmp/portage/alsa-driver-1.0.9b/work/alsa-driver-1.0.9b/alsa-kernel/pci/ens1370.c:677: codec read timeout (final) at 0x9414, reg = 0x2a [0x26000f]

usbcore: registered new driver snd-usb-audio

ALSA /var/tmp/portage/alsa-driver-1.0.9b/work/alsa-driver-1.0.9b/acore/oss/mixer_oss.c:1292: unable to register OSS mixer device 0:0

ALSA /var/tmp/portage/alsa-driver-1.0.9b/work/alsa-driver-1.0.9b/acore/oss/pcm_oss.c:2465: unable to register OSS PCM device 0:0

```

Here is my /etc/modules.d/alsa file

```
mauro@rey22 ~ $ cat /etc/modules.d/alsa

# Alsa 0.9.X kernel modules' configuration file.

# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsa-modules.conf-rc,v 1.4 2004/11/16 01:31:22 eradicator Exp $

# ALSA portion

# OSS/Free portion

##

## IMPORTANT:

## You need to customise this section for your specific sound card(s)

## and then run `update-modules' command.

## Read alsa-driver's INSTALL file in /usr/share/doc for more info.

##

##  ALSA portion

alias snd-card-0 snd-ens1371

alias snd-card-1 snd-usb-audio

##  OSS/Free portion

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-1 snd-seq-oss

alias sound-service-1-3 snd-pcm-oss

alias sound-service-1-8 snd-seq-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

# Set this to the correct number of cards.

options snd-ens1371 index=0

options snd-usb-audio index=1

options snd cards_limit=2

```

And my /etc/make.conf:

```
# These settings were set by the catalyst build script that automatically built this stage

# Please consult /etc/make.conf.example for a more detailed example

CFLAGS="-O2 -march=i686"

CHOST="i686-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j2"

USE="gtk -gnome qt kde alsa cdr dvdr dvd kdeenablefinal -xmms win32codecs xvid divx4linux -quicktime sse mmx cups foomaticdb ppds usb"

ACCEPT_KEYWORDS="~x86"

ALSA_CARDS="ens1371 usb-audio"

```

Thx for your help,

Mauro

----------

## evoweiss

Hi,

 *Thundah wrote:*   

> It doesn't work:

 

I'm not sure why my solution worked, so I am purely guessing here.

First, you don't have the following in your modules.d/alsa file:

```

# ALSA portion

alias char-major-116 snd

# OSS/Free portion

alias char-major-14 soundcore

```

Second, did you run modules-update after doing this and then restart alsasound? Did you re-emerge alsa-driver after modifying /etc/portage/package.use? 

Best,

Alex

----------

## slackline

Thank you very much for this  :Very Happy: 

I have alsa compiled into my kernel and used this guide to get everything working.

There are two tweaks that are required if you have alsa compiled in your kernel....

1. You don't need to emerge alsa-driver (and therefore don't need to add the relevant line to /etc/portage/package.use to get it to use oss)

2. I didn't bother updating /etc/module.d/alsa after emerging alsa-lib alsa-oss or alsa-util as I'd already configured it.

I'd strongly recommend backing up /etc/module.d/alsa though, just in case when you update your system in the future (think emerge -uDNv world) you don't inadvertantly over-write it.

Off to make some free phone calls back to the UK now (well later since I'll wake everyone up calling them at this time!!!).

Thanks again

slack

----------

## snake111

hi, I followed the howto but i can't get it work, i get no /dev/dsp1 (only /dev/dsp is present), i have the following when I do "/etc/init.d/alsasound restart"

```
* Re-caching dependency info (mtimes differ)...

 * Storing ALSA Mixer Levels ...                                                                          [ ok ]

 * Unloading ALSA ...                                                                                     [ ok ]

 * Unloading ALSA modules ...                                                                             [ ok ]

 * Re-caching dependency info (mtimes differ)...

 * Re-caching dependency info (mtimes differ)...

 * Re-caching dependency info (mtimes differ)...

 * Re-caching dependency info (mtimes differ)...

 * Loading ALSA modules ...

 *   Loading: snd-card-1 ...

FATAL: Module snd_usb_audio not found.                                                                    [ ok ]

 * Restoring Mixer Levels ...    
```

from "lsusb" I get:

```
Bus 002 Device 003: ID 6993:b001 Freshtel FT-102 VoIP USB Phone
```

from dmesg I get:

```
usb 2-2: USB disconnect, address 2

usb 2-2: new full speed USB device using uhci_hcd and address 3

usb 2-2: not running at top speed; connect to a high speed hub

hiddev96: USB HID v1.00 Device [Yealink Network Technology Ltd. VOIP USB Phone           ] on usb-0000:00:1d.0-2

```

any idea?

thanks

EDIT: solved! now works! I had to enable as module in the kernel "USB Audio/MIDI driver" under:

```

-> Device Drivers                                                                                   

    -> Sound                                                                                      

        -> Advanced Linux Sound Architecture                                          

            -> USB devices

```

----------

## dj_farid

I have my phone working so that I can use the microphone and speaker in it.

But has anyone succeeded to use the buttons on the phone?

Is there a way to somehow get the buttons on the phone to do something, without having to write a specific driver for the phone?

----------

## evoweiss

 *dj_farid wrote:*   

> I have my phone working so that I can use the microphone and speaker in it.
> 
> But has anyone succeeded to use the buttons on the phone?
> 
> Is there a way to somehow get the buttons on the phone to do something, without having to write a specific driver for the phone?

 

Most of the buttons on my phone 'just worked' as it registered as an external keypad when I plugged it into the USB port. My suggestion would be to check to see whether dmesg gives you the same response when you plug in your phone and then find out how to get that working. You may have to program some of the key punches.

Sorry I can't be of more help here.

Best,

Alex

----------

## Kobal

My output not work  :Sad: 

xfce4-mixer audio output result.  :Sad: 

drivers/usb/input/yealink.c: unexpected response fd

# --- BEGIN: Generated by ALSACONF, do not edit. ---

# --- ALSACONF version 1.0.11 ---

alias snd-card-0 snd-via82xx

alias sound-slot-0 snd-via82xx

alias snd-card-1 snd-usb-audio

alias sound-slot-1 snd-usb-audio

options snd-via82xx index=0

options snd-usb-audio index=1

options snd cards_limit=2

kernel  2.6.18-ck1

----------

## Kobal

help.   :Crying or Very sad: 

----------

## dejawoo

i've read the topic, i've done everything that i learned, it didn't work for me.. then i read again, it worked. an advice   :Very Happy: 

----------

## mndar

evoweiss,

            Thanks man. Followed your instructions. Took less than 10 minutes to set it up. 

            Specifications of my phone http://www.vavolo.com/productdetails.asp,mode,0,ProductID,3264

----------

## ExecutorElassus

what mndar said. I'd been trawling around the internets for a good couple hours, before I found this post. fixed it all up in a jiffy.

Well, that and actually plugging in the §%&*#! usb-phone, but this post helped a lot anyway.

----------

## doesntcount

I have a vta1000 from this pcphoneline company (pcphoneline.com). Their windows-only (boooo) software requires me to key in a registration code - found on the hardware itself - before I can use it.

Am I going to be able to use these instructions to get this working? I guess I can find out by trying, but I don't want to waste my time if there's no hope.

Any advice would be appreciated. Thanks.

----------

