# gigabit network card stops responding after some time

## m@o

hello!

i'm having trouble with my internal network card on my x201 Tablet thinkpad.

dhcp is working, but after some time, and i don't know what causes it yet, every packet that should pass eth0 seems to freeze.

any ping sent out does not do anything, any network share mounted does not react.

after a

```
# ifconfig eth0 down

# ifconfig eth0 up
```

eth0 works again.

here is the lspci output.

```
# lspci

00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02)

00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)

00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)

00:19.0 Ethernet controller: Intel Corporation 82577LM Gigabit Network Connection (rev 06)

00:1a.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)

00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)

00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)

00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)

00:1d.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)

00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)

00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)

00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)

00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)

02:00.0 Network controller: Intel Corporation Centrino Ultimate-N 6300 (rev 35)

ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)

ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)

ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)

ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)

ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)

ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)

```

i'm using gentoo's 3.3.8 kernel. my kernel config is here.

does anyone have any idea what may cause eth0 to stop working?

my wireless card seems to work fine. it did not yet stop working.

i just switched from ubuntu to gentoo again. on ubuntu on the same machine, with the same network setup, everything worked fine.

thx for any hints

m@o

----------

## khayyam

m@o ...

you should provide information on how the interface is managed, particularly if NetworkManager is running. So, the content of /etc/conf.d/net the output of 'rc-config list default' and any relevant output from dmesg.

best ... khay

----------

## m@o

oh yeah, sorry...

i've network manager running, with nm-applet as frontend.

when booting the card comes up ok. but as mentioned, after some time the network interface eth0 just freezes.

additionally, when eth0 stops working i have to disable it via the network manager, and when i try to reconnect (via dhcp and nm-applet) it runs into a timeout and does not get an IP.

if i send it down and up again, this works.

```
# rc-config list default

Init scripts to be started by runlevel default

  NetworkManager            

  dbus                      

  local                     

  netmount                  

  ntp-client                

  ntpd                      

  sshd                      

  syslog-ng                 

  udev                      

  udev-postmount            

  vixie-cron                

  xdm             
```

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

#Generated by NetworkManager

###### Global Configuration ######

###### Connection Configuration ######

#----------------------------------

enable_ipv6_eth0="false"

auto_eth0="true"

config_eth0=( "dhcp" )

dhcpcd_eth0="-t 10"
```

```
# dmesg | grep -e e100 -e iwl -e eth0 -e wlan0

e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI

e100: Copyright(c) 1999-2006 Intel Corporation

e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI

e1000: Copyright (c) 1999-2006 Intel Corporation.

e1000e: Intel(R) PRO/1000 Network Driver - 1.5.1-k

e1000e: Copyright(c) 1999 - 2011 Intel Corporation.

e1000e 0000:00:19.0: setting latency timer to 64

e1000e 0000:00:19.0: irq 42 for MSI/MSI-X

e1000e 0000:00:19.0: eth0: (PCI Express:2.5GT/s:Width x1) f0:de:f1:47:1a:b3

e1000e 0000:00:19.0: eth0: Intel(R) PRO/1000 Network Connection

e1000e 0000:00:19.0: eth0: MAC: 9, PHY: 10, PBA No: A002FF-0FF

iwlwifi 0000:02:00.0: pci_resource_len = 0x00002000

iwlwifi 0000:02:00.0: pci_resource_base = ffffc9000005c000

iwlwifi 0000:02:00.0: HW Revision ID = 0x35

iwlwifi 0000:02:00.0: irq 44 for MSI/MSI-X

iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUG enabled

iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUGFS disabled

iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEVICE_TRACING disabled

iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEVICE_TESTMODE disabled

iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_P2P disabled

iwlwifi 0000:02:00.0: Detected Intel(R) Centrino(R) Ultimate-N 6300 AGN, REV=0x74

iwlwifi 0000:02:00.0: L1 Enabled; Disabling L0S

iwlwifi 0000:02:00.0: device EEPROM VER=0x436, CALIB=0x6

iwlwifi 0000:02:00.0: Device SKU: 0x1F0

iwlwifi 0000:02:00.0: Valid Tx ant: 0x7, Valid Rx ant: 0x7

iwlwifi 0000:02:00.0: Tunable channels: 13 802.11bg, 24 802.11a channels

iwlwifi 0000:02:00.0: loaded firmware version 9.221.4.1 build 25532

ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs'

e1000e 0000:00:19.0: irq 42 for MSI/MSI-X

e1000e 0000:00:19.0: irq 42 for MSI/MSI-X

ADDRCONF(NETDEV_UP): eth0: link is not ready

e1000e: eth0 NIC Link is Up 100 Mbps Half Duplex, Flow Control: None

e1000e 0000:00:19.0: eth0: 10/100 speed: disabling TSO

ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

eth0: no IPv6 routers present

iwlwifi 0000:02:00.0: L1 Enabled; Disabling L0S

iwlwifi 0000:02:00.0: Radio type=0x0-0x3-0x1

iwlwifi 0000:02:00.0: L1 Enabled; Disabling L0S

iwlwifi 0000:02:00.0: Radio type=0x0-0x3-0x1

ADDRCONF(NETDEV_UP): wlan0: link is not ready

iwlwifi 0000:02:00.0: L1 Enabled; Disabling L0S

iwlwifi 0000:02:00.0: Radio type=0x0-0x3-0x1

ADDRCONF(NETDEV_UP): wlan0: link is not ready

wlan0: authenticate with c0:c1:c0:eb:20:73 (try 1)

wlan0: authenticated

wlan0: waiting for beacon from c0:c1:c0:eb:20:73

wlan0: beacon received

wlan0: associate with c0:c1:c0:eb:20:73 (try 1)

wlan0: RX AssocResp from c0:c1:c0:eb:20:73 (capab=0x411 status=0 aid=3)

wlan0: associated

wlan0: moving STA c0:c1:c0:eb:20:73 to state 1

wlan0: moving STA c0:c1:c0:eb:20:73 to state 2

wlan0: moving STA c0:c1:c0:eb:20:73 to state 3

ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

wlan0: no IPv6 routers present

wlan0: deauthenticating from c0:c1:c0:eb:20:73 by local choice (reason=3)

wlan0: moving STA c0:c1:c0:eb:20:73 to state 2

wlan0: moving STA c0:c1:c0:eb:20:73 to state 1

wlan0: moving STA c0:c1:c0:eb:20:73 to state 0

wlan0: authenticate with c0:c1:c0:eb:20:73 (try 1)

wlan0: authenticated

wlan0: associate with c0:c1:c0:eb:20:73 (try 1)

wlan0: RX AssocResp from c0:c1:c0:eb:20:73 (capab=0x411 status=0 aid=3)

wlan0: associated

wlan0: moving STA c0:c1:c0:eb:20:73 to state 1

wlan0: moving STA c0:c1:c0:eb:20:73 to state 2

wlan0: moving STA c0:c1:c0:eb:20:73 to state 3

e1000e 0000:00:19.0: irq 42 for MSI/MSI-X

e1000e 0000:00:19.0: irq 42 for MSI/MSI-X

ADDRCONF(NETDEV_UP): eth0: link is not ready

e1000e: eth0 NIC Link is Up 100 Mbps Half Duplex, Flow Control: None

e1000e 0000:00:19.0: eth0: 10/100 speed: disabling TSO

ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

eth0: no IPv6 routers present

e1000e 0000:00:19.0: irq 42 for MSI/MSI-X

e1000e 0000:00:19.0: irq 42 for MSI/MSI-X

ADDRCONF(NETDEV_UP): eth0: link is not ready

e1000e: eth0 NIC Link is Up 100 Mbps Half Duplex, Flow Control: None

e1000e 0000:00:19.0: eth0: 10/100 speed: disabling TSO

ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

e1000e 0000:00:19.0: irq 42 for MSI/MSI-X

e1000e 0000:00:19.0: irq 42 for MSI/MSI-X

ADDRCONF(NETDEV_UP): eth0: link is not ready

e1000e: eth0 NIC Link is Up 100 Mbps Half Duplex, Flow Control: None

e1000e 0000:00:19.0: eth0: 10/100 speed: disabling TSO

ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

e1000e 0000:00:19.0: irq 42 for MSI/MSI-X

e1000e 0000:00:19.0: irq 42 for MSI/MSI-X

ADDRCONF(NETDEV_UP): eth0: link is not ready

e1000e: eth0 NIC Link is Up 100 Mbps Half Duplex, Flow Control: None

e1000e 0000:00:19.0: eth0: 10/100 speed: disabling TSO

ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

```

m@o

----------

## khayyam

m@o ...

OK ... so test to see if NetworkManager is at issue:

```
# /etc/init.d/NetworkManager stop

# /etc/init.d/ntpd stop

# /etc/init.d/ntp-client stop

# /etc/init.d/sshd stop

# kill $(pidof dhcpcd)

# ifconfig eth0 down
```

/etc/conf.d/net

```
modules_eth0="!plug dhcpcd"

config_eth0="dhcp"

dhcpcd_eth0="-t 10"

enable_ipv6_eth0="false"
```

```
# ln -s /etc/init.d/net.lo /etc/init.d/net.eth0

# /etc/init.d/net.eth0 start
```

best ... khay

----------

## kimmie

 *m@o wrote:*   

> 
> 
> ```
> # dmesg | grep -e e100 -e iwl -e eth0 -e wlan0
> 
> ...

 

Are you expecting a half-duplex 100Mbps link? That would often indicate a dud cable, or socket, a half-duplex link is a pretty rare beast. Try a different cable/port on switch and see if that helps.

You can also fiddle with the way the physical connection is detected using the --api-mode argument to ifplugd. To test this shutdown network manager or whatever is controlling eth0, then run "ifplugd -nspq --api-mode=xxx" for different xxx documented in man ifplugd, and plug a cable in and out while looking at the syslog. If results differ with different api-mode, pick the one that works, and put a line in /etc/conf.d/net like ifplugd_eth0="--api-mode=xxx". You'll need to have ethtool merged and MII PHY drivers built in your kernel to check all the modes. It's more likely to be a cable problem, though.

----------

## m@o

@khay: thx. i had the same problems before i used network manager. i don't think it's the source of the problem

@kimmie:

wow. nice tip. i had the cable patched in an old 100Mbit switch. i switched it to the gigabit switch and will keep an eye on it.

let's see if that works.

what puzzles me though is that i did not have (obvious) problems with ubuntu.

m@o

----------

## kimmie

Do you get a full duplex link now? If not, change the cable. Really. Then destroy the old one, with malice   :Twisted Evil:  - I hate dud ethernet cables.

If you have access to your Ubuntu syslog that would be useful info.

----------

## m@o

yes got a Full Duplex now  :Smile: 

```
e1000e: eth0 NIC Link is Down

e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx

```

let's see if that stays up.

i'll have a look and see if i can find something in the ubuntu syslog

m@o

----------

## m@o

so i've been running my network on the Full Duplex connection for some time, and the issue has not come back yet.

thanks for pointing that out. i'll keep you posted if i ever find out why ubuntu had no issues.

thx

m@o

----------

