I work for a company that has many machines around the world in the possession of customers that we need to get continuous diagnostics from. One of the issues is occasionally the hard drives of machines drop to PIO mode, but of course all the customer sees is a massive system slowdown.
I'm looking for a way to detect if a SATA hard drive has dropped to PIO mode through our diagnostic tools. This can be either a tool or command that we can run and store the output for later bundling into a dump that we get emailed by the customer, or programmatically through a Windows API.
It needs to be as automatic as possible. I've tried using 'devcon.exe' (command line device manager), but I haven't found how to be able to output that information even if I'm getting information about the hard drive controllers.