I'm trying to fix a very strange problem remotely on a machine at a customer site. The machine is a Dell PowerEdge 1950. The machine's NIC is a dual-port on-board Broadcom NetXtreme II BCM5708 Gigabit Ethernet, using the bnx2 driver.
The primary interface eth0 works perfectly, and is in fact how I am ssh'd in.
However, the secondary interface eth1 is not transmitting. I can see this in ifconfig output, for example, where the TX field is always 0. However, it is receiving, and tcpdump shows ARP requests coming from the ISP's gateway on the other side.
The interface is physically connected to a Siemens BSTU4 modem, configured by the ISP. The link is properly set to 10MBps and full duplex, without negotation, as the ISP requested. A small /30
subnet is configured. For the sake of anonymity, let's say the machine is 3.3.3.2/30
, and the ISP's gateway .1
. The machine has no firewall settings whatsoever.
Even running something like arping -I eth1 3.3.3.1
, and running tcpdump alongside, shows no traffic whatsoever being transmitted on the interface. (But the other side keeps steadily sending ARP requests, and that is all that can be seen.)
What could be causing this?
Here's some output, anonymized, which may hopefully help:
$ ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: Not reported
Advertised auto-negotiation: No
Speed: 10Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: d
Wake-on: d
Link detected: yes
$ ip link show eth1
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:15:c5:xx:xx:xx brd ff:ff:ff:ff:ff:ff
$ ip -4 addr show eth1
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
inet 3.3.3.2/30 brd 3.3.3.3 scope global eth1
$ ip -4 route show match 3.3.3.0/30
3.3.3.0/30 dev eth1 proto kernel scope link src 3.3.3.2
default via 10.0.0.5 dev eth0
First thing to check: Possible hardware problem. Are you using a known good cable? Check that again.
Do you get anything out of the RG45 when you plug it into a LAN tester? O-scope on the TX leads?
If there's a HW fault, you'll spend a lot of time looking for SW configuration issues and not find anything.
Since you disabled auto negotiation and wouldn't have auto Auto-MDIX as a result, you may need to use a crossover cable as result. However, I would think that the transmit would still go up in this case.
Did you try a "traceroute -i eth1 www.google.com"? Maybe there is a routing problem.