This tutorial will walk you through the steps of tracking down layer 1 & 2 connectivity issues on a Ethernet segment.
Scenario: Your connection to a device intermittently drops, or is painfully slow.
This could be the result of any number of factors, such as:
- Bad Medium (cabling, etc.)
- Electrical Interference
- Bad Driver
- Bad Device
- Mis-configured Device
So let’s start at the top of the list.
Bad cabling is everywhere, I’ve come into an organization just two years after hundreds of new cables were pulled, to find 30% of them were bad, with 8% needing to be pulled again.
So how can we verify if our problem is cabling.
The first step is to verify that we are using the correct cable(s) and distances for the speed of our Ethernet Network. The University of Wisconsin has a great chart here:
The second step is to replace the cable(s), with a known good unit.
Step two doesn’t work very well on cabling that is run through the walls, ceilings, and floors, so you’ll need an analyzer for that purpose. Cable analyzers are expensive, and you’ll probably want to rent one or call in a professional low voltage wiring contractor to run the test for you.
Are you having electrical interference?
Try to see that your cables are not in close proximity to electrical motors, transformers, fluorescent lamps, etc.
Do you have a Bad Driver? Check the NIC’s hardware compatibility for your OS.
To determine your device in linux:
ifconfig” to determine the device name (usually “eth0″)
dmesg |grep DeviceName” to determine the device type
To determine your device in BSD:
ifconfig” to determine the device name
grep DeviceName /var/run/dmesg.boot”
Do you have a bad device? Try a different port/NIC or completely different computer/switch/hub or other device if you have one available.
Do you have a mis-configured Device?
The first item to examine is our Duplex status. Are both ends set to the same speed and duplex? Are we seeing a lot (more than 0.5%) of packets being dropped?
For linux/bsd try “
ifconfig” from the command line. Using “
netstat -i” gives us a succinct look at our network statistics.
For linux, using “
ethtool -S eth0” gives us a wealth of detailed information about “eth0″. You can also try “
ip -s link“, “
nstat“, and “
sar -n DEV 1 3” if you have sysstat installed.
Our next step will be to whip out trusty old “
tcpdump” or the graphical “wireshark” and take a look at the packets flying over the link, typically mirroring a port on our switch. How to use those tools will be a discussion for a future day.