# ethernet on lenovo e30, intel 82579

## duderonomy

I am having some problem operating an Intel ethernet interface on an Lenovo e30. 

I copied my kernel config from an e30 that is running gentoo linux.

The running e30, lspci reports:

00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 05)

03:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection

On the e30 I am trying to deploy, the systems seems to be boot just fine but the network interface does not work.

lspci reports:

Intel 82579LM (rev 05)

Intel 82572EI (rev 06)

The 82579LM is the built-in device on the motherboard.

Due to convenience (as I could take this box offline and mount it's drives for copying) I coped the root filesystem for the new box from a Lenovo T420 laptop which has a nearly identical CPU architecture as the Lenovo e30. The resulting Userland seems to run fine. 

On the new e30... when I run dhcpd eth0 I get an error that eth0 device not found or invalid. When I run dhcpd on eth1, it returns error that it is waiting on carrier. I'm happy to get either interface working.  :Smile: 

Is there any way that udev rules or some device related thing could interfere with the operation of the ethernet interface? My dmesg log indicates that two e1000e devices are being recognized and labeled as eth0 and eth1. I was reading something about udev rules... Not sure where to read next ?

I was also thinking to try this driver obtained directly from Intel:

 Network Adapter Driver for PCI-E Gigabit Network Connections under Linux

..but first I wanted to check with the community to see what I may be overlooking...  

thank you for any advice!

 :Very Happy: 

PS: I will get new box booted from the CD again and share some actual logs... I assume dmesg is most useful, first.

----------

## DONAHUE

Is this your menuconfig?

 *Quote:*   

> --- Ethernet driver support                                                    
> 
> [ ]   3Com devices                                                             
> 
> [ ]   Adaptec devices                                                          
> ...

 If so does 

```
lspci -k
```

 show e1000e as module and driver in use for the two NICs? Does 

```
ifconfig -a 
```

 show the two NICs? If so does 

```
ifconfig
```

 show the two NICs?  If so does 

```
ls -l /etc/init.d/net.*
```

show  *Quote:*   

> /etc/init.d/net.eth0 -> net.lo
> 
> /etc/init.d/net.eth1 -> net.lo
> 
> /etc/init.d/net.lo

 If so does

```
rc-update show | grep -i net
```

show  *Quote:*   

> local default nonetwork                        
> 
> net.lo boot                                          
> 
> net.eth0 default                                  
> ...

 If so, is 

```
nano /etc/conf.d/net blank
```

 or completely commented out? If all the above are yes and one or both nics are connected  a reboot should connect to the network.

----------

## gentoo_ram

The mapping of ethernet device to eth* interface is stored in /etc/udev/rules.d/70-persistent-net.rules on gentoo systems.

----------

## DONAHUE

 *Quote:*   

> The mapping of ethernet device to eth* interface is stored in /etc/udev/rules.d/70-persistent-net.rules on gentoo systems.

 Good point. The shortcuts used may have left a bogus /etc/udev/rules.d/70-persistent-net.rules in place. Add 

```
rm /etc/udev/rules.d/70-persistent-net.rules
```

to the previous steps. On the reboot udev will rewrite it for the devices in the laptop you are installing to.

----------

## duderonomy

Thank you very much for this very helpful reply.

Things at work are so fast and furious with other 

failures I could not get back to this thread... 

In fact, it was one of the most helpful checklists 

for networking I have seen in the forums! 

How did I get so lucky!  :Smile: 

It helped alot!

 *Quote:*   

> Is this your menuconfig?
> 
> [*]   Intel devices                                                            
> 
> < >     Intel(R) PRO/100+ support (NEW)                                        
> ...

 

Yes.. except mine was built-in.

Everything else was checking out until...

 *Quote:*   

> If so, is 
> 
> ```
> nano /etc/conf.d/net blank
> ```
> ...

 

I think that I may have had the syntax wrong...

Maybe I put parens around the bash variable

```
config_eth0=("dhcp")  # WRONG

config_eth0="dhcp"    # CORRECT
```

Where the parens create a bash list. 

Clearly, leaving /etc/conf.d/net empty file or non-existent is the least error-prone way to start!

The other thing that is odd about this hardware or this gentoo image 

is that eth0 does not get labeled. Perhaps that is addressed in the 

responses related to udev; which I have not read yet. 

Thanks for those responses too! 

I'll get to them after lunch. 

After 3 and no lunch yet!

I must fix that.  :Smile: 

I was getting eth1 and eth2 for some reason..   :Smile: 

(instead of eth0 and eth1, as expected)

So, I removed the PCIe card with the network interface. 

The current config is static: 

```
config_eth1="192.168.3.89/24"
```

Thanks for helping me get the network interface running!

Cheers,

 :Very Happy: Last edited by duderonomy on Thu Oct 11, 2012 3:45 am; edited 1 time in total

----------

## duderonomy

 *gentoo_ram wrote:*   

> The mapping of ethernet device to eth* interface is stored in /etc/udev/rules.d/70-persistent-net.rules on gentoo systems.

 

Oh, man! clearly that's got to be it!

I will fix that after the `emerge -e world` completes.

For some reason, tar crashed in a coredump sort of 

way so I thought maybe there was some compilation/arch

difference in the binaries that I copied to this new

host. 

I will fix the udev mapping after that...

Thank you to everyone!

 :Very Happy: 

----------

## lalebarde

Thanks ! Very usefull when your motherboard is replaced. What happened to me is I was not aware of this file /etc/udev/rules.d/70-persistent-net.rules, so what happened is that at boot "it" wrote the new ethernet interface to the next available device : eth1, and I spent at least one hour to figure out what was happening.

----------

