Get Skype For Linux Audio Working With Your Headset Or Webcam

If you've installed Skype for Linux but your audio isn't working, the problem may be that PulseAudio isn't configured correctly. This can be an issue when using multiple audio sources, e.g. plugging in an external USB device like a webcam or headset. An obvious symptiom is when you click the the Skype "Make a test sound" button and hear sound on your speakers, but not through the device.

Correcting audio involves making a Skype test call


Now that Skype has stopped supporting the ALSA sound system, the best way to get sound working is to use the Pulse Audio volume control (pavucontrol). Although different from the basic mixer ("Volume Control") GUI, it's a lot less confusing once you get used to it. If your Ubuntu/Debian system doesn't have it, you can install it with:

sudo apt-get install pavucontrol

Troubleshooting preliminaries

When you launch pavucontrol, it offers you five tabs: Playback, Recording, Output Device, Input Device, Configuration. The trick to getting Skype to use the right device is to enable it in the Playback and Recording tabs while you are playing a test sound or making a test call from Skype. Otherwise, the device won't be visible in these tabs, although you'll see it in the others.

Before making a test call, go through these tabs and confirm that your device is recognized. If PulseAudio fails to show it, anything you configure in the Skype application itself will likely fail. First, click on the Playback tab. Then open your Skype application side-by-side with it, click on the Options menu and go to the Sound Devices tab.

Look for your device in the pavucontrol Configuration tab

First, look for the device in the pavucontrol Configuration tab, it should appear as shown above. My USB headset is the one labeled "C-Media USB Audio Device". If it doesn't show up, you've got a problem more basic than this blog post -- or the Skype application -- can solve. Also, if you're going to use it for listening as well as a microphone, its Profile should be set to "Analog Stereo Output + Analog Mono Input".

Unmute your microphone and test the meter in the Input Devices tab

Second, click on the Input Devices tab. The same device you saw in Configuration should appear again. The Port should say "Microphone". Ensure that the device is not muted. The background square around the icon should not be grey. (The status is confusing to read because the icon shows an "x" next to it regardless.) Now test your microphone by speaking into it. It should move the meter.

Unmute your headset speakers in the Input Devices tab

Similarly, go to the Output Devices tab. Unmute your device. Mute the "Built in Audio Analog Stereo" device unless you want both sets of speakers playing at once.

Making the test call

Now jump over to the Skype application and click the "Make a test call" button (from the Options menu, Sound Devices tab). While the call is made, Watch the pavucontrol Playback screen in the pavucontrol window and you'll see the Skype application pop up. Click on the button that identifies the Skype output device and change it to the one you plugged in. You should start hearing audio immediately.

Change the playback device during a Skype test call

Click on the pavucontrol Recording screen and do the same thing: switch the Skype input from the default device to the USB one.

Change the recording device during a Skype test call

You're all set to make real calls on Skype now. I can't promise it won't happen again. Skype on Linux is finicky compared with Windows. It seems I run into this issue every few weeks. At least now I know how to fix it temporarily.

Categories: Multimedia, Linux Applications

Tomato Firmware Install On Asus RT-N10P Router

I've been running Tomato for several years on an Asus WL-520GU router. Tomato is a firmware replacement with similar features to DD-WRT, but simpler to configure. I recently upgraded to an Asus RT-N10P router. It wasn't the WL-520GU's limitation to wireless G speeds that was bothering me. It was the fact that I could never achieve the full 50 mbps broadband speed my ISP now offers. I knew the higher speeds were possible, because Speedtest measured that high when I plugged my laptop directly into the cable modem. The old router maxed out at around 30 mbps.

Tomato makes DHCP configuration painless

Although I was eager to ditch the old router, I wanted to keep running Tomato. It makes management of my home LAN a cinch. In additiona to physical machines, I run several virtual ones using Proxmox. Tomato makes it easy to create static DHCP addresses for each one, in addition to basic wired/wireless network management and advanced features like port forwarding, QoS, and UPnP/NAT-PMP.

Like with the old router, the challenge is getting there: replacing the ASUS factory firmware with the new one. Following another user's guide for installing Tomato on the Asus RT-N66U and this Youtube video, I was able to get the Shibby Tomato firmware running in about an hour. Here's what I did. I used a Windows laptop, because

  • Download latest K26RT-N build from Shibby's site. You have a choice of different size builds depending on the features you want. I chose the "max" one, tomato-K26-1.28.RT-N5x-MIPSR2-121-Max.trx.
  • Download and install Asus restore/rescue utility (the smaller 11mb file, not the bigger one). I used the one for RT-N10U -- a slightly different model number ( Open the .zip file from a Windows PC and run setup.exe to install the full set of utilities.
  • Disconnect the Windows PC if it is wired into any LAN. Use Windows Control Panel to disable the wireless adapter. We want to force all internet communication through a direct ethernet cable connecting our PC to the router.
  • Also in Control Panel, open TCP/IP properties for the wired adapter and set an IP of (change from DHCP to static IP).
  • Connect ethernet cable between laptop and router.
  • Disconnect power cable from router. Hold pen or paper clip in reset and hold for 5 seconds. Continuing holding in as you re-attach power, then press the power button. Power LED (far left) on router should start blinking slowly -- on every few seconds. If it doesn't, you're not in recovery mode. Try the above steps again, beginning with "Disconnect power cable".
  • Run rescue.exe from the directory where Asus utilities were installed (Programs x86 directory). Browse to filename with .trx extension you downloaded. Click Upload. It may say connecting to wireless device, but it will really be using the LAN cable. Upload should begin within seconds. If not, you haven't properly set your static IP above, or the router is not in recovery mode.
  • Progress bar will finish within a minute. Message will say, "Successfully recovered the system. Please wait for the system to reboot". Here, you have to decide how much time to wait before restarting the router, because you won't get any clues from your computer's screen. I played it safe and walked away for an hour. I think I could have rebooted safely in much less time than that. I did notice when I rebotted that the Power LED (#1) was blinking on/off every second, #2 button was solid green, and the buttoon on the far right was solid green. Other LED"s were off. Power the router off and on. Browse to (user is "root", password is "admin"; I wasn't prompted for a login, maybe because I hadn't set one yet).
  • Navigate to Administration -> Configuration. Under Restore Default Configuration, select "Erase all data in NVRAM memory (thorough)". Click "OK". Wait for the router to be ready (90 second countdown). (The three lights should be solid green. When you Shutdown thru the UI, it goes down to two lights, one on each end.)
  • Reset your Windows computer wired adapter to use DHCP Instead of static IP; re-enable wireless if you had disabled it.

I'm happy with the upgrade. And yes, I'm getting 50 mbps through the new router.


Categories: Networking

Tags: router

Add Instant Fonts And Highlighting To Your Website

By adding a few lines to your web pages' template, you can improve your web site's appearance. You don't need to download or configure any additional files. The CSS and javascript are hosted for you.

Just add lines like these examples between the <head> tags.

Google offers hundreds of high-quality web fonts

Google Web Fonts

Why struggle with maintaining your own fonts? Use Google's. Choose a family of font styles from the Google fonts collection. Enter the family name as the parameter in a stylesheet directive like this one for Open Sans:

<link rel="stylesheet" type="text/css" href="">

Syntax Highlighting

highlight.js applies automatic color highlighting to all HTML blocks within <pre><code> tags. Add these two lines:

<link rel="stylesheet" href="">
<script src=""></script>

To trigger the highlighting, add this third line:



Categories: Development

Tags: CSS, font