eth1 not detecting link, despite NIC link light

  • humbletech99
  • Proficient
  • Proficient
  • User avatar
  • Posts: 300

Post 3+ Months Ago

I have a linux firewall which has a network card, eth1 that insists the link is down, despite having a link light on the card itself. I have used ethtool to check and the result is as follows:
Code: [ Select ]
# ./ethtool eth1
Settings for eth1:
    Supported ports: [ TP MII ]
    Supported link modes:  10baseT/Half 10baseT/Full
                100baseT/Half 100baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes: 10baseT/Half 10baseT/Full
                100baseT/Half 100baseT/Full
    Advertised auto-negotiation: Yes
    Speed: 10Mb/s
    Duplex: Half
    Port: MII
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    Current message level: 0x000020c1 (8385)
    Link detected: no
  1. # ./ethtool eth1
  2. Settings for eth1:
  3.     Supported ports: [ TP MII ]
  4.     Supported link modes:  10baseT/Half 10baseT/Full
  5.                 100baseT/Half 100baseT/Full
  6.     Supports auto-negotiation: Yes
  7.     Advertised link modes: 10baseT/Half 10baseT/Full
  8.                 100baseT/Half 100baseT/Full
  9.     Advertised auto-negotiation: Yes
  10.     Speed: 10Mb/s
  11.     Duplex: Half
  12.     Port: MII
  13.     PHYAD: 1
  14.     Transceiver: internal
  15.     Auto-negotiation: on
  16.     Current message level: 0x000020c1 (8385)
  17.     Link detected: no

There is a statically assigned ip address and the cable is definitely plugged into the NIC and the other end into the switch. There is even data activity light blinking, but linux still doesn't see the link.
Code: [ Select ]
# ifconfig eth1
eth1   Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
     inet addr:x.x.x.x Bcast:x.x.x.x Mask:x.x.x.x
     UP BROADCAST MULTICAST MTU:1500 Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:867 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000
     RX bytes:0 (0.0 b) TX bytes:36414 (35.5 Kb)
     Interrupt:4
  1. # ifconfig eth1
  2. eth1   Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
  3.      inet addr:x.x.x.x Bcast:x.x.x.x Mask:x.x.x.x
  4.      UP BROADCAST MULTICAST MTU:1500 Metric:1
  5.      RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  6.      TX packets:867 errors:0 dropped:0 overruns:0 carrier:0
  7.      collisions:0 txqueuelen:1000
  8.      RX bytes:0 (0.0 b) TX bytes:36414 (35.5 Kb)
  9.      Interrupt:4

So the link does not appear up, despite what the hardware says. The kernel definitely detects the card, otherwise there would be no eth1. I can ping the eth1 ip address from the box itself but not from anywhere else on the network, and nor can the box ping anything anywhere else.

It looks like it is not receiving any packets at all. I have changed switch ports, the cable, and used a second switch. Both switches have other devices working on them.

I have changed network cards, pci slots, rebooted several times etc.

This was working fine with the original network card and the ip address up until yesterday when there was a power failure and the machine went down hard. I am leaning towards broken hardware, but I've changed the NIC, the switch, the cable and used different pci slots. There is another network card in the box which still works... but I need two interfaces since it's a firewall.


I am truly stuck. Any ideas?
  • Anonymous
  • Bot
  • No Avatar
  • Posts: ?
  • Loc: Ozzuland
  • Status: Online

Post 3+ Months Ago

  • Don2007
  • Web Master
  • Web Master
  • Don2007
  • Posts: 4924
  • Loc: NY

Post 3+ Months Ago

I use FreeBSD so my answer may have to be modified to suit Linux.
Run dmesg | more
Eth1 should be listed. If it is, see if Linux has the
ifconfig -u command or something similar
That will tell you if the interface is up. You may be able to run
ifconfig -u eth1.
  • humbletech99
  • Proficient
  • Proficient
  • User avatar
  • Posts: 300

Post 3+ Months Ago

on linux ifconfig -u is not recognized, but I suspect you mean the equivalent of "ifconfig up" to bring the interface up.

I had tried that of course, but the link is still detected as down even though I forced the interface up, which means it thinks that the cable is unplugged, but the link on the switch and the NIC both shows the link is active and even show some activity.
  • Don2007
  • Web Master
  • Web Master
  • Don2007
  • Posts: 4924
  • Loc: NY

Post 3+ Months Ago

Are you sure that the static IP that you gave it is one the same subnet as the router?

I just looked back at your other posts and you don't even mention a router, you mentioned a switch. Show you setup as follows:
Modem > router if any > switch if any > PCs
Modify that to reflect your network.
  • humbletech99
  • Proficient
  • Proficient
  • User avatar
  • Posts: 300

Post 3+ Months Ago

Yes I am 100% positive the ip is correct. It has been using that ip for a month or two. It was working the day before the power cut.
  • Janrocks
  • Graduate
  • Graduate
  • User avatar
  • Posts: 165
  • Loc: between

Post 3+ Months Ago

Hmmm.. power cut..

Suspect hardware failure. Try the card in another setup or substitute with another.
  • Don2007
  • Web Master
  • Web Master
  • Don2007
  • Posts: 4924
  • Loc: NY

Post 3+ Months Ago

If it had something to do with the power failure, something may have been damaged, not when the power stopped but when it started again. There may have been a power surge. Is your equipment connected through a surge protector?
  • humbletech99
  • Proficient
  • Proficient
  • User avatar
  • Posts: 300

Post 3+ Months Ago

I think that it is running off a ups so that should have buffered it, but I'm not sure.

I have tried a second network card and get the same thing with that card as well.
  • Don2007
  • Web Master
  • Web Master
  • Don2007
  • Posts: 4924
  • Loc: NY

Post 3+ Months Ago

Did you try the second network card in a different slot? It's a long shot but it might work.
  • humbletech99
  • Proficient
  • Proficient
  • User avatar
  • Posts: 300

Post 3+ Months Ago

Yes I did. Still the same. I tried 2 cards in a different slot.
  • Don2007
  • Web Master
  • Web Master
  • Don2007
  • Posts: 4924
  • Loc: NY

Post 3+ Months Ago

I think you've done everything possible on the config side. A power surge certainly could have fried something. If you have another machine that you could use for testing, move the HD to it just to see what happens.
  • Janrocks
  • Graduate
  • Graduate
  • User avatar
  • Posts: 165
  • Loc: between

Post 3+ Months Ago

thinking....... sounds like it isn't passing any packets, which says to me an iptables misconfiguration. Probably set to "drop all" somewhere..

I really don't like iptables...

http://lists.netfilter.org/pipermail/ne ... 42846.html
  • this213
  • Guru
  • Guru
  • User avatar
  • Posts: 1260
  • Loc: ./

Post 3+ Months Ago

humbletech99 wrote:
Link detected: no

Check your cable, or just swap it with a different one. Just because you have a link light doesn't mean the cable is good. There's nothing wrong with your configuration, your card won't work until that says "Link detected: yes" which will only happen when the system detects some other device at the other end of the cable.
  • humbletech99
  • Proficient
  • Proficient
  • User avatar
  • Posts: 300

Post 3+ Months Ago

Yes I know that, but I have used 2 different cables and even 2 different switches, both of which have other hosts on them, and I still get the same result.

Janrocks: IPtables hasn't changed to my knowledge and even if it was blocking this, surely ethtool would say "link detected yes"?
  • this213
  • Guru
  • Guru
  • User avatar
  • Posts: 1260
  • Loc: ./

Post 3+ Months Ago

do you get anything with:
dmesg | grep -i eth
  • humbletech99
  • Proficient
  • Proficient
  • User avatar
  • Posts: 300

Post 3+ Months Ago

Code: [ Select ]
# dmesg|grep -i eth1
eth1: PCI device 8086:2449, xx:xx:xx:xx:xx:xx, IRQ 4.
device eth1 entered promiscuous mode
device eth1 left promiscuous mode
device eth1 entered promiscuous mode
device eth1 left promiscuous mode
  1. # dmesg|grep -i eth1
  2. eth1: PCI device 8086:2449, xx:xx:xx:xx:xx:xx, IRQ 4.
  3. device eth1 entered promiscuous mode
  4. device eth1 left promiscuous mode
  5. device eth1 entered promiscuous mode
  6. device eth1 left promiscuous mode


The promiscous mode was me trying tcpdump -i eth1 and getting absolutely nothing from it.

I'm still stumped, I'm sure even iptables could not cause such behaviour. When I'm back in the office I might try flushing all iptable rules just to make sure.

Any other ideas are welcome.
  • this213
  • Guru
  • Guru
  • User avatar
  • Posts: 1260
  • Loc: ./

Post 3+ Months Ago

I'm still thinking you have a hardware issue either on the card itself, the cable (even the second cable) or whatever it plugs into (switch, modem, hub).

What distribution is this? What does "ifconfig -s eth1" show?

Have you tried the card in a different machine? Have you tried a different card in this machine?

Post Information

  • Total Posts in this topic: 17 posts
  • Users browsing this forum: No registered users and 60 guests
  • You cannot post new topics in this forum
  • You cannot reply to topics in this forum
  • You cannot edit your posts in this forum
  • You cannot delete your posts in this forum
  • You cannot post attachments in this forum
 
 

© 1998-2014. Ozzu® is a registered trademark of Unmelted, LLC.