# (solved) Intel EXPi9301CT not working

## <3

I have an Intel  EXPi9301CTBLK  gigabit PCI-e ethernet adapter (Intel 82574L Gigabit Ethernet Controller) that I cannot seem to get to work.

```
#lspci -v | grep Ethernet -A 1 

05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)

        Subsystem: ASUSTeK Computer Inc. Device 83a3

--

0b:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection

        Subsystem: Intel Corporation Gigabit CT Desktop Adapter
```

Ethtool reports that I should be using the e1000e kernel driver which I have compiled into the kernel, and yes I remembered to copy the kernel image to /boot

```
#ethtool -i eth1                                    

driver: e1000e

version: 1.2.7-k2

firmware-version: 1.8-0

bus-info: 0000:0b:00.0
```

but for some reason the device is not showing up in ifconfig. I also can't get eth1 to work

```
#ifconfig -v                                                                                                              

eth0      Link encap:Ethernet  HWaddr e0:cb:4e:47:32:67                                                                                                       

          UP BROADCAST MULTICAST  MTU:1500  Metric:1                                                                                                          

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0                                                                                                  

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0                                                                                                

          collisions:0 txqueuelen:1000                                                                                                                        

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)                                                                                                              

          Interrupt:49 Base address:0xc000                                                                                                                    

                                                                                                                                                              

lo        Link encap:Local Loopback                                                                                                                           

          inet addr:127.0.0.1  Mask:255.0.0.0                                                                                                                 

          inet6 addr: ::1/128 Scope:Host                                                                                                                      

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:64 errors:0 dropped:0 overruns:0 frame:0

          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:3800 (3.7 KiB)  TX bytes:3800 (3.7 KiB)

```

Eth0 is a realtek adapter which has been damaged so I need this Intel adapter to work and as you can see ifconfig is not showing it. I am using wicd to get my adapters up and running. Any suggestions on getting this to work?Last edited by <3 on Tue Nov 30, 2010 3:30 am; edited 1 time in total

----------

## idella4

<3

 *Quote:*   

> 
> 
> Ethernet controller (rev 03)
> 
>         Subsystem: ASUSTeK Computer Inc. Device 83a3
> ...

 

unless you have truncated it, this indicates the driver is not present.

```

genny linux-2.6.34-hardened-r6 # dmesg | grep forcedeth

[  297.887121] forcedeth 0000:00:0f.0: irq 40 for MSI/MSI-X

genny linux-2.6.34-hardened-r6 # grep ath5k /var/log/messages

Nov 25 02:43:14 genny kernel: [    1.238948] ath5k 0000:01:06.0: registered as 'phy0'

Nov 25 02:43:14 genny kernel: [    1.825571] ath5k phy0: Atheros AR2413 chip found (MAC: 0x78, PHY: 0x45)

Nov 25 11:02:15 genny kernel: [ 2300.538668] ath5k 0000:01:06.0: restoring config space at offset 0x3 (was 

```

Indicates mine are in place, the wired and the wireless drivers.

Show the output of ;        dmesg | grep e1000e

which strongly suggests it's not yet compiled in the kernel, Try also

                                     modprobe e1000e

----------

## <3

```
#dmesg | grep r8169                                                

[    2.039866] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded

[    2.039877] r8169 0000:05:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16

[    2.039904] r8169 0000:05:00.0: setting latency timer to 64

[    2.039952] r8169 0000:05:00.0: irq 49 for MSI/MSI-X

[    2.040122] r8169 0000:05:00.0: eth1: RTL8168d/8111d at 0xffffc9000509c000, e0:cb:4e:47:32:67, XID 083000c0 IRQ 49

[   31.694515] r8169 0000:05:00.0: eth0: link down

[   35.725227] r8169 0000:05:00.0: eth0: link down

[   78.132449] r8169 0000:05:00.0: eth0: link down

[   79.282923] r8169 0000:05:00.0: eth0: link down

[   95.607684] r8169 0000:05:00.0: eth0: link down

[  356.718990] r8169 0000:05:00.0: eth0: link down

[  356.751961] r8169 0000:05:00.0: eth0: link down

[  389.176130] r8169 0000:05:00.0: eth0: link down

#dmesg | grep e1000e

[    1.958394] e1000e: Intel(R) PRO/1000 Network Driver - 1.2.7-k2

[    1.958396] e1000e: Copyright (c) 1999 - 2010 Intel Corporation.

[    1.958419] e1000e 0000:0b:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

[    1.958435] e1000e 0000:0b:00.0: setting latency timer to 64

[    1.958618] e1000e 0000:0b:00.0: irq 46 for MSI/MSI-X

[    1.958623] e1000e 0000:0b:00.0: irq 47 for MSI/MSI-X

[    1.958629] e1000e 0000:0b:00.0: irq 48 for MSI/MSI-X

[    1.958811] e1000e 0000:0b:00.0: Disabling ASPM L0s 

[    2.039813] e1000e 0000:0b:00.0: eth0: (PCI Express:2.5GB/s:Width x1) 00:1b:21:82:9f:99

[    2.039815] e1000e 0000:0b:00.0: eth0: Intel(R) PRO/1000 Network Connection

[    2.039829] e1000e 0000:0b:00.0: eth0: MAC: 3, PHY: 8, PBA No: e46981-004
```

Both drivers have been compiled in and both interfaces are showing as eth0.

----------

## idella4

then it looks as if the file you may need to set correctly is 

```

idella@genny ~ $ cat /etc/conf.d/net

# This blank configuration will automatically use DHCP for any net.*

# scripts in /etc/init.d.  To create a more complete configuration,

# please review /etc/conf.d/net.example and save your configuration

# in /etc/conf.d/net (this file :]!).

dns_domain_lo=homenetwork

#config_wlan0=("dhcp")

config_eth0=("dhcp")

bridge_virbr0="eth0"

config_virbr0=("dhcp") 

```

Mine is dhcp oriented.

Ensure you have an entry for your eth1.

You will then need a matching entry in /etc/init.d/

If not there, create the symlink with

ln -s /etc/init.d/net.lo /etc/init.d/net.eth1

----------

## <3

I don't think that is the problem as the interface is not even showing up in ifconfig. But here you go.

```
#cat /etc/conf.d/net

# This blank configuration will automatically use DHCP for any net.*

# scripts in /etc/init.d.  To create a more complete configuration,

# please review /etc/conf.d/net.example and save your configuration

# in /etc/conf.d/net (this file :]!).

config_eth0="dhcp"

dhcpcd_eth0="-t 3"

config_eth1="dhcp"

dhcpcd_eth1="-t 3"

config_wlan0="dhcp"

dhcpcd_wlan0="-t 3"

#ls /etc/init.d/net*

/etc/init.d/net.eth0  /etc/init.d/net.lo     /etc/init.d/netmount

/etc/init.d/net.eth1  /etc/init.d/net.wlan0  /etc/init.d/network
```

----------

## idella4

```

genny boot # grep FORCE config-2.6.36-gentoo-r1 

CONFIG_MODULE_FORCE_LOAD=y

CONFIG_MODULE_FORCE_UNLOAD=y

CONFIG_X86_CPUFREQ_NFORCE2=m

CONFIG_FORCEDETH=y

CONFIG_I2C_NFORCE2=m

```

You said you compiled them in.  Go back and compile them as modules, so they can be loaded.  

I wonder, the loading of them shouldn't interfere with one another. 

There is a file in etc that list a blacklist of modules, blacklists them from loading.

Find the file, don't know it offhand but should be easy ti find.

If the desired e1000e is compiled as a module already, include it in  

sudo echo "modprobe e1000e" >> /etc/conf.d/modules

I also have force of loading and unloading of modules checked in my kernel config

----------

## <3

I don't know about this blacklist file but I doubt I would have added this module to the blacklist file since I just received this ethernet card the other day. So I took your advice and compiled the e1000e driver as a module and removed the realtek driver altogether to avoid confusion. lsmod is showing that the e1000e module is loaded properly yet ifconfig shows that there are no nic found.

```
#lsmod                                                                    

Module                  Size  Used by

nvidia              10018627  38 

e1000e                116588  0 

#ifconfig                                                                 

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:64 errors:0 dropped:0 overruns:0 frame:0

          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:3800 (3.7 KiB)  TX bytes:3800 (3.7 KiB)
```

----------

## idella4

<3, 

the next port of call is obviously the kernel logging.  My first impression is that there is some one or two points in the config that need to be checked to give full support.

Once again with this adjusted config;

#dmesg | grep e1000e .

If required wgetpaste it, if this single grep doesn't show much.  I suspect there to be an error reading of some sort.

----------

## <3

```
dmesg | grep e1000e

[   13.267952] e1000e: Intel(R) PRO/1000 Network Driver - 1.2.7-k2

[   13.267954] e1000e: Copyright (c) 1999 - 2010 Intel Corporation.

[   13.267987] e1000e 0000:0b:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

[   13.268006] e1000e 0000:0b:00.0: setting latency timer to 64

[   13.268246] e1000e 0000:0b:00.0: irq 47 for MSI/MSI-X

[   13.268252] e1000e 0000:0b:00.0: irq 48 for MSI/MSI-X

[   13.268257] e1000e 0000:0b:00.0: irq 49 for MSI/MSI-X

[   13.268438] e1000e 0000:0b:00.0: Disabling ASPM L0s 

[   13.350010] e1000e 0000:0b:00.0: eth0: (PCI Express:2.5GB/s:Width x1) 00:1b:21:82:9f:99

[   13.350013] e1000e 0000:0b:00.0: eth0: Intel(R) PRO/1000 Network Connection

[   13.350028] e1000e 0000:0b:00.0: eth0: MAC: 3, PHY: 8, PBA No: e46981-004
```

----------

## idella4

<3,

 ok, clear we haven't quite exposed the flaw yet.  For now, dmesg | grep e1000e  -e eth0 and just repeat ifconfig -a

or wgetpaste the whole thing.  

You could also try a make defconfig in the kernel and compare its settings with what you are running.

I still suspect your nic driver requires another setting in the kernel.

One more heavy handed option after that.

----------

## <3

hmmm I think we are getting somewhere.

```

#dmesg | grep eth                                          

[   13.326028] e1000e 0000:0b:00.0: eth0: (PCI Express:2.5GB/s:Width x1) 00:1b:21:82:9f:99

[   13.326031] e1000e 0000:0b:00.0: eth0: Intel(R) PRO/1000 Network Connection

[   13.326045] e1000e 0000:0b:00.0: eth0: MAC: 3, PHY: 8, PBA No: e46981-004

[   13.557040] udev: renamed network interface eth0 to eth1

#ifconfig -a                                                     

eth1      Link encap:Ethernet  HWaddr 00:1b:21:82:9f:99  

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

          Interrupt:17 Memory:f7ee0000-f7f00000 

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:164 errors:0 dropped:0 overruns:0 frame:0

          TX packets:164 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:12308 (12.0 KiB)  TX bytes:12308 (12.0 KiB)

sit0      Link encap:IPv6-in-IPv4  

          NOARP  MTU:1480  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

#ifconfig                                                             

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:164 errors:0 dropped:0 overruns:0 frame:0

          TX packets:164 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:12308 (12.0 KiB)  TX bytes:12308 (12.0 KiB)

#dmesg | grep e1000e                                                  

[   13.242912] e1000e: Intel(R) PRO/1000 Network Driver - 1.2.7-k2

[   13.242914] e1000e: Copyright (c) 1999 - 2010 Intel Corporation.

[   13.242947] e1000e 0000:0b:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

[   13.242966] e1000e 0000:0b:00.0: setting latency timer to 64

[   13.243160] e1000e 0000:0b:00.0: irq 47 for MSI/MSI-X

[   13.243166] e1000e 0000:0b:00.0: irq 48 for MSI/MSI-X

[   13.243171] e1000e 0000:0b:00.0: irq 49 for MSI/MSI-X

[   13.243353] e1000e 0000:0b:00.0: Disabling ASPM L0s 

[   13.326028] e1000e 0000:0b:00.0: eth0: (PCI Express:2.5GB/s:Width x1) 00:1b:21:82:9f:99

[   13.326031] e1000e 0000:0b:00.0: eth0: Intel(R) PRO/1000 Network Connection

[   13.326045] e1000e 0000:0b:00.0: eth0: MAC: 3, PHY: 8, PBA No: e46981-004

#dmesg | grep e1000e -e eth0                                          

grep: e1000e: No such file or directory

```

So it looks like the adapter is named eth1, not sure why when there is no eth0. Not only that but ifconfig only shows the interface if I use the -a flag.

----------

## idella4

<3. 

I wonder why I'm the only respondent.  I normally don't peruse this section ever, only I have my own post.

Anyway, you're a whisker away.

bingo

[   13.557040] udev: renamed network interface eth0 to eth1

We have now exposed the cause.

On ubuntu & fedora I have seen this occur, udev changes the name of eth0, & I forget why.  This is coming from some udev rule, which I don't get into.

In fedora, you go chasing the config file that process eth0. change eth0 to ethn

Same will apply for gentoo.   Remember mt post suggestion that you wondered why??

idella@genny ~ $ cat /etc/conf.d/net

# This blank configuration will automatically use DHCP for any net.*

# scripts in /etc/init.d.  To create a more complete configuration,

# please review /etc/conf.d/net.example and save your configuration

# in /etc/conf.d/net (this file :]!).

dns_domain_lo=homenetwork

#config_wlan0=("dhcp")

config_eth0=("dhcp")

bridge_virbr0="eth0"

config_virbr0=("dhcp") 

So this is the equivalent file.  Add or change to eth1, and cross your fingers.  You may or may not need a /etc/init.d/net.eth1, and you may or may not need it in rc-update.  This has to do it.  ifconfig has made you an eth1, use it.

If you were to re-compile the kernel with the other original nic driver, you will probably find you have something like eth1 & eth2.

repost and good lick

----------

## Ant P.

Remove /etc/udev/rules.d/70-persistent-net.rules and reboot. As long as the Realtek driver doesn't load next boot the Intel adapter should stick with eth0 from then on.

----------

## <3

Thanks Ant_P now it is finally working. Not sure why deleting that file would change anything since I've worked on gentoo boxes with multiple NIC cards on it and never had a problem before.

----------

