If you’re a networking professional, there are professional tools for verifying that everything’s as it should be on the business end of an Ethernet cable. These professional tools often come along with a professional pricetag. If you’re just trying to wire up a single office, the pro gear can be overkill. Unless you make it yourself on the cheap! And now you can.
[Kristopher Marciniak] designed and built an inexpensive device that verifies the basics:
- Is the link up? Is this cable connected?
- Can it get a DHCP address?
- Can it perform a DNS lookup?
- Can it open a webpage?
What’s going on under the hood? A Raspberry Pi, you’d think. A BeagleBoard? Our hearts were warmed to see a throwback to a more civilized age: an ENC28J60 breakout board and an Arduino Uno. That’s right, [Kristopher] replicated a couple-hundred dollar network tester for the price of a few lattes. And by using a pre-made housing, [Kristopher]’s version looks great too. Watch it work in the video just below the break.
Building an embedded network device used to be a lot more work, but it could be done. One of our favorites is still [Ian Lesnet’s] webserver on a business card from way back in 2008 which also used the ENC28J60 Ethernet chip.
There are three other extremely useful features that most high end test gear in this space have, that this does not, but it is brilliant, it made me smile to see it.
Is the link half or full duplex. A forced and auto mismatch can cause dire performance.
What speed is the link 10/100/1000Mb/sec. Sometimes NOC can configure ports that are reused by grunts.
You can accidental connect it to 50 volt DC from a phone line and it is still alive.RJ-45 connectors were used to make cable routing easier for phones, but with VoIP phones this is slowly becoming a thing of the past.
Yeah, I have met routers which do not like the ENC in 10Mbps semi-duplex.
so the real fact is that it does absolutely nothing that a “couple-hundred dollar network tester” does. :-)
Doing so would mean replacing the MAC and PHY with a full-gigabit version (the one being used is only 10Base-T, half-duplex), which would also mean upgrading the processor. It might be cheaper and easier just to use an old laptop or a tablet with USB-to-Ethernet adapter. Testing to see if you have an internet connection is really all a controller like this could handle and that is perfectly fine by me.
You forgot one big feature. TDR – Time Domain Reflection – For finding out how long a cable is.
Build this with 4 addressable RGB LED’s to make it simpler in wiring and give you more information.
They’re already bi-colour. Used to be called tri-colour if they had separate leads for the red and green LEDs, cos you could wire them up as yellow. And orange. Tho you can do that anyway with a standard bi-colour just by flicking the polarity quickly enough.
Anyway… so you’d only be adding blue to the mix, and it’d mean having extra code to drive them. These ones presumably just hang off pins of the microcontroller, not really a challenge to wire up, and easy to drive, hard to get it wrong. The smart LEDs also tend to be surface mount, and come on a PCB, which is a bit harder to wire up than raw LEDs with pins sticking off them. Finally raw LEDs are much cheaper!
A little 10 segment bar graph up the side for bandwidth measuring. Red LED for up, Green LED for down.
Do you mean like measuring the link speed? Or do you mean something that would go out and connect to one of the speed test websites and actually test what your internet connection is? Or do you mean something to measure the packet loss rate on the link?
The first one would be a bit expensive since you’d need a much more powerful micro to run a much more expensive MAC/PHY so that the network device on the other end would even consider letting you know of the higher speeds.
For the second, might as well just plug in a full RasPi since you’d need a UI to select the end point to test against and something that could do Javascript to run the test itself. Plus you’d need to keep it plugged into the port for a couple minutes for the test to run.
Measuring packet loss would be easier, but would require the device to be plugged in for some time to get accurate numbers (And you might as well just grab the info off the switch you are plugging into)
The device in the article is meant to be plugged into a wall plate to test if the port is up, that it can get an IP, and that it could connect to an arbitrary website within a few seconds. This would be right at home in testing a building that just had and bunch of new network ports put in and they need to be tested
The most I’d want to see added is perhaps a set of 7-segment displays to show the assigned IP, DNS server, and, maybe, gateway. Knowing the MAC address of the switchport would let you map which port that plug is connected to.
Can we get a small LCD to show IP info, and perhaps CDP info? The more expensive testers have this info.
CDP really shouldn’t be running. Security implications outweigh its usefulness…unless of course you are trying for the other meaning of hack a day.
can it make coffe in the morning an serve beer in the afternoon?
of course it can: just build it yourself!!
add mandatory e in comment above if commenting urge rises.
Yeah, but can it lie hard for you when necessary?
I had found my IT assistant wiring straight through cables, and she had sheep tools like this that said everything ok, my less than $400 tester said pair mismatch and spotted the less than average performance over small runs
For real-life network diagnostics it would be better to use DHCP provided DNS server (of course if DHCP works). Router can have wrong configuration and provide wrong DNS address but since this tool checks google’s DNS it will not detect any problem but other hosts won’t be able to resolve addresses.
This is only supposed to provide the basics, information to see if you have an Internet connection or not. But your idea isn’t bad, perhaps something to add an extra LED for, if there’s room left in the Arduino for the code. That’s what’s nice about the design, shouldn’t be hard to add or change features, just a matter of opening the case and running a USB lead in.
There’s a border, though, between this and just using a computer for diagnosis. It’d be increasingly pointless to try add every feature to it. This gives nice simple indication of the basic problems you might have wiring up a new point on the network.
Right now, the box at least shows that DNS access is possible on the network, even if your DNS server is down, or DHCP is sending the wrong one. In fact that might help diagnose that exact problem, if the box can reach DNS but your PCs can’t, your DHCP information is something you should have a look at.