Well, I'm totally perplexed about the WIZnet support. The code shows next to no changes three years (on the 5500), so presumably it is extremely stable. But at the same time, as I said above, fairly recently code examples refer to APIs that clearly don't exist, such as passing the 'dhcp' string or a nonexistent "active()" function. Where did this APIs go if the code hasn't changed in ages?
Furthermore, the setup seems pretty straightforward. I've wired a PyBoard v1.1 up to a WIZnet 850io (which is a 5500 board, not 5100 or 5200) on both of the PyBoard's SPI buses. I configured bus 1 exactly like the docs, using X4 for the reset. I also tried bus 2 with Y4 to no avail.
The green light illuminates immediately and the amber light blinks intermittently (although settles down and stops blinking). The desktop on the other end of the ethernet connection claims to see the connection. I have tried initializing the nic without passing parameters to ifconfig, in hopes of getting a dhcp assignment, and I have also tried passing in four manual strings. I confirmed the correct strings by attaching a laptop to the same ethernet connection and seeing what it got off dhcp. I tested manually putting those same numbers into the laptop and of course it worked, and then proceeded to transfer those same strings over to the PyBoard/WIZnet arrangement. If I don't pass anything in, I get ('0.0.0.0', '255.255.255.0', '0.0.0.0', '126.96.36.199') and if I do, I only get some of the four strings back: ('0.0.0.0', '255.255.255.0', '0.0.0.0', '192.168.2.1'). The DNS is the only one that stuck (and the subnet was the same anyway).
Even more confusingly, regardless of whether the network "works" I certainly expect isconnected() to report True under almost any circumstances since it is document to merely detect a physical connection, which seems confirmed by both the lights and the fact that the desktop sees the connection (if I unplug the ethernet from the WIZnet, the desktop's status changes!) but isconnected() always returns False anyway, which makes no sense to me.
I'm using the latest stable network build: pybv11-network-20191220-v1.12.dfu
I admit, the one discussion I found that seemed fairly clear about all of this (viewtopic.php?f=6&t=2515
) is relatively consistent in claims that the 5500 doesn't work (suggesting only the 5200 instead). But that discussion is from three years ago. Is there any hope of getting the 5500 to work? What would that involve?