Sunday, September 21, 2008

Installing Hardware Drivers in an Ubuntu (Linux Distro)

Hardware drivers linux you say? Yes sometimes you may have to install them manually due to either early development or recently released drivers. Or it could due to a technical issue that you can only install drivers manually first.

Every step requires a terminal or console with root permission (Administrator mode). Here is a rough idea of the steps you have to go through in order to safely install a driver.

First Off
To make things easy first install apt-file so search the software library files installed.
sudo apt-get install apt-file
sudo apt-file update

Example for installing a SATA driver.


1) Find out what Linux u using by typing
Linux hardware drivers is looked after by this part of the operating system, called a "kernel".
someuser@mylinuxos#>uname -r

2) Then check if the Linux has picked up your hardware by running this command

We need to see if your Linux has picked up your hardware or not. No point carrying on if we can't. Type the following
someuser@mylinuxos#>lspci
It should show something like

02:00.0 VGA compatible controller: nVidia Corporation GeForce 7100 GS (rev a1)
04:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
06:00.0 IDE interface: Marvell Technology Group Ltd. 88SE6121 SATA II Controller (rev b0)
07:07.0 Ethernet controller: National Semiconductor Corporation DP83815 (MacPhyter) Ethernet Controller

3) Verify a working driver version does exist

There are various OFFICAL linux driver status sites like http://linux-ata.org/driver-status.html#marvell

Working driver is called "sata_mv"

Using the command, apt-file we installed earlier, search for the driver for the installed kernel by typing. It is more helpful to add the ".ko" at the end :)
someuser@mylinuxos#>apt-file search sata_mv.ko
Apt-file produces a list of something like..
linux-image-2.6.24-19-386: /lib/modules/2.6.24-19-386/kernel/drivers/ata/sata_mv.ko
linux-image-2.6.24-19-generic: /lib/modules/2.6.24-19-generic/kernel/drivers/ata/sata_mv.ko
linux-image-2.6.24-19-openvz: /lib/modules/2.6.24-19-openvz/kernel/drivers/ata/sata_mv.ko
We want the drive that represents your version of kernel. You have to type "uname -r" (see step 1)

4) Verify the driver works by typing

Need to check if your hardware really works.
someuser@mylinuxos#>sudo modprobe  /lib/modules/2.6.24-19-generic/kernel/drivers/ata/sata_mv.ko
If no messages pop at you you may as well install it
someuser@mylinuxos#>sudo insmod /lib/modules/2.6.24-19-generic/kernel/drivers/ata/sata_mv.ko
That is it.