Template:K Quantal/Hardware


Jump to: navigation, search



CPU and motherboard

The Linux kernel in versions of (K)Ubuntu starting with Karmic Koala implemented mandatory CPU temperature and fan speed sensor monitoring (which was optional in previous kernels). The output from the sensors is used to effect CPU scaling (throttling) in the event of "out of range" temperature values. However, not all motherboards/CPUs have sensor drivers available, and due to a bug in the feedback routine, missing sensors drivers incorrectly report as an "out of range" error in the kernel. Originally this threw multiple errors which were logged (using rsyslogd) to both the /var/log/kern.log and the /var/log/syslog files, filling them to multiple Gb size within a few hours. This had the effect of slowing, then freezing, the machine. (Eventually the machine will simply not boot.)

The workaround involves disabling the ONDEMAND module.

Disable CPU Frequency scaling

This error shows on my system (at boot and in the kernel and system logs) as:

powernow-k8: failing targ, change pending bit set

My motherboard does not have drivers for my CPU fan sensor. Therefore, the Linux kernel cannot monitor the temperature and fan speeds properly and throttles the CPU (aka frequency scaling) inappropriately. This has the effect of slowing or freezing my computer. To turn off this behavior, I used the Debian RCConf utility:

sudo apt-get install rcconf dialog
sudo rcconf

and unchecked the ONDEMAND item. (I also unchecked the fan control item). I then rebooted. For more info, see this.

  • An alternative command is:
sudo update-rc.d ondemand disable

(Note: These instructions may not work with newer Linux kernels.)


libsensors (libsensors3 and/or libsensors4) is a module that allows an interface (such as lm-sensors) to monitor your motherboard/CPU temp and fan speeds. You can adjust settings:

sudo kate /etc/sensors.conf
sensors -s

libsensors and lm-sensors are not used by the Linux kernel (which uses other routines).

Some hardware CPU sensors are not recognized by the Linux kernel, causing system slowdown or freezing. Here is some info about hardware/sensors problems.

Sensors-applet (Motherboard monitoring)

Sensors-applet (or xsensors) is the Gnome (Ubuntu) frontend for lm-sensors. These sensors monitor the temperature and fan-speed sensors of your motherboard.

sudo apt-get install sensors-applet lm-sensors
sudo sensors-detect
  • Make sure your sensors are installed.

For more info, see this thread.

Graphics Cards

Frequency Out of Range / Choose New Resolution

  • If this error appears when booting Natty Narwhal or later versions, see the solution found here at Ubuntu Forums:
  • Edit the grub configuration file:
sudo nano /etc/default/grub
  • Edit the lines:
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
by removing the comment hashmark and choosing an appropriate resolution so that the lines resemble:
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
  • Re-build the grub configuration file:
sudo update-grub

Install Latest Nvidia/ATI drivers

Ubuntu uses a GUI frontend to Jockey for the installation of the proprietary nVidia drivers (and other proprietary drivers).

Menu -> System -> Hardware Drivers
  • Sometimes after a kernel upgrade a proprietary driver may stop working. In such a case, try installing the new linux-headers that match the newly upgraded kernel:
sudo apt-get install linux-headers-$(uname -r)
If dkms and build-essential have never been installed on your system, these can also be worthwhile:
sudo apt-get install dkms build-essential

Intel integrated graphics cards

  • None of my computers with Intel integrated graphics had problems installing Quantal. If the screen blanks or freezes at bootup, however, or flashes a "Frequency Out of Range" error several times, these steps may work around this problem. (I found, however, that these changes were NOT necessary and actually provided me with a worse boot up appearance).
  • When booting up, choose recovery mode as root (or "root with networking"). This will give the command line (as root user).
  • Edit the Grub2 configuration file:
sudo nano /etc/default/grub
  • Make sure a graphics mode is specified (i.e. the relevant line is uncommented), according to these steps, such as:
  • Change the line:
or, alternatively,
GRUB_CMDLINE_LINUX_DEFAULT="quiet nouveau.blacklist=1"
In previous versions of (K)Ubuntu I used
GRUB_CMDLINE_LINUX_DEFAULT="quiet i915.modeset=0"
but I don't think this option is required or used any longer.
  • Then regenerate the Grub2 configuration file:
sudo update-grub
sudo grub-mkconfig --output=/boot/grub/grub.cfg
After rebooting, graphics will usually work.
Intel graphics resolution problems
  • On a fresh installation of Karmic Koala I had no problems with my onboard Intel graphics card. However, on an update from Jaunty to Karmic, I could not get higher screen resolutions -- the same problem I had in Jaunty. A solution to achieve higher resolutions is to revert to the old Intel drivers (used in Intrepid), as detailed here.
Screen Keeps Flickering

If you have an Intel Corporation Mobile 915GM/GMS/910GML card, your screen may flicker every 5-10 seconds. To prevent this:

  • Menu -> System -> Administration -> Advanced -> Service Manager -> Uncheck "Detect RANDR (monitor) changes"

Reconfigure xserver-xorg

sudo dpkg-reconfigure xserver-xorg


Before installing any driver for ATI or nvidia, please make backup xorg.conf before following this method.

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

If you have edited this file but would like it to be automatically updated again, run the following command:

sudo dpkg-reconfigure -phigh xserver-xorg

If you want to try this xorg.conf after installing the driver, you must back up your xorg.conf as following. And then, edit /etc/X11/xorg.conf in text editor. Add or modify this xorg.conf sample.

xorg.conf for nvidia
 Section "Screen"
 Identifier "Default Screen"
 Device "Configured Video Device"
 Monitor "Configured Monitor"
 SubSection "Display"
 Depth 16
 Modes "1280x1024" "1024x768"
 Option "AddARGBGLXVisuals" "True"

 Option "AddARGBGLXVisuals" "True"
 Defaultdepth 24
 Section "Module"
 Load "glx"
 Load "GLcore"
 Load "v4l"
 Section "Device"
 Identifier "Configured Video Device"
 Boardname "vesa"
 Busid "PCI:1:0:0"
 Driver "nvidia"
 Screen 0
 Section "Device"
 Identifier "Device0"
 BoardName "Generic Geforce 5500"
 Driver "nvidia"
 Vendorname "NVIDIA Corporation"
 Option "DualHead" "1"
 Option "ShadowFB" "1"
 Option "FPScale" "1"
 Option "TwinView" "True"
 Option "TwinViewOrientation" "RightOf"
 Option "UseEdidFreqs" "True"
 Option "Metamodes" "1024x768,1024x768"
 Option "UseDisplayDevice" "DFP"
 Section "Device"
 Identifier "Videocard0"
 Driver "nv"
 VendorName "NVIDIA Corporation"
 BoardName "GeForce 7600 GT"
 Section "InputDevice"
 Identifier "Generic Keyboard"
 Driver "kbd"
 Option "XkbRules" "xorg"
 Option "XkbModel" "pc105"
 Option "XkbLayout" "us"

 Section "InputDevice"
 Identifier "Configured Mouse"
 Driver "mouse"
 Section "ServerLayout"
 Identifier "Default Layout"
 screen 0 "Default Screen" 0 0
 Section "Extensions"
 Option "Composite" "Enable"
xorg.conf for intel
  • Make sure you try the solution here (including sudo update-grub and rebooting) before creating a new xorg.conf. It may solve your problem and you may not need this step.
Section "Device"
       Identifier      "Configured Video Device"
       Driver          "intel"
Section "Monitor"
       Identifier      "Configured Monitor"
Section "Screen"
       Identifier      "Default Screen"
       Monitor         "Configured Monitor"
       Device          "Configured Video Device"

Installation of ATI and nVidia Graphics drivers

nVidia Driver

The current proprietary nVidia drivers are automatically installed using:

Menu -> System -> Administration -> Hardware Drivers

Look for the current drivers to activate there.

  • Here are alternate manual instructions.
  • Please make a backup of xorg.conf before following this method.
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
  • Install the nvidia-settings package:
 sudo apt-get install nvidia-settings
  • Download the nVidia driver:
wget -O NVIDIA-Linux-x86-pkg1.run http://www.nvidia.com/Download/index.aspx?lang=en-us
sudo sh NVIDIA-Linux-x86-pkg1.run

and choose yes to any verbose response. After you install the driver, reboot your computer.

ATI Driver

If you have problems with ATI drivers after upgrading, check this link for solutions to common problems with ATI.

Monitors / Displays

Turn off power saving

Even when on AC power, the power saver feature of Ubuntu sometimes changes the screen brightness to the battery setting on laptops. This was a problem with the ACPI power management module in the past, but should now be fixed. If not, change the settings:

To access the Guidance Power Manager module, click on the power icon on the desktop taskbar.
Change the brightness setting for "Battery powered" to maximum.

You can also turn off power management settings (invoked when the computer is idle):

Menu -> System -> Preferences -> Power Management -> Display -> Put display to sleep when inactive for: Never -> Close

Configure Dual Monitors with nVidia

  • Make sure that the nVidia driver has been installed and is functioning properly on your first screen. Also, make sure both monitors are connected.
  • Menu -> Administration -> NVIDIA X Server Settings
or from the command-line terminal (Terminal or Konsole) type:
sudo nvidia-settings
  • Select "X Server Display Configuration".
  • You should see 3 boxes (2 if your card doesn't have an S-Video out). From here you can configure all of your card's outputs.
  • Check the "(Disabled)" box.
  • Select "Configure...".
  • The most common choice is TwinView. Select it.
  • Setup the desired screen resolutions and positions of your two active displays.
  • The new display will likely have resolution set to "Auto" to match your first. Change this if you wish.
  • Leave the first screen's position as "Absolute" and set your second display's position relative to that.
  • "Clone" means the same output on both.
  • Once you are satisfied with your settings, hit Apply to test them.
  • Note: if your displays are side-by-side, the kicker may extend across both screens as well as any maximized applications. This will be corrected when the X server is restarted.
  • If everything else is ok, hit "Save to X Configuration File". Now hit Ctrl+Alt+Backspace to restart X. You now have 2 screens!
  • Troubleshooting: if the X server fails to reload you can recover your old X configuration. In a terminal:
sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf

Hard Drives and USB Storage

USB Drives

Add MTP capability

Many MP3 players, as well as the latest Android devices, use MTP (Media Transport Protocol) for transferring data to the device storage.

  • In KDE (Kubuntu), enable MTP capabilities by installing the kio-mtp package:
sudo apt-get install kio-mtp
After installation, the device should appear in the Dolphin (or Konqueror or Rekong) file manager when the USB cable is plugged in.
  • A Gnome-based utility, gMTP, for managing MTP-capable devices is also available:
sudo apt-get install gmtp
  • Troubleshooting Android device connectivity: As a security precaution the newest Android devices do not have USB transfer capabilities turned on by default. It is necessary to carefully consult your device's user manual to find the method for enabling USB transfers (also known as "USB debugging mode" on many devices). For example, on my device, it was necessary to tap the "Settings -> About phone -> Build #" button 7 times to merely enable the USB debugging option, and then enable "Settings -> Developer options -> USB debugging" as a separate step!

Optical Drives

Printers & Scanners

The CUPS printer interface recognizes many printers. Specific printers not recognized can often be installed using instructions found at the Linux Foundation OpenPrinting database.

Add a Printer

Menu -> System -> Administration -> Printing -> Server -> New -> Printer

Most of the time, your printer (if connected and turned on) will be detected automatically.

My network printer with its own IP address at was correctly installed at


You can also choose printers on a Windows system via Samba and other types of networked printers, in addition to directly connected printers.

  • An alternative method to access the CUPS interface is through a web browser. Go to the URL:

Change default CUPS printer margins

  • CUPS uses the maximum printable area of the chosen printer by default; there are no margins. The default settings for any printer can be changed in the PPD file for the specific printer found in the /etc/cups/ppd folder. Dimensions used in the PPD file are generally in points (in Postscript, 1 inch = 72 points). For my printer, Letter size is 612 x 792 points. I changed this to 576 x 756 points to make Letter size print 8 x 10.5 inches on the page.
  • Another easy method (to adjust margins) is to create a Custom paper size with the desired margins and use this as the default. (This only works for printers whose PPD files allow custom paper sizes). For example, create a Custom paper size that is 8 inches x 10.5 inches (which would leave a 0.5 inch margin on all sides) and set it as the default. This is easiest to accomplish through the browser-based configuration utility. Start the CUPS interface through the web browser URL:

Then from this interface set the Default Options for your printer:

CUPS -> Printers -> My Default Printer -> Set Default Options -> Media Size: Custom
-> Width: 8 -> Height: 10.5 -> Units: Inches -> Set Default Options

Now the "Custom.8x10.5" Media Size should appear in the Printer Options section for your printer. (You can then choose between this media size and the essentially marginless "Letter" media size at any time.)

Note: 8 x 10.5 inches = 203.2 x 266.7 mm = 576 x 756 points in Postscript (72 points per inch in Postscript).

Brother printers

Most Brother printers are auto-detected or can be installed directly from the CUPS interface. For additional drivers and instructions see the Brother help site. For information on a specific model, see the Linux OpenPrinting site.

HP Printers

For Hewlett Packard printers / scanners, install hplip and hplip-gui.

sudo apt-get install hplip hplip-gui
  • Add the printer:
Menu -> Applications > System Tools > HP Toolbox

This should set up printer / scanners for scanning as well.

  • For scanning, install Xsane:
sudo apt-get install sane xsane


Menu -> Applications -> Graphics > Xsane image scanning

A full library of Linux drivers for HP printers is here.


If you get no sound with a fresh install, check that the sound levels are not set to zero. Click on the sound (speaker) icon on the panel, and then mixer. You may need to expand the dialog window to show labels. Ensure levels aren't set to zero, especially PCM.


Sound in (K)Ubuntu is routed by Phonon either directly to your sound card or through the PulseAudio sound system. To use PulseAudio, you must install it. This can be done by installing the PulseAudio control modules (which will install pulseaudio as a dependency):

  • Install PulseAudio with the control modules:
sudo apt-get install pavucontrol paprefs
  • Although I no longer use it, in older versions of (K)Ubuntu I also (optionally) installed a system tray widget:
sudo apt-get install padevchooser

Some experimentation with the settings in

Menu -> System -> System Settings -> Multimedia

may be necessary to make sound on your system work properly.

Try setting PulseAudio as the first sound system if you are having troubles getting sound (even if you are using ALSA). If that doesn't work, try making it the last choice.

Some programs require ALSA sound and try to send sound directly through ALSA drivers. Check your program's preferences section to see if ALSA is selected. You may have to switch to PulseAudio (or even OSSound) if you can't get sound.

HDMI with PulseAudio

I could only get my HDMI audio on my computer to work this way, and I can't quite figure out why it works.

  • I checked to make sure my Mobile Intel 4 Series HDMI audio driver was installed (it is part of the most recent kernels):
aplay -l
aplay -L

This told me the HDMI card was recognized and configured properly. The problem was that no matter what I did, I couldn't get the sound piped through the HDMI card using ALSA, Kmix or any other settings (I tried every permutation).

  • In PAVUControl I selected the HDMI card as the output device:
Menu -> Multimedia -> PulseAudio Volume Control -> Configuration -> Internal Audio -> Digital Stereo (HDMI) Output

Then everything played through the HDMI audio card (through the cable to my HDTV).

This worked whether I had PulseAudio selected as the default audio or not (in System settings -> Multimedia). Don't ask me why. If PulseAudio Volume Control is not yet installed, install it:

sudo apt-get install pavucontrol
  • My HDMI port/output is only recognized if the HDMI cable is plugged in at bootup (it does not matter whether the HDTV power is on or not). If I plug in the HDMI cable after bootup, it isn't recognized.
  • After doing this, every program I use works: VLC, Audacious, or whatever. It does not seem to matter whether the application is using Default, ALSA, or PulseAudio for the audio output plugin. None of this makes sense to me, but it works. I'm happy to be able to play HDMI movies (through VLC) to my HDTV.
  • To change sound output back to my computer's internal speakers (ALSA), I returned the output setting:
Menu -> Multimedia -> PulseAudio Volume Control -> Configuration -> Internal Audio -> Analog Stereo Output
Recording with PulseAudio

To set the PulseAudio inputs that will be recorded by an application (such as Audacity or FFMPEG), the recording must be already started! Only then can the inputs (to be recorded) be selectable in PulseAudio.

  • For example, to record from a plug in microphone using Audacity, make sure the microphone is plugged in. Make sure in the Sound Mixer (icon) that the microphone is not muted and that the levels are set appropriately.
  • In PulseAudio Volume Control, select the device that will be the input.
Menu -> Multimedia -> PulseAudio Volume Control -> Input Devices -> Show: All Input Devices
-> Internal Analog Audio Stereo: Port: Analog microphone

Of course, you should use the device you wish to use here. You can also select the Monitor of Internal Analog Audio Stereo device, which will use as an input to the recording/capture application whatever happens to be playing through the sound card (except for hardware inputs).

  • Start Audacity (or other recording application). Make sure (in Audacity) that the Devices toolbar is visible:
Menu -> Multimedia -> Audacity -> View -> Toolbars -> Device Toolbar (ticked)

Assuming you are using ALSA, make sure ALSA is selected, and that pulse is selected for both the output and microphone input on the Device Toolbar. Start recording.

  • Start PulseAudio Volume Control. Under the Recording tab, you should see Audacity listed as "ALSA plugin: [audacity]: ALSA Capture from: Internal Audio Analog Stereo. If it isn't, then select it. (This is the tricky part that took me a long time to discover.)

Airport Express

Airport Express with Pulse Audio

Audio output can be streamed over your local network to an Airport Express. These capabilities require pulseaudio-module-zeroconf (for the Zeroconf/Bonjour networking protocol) and pulseaudio-module-raop (for Airport Express).

  • Install PulseAudio:
sudo apt-get install pulseaudio
Reboot to finish the installation.
  • Select PulseAudio as the output device in
Menu -> System -> System Settings -> Multimedia -> Device Preference
and move "Playback/recording through the PulseAudio sound server" to the top of every category (or at least the ones for which you wish to use PulseAudio).
  • Test some audio (e.g. playback through Amarok) to make sure the PulseAudio system is working. Some applications specifically require that the PulseAudio output is specified in their configuration settings, and some applications require a separate PulseAudio plugin to function properly.
  • Install additional modules in order to use Bonjour/Zeroconf and raop (Airport Express output):
sudo apt-get install pulseaudio-module-zeroconf pulseaudio-module-raop
  • Install utilities to control the preferences and volume of various PulseAudio devices:
sudo apt-get install paprefs pavucontrol
  • Enable discovery of the Airport Express by PulseAudio:
Menu -> Settings -> PulseAudio Preferences (Sound Audio preferences) -> Network Access

and check both:

Make discoverable network sound devices available locally
Make discoverable Apple Airtunes devices available locally
  • It is not clear to me which ports need to remain unblocked in order for Bonjour/Zeroconf and mDNS to discover the AEx. mDNS and Bonjour/Zeroconf use ports 5353, 5000, and 6000. (The PulseAudio server uses port 4713.) However, even when I unblock these the AEx doesn't seem to be able to be discovered until I turn off the firewall completely. (Once the AEx is discovered I turn the firewall back on and then have no other problems). I usually just add the IP address of the Airport Express on the LAN to the list of firewall-allowed connections. (Doing this still doesn't allow it to be discovered, though, for unclear reasons. Still, as long as a connection to the IP address of the AEx is allowed, I can turn the firewall back immediately after the AEx is located by the Zeroconf discovery and everything continues to stream fine.)
  • If your LAN's router allows traffic-shaping (QoS prioritization), giving priority to the traffic to/from the Airport Express can improve performance. Finally, be aware that screensavers can interrupt uninterrupted smooth audio output from a PC. If traffic to the AEx becomes choppy, disable your screensaver.
  • Open PulseAudio Volume Control:
Menu -> Multimedia -> PulseAudio Volume Control
  • If the AEx has been successfully discovered (the firewall may have to be turned off temporarily in order for the AEx to be discovered) the name of the AEx should show up as an Output Device:
PulseAudio Volume Control -> Output Device -> My AEx Name
If desired, the AEx can be set as the default "fallback" output device to always be used:
PulseAudio Volume Control -> Output Device -> My AEx Name -> click "Set as fallback" icon
If it is not set as the default fallback output device, it must be manually selected as an output device each time.
  • Start the application (such as Amarok or Audacious). To manually select which output device should be used, open PulseAudio Volume Control and choose the Playback output device for the application:
PulseAudio Volume Control -> Playback -> ALSA plugin [Amarok]: ALSA Playback on: -> My AEx Name
  • The output volume (for any of the output devices) can be set:
PulseAudio Volume Control -> Output Device -> My AEx Name

This was my old method. It works, but is probably unnecessary (and loads a lot of additional modules).

  • Install padvechooser (which also install paman, pavumeter, and paprefs):
sudo apt-get install padevchooser
  • Padevchooser is an applet for the taskbar panel. The PulseAudio Manager is accessible through the applet. Start Manager:
Menu -> Multimedia -> PulseAudio Device Chooser -> Manager -> Devices -> Sinks
  • Select the Airport Express as the output device ("sink"):

My AEx is discovered, but I got no sound through it until I selected it as the default sink (output) by one of two methods:

  • From the PulseAudio Device Chooser:
Menu -> Multimedia -> PulseAudio Device Chooser -> Manager -> Devices -> Sinks
I then noted the name of my Airport Express device to be raop.Base-Station-e60157.local, so I entered that as the sink:
PulseAudio Device Chooser -> Default sink -> Other -> raop.Base-Station-e60157.local

raop-client (Airport Express streaming)

Another method to stream audio to the Airport Express uses raop-client, a tool written in Ruby. See information here.

GSTransmit (Airport Express streaming)

GSTransmit is a tool to allow GStreamer-based utilities to stream output to an Apple AirTunes Device (such as the Airport Express). It is available as a self-installing .deb file from the website.

Airfoil (Airport Express streaming)

You can stream media from a PC running Windows or Mac OS X connected to an Airport Express network to your (K)Ubuntu Linux desktop, using Airfoil. (Unfortunately you cannot send media output from (K)Ubuntu to the Airport Express network with Airfoil, only receive.) This can be useful in a distributed multimedia system, for example, in which your (K)Ubuntu PC is connected to a media center. You must be running Mono. You can download the .deb package at Rogue Amoeba. Installation instructions are at Rogue Amoeba Linux support.


Activate side-mouse-buttons in FireFox

Adding two lines to xorg.conf will activate side-mouse-buttons in FireFox.

  • This should work with most brands of the 5-button mouse. Here is a list of mice that worked with this instruction.
Logitech MX310
Logitech MX510
Logitech MX518
Logitech MX700
Logitech MX Revolution
Intellimouse Explorer (first edition)
Razer Copperhead
  • Backup X.org configuration file
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
  • Modify the X.org configuration file
kdesudo kate /etc/X11/xorg.conf
  • Find the Input Device section for your mouse and add two lines as shown below.
  • You may also increase the number of buttons if your mouse has more than 7 -- just fix the rest of the section based upon the number of buttons.
Note: "back/forward", "wheel click" & "tilt left/right" all count as buttons
  • Change:
Section "InputDevice"
 Identifier "Configured Mouse"
 Driver "mouse"
 Option "CorePointer"
 Option "Device" "/dev/input/mice"
 Option "Protocol" "ExplorerPS/2"
 Option "ZAxisMapping" "4 5" 
 Option "Emulate3Buttons"       "true"
Section "InputDevice"
 Identifier "Configured Mouse"
 Driver "mouse"
 Option "CorePointer"
 Option "Device" "/dev/input/mice"
 Option "Protocol" "ExplorerPS/2"
 Option "ZAxisMapping" "4 5"
 Option "Emulate3Buttons" "true"
 Option "Buttons" "7"
 Option "ButtonMapping" "1 2 3 6 7"


For Synaptics Touchpads:

sudo apt-get install gsynaptics

For more info, see the Ubuntu help wiki.

Wacom Pen Tablets

Support for the Wacom pen tablet is integrated into Jaunty by default, including for hotplugging. For more info, see the Ubuntu documentation.

Fingerprint Readers

Smart Card Readers

  • Read the Debian wiki for full information about implementation of a smart card reader solution and this Debian wiki page for smart card / OpenPGP integration.
  • See this list of smart card applications for Linux.


PC/SC is a set of cross-platform drivers, middleware, and other tools and applications for various smart cards and readers.

  • Install the PC / SC Smart Card Daemon (pcscd):
sudo apt-get install pcscd pcsc-tools
  • Find out if the Smart Card Reader is recognised:
  • Install middleware from the Smart Card Reader manufacturer.
  • Consider registering a personal certificate with an authority such as LuxTrust.
  • These instructions work with the SCR331 Smart Card reader, but may be applicable to other devices as well.


OpenCryptoki is a Debian / Ubuntu-supported implementation that includes drivers and libraries to enable PKCS #11 tokens and IBM cryptographic hardware such as Trusted Computing Platform (TPM) cryptographic devices. Install:

sudo apt-get install opencryptoki

GnuPG Smart Cards

GnuPG-PKCS11 implements a BSD-licensed smart-card daemon to enable the use of PKCS #11 tokens with GnuPG.

  • Install the PKCS Smart Card Daemon:
sudo apt-get install gnupg-pkcs11-scd

Remote Controls

LIRC (Infrared Remote Controls)

LIRC (Linux Infrared Control) allows you to use most infra-red remote controls. This can be installed from Menu -> Applications -> Ubuntu Software Center -> System -> lirc

sudo apt-get install lirc

Remuco (Bluetooth and WiFi Remote Controls)

Remuco is a utility for controlling many multimedia players (such as VLC, Amarok, Rhythmbox, Audacious, and many others) using a Bluetooth or WiFi remote control. Each player has its own package. For example, the VLC package is named remuco-vlc and can be installed:

sudo apt-get install remuco-vlc


BlueZ is the package that allows Bluetooth connectivity in Ubuntu Linux. This package is included within the current kernel of Ubuntu. To add utilities to check whether your Bluetooth adapter's firmware is current, install:

sudo apt-get install bluez-utils bluez-firmware

then run

sudo dfutool


The Wiimote (Wii Remote Control) uses both Bluetooth and Infra-red technology. It communicates with Ubuntu Linux using the incorporated BlueZ Bluetooth drivers and/or LIRC drivers. (It can function with Bluetooth alone, however.) You will need a Bluetooth receiver on your PC (such as a Bluetooth USB stick or built-in Bluetooth receiver, for example). (Note: not all Bluetooth receivers will work with the Bluez drivers. Check this list or test yours first.)

  • Install the cwiid Wiimote controller package and the lswm Wiimote discovery package:
sudo apt-get install wminput lswm
  • Install the drivers (or just reboot):
modprobe uinput
Note: You can also add uinput to the modules files so it loads automatically at bootup:
sudo echo "uinput" >>/etc/modules

Run (while pressing button 1/2 on the Wiimote):

sudo wminput

For more info, and to learn how to enable the infra-red functions, see this guide.


Wireless Cards

Atheros Cards

Atheros Wireless cards should work automatically with the new kernel by installing the proprietary driver. At installation, after the first reboot, you will be prompted whether to use the proprietary drivers.

It should no longer be necessary to install the following package:

sudo apt-get install madwifi-tools 

These instructions for the Atheros 802.11 b/g integrated card are here for reference only (or if you wish to install them manually instead):

  • Extract the files
  • Make sure your linux headers and build-essential packages are installed:
sudo apt-get install build-essential
sudo apt-get install linux-headers-$(uname -r)
  • Unload any drivers already running.
sudo ifconfig ath0 down
sudo ifconfig wifi0 down
  • Change to the directory where you extracted the driver.
cd <directory_where_driver_unzipped>
  • From that directory, run the installation scripts:
cd scripts
sudo ./madwifi-unload
sudo ./find-madwifi-modules.sh $(uname -r)
cd ..
  • Complete the installation by compiling the source and installing it.
sudo make
sudo make install
  • Add the installed drivers to your system.
sudo modprobe ath_pci

Following this, Network Manager was able to see the wireless card and I was able to configure everything else (WEP / WPA key, etc.) from there.

Complete instructions are available at MadWifi UserDocs.

Atheros AR242x

Alternate instructions for installing the Atheros AR242x card are here.


3G protocols allow wide area cellular communications that include not only cellphone voice transmission but also integrated broadband internet connections. This can be integrated into a single device, or communications can be received through an EVDO adapter. Examples of 3G radio interfaces include Mobile WiMax, CDMA-2000, TD-CDMA, EDGE, and DECT. For info using 3G with the Ubuntu Network Manager, see this page. For additional info on using 3G with Ubuntu, see this guide.


he220r1 is a (K)ubuntu driver package for the Huawei e220 USB modem. It has also been found to work with other 3G devices, such as Nokia, Sony Ericsson, and Motorola. See the website for download and installation instructions.

T-Mobile Option 225 (Web'N'Walk) Stick

This website offers a driver optimised for the T-Mobile Web'n'Walk Stick/Option 225.

Virgin Huawei e169

See this Ubuntu forum solution:

sudo gedit /etc/ppp/options

find the line that says:


and uncomment it (delete #)


this (I think) disables CHAP authentication

I also had to change the APN to VirginBroadband instead of VirginInternet which was the default, and now it's happy.

Other settings
Number *99#
Uname <your virgin username>
PW <your virgin password>

EVDO Cards

EVDO cards include USB modems and adapters to receive wide-area cellular broadband Internet connections.


Sprint EVDO cards can be used most easily through KPPP. For instructions, read the Sprint Mobile Broadband Setup Guide. Also see the EVDO Forums.


See this Crystal Networking guide.

Tethering your PC to your Verizon cell phone

This is a per-minute plan in which you can use Verizon broadband services through your cell phone (such as the Motorola RAZR) connected to your PC via a USB cable. See this guide.

Digital Cameras

  • Plug in your digital camera to the USB port using the appropriate cord and make sure the camera is turned on.
  • It may be necessary to adjust the settings of the camera (and to be sure it is properly recognised):
K Menu -> Settings -> System Settings -> Digital Camera
  • To access the camera as a folder using the Dolphin file manager, see this section.


See the Ubuntu webcam guide for more info. Many webcams that worked in Hardy Heron may not work in Intrepid Ibex. This may be due to a migration from v4l (video for Linux) to v4l2. See this discussion.


EasyCam2 is a utility for finding and installing drivers for your webcam. See these installation instructions.


Linux drivers for the digital iSight camera (connected by FireWire), using ALSA for sound, are here. The video component is already supported by current kernels (see here for more information).

Luvcview (USB webcam viewer)

Luvcview can be used to view your USB webcam to test it. Install:

sudo apt-get install luvcview

View your webcam:

luvcview -f yuv


Kubuntu can be installed on netbooks. The KDE Netbook Remix is included by default (as an option) in a standard installation of Kubuntu.

  • Select the KDE Netbook Remix user interface:
K Menu -> System -> System Settings -> Workspace Behavior -> Workspace -> Workspace Type: Netbook

Installing Kubuntu on Netbooks with an existing OS

  • If you already have Ubuntu Netbook Remix (or eeebuntu Netbook Remix) installed, you can choose to add the Kubuntu (KDE) desktop. Then select the Netbook workspace as above.
sudo apt-get install kubuntu-desktop

Several netbooks have OEM versions of Ubuntu Netbook Remix installed.

  • Asus eeePC 1000H
  • Reduce font size one or two sizes, and set the screen DPI to 120.
  • eeebuntu Netbook Remix is available for this device.
  • Acer Aspire One
  • Dell Mini 9
  • Ubuntu Netbook Remix runs on this device well. See this guide.
  • HP Mini 1000 Mi
  • A custom edition of Ubuntu is pre-installed on this version of this device.
  • See this this page for extensive laptop and netbook compatibility reviews.


Mobile Devices

Ubuntu Linux offers an operating system for Mobile Devices (such as the Samsung Q1 Ultra or Elektrobit MIMD) with a unique and simplified interface. For more information see the Ubuntu MID Edition site.

MP3 / Video Players


  • gtkpod is a utility that uses the native iPod DB in a way similar to iTunes. Files on the iPod can be synchronised to a Linux-based PC with this utility. Install:
sudo apt-get install gtkpod

Usage instructions are here.

Copy files from iPod to computer

I do not like using gtkpod and prefer to listen to the files on my iPod with different audio players and in different formats. Furthermore, the iPod naming and database conventions are quite outdated and non-standard (the iPod is, after all, a VERY old device).

  • It is desirable that all the files on the iPod have ID3v2 tags on them already. These tags will be used to rename the files after they are transferred. With the iPod connected to the computer to which the iPod is originally synchronised, use iTunes to make sure all the files are updated with current ID3v2 tags (prior to any copying / transfers).
  • Plug the iPod into a USB port on the (K)Ubuntu computer. Open the Dolphin (or other) file manager and create a folder in which to store the files from the iPod. (Dolphin will usually automount the iPod once it is connected.) Copy the files from the iPod to the newly created folder on the (K)Ubuntu computer. The iPod naming convention assigns a random 4-letter code to each file. If there are a large number of files, they are split between folders, each with about 250 files in them. When copying, there is likely to be some duplicate 4-letter filenames. Simply add an extra character to the duplicate 4-letter filenames when prompted about duplicates (turning them into 5-letter filenames). For example if there are 2 files named AXYJ.m4a, when Dolphin attempts to copy the second file to the folder it will prompt for a new filename. Name the second file, for example, AXYJ2.m4a and carry on. Repeat as many times as necessary untill all the files are successfully copied (with unique filenames) into the folder on the (K)Ubuntu computer.
  • Now use an ID3 tag editor such as EasyTAG to rename the files that have been copied to the (K)Ubuntu computer folder. EasyTAG includes a renaming utility that will scan and then rename the files based on the Artist and Title (for example) found in the ID3v2 tag. Allow EasyTAG to do this and then "Save File(s)" with the new filenames (using the FloppyDisc Icon in the toolbar). The resulting files will now be appropriately named (instead of having the archaic and arbitrary Apple filenames).
  • EasyTAG will notify you of an error (and will stop) if a file with a duplicate Artist - Title exists. When such an event occurs, move the first re-named file out of the folder (into a Duplicates folder, for example) and then allow EasyTAG to continue converting the remaining files. Do this as many times as necessary. (This helps to weed out duplicates, as well.)
  • Of course, you can also update other information in the the ID3v2 tags (to your preference) with EasyTAG at the same time, as well.
  • Convert the format of any .m4a files to .mp3, .aac, .ogg (or any other desired audio format) using a batch format convertor such as SoundKonvertor (for Qt / KDE), SoundConvertor (for GTK / Gnome), Xcfa, Sox, or dir2ogg. (Usually kubuntu-restricted-extras must also be installed, and sometimes libfaac0 as well).

Sansa Fuze

The Sansa Fuze is a very high quality MP3 audio as well as video player. It is recognized by default as a USB device in Ubuntu/Kubuntu. To convert videos into a format that can be copied to the player, use Video4Fuze.

  • Download and install:
wget http://video4fuze.googlecode.com/files/fuzemux-0.1_amd64.deb
wget http://video4fuze.googlecode.com/files/video4fuze-0.6_all.deb
sudo dpkg -i fuzemux-0.1_amd64.deb
sudo dpkg -i video4fuze-0.6_all.deb
Use fuzemux-0,1_i386 instead of fuzemux-0.1_amd64.deb if using a 32-bit OS.
  • Start video4fuze from the command line:

or create a menu item with the Command: video4fuze.

  • Convert files (mpg or mp4) using Video4Fuze. Do not use the Sansa Fuze player as the output folder, but use an output folder on your computer. Once the files have been converted, then copy them directly to a Video folder on the Sansa Fuze (using Nautilus in Ubuntu or Dolphin in Kubuntu).
  • I like k9copy to extract something (that I have saved) on a DVD to an mp4 (.avi) first. The Sansa Fuze likes video at 224 x 176 and DivX 4/5, so I extract to those specifications:
Menu -> Multimedia -> k9copy -> Input: DVD -> Output: MPEG-4 encoding -> folder icon: /home/user/Videos
k9configure -> MPEG-4 -> Video -> Codec: MPEG-4 (DivX 4/5) -> Width: 224 -> Height: 176
-> Audio: mp3 (lame) -> Bitrate: 128

I then use video4fuze to convert the extracted mp4 (.avi) into the format that the Sansa Fuze likes.

  • Limitations: At this time Flash videos (.flv) cannot be converted directly by Video4Fuze. You must convert flash videos to another format (such as .mpg or mp4/.avi) prior to Video4Fuze conversion, using a converter such as mencoder or ffmpeg (e.g. with WinFF as the GUI).

MachSpeed Trio

The MachSpeed Trio works natively with (K)Ubuntu Linux. Files can be copied directly to the device from a File Manager (Dolphin or Nautilus).

  • Video formats include .mpg, .flv and .avi. However, the screen is 7.5 cm x 4 cm, which is a 1.875 ratio (widescreen). If your video has a 1.33 ratio (fullscreen), you must add left and right padding to make it look normal. If your video is 320 x 240, for example, you must add left and right padding of 64 each (making it 448 x 240, which is approximately a 1.875 ratio).
In addition, I found I had to convert some videos twice (using ffmpeg) to get it into a format the Trio would accept. For example, I have a 160x120 .avi video I recorded on my camera. (This requires 32 padding on each side instead of 64.) There was a 2 step conversion required to get it into a format the Trio liked:
ffmpeg -i cameravideo.avi -target ntsc-dvd -s 160x120 tempvideo.avi
ffmpeg -i tempvideo.avi -padleft 32 -padright 32 triovideo.avi
The first step does whatever it takes to get the video into a NTSC-compatible format. However, it encodes into the ac3 audio codec, which the Trio doesn't like. The second step converts the audio from the ac3 format to the default mp2 audio format (which the Trio likes better) as well as adds the padding (which in reality can be done in either step). I have tried to simplify this into a single command but haven't figured out how to do it yet.
I then copy the converted file directly onto the Trio, where it plays.

Speech Recognition and Synthesis

For more info see the Ubuntu Wiki -- Speech recognition and the Ubuntu Community wiki -- Text-to-Speech. Integrated voice recognition is an ongoing project; accumulated information is available at VoxForge.

  • Julius -- open source continuous speech recognition / grammar engine (Japanese only -- does not have an English acoustic module currently). Install:
sudo apt-get install julius julius-voxforge
  • CMU Sphinx -- open source voice recognition software. Install:
sudo apt-get install sphinx2-bin sphinxbase-utils pocketsphinx-utils 

Apps using voice recognition (also see this list):


KMouth is a plug-in based speech synthesis system for KDE / Kubuntu that relies on the Jovie Text-to-Speech API. Install (with Jovie):

sudo apt-get install kmouth
  • When running (K Menu -> Utilities -> Jovie), Jovie can be accessed / configured from its toolbar-widget icon.
  • While Jovie is used by default in KMouth, it can also be set manually in the KMouth settings dialogue (K Menu -> Utilities -> KMouth -> Settings -> Configure KMouth... -> Text-to-Speech -> Command for speaking texts):
  • An alternative to using Jovie as the Text-to-Speech synthesizer is to use Festival. Install:
sudo apt-get install festival
Enter this command for speaking text in the KMouth settings dialogue (K Menu -> Utilities -> KMouth -> Settings -> Configure KMouth... -> Text-to-Speech -> Command for speaking texts):
/usr/bin/festival --tts


sudo apt-get install festival
  • Flite (Festival-lite) is a small, fast run-time synthesis engine designed for small embedded machines and/or large servers. Flite is designed as an alternative synthesis engine to Festival for voices built using the FestVox suite of voice building tools. Install:
sudo apt-get install flite
  • FestVox is a tool to build new synthetic voices, relying on the Festival framework. Search for festvox in your Package Manager to find voices already created and distributed in (K)Ubuntu.
Personal tools