Working with an RCM6600W. I’m periodically polling ifpending() with the wifi/ethernet interfaces, but even when pulling the ethernet cable from the port, or powering down the connected access point, the status of the interfaces doesn’t change. (The wireless at least changes status a few times when it comes back online, but the ethernet doesn’t even do that much)
Is there something else that I could be using to determine the status of the interfaces, or do I need to implement some kind of higher level “keep-alive” protocol?
Take a look at pd_havelink() to confirm the Ethernet (and possibly Wi-Fi) interfaces are still linked at the physical layer. It’s possible that ifup()/ifpending() are limited to reporting the status of DHCP and joining to an access point, and will stay in an “up” state until taken down or the DHCP lease expires.
I probably won’t have time to check until this weekend or towards the end of next week (some other projects jumped up in priority). I’ll experiment a bit and post the results as soon as I can though. From the comments in net.lib it looks like there are possibly some issues with pd_havelink() on ethernet up until the port’s online, but that seems like it could be worked around depending on what the actual behavior is.