Arduino Nano, W5100 Ethernet, NRF24L01+, wont get or use an ip (dhcp or static)



  • Hi folks,

    after a long time of googling around I would like to ask you for your help.

    I'm using an arduino nano, a w5100 Ethernet shield and a nrf24l01+.

    The problem is that it doesnt get an ip adress via dhcp or if I configure the ip static it won't also work.

    If I upload a webserver example it is working. So the w5100 ethernet shield is working.

    Here is my sketch: (used the one from this website).

    serial Monitor output:
    0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
    0;255;3;0;9;TSM:INIT
    0;255;3;0;9;TSM:RADIO:OK
    0;255;3;0;9;TSM:GW MODE
    0;255;3;0;9;TSM:READY
    IP: 0.0.0.0
    0;255;3;0;9;No registration required
    0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1

    sketch:

    /**

    • The MySensors Arduino library handles the wireless radio link and protocol
    • between your home built sensors/actuators and HA controller of choice.
    • The sensors forms a self healing radio network with optional repeaters. Each
    • repeater and gateway builds a routing tables in EEPROM which keeps track of the
    • network topology allowing messages to be routed to nodes.
    • Created by Henrik Ekblad henrik.ekblad@mysensors.org
    • Copyright (C) 2013-2015 Sensnology AB
    • Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
    • Documentation: http://www.mysensors.org
    • Support Forum: http://forum.mysensors.org
    • This program is free software; you can redistribute it and/or
    • modify it under the terms of the GNU General Public License
    • version 2 as published by the Free Software Foundation.

    • REVISION HISTORY
    • Version 1.0 - Henrik EKblad
    • Contribution by a-lurker and Anticimex,
    • Contribution by Norbert Truchsess norbert.truchsess@t-online.de
    • Contribution by Tomas Hozza thozza@gmail.com
    • DESCRIPTION
    • The EthernetGateway sends data received from sensors to the ethernet link.
    • The gateway also accepts input on ethernet interface, which is then sent out to the radio network.
    • The GW code is designed for Arduino 328p / 16MHz. ATmega168 does not have enough memory to run this program.
    • LED purposes:
      • To use the feature, uncomment WITH_LEDS_BLINKING in MyConfig.h
      • RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
      • TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
      • ERR (red) - fast blink on error during transmission error or recieve crc error
    • See http://www.mysensors.org/build/ethernet_gateway for wiring instructions.

    */

    // Enable debug prints to serial monitor
    #define MY_DEBUG

    // Enable and select radio type attached
    #define MY_RADIO_NRF24
    //#define MY_RADIO_RFM69

    // Enable gateway ethernet module type
    #define MY_GATEWAY_W5100

    // W5100 Ethernet module SPI enable (optional if using a shield/module that manages SPI_EN signal)
    //#define MY_W5100_SPI_EN 4

    // Enable Soft SPI for NRF radio (note different radio wiring is required)
    // The W5100 ethernet module seems to have a hard time co-operate with
    // radio on the same spi bus.
    #if !defined(MY_W5100_SPI_EN) && !defined(ARDUINO_ARCH_SAMD)
    #define MY_SOFTSPI
    #define MY_SOFT_SPI_SCK_PIN 14
    #define MY_SOFT_SPI_MISO_PIN 16
    #define MY_SOFT_SPI_MOSI_PIN 15
    #endif

    // When W5100 is connected we have to move CE/CSN pins for NRF radio
    #ifndef MY_RF24_CE_PIN
    #define MY_RF24_CE_PIN 5
    #endif
    #ifndef MY_RF24_CS_PIN
    #define MY_RF24_CS_PIN 6
    #endif

    // Enable to UDP
    //#define MY_USE_UDP

    #define MY_IP_ADDRESS 192,168,43,66 // If this is disabled, DHCP is used to retrieve address
    // Renewal period if using DHCP
    //#define MY_IP_RENEWAL_INTERVAL 60000
    #define MY_IP_GATEWAY_ADDRESS 192,168,43,1
    #define MY_IP_SUBNET_ADDRESS 255,255,255,0

    // The port to keep open on node server mode / or port to contact in client mode
    #define MY_PORT 5003

    // Controller ip address. Enables client mode (default is "server" mode).
    // Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere.
    //#define MY_CONTROLLER_IP_ADDRESS 192, 168, 178, 254

    // The MAC address can be anything you want but should be unique on your network.
    // Newer boards have a MAC address printed on the underside of the PCB, which you can (optionally) use.
    // Note that most of the Ardunio examples use "DEAD BEEF FEED" for the MAC address.
    #define MY_MAC_ADDRESS 0xCA, 0xFE, 0xC0, 0xFF, 0xEE, 0x00

    // Flash leds on rx/tx/err
    #define MY_LEDS_BLINKING_FEATURE
    // Set blinking period
    #define MY_DEFAULT_LED_BLINK_PERIOD 300

    // Enable inclusion mode
    #define MY_INCLUSION_MODE_FEATURE
    // Enable Inclusion mode button on gateway
    //#define MY_INCLUSION_BUTTON_FEATURE
    // Set inclusion mode duration (in seconds)
    #define MY_INCLUSION_MODE_DURATION 60
    // Digital pin used for inclusion mode button
    //#define MY_INCLUSION_MODE_BUTTON_PIN 3

    // Uncomment to override default HW configurations
    //#define MY_DEFAULT_ERR_LED_PIN 7 // Error led pin
    //#define MY_DEFAULT_RX_LED_PIN 8 // Receive led pin
    //#define MY_DEFAULT_TX_LED_PIN 9 // the PCB, on board LED
    #define MY_NODE_ID 0
    #include <SPI.h>

    #if defined(MY_USE_UDP)
    #include <EthernetUdp.h>
    #endif
    #include <Ethernet.h>
    #include <MySensors.h>

    void setup()
    {
    }
    //void presentation() {
    // Present locally attached sensors
    // sendSketchInfo(SN, SV);
    //}

    //void loop() {
    //}

    Thanx.


  • Mod

    @webstor could you describe what you mean by "won't work"? Have you tried to ping it?



  • No IP via dhcp.
    If I change it to static, it isn't pingable. There isn't not even a dhcp discover / offer and so on. Tested it with wireshark.



  • To get to the point.
    The ethernetmodule isnt working with the code from mysensors and I don't know why.
    If I upload a webserver code for testing dhcp or static is working.

    And ping wont make sense if the interface isnt working at all. ;-)


  • Admin

    Are you sure you don't take out too much juice from the Arduino? With both radio and ethernet module attached... Could you try powering the eth-module separately?



  • @hek said:

    Hi.

    I also tried use an external power supply which.
    Same result.
    The led's of the lan-port are flashing like from every other device.


  • Admin

    And you are't re-using the mac address on some other device?



  • @hek said:

    some

    nope.
    I also changed the default mac adress to another one just to make sure.

    Same.


  • Admin

    Very strange.. did you try disabling the radio just for test (MY_RADIO_NRF24) and unplugging it?



  • HI,

    I think two of my lan-shields are broken. The problem is that they aren't total broken.
    I mean, they are working sometimes, and then they dont.

    Sorry. for stealing your time.



  • The baddest part is, I have to reorder these lan shields and wait till the show up.


  • Admin

    Why did they die?


Log in to reply
 

Looks like your connection to MySensors Forum was lost, please wait while we try to reconnect.