>Now it is guess work why the device is temporarily unavailable when >trying to reset it, but replies just fine to the status query to comes >immediately after.
Timing issue? Perhaps the two bytes written to the device start some action that has not completed before the read request is tried, therefore the "Resource temporarily unavailable" status. If the read operation is retried, it might succeed. If there are other devices on the same bus, activity that involves one of those devices may be an issue, though I should think this would be handled in the kernel and usually not directly visible to the application.
