[SOLVED] Problems with Ethernet Gateway (Arduino Ethernet Shield)
-
@BulldogLowell , are you using relay actuators with your ethernet gw?
I'm not sure I know what you mean... Do you mean are some attached node used as relays?
Gateway still working perfectly...
-
@BulldogLowell yes, node with relay.
-
@BulldogLowell yes, node with relay.
I had... but converted it back to regular non-repeating node.
I had too much trouble with it, but that was before I had this stable Ethernet gateway.
-
I was finally gona tackle my own Ethernet GW but I got stuck at the "0;0;3;0;9;check wires" issue.
I'we checked the wires a couple of times. Tried 4 different power supplies, rewired so that only the radio gets the 3.3v from the LM2937ET-3.3 regulator (arduino Pro mini 3.3 feed with 5v on the raw pin and Ethernet module also gets 5v since it has a AMS1117 onboard). I do have a 47uF cap close to the radio. Tried regular radio module and the PA-LNA module that I was planing on using.
The "check wires" is related to the radio module only right?
Guess I will have to go back to the breadboard to see if I can get it working.
-
I have now tried on a breadboard with the same result "0;0;3;0;9;check wires". Swapped out the Pro Mini to a Nano same result. My conclusion would be that the Ethernet board I have can just not be used.

How I connected:
Ethernet board arduino pin
NSS/SS D10
MO/MO A0
MI/MI A1
SOK/CK A2
V+5 tried with 3.3v 5v and 9v
GND GNDThe radio was connected according to this
I'm still gona try the none SOFTSPI setup if I get the same result. edit -> same result here
-
I have now tried on a breadboard with the same result "0;0;3;0;9;check wires". Swapped out the Pro Mini to a Nano same result. My conclusion would be that the Ethernet board I have can just not be used.

How I connected:
Ethernet board arduino pin
NSS/SS D10
MO/MO A0
MI/MI A1
SOK/CK A2
V+5 tried with 3.3v 5v and 9v
GND GNDThe radio was connected according to this
I'm still gona try the none SOFTSPI setup if I get the same result. edit -> same result here
@korttoma That W5100 module has no SPI_EN signal out on the pins, so you have to use soft SPI for it, or it will block the radio module. Or you can HW-patch the module to drive the inverse of the CS pin on the SPI_EN pin on the W5100 ASIC. If you instead does pull out SPI_EN to the Arduino you can use the config in the gateway sketch to handle the SPI_EN for you. I do this for my GW which has a W5100 module with SPI_EN available and it works a treat.
-
I tried to use the SOFT_SPI but I always get check wires. So it seems like there is also something else. Only time I managed to get the sketch running was with the none soft_spi setup and I had power disconnected from the Ethernet module during startup and connected it later.
-
I tried to use the SOFT_SPI but I always get check wires. So it seems like there is also something else. Only time I managed to get the sketch running was with the none soft_spi setup and I had power disconnected from the Ethernet module during startup and connected it later.
@korttoma Sorry to be asking these probably stupid questions but have you checked that
- all wires are properly connected, and in-line with the config in the software
- the RF module is ok (tested multiple ones)
- supply voltage is relatively free of noise (I have seen noice up to 1V in relative amplitude without proper decoupling on my breadboard)
I am pretty sure you will never get the GW running on that module without either SOFT_SPI or a HW patch to it.
To me it sounds like a good start would be to get to the point where you can get it running on SOFT_SPI without the W5100 "present". Just to establish that you can communicate with the RF module.
If you can do it on HW SPI, then it should not be a problem with the RF module itself, more a config error for SOFT_SPI. -
I we tried allot of different sources of power, this was the firs thing I did. I have a stupid question to. The radio connection are the same even if I use soft_spi right? Or should also the radio be connected to the 3 analog pins?
-
I we tried allot of different sources of power, this was the firs thing I did. I have a stupid question to. The radio connection are the same even if I use soft_spi right? Or should also the radio be connected to the 3 analog pins?
-
For normal sensors you should probably run with the hardware SPI. So yes. disable it when gateway has been compiled and flashed.
-
Found the problem. It was actualy this coment that made do the setup completely wrong:
@BulldogLowell said:
@niccodemi said:const uint8_t SOFT_SPI_MISO_PIN = 15; const uint8_t SOFT_SPI_MOSI_PIN = 14; const uint8_t SOFT_SPI_SCK_PIN = 16;and these are the correct pinouts for my Arduino Ethernet Shield, correct?
This is moving the SPI communication between the Uno and the shield off to another set of pins, and we are leaving the radio pins on hardware SPI?
So from this I had moved the Ethernet SPI pins to the allocated SOFT_SPI pins and not the radio pins like I was supposed to. @Dan-S did correct Jim but somehow I missed that part.
-
Found the problem. It was actualy this coment that made do the setup completely wrong:
@BulldogLowell said:
@niccodemi said:const uint8_t SOFT_SPI_MISO_PIN = 15; const uint8_t SOFT_SPI_MOSI_PIN = 14; const uint8_t SOFT_SPI_SCK_PIN = 16;and these are the correct pinouts for my Arduino Ethernet Shield, correct?
This is moving the SPI communication between the Uno and the shield off to another set of pins, and we are leaving the radio pins on hardware SPI?
So from this I had moved the Ethernet SPI pins to the allocated SOFT_SPI pins and not the radio pins like I was supposed to. @Dan-S did correct Jim but somehow I missed that part.
-
@korttoma said:
and these are the correct pinouts for my Arduino Ethernet Shield, correct?
No, this is the new pinout for the radio. Radio uses SoftSPI and the ethernet uses the good old hw SPI..
@hec that was what I was trying to explain with my post also. It was an earlier post by Jim that got me to do the setup incorrectly.
-
@korttoma No, the whole point of using SOFT_SPI is that you use different pins. The reason is that the W5100 "hogs" the SPI interface, so if you cannot access SPI_EN on W5100 then you cannot share SPI pins with W5100.
@Anticimex said:
@korttoma No, the whole point of using SOFT_SPI is that you use different pins. The reason is that the W5100 "hogs" the SPI interface, so if you cannot access SPI_EN on W5100 then you cannot share SPI pins with W5100.
Sorry for being confusing. The SOFT_SPI feature affects the RF module, not the W5100 module. Sorry for being unclear on that point.
But the reason for having SOFT_SPI is because of the W5100 modules violation of SPI praxis.
So; when using SOFT_SPI, RF module needs to be wired differently. -
Just to make things a bit more clear for the next guy with a W5100 module that wants to use the SOFT_SPI :
download Master library 1.4.1
Patch file RF24_config.h (xxxx\MySensors\utility) to enable softspi,
uncomment (remove //) #define SOFTSPI
and change pin numbers as below:
const uint8_t SOFT_SPI_MISO_PIN = 15; const uint8_t SOFT_SPI_MOSI_PIN = 14; const uint8_t SOFT_SPI_SCK_PIN = 16;Connecto radio and Ethernet module according to this:

start arudino ide 1.5.8, open Ethernet Gateway sketch and amend/add below lines
add this line: #include <DigitalIO.h>
comment UIPEthernet.h (//#include <UIPEthernet.h>)
uncomment Ethernet.h (#include <Ethernet.h>)
and choose IP address
-
Just to make things a bit more clear for the next guy with a W5100 module that wants to use the SOFT_SPI :
download Master library 1.4.1
Patch file RF24_config.h (xxxx\MySensors\utility) to enable softspi,
uncomment (remove //) #define SOFTSPI
and change pin numbers as below:
const uint8_t SOFT_SPI_MISO_PIN = 15; const uint8_t SOFT_SPI_MOSI_PIN = 14; const uint8_t SOFT_SPI_SCK_PIN = 16;Connecto radio and Ethernet module according to this:

start arudino ide 1.5.8, open Ethernet Gateway sketch and amend/add below lines
add this line: #include <DigitalIO.h>
comment UIPEthernet.h (//#include <UIPEthernet.h>)
uncomment Ethernet.h (#include <Ethernet.h>)
and choose IP address
@korttoma Good overview. Actually, it is also possible to skip the IP address and use DHCP. Works just fine (though obviously you need a router that assignes a known IP to your chosen MAC, since the controller needs to know the IP of the GW.