W7500P detection link/full duplex/100 detection and ISP

I’ve been using Wiznet chips for a while - specifically the W5100 (which has output pins for status LEDs such as link active, TX, RX, 100baseTX etc.)

Looking at the datasheet for the forthcoming W7500P, it doesn’t have dedicated pins for these (which is fine) - however, there seems to be no way for the ARM M0 core to find out the state of the ethernet link. Specifically I’m most interested to know if there’s an ethernet connection available - there doesn’t seem to be any way I can find this out. (On the W5100 I had to actually sample the pin for the link LED for the controlling CPU to know if there was a working ethernet connection).

Second question: I need to integrate programming the chip from my build environment. The only ISP tools I’ve seen documented are Windows-only GUI tools. This is a problem because my build environment is not Windows and cannot be GUI based (since they can’t be automated in a makefile or similar build process) - it must be command line based and must run on Linux. Is there any documentation for the wire protocol for the ISP, or does it use some existing protocol such as the one used by NXP’s LPC11xx M0 based microcontrollers? An earlier thread on this board has a link when someone asks a similar question, but the link only goes to a page on how to use the Windows-only GUI programming tool, unfortunately that’s of no use to me. I would rather not have to reverse engineer the ISP protocol to find out how to do a basic task like program the chip!


As the W7500P seems to have an internal IC+ IP101 PHY, you should be able to use MDIO to read the PHY status register which indicates the link status among other things. See IP101 datasheet, and the W7500 MDIO example code.

Hello, winston

Thanks for your interests.

We have a guide with only windows ISP GUI tools… so sorry about that.

here is the link with ISP using on Linux.


If you need a guide with it, please feel free to ask us.

Thank you,


Thanks - that’s very useful! Given the Python source is on github I can probably turn it into a command line tool with not too much effort.