[SOLVED] New ENC28J60 module not communicating with Cisco Switch.

Hallo all,

I have created several temperature network servers with arduino nano + ENC28J60 (old 10pin header "large IC") + DS18B20 sensors and worked like a charm for the last 3 years.

I just build a new one, and since I could not find the old 10pin ENC28J60 module, I used the new 12pin ENC28J60 module with the smaller IC.

Everything works perfectly (ping the IP and browse the server's webpage) when connected directly to my PC or trough my local TPlink switch network.
But when connected to ANY Cisco switch I am unable to ping or access it! >:( >:(
It seems like this module cannot negotiate with Cisco Switches while the old one had no problem.

I managed to operate it using a Netgear gateway (cisco on the WAN side and Arduino on the LAN side) but it is not an acceptable solution.

Also tried this ENC28J60 with the same results (not working)

Has anyone else experienced / solved this problem??
Any help would be appreciated.

Thanx in advance,


What sort of Cisco switches have you used (model nos)?
Presumably you have checked the most obvious things such as trying different cables different ports on the switches.

You say you tried with a Netgear gateway between the Cisco and Arduino and that works (but obviously is not a solution), what model Netgear gateway?

Do you have any other switches available to try?

Have you checked the firmware version on the Cisco if it is updateable?

I found that linking 2 arduinos directly using W5100 ethernet shields appears not to work due to autonegotiation failure. I wonder if it could be a similar issue in this case. Could you fix the speed of the port on the Cisco to say 10Mb and see if it works then (not suggesting as a proper solution)?

Thanks for the replies,

Juraj: I tried both UipEhternet.h library and EtherCard.h. Neither worked. (It worked fine with the old ENC board).

countrupaul: The gateway I used is Netgear WPN824v2 — RangeMax Wireless
Direct PC connection worked fine.
Tried with a lot of unmanaged switches (3com office connect, Tplink TL-SG108 and some others) and worked fine.
With both Cisco Catalyst2960X and SG200-08, no success (both are managed switches and with the latest firmware). Unfortunately I do not have a Cisco unmanaged switch to try...

Thanks again.

countrupaul: Manually changed the Cisco port speed to 10mb and half duplex (also tried full duplex) with no success.
When connected to a switch i also connected a PC like the "drawing" below.

| PC1 |

| ENC |-----| SWITCH |----| CISCO |-------| PC2 |
|| | no IP | || ||

PC1 pings everything (ENC / CISCO / PC2)
PC2 pings CISCO and PC1 (NOT ENC)
CISCO pings PC1 and PC2 (NOT ENC)

Now it is working like that:

| ENC | | GATEWAY | | CISCO |-------| PC2 |
||-----| LAN SIDE |WAN SIDE |---|| ||
| | | || | | | |

Of course I have set up a port forwarding on the gateway.

Hope this clarifies things a bit (no cable problem, no port problem)


did you try a crossed cable?

Dear Juraj,

never though of it :o (in my mind the crossover cable is something long forgotten. A long time ago, in a galaxy far far away) :wink:
Tried with a crossover cable and… HALLELUJAH!!! :slight_smile: :slight_smile: :slight_smile:
Works like a charm!!!


If you could explain me why it works only with a crossover cable it would be greatly appreciated! (I am always eager to learn something new). If it was just a troubleshooting idea, again it is greatly appreciated. :wink:

Again thank you all for helping me.

Best regards,


Pleased that you got it working, I have heard of problems with certain equipment connections requiring a crossover cable, but like you I thought that was history and no longer an issue.

I take it in the last diagram of you post #4 that the ip address of the ENC is just a type and should be in the same .1 subnet as shown elsewhere.

I cannot understand why PC2 and Cisco cannot ping ENC but can ping PC1 in diagram 1 of post #4 when there is a another switch between them - suggests a software problem rather than ethernet problem.

Either way, if you have a solution with which you are happy and don't need to know why it didn't work it makes a lot of sense to move on.

The ENC28J60 most probably doesn't support Auto-MDIX

Dear countrypal,

"Either way, if you have a solution with which you are happy and don't need to know why it didn't work it makes a lot of sense to move on."
I totally agree with you.

"If it works, don't fix it!!"

Now, for the sake of the conversation: On diagram 2 the IP of the ENC is not a typo! On the Gateway I have the LAN side with subnet (connected on the ENC) and the WAN side on the subnet (connected to the Cisco). On the gateway I have enabled a forward rule so that traffic from the WAN is forwarded to the ENC. This was the only way that it worked.

hzrnbgy: If that was the case then installing a simple switch between them would have solved the problem (but it did not)....
Also when ENC was connected directly to the Cisco the link would have been down. But Cisco reported the port as UP / 10M / Half so Level 2 negotiation worked!
I tend to think that for some strange reason Cisco is not registering the ENC on the ARP table unless I use a cross-over cable!
Go figure!!!

Anyway since we found a solution I will not search any further (probably goes beyond my knowledge). :wink:

Thank you all!!

Is there a way I can mark this topic as solved???

You can edit the title, most seem to put [Solved] at the start of succesfully solved ones.

I cannot find a way to change the topic title.
Probably only moderators can do that.

If a moderator / administrator sees that please add a [SOLVED] to the topic title.

You will need to edit the first message to get the [Solved] part to show.

Select quick edit and then Preview message to get to the Subject line or select more...Modify to get there.

Changed the topic to [SOLVED].
Thx Riva.