What sorts of hooks can I include in my designs to allow run-time testing of 100BaseTX hardware?
Obviously, I can monitor traffic, throughput, CRC errors, etc. to give me a feel for degradation of the overall link.
But, what can I do to diagnose things like cabling problems and failures without impacting the quality of the link hardware "otherwise"? (think "built in cable tester")
An even tougher question: can I leverage a *partially* functional cable/interface to provide *limited* connectivity in the event of a failure that impacts the normal NIC-pair? (even if this is an either-or implementation)
Well, other than trying to fall back to 10Mb mode (which will be a smidge more tolerant of marginal cables), not really, at least not without something on both ends of the wire.
OTOH, if you *can* put something on both ends of the wire, why not just put a second 100Mb MAC/PHY on your device, and wire it to the other* four wires, and then split the far end of the cable into two RJ-45s, and plug both of those into the switch (or better yet, plug them into separate switches, for redundancy).
Or just put two Ethernet ports on your device, and let the user run two cables for redundancy, or use a cable split on both ends to use a single physical cable which would tolerate some damage (or a plain cable if they care about neither).
Splitters are available off the shelf for just that sort of application (two Ethernet drops on one cable).
Anything else you might do (run RS-422 serial over the unused pairs? autosense for a subset of working wires?), will require custom hardware at the switch end as well (and I doubt it'll cost less to do than just having a second switch). And it's hard to imaging that you could actually add a serial port to your device for meaningfully less than a second Ethernet MAC/PHY.
A combination of a wired Ethernet port and a WiFi port has some attractions as well, especially given how much people hate pulling cables.
*Obviously that won't work with GigE, which uses all four pairs.