WIZnet WIZ550io

Posted on
Page
of 5
First Prev
/ 5
  • Hello possmann,

    I did some test with two kind of WIZ550io modules and Espruino board but both worked well without any problem.

    I downloaded the latest firmware, http://www.espruino.com/binaries/espruino_1v69_espruino_1r3_wiznet.bin, onto espruino.
    I did test following your test sequence.
    Both worked well in static IP mode and those have gotten its IP address from DHCP server in DHCP mode.
    Webserver application run successfully and I could access to the webserver onto my espruino board.

    I think there is no fault in not only WIZ550io Rev 1.0 but alse Rev 1.1, and Espruino's ethernet library.

    Well, first step: this is the output for getIP()

    eth.getIP();
    ={

      "ip":"0.0.0.0",
      "subnet":"0.0.0.0",
      "gateway":"0.0.127.0",
      "dns":"0.0.0.0",
      "mac":"0008dc1d4f18"
    }
    

    so, i tried to connect the DHCP with eth.setIP(); after 5 minutes no response in the WEBIDE, just a blinking cursor after.

    I'm suspicious of above result.
    In static IP mode, its IP address should be read correctly, but you couldn't do that.

    There may be something wrong in the interface of WIZ550io and epruino board.
    Could you check that interface using oscilloscope?

    Thank you.

    James.

  • I'm suspicious of above result. In static IP mode, its IP address should be read correctly, but you couldn't do that.

    I hope we're not talking past each other. DHCP connection doesn't work. A static ip definition with eth.setIP({....}); works well. I can ping to the defined ip address. But the server application doesn't work. No response after running a page request or setup a simple http server.

    Well, i give this issue another try this weekend, but I guess I can not handle an oscilloscope :-) Nevertheless, I try my best to find a way for debugging.

  • Just got my WIZnet modules from DigiKey and mostly working.

    DHCP is fine.

    However getting: ERROR: Socket error -7 while sending

    This is normally after doing a few http.get() requests.

    I have spaced the get requests 30 seconds apart but still getting them unfortunately.

    Running eth.setIP() does seem to help though and get it back working, for at least 1 request.

    Sometimes will then work for 2 or 3 requests but normally only 1.

  • 1v70

    eth.setIP();
    ERROR:No free sockets found
    

    why?

  • Ok, i had not much time for a extensive test. I just set up all pins and connection from the scratch and retry the main features again.

    (same network / router configuration like before)

    • DHCP still fail
    • eth.setIP({ "ip": "192.168.1.2", ... }) works after 2-3 function calls (very strange)
    • first eth.getIP() call returns very strange ip settings (e.g. { "ip": "3.192.168.1", ... })
    • ping from my Mac Book to the espruino works
    • http server 'hello work' doesn't
    • http request to my Mac Book apache doesn't work

    The result was the same like my first documentation. At the moment, I don't know what I'm doing wrong. After my holidays i give that another with new network and router configuration. Additionally a friend of mine will take a look at my configuration.

    I'll keep you up to date

    @user47955: which revision do you have?

  • @possmann I am using 1v69

  • Interestingly if I use a Windows DNS server on my network it all seems to work without issue.

    If using a Linux DNS server on my network then I get the errors and timeouts after the first successful http.get().

    The Linux DNS server is used for all the other clients on the network without issue.

  • OK maybe not.

    Just set it back to use the Linux server DNS and it is working fine now.

    Not having to call the eth.setIP() after each http.get() call either.

    Strange.

  • The fact that you're getting things like { "ip": "3.192.168.1" } makes me think that when data is being read from the WizNET550io or processed, it's off by a byte (since most home routers start IP addresses with 192.168.1...)

  • @javakys thanks for checking this out. Sorry for the delay - I have been (in fact still am) on holiday.

    @possmann I think @DrAzzy is right. It sounds like a really strange wiring issue. If there was some problem with MISO but not MOSI it could explain some of the behaviour - specifically why setIP worked but nothing else did.

  • @Gordon and @DrAzzy,

    I think it is a timing issue.
    When you send to or read from W5500 inside WIZ550io, its working mechanism is like below.

    When reading,
    MCU sends three bytes containing address and operation code first and make additional SPI clocks for the length of bytes.
    Then W5500 sends dummy data like 0x01, 0x02 and 0x03 during first three bytes and then real data, which MCU should get, synchronizing to additional SPI clocks back over MISO pin.

    possmann wrote,

    first eth.getIP() call returns very strange ip settings (e.g. { "ip": "3.192.168.1", ... })

    I think that WIZ550io sent back 1, 2, 3, 192, 168, 1, 2 in decimal sequentially but MCU returned a user 4 bytes from 3, not 192 by unknown fault,

    This is the reason why I'm saying it may be timing issue.

    WIZ550io has a tiny MCU inside to intialize W5500 with real MAC address and default IP address.
    So it takes a few mili seconds to finish intialization.
    WIZ550io provides RDY pin(J2.2) to check it.

    @possmann I recommend you connect your WIZ550io's RDY pin to espruino's any GPIO pin and do ether.getIP() or ether.setIP() after its value turns to '1'

    @Gordon Can you send me your ethernet dirver code for W5500? It may be helpful for me to find the reason of this problem.

    Thank you.

  • Thanks... Could it be that the SPI baud rate is too high? It doesn't explain why it fails for @possmann but works for so many others though.

    Driver code is here:

    https://github.com/espruino/Espruino/tree/master/libs/network/wiznet

  • @javakys @possmann I just came across exactly this problem, with exactly the same output from eth.getIP().

    The problem was that the CS pin wasn't connected and was just floating!

    @possmann, please can you check that the CS pin (pin 6 on the W5500 module) is connected to pin B2 on Espruino? If it is, can you try connecting it to an LED instead and test it with digitalWrite(B2,1)? It's possible that your Espruino board has a bad connection.

    And just to confirm - having tested both revisions of the board (WIZnet kindly sent me some of the new revision) they behave identically.

  • @all: thanks for your feedback... now, i'm back from italy and ready for further tests (fully recovered and relaxed) :-) I will give you feedback during this week. I hope the next tests are successfully.

  • So, sorry for the late answer.

    I tested some issues.

    I recommend you connect your WIZ550io's RDY pin to espruino's any GPIO pin and do ether.getIP() or ether.setIP() after its value turns to '1'

    I check the RDY pin, but after the value was '1', nothing changed. DHCP is still not working. At the moment, i'm not able to set a static ip address at this place (university network), but i will test it at home again.

    If it is, can you try connecting it to an LED instead and test it with digitalWrite(B2,1)? It's possible that your Espruino board has a bad connection.

    I test the B2 pin with a LED and it works well. So the connection is definitively ok.

    Well, i don't know how i get this module to getting work.

    Any other suggestions? Test issues?

  • I'd be pretty sure it was a CS pin issue now, as I managed to get the exact same behaviour with that...

    Maybe you could check that Pin 6 on J1 of the WIZnet board can be changed by manually sending values to B2, just to really make sure there isn't some connection issue?

    Otherwise I guess after all that it might be possible that your WIZnet board has some problem... Did you ever have it working with any other MCU boards?

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

WIZnet WIZ550io

Posted by Avatar for Pat @Pat

Actions