Configuring custom network driver in openSUSE 11.1

I am here

OK.. we know than we do not to worry about any hardware drivers in Linux as Linux Kernel takes care of all that. But what if we want to install a different driver. What if Kernel does not install the right driver. Recently I had to face this problem. The network card installed on my system is RTL8111/8168B PCI Express Gigabit Ethernet controller (ReaLtek Product) and the default driver Kernel installed was r8169 while the correct driver is r8168.

So here we go about the thing now…

(The below changes have been done in openSUSE11.1, Kernel 2.6.27)

Now, first how to know what network driver you have and what is the correct driver? I can provide you with this script which can help you: collectNWData.sh; Run this script and the output will be something like this (You will have to run this script as “super user” and answer few questions): This is just a filtered output of the above script. Here we can see that the module installed is r8169 which should be r8168.

So first download the driver from your vendor site.

Now that we know what we have and what we need we will proceed further (We will have to proceed all the steps from konsole or similar tool) :

First stop the network and remove the wrong module:

Go to the directory where you have downloaded the driver. I had downloaded it my home directory and the downloaded file was an archive file so here are the steps:

After that I compiled the code. (This may fail if kernel headers and other standard features of a build environment are not installed)

Code:

Add the old driver to blacklist and rename the old driver module to make sure modprobe knows not to use r8169, and that depmod doesn’t find the r8169 module:..

Code:

Make suse aware of the changes:

Code:

Notice the output of “ifconfig -a” and saw how NIC was called (probably eth0 or eth1). Mine was eth0 Then I edited the networks file to add my NIC configuration. Added the below lines of code to my /etc/networks

Code:

Notice the output of “ifconfig -a” and saw how NIC was called (probably eth0 or eth1). Mine was eth0 Then I edited the networks file to add my NIC configuration. Added the below lines of code to my /etc/networks

Code:

Then restarted the card:

Code:

This should start you networking 🙂
This entry was posted in Technical on by .

About Vivek Bhat

Born in Srinagar, Kashmir and living in exile since 1989. I completed my schooling from Jammu (J&K) and College from Amravati, Maharashtra. Now I am working as a software engineer. My hobbies are reading, listening music, software development and riding my bi-cycle.

One thought on “Configuring custom network driver in openSUSE 11.1

  1. framp

    Just a minor comment about the script collectNWData you used: Since version 0.6.3 it\’s possible to invoke the script as normal user. As a drawback you will have less info output and less network problem analysis functionality.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.