We’re evaluating the W6100 and were able to integrate the io6Library (GitHub - Wiznet/io6Library: io6Library is the integrated library for dual TCP/IP statck contorller such as W6100.) and loopback example (GitHub - WIZnet-ioLibrary/W6100EVB-Loopback: The Loopback Example for W6100 using io6Library) on a Cortex-M4-based development board. This example works using static IP addresses, but we’d like to see an example using DHCP.
We’ve implemented the auto-configuration example (GitHub - WIZnet-ioLibrary/W6100EVB-AddressAutoConfiguration: The AddressAutoConfiguration Example for W6100 using io6Library), but there is no documentation explaining how it works or how to interpret what’s happening. The example compiles and runs, and this is outputted to stdout (from printf):
Timeout !!! DAD SUCCESSED
flags = 0x80
getICMP6BLKR() = 0x4
getSn_PROTOR(7) = 0x3a
Sn_SR : 33
getSLRTR() = 0xfa0
getSLRCR() = 0x0
getSLCR() = 0x0
getSLIR() = 0x0
getSLIR() = 0x80
getSn_RX_RSR(7) = 0x1a
size : 4
recvfrom IP : (IPv6 address from a router on our network)
The example’ follows W6100 DAD commands to set W6100’ IPv6 address.
(you can get more info, what DAD is, from here, IPv6- Duplicate Address Detection (DAD) | by Geeky much! | Networks & Security | Medium)
In datasheet, 6.6.5 DAD(Duplicated Address Detection) discribes DAD commands W6100 supports, https://docs.wiznet.io/img/products/w6100/w6100_ds_v104k.pdf
Could you check this docs once ? And if you get more info and work follow, please let me know explain the details.
We’re looking to run an IPv4 DHCP example first. Is that available? It looks like this example sets a static IPv4 address and then tries to do the IPv6 autoconfig: W6100EVB-AddressAutoConfiguration/main.c at f05c0cf798b4836ed892eddc731208552111dc1f · WIZnet-ioLibrary/W6100EVB-AddressAutoConfiguration · GitHub
Once we’ve we’ve had some time to explore IPv4 functionality, we will look into IPv6.
Edit: I took a look at this older thread (W6100 DHCP Sample code for IPV4) and got the W6100 to acquire an IPv4 address from our DHCP server. I’ll start looking into IPv6.
This is basic IPv6 DHCP
You can run this code on your existing project.