Based on the ATA specification here, the IDENTIFY DEVICE Command should use the PIO-data-in protocol (see section §8.12 pg. 77). However, when I try to use this (i.e., select device, write head and command registers, wait for interrupt), it never happens.
By contrast, the READ SECTOR(S) Command also uses the PIO-data-in protocol (see section §8.27 pg. 138). Using a very similar codepath, (select device, write head and command registers, wait for interrupt), it works fine.
Everything I've seen (e.g. on the Wiki) suggests a different procedure. Is this version of the specification just outdated/wrong?
Why Doesn't ATA IDENTIFY DEVICE Command Cause an Interrupt?
-
- Member
- Posts: 77
- Joined: Tue Nov 20, 2012 4:45 pm
- Contact: