Saturday, June 02, 2012

Ubuntu 11.10 ethernet controller problem with e1000e

Net connection is not working with Ubuntu 11.10, there may be various reasons. But for me it was the presence of 2 ethernet controllers.

One was : 
Ethernet controller [0200]: Intel Corporation 82566DC Gigabit Network Connection [8086:104b] (rev 02)
    Subsystem: Intel Corporation Device [8086:d701]
    Kernel driver in use: e1000e

And other one was :
Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139] (rev 10)
    Subsystem: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139]
    Kernel driver in use: 8139too

So though I was trying to use Realtek as my primary connectivity, everytime I use to restart my network service it would work for sometime (few secs) and then I would loose the connection.

To fix this I simply removed the modules for the Intel card which the Kernel driver used and hence the ubuntu kernel driver could attach to only one ethernet card i.e. Realtek.

Steps to follow:
1) sudo lshw -C network

See if you are really facing the same issue of having multiple cards. This command will list out the cards in use.

2)  lspci -nnk | grep -iA2 net

Now after confirming that you really got multiple drivers, see the kernel modules which this command will display.

3)
sudo rmmod e1000e   

sudo rm -rf  /lib/modules/3.0.0-12-generic/kernel/drivers/net/e1000e
or
sudo rm -rf /lib/modules/{kernel version}/kernel/drivers/net/e1000e/


This will remove the kernel module you don't need which was in my case Intel card.

4)  sudo /etc/init.d/networking restart

Now restart the network service.
(* Errors are ok , if it says 1 ethernet failed to start)


You should be able to connect to internet.

Labels: , , , ,

0 Comments:

Post a Comment

<< Home