Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Tested on real hardware. BIOS ahci version is set to ahci 2.0
As you can see. the second last value is 0xA5 that means the identify data is correct.
But the Model name is filled with 0x20 and both offset 120(ATA_IDENT_MAX_LBA) and 200(ATA_IDENT_MAX_LBA_EXT) are zero
Even the identify data doesn't looks right. but it reads the disk correctly
and the identication look working on VMware
You should still be able to read the model name and maximum LBA even when the Checksum Validity Indicator is not 0xA5. It sounds like there's a problem somewhere in your driver.