-
Thanks Gordon for the SPI I/F repair and setIP() command update in version 1.78.
After reset all W5500 registers are 0x00 - OK.
And, for DHCP with setIP(), the MAC is updated to 00:08:DC:01:02:03 by default if not specified before.
The 00:08:DC = "WIZnet" and the 01:02:03 is just random to have a valid value here.
Now, the W5500BoB is working too :-).Just one more strange effect - the MAC-Address looks scrambled after a direct change and then read-back.
WEB IDE:>SPI2.setup({ mosi:B15, miso:B14, sck:B13 }) // for PICO + W5500 (Shim) =undefined >var eth = require("WIZnet").connect(SPI2, B10) // make the Ethernet object ={ } >eth.getIP() // just read out the start values out of W5500, expect all 0x00 here ={ "ip": "0.0.0.0", "subnet": "0.0.0.0", "gateway": "0.0.0.0", "dns": "0.0.0.0", "mac": "00:00:00:00:00:00" } // OK, all empty, as expected >eth.setIP() // make DHCP > Send DHCP_DISCOVER > Receive DHCP_OFFER > Send DHCP_Request > Receive DHCP_ACK // success =true >eth.getIP() // read out new W5500 address register content ={ "ip": "192.168.111.190", // received IP-Address "subnet": "255.255.255.0", "gateway": "192.168.111.1", "dns": "192.168.111.1", "mac": "00:08:dc:01:02:03" // here default address, ..01:02:03, OK. } >eth.setIP({ mac : "00:08:dc:1e:dc:3c" }) // change MAC-Address here =true >eth.getIP() // read out W5500 internal registers ={ "ip": "192.168.111.190", "subnet": "255.255.255.0", "gateway": "192.168.111.1", "dns": "192.168.111.1", "mac": "00:08:8e:18:8e:2a" // it's different, strange ?!?! } >eth.setIP() // a new request to DHCP > Send DHCP_DISCOVER > Receive DHCP_OFFER > Send DHCP_Request > Receive DHCP_ACK // working OK =true >eth.getIP() // read out again ={ "ip": "192.168.111.127", // new IP received from Server, OK "subnet": "255.255.255.0", "gateway": "192.168.111.1", "dns": "192.168.111.1", "mac": "00:08:8e:18:8e:2a" // still same strange MAC-Address, we can work with that anyway } >
I need to check the source codes, but the MAC address is changed into the 'strange' one always in the same way. Also, if I add just +1 to my intended MAC the 'strange' version also become +1.
=> it's not random. I'm OK with that.
I think something is wrong while Read or Write the MAC-Address register.Thanks and best regards, Joachim, WIZnet Europe GmbH
-
Hello Gordon, thanks for the answer.
You can change MAC address at any time. It's just a 6 byte register in the W5500 chip. You can do that also at the WIZ550io Module, if you like to. Of cause not while you have an open=connected TCP Socket, but no problem beside that. A new ARP will be send with next socket opereation, and maybe a new IP address needed from the DHCP-Server, ...The Idea with using .setIP() command for the MAC-address change is good.
I'll try that, maybe you're more quick at that anyway.
Good luck with the bug fixing and create 1.78 then - best regards, Joachim. -
Hello Gordon and Friends here,
first af all I like to say Thanks to Gordon for the massive work doing. He is a one man company doing Hardware and Software all by him self. Let's support him as best as we can. Bugs can happen and Gordon will fix is soon. I'm sure.
I started to add anpother W5500 Module to the Espruino Pico - and encountered same problem :-(
Please see my setup here:
Espruino Pico + W5500BoB + RJ45
So, I downgraded my Pico to Firmware 1.75 and it works, but only 90%.
Now, I have another Problem that the W5500BoB does not have a pre-programmed MAC-Addresss and IP setup.
All is ..00:00:00.. and without MAC-address also DHCP can not work.
The difference is, that the WIZ550io has a small PIC12 on board to pre-config the W5500 in a few ms (at startup) with unique MAC-address and a first static IP ++++
So with WIZ550io Module it's no problem.
But how to get the MAC address into the W5500 without that pre-setting ?
The W5500BoB has only the W5500 chip, and that's empty at the start.
And, I could not find any command for setting up the MAC-address.
Solution:
=> I added code into the W5500 driver inside the Espruino's C code - but the 1.77 is not working ... see main topic is all about here. And I don't like to fork from 1.76 or even 1.75.
I'm trapped for the next few day - I think.
Please debug the 1.77 and help me to add MAC-address setup into Espruino FW.
best regards, Joachim -
Thanks Gordon for the nice work on the "Internet I/F".
The WIZnet WIZ550io Module is available from many sources in EU also.
Mouser is B2B and very USA focused - TAX, transport....
But, more and more shops adopt our Modules, but "free shipping" is very often not available.
Please check: RS, TME, SOS, Lextronic, Watterott, ... or our shop.wiznet.eu -
Hello Gordon,
sorry I missed your many e-mails - shame on me.
Yes, we have some (enough) Espruino Boards here and I will set up more tests tomorrow morning immediately.
If you like we can send you some v1.1 modules tomorrow (with FedEx) - just send me your current postal address by e-mail - you will have them in hand asap.Thanks for your nice work on the Ethernet I/F using our Hardwired TCP/IP Chip / Module.
We will keep track here and fight the Bug, best regards, Joachim. -
I'm Joachim Wülbeck, engineer at WIZnet Europe GmbH the local branch office located in Germany but acting all EU.
For contact you can find me @ Twitter also.
And, private: interrested in Irish Fiddle playing and more a Geek type - staying young.
as bundle with the WIZ550io plug-in Ethernet module and adapter the PICO is also available in our e-sales.
For all Europe, in Euro €:
WIZnet.EU Shop Espruino Pico bundle kit
best regards, Joachim