Go Down

Topic: Arduino Uno and Ethernet Shield from Seeed bug with MAC address (Read 1 time) previous topic - next topic

jdcalus

Dec 31, 2014, 09:21 pm Last Edit: Dec 31, 2014, 09:24 pm by jdcalus Reason: forgot the version of Arduino I am running
I have looked on google and have not see this documented anywhere, so I am not sure if it has something to do with my Ethernet Shield from Seeed Studio or there is an issue with the Ethernet Library.

I have a genuine Arduino Uno and a Ethernet Shield from Seeed Studio. The shield is version 1.1 06A12.

In any event, the issue occur when the MAC address starts with an odd number. Below is an example

byte mac[] = { 0xDF, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // 0xDF is an even number everything is fine.
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };// 0XDE is an odd number and networking doesn't work.


I have tried this across several different mac address, all exhibiting the same problem.

For testing purposes I used the example WebClient sketch that comes with Arduino and made 1 change, that being the ip address for my local network and everything works perfectly.
When I change the MAC address from 0xDF to 0XDE, networking no longer works.


I have tried this against other MAC addresses all exhibiting the same issue if the first Hex is an odd number.

Can someone else validate if they are having the same issue? I only have 1 Ethernet Shield, so I can't test on another shield.

I am running Arduino 1.0.6

Cheers
-Jeff

SurferTim

Code: [Select]
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };// 0XDE is an odd number and networking doesn't work.
0XDE is an even number, and it does work.
0XDF is odd, and it works also.

edit: If the controller is a enc28j60, I can't verify that. I have a w5100 ethernet shield.

jdcalus

Geez, I posted them backwards  :smiley-yell:  Obviously you are correct the DE is even and DF is odd. I also have the W5100 and the issue exists.
So either my Ethernet Shield is bad or the Seeed Studio Shield has an issue.

Thank you for testing.

SurferTim

Are you using a dhcp assigned IP or a static IP?

Have you tried other mac addresses? It could be your router.

jdcalus

I am using a static IP address and only changing the MAC address on the shield. I have tried 20 different MAC addresses and the only time it occurs is when the first hex is an odd number. When I do an arp -a from my linux machine, the MAC address doesn't show when the first Hex is an odd number. When it is even, is shows up in the list.

Since I know the limitation it isn't too much of an issue for me, I just wanted to make sure it wasn't a bug in the Ethernet libraries. I would have be super surprised if it was, but you never know.

Cheers
-Jeff

SurferTim

Have you tried an odd mac and using dhcp? Does it get an IP?

jdcalus

I did try, but nothing. DHCP times out. Basically because networking is not working when it is an odd number.

Change to an even number and all works fine. Very weird.

Go Up