Using a PHY's MII interface, does the 802.3 spec define a method of detecting the current operating speed and duplex (in the result of a failed auto-negotiation attempt)?
802.3 defines a link partner ability register (Register 5), which according to the spec:
The values contained in this register are only guaranteed to be valid once Auto-Negotiation has successfully completed, as indicated by bit 1.5.
Despite auto-negotiation failure (where we assume half-duplex at least), parallel detection can be used to identify the speed at which the remote PHY is operating. Register 6 provides a bit for whether there was a fault with parallel detection (and whether the remote PHY is AN capabale), but that's it as far as I can tell.
As far as I can tell, none of the defined registers have "PHY is operating in full/half duplex or 10/100 mode" status.
The PHY we're currently using has a vendor specific register with this information, but it's nearing end-of-life and I can't seem to find a method of identifying the speed result of parallel detection (in the case of an auto-negotiation failure).