Page 1 of 1

"Error: 21 The device is not ready" in Surface Test

Posted: 2019.08.14. 18:58
by helzayat
I have a Kingston 120GB SSD that seems to be in good condition. Performance is 80% and Health 97% (it's running off a Marvell 91xx controller so no TRIM).
A READ Surface Test passes perfectly. However when I choose a read+WRITE+read test, I get an Error: 21 the device is not ready on every sector.
Any ideas on why this test is failing?

Re: "Error: 21 The device is not ready" in Surface Test

Posted: 2019.08.15. 14:25
by hdsentinel
Please note that if you replace the driver of the Marvell 91xx controller to Standard AHCI controller driver, then TRIM will immediately work.
The suggested page www.hdsentinel.com/faq.php#trim describes exactly this situation.

Do you prefer to start the Read+Write+Read test on the SYSTEM drive? I'm afraid this is not possible of course: the current system drive can't be processed by any write test. The Read+Write+Read test is possible only on secondary disk drives, which can be un-mounted from the system to prevent other applications and Windows to use it during the test.
This is not possible for a disk drive where Windows installed and/or any file is open, as these prevent unmounting the disk.

If you prefer to start on a secondary disk drive and receive error, please
- send an image/screenshot to info (at) hdsentinel (dot) com
- use Report menu -> Send test report to developer option
as then it is possible to check what happens in the actual situation.

Re: "Error: 21 The device is not ready" in Surface Test

Posted: 2019.08.16. 00:37
by helzayat
I have replaced the Marvell driver and all my SSDs now show TRIM working.
I was trying the Read+WRITE+Read test on a non-system drive. I have found the same problem with this test with any drive attached to the system. I am not sure what you mean by un-mounting the drive - I tried putting the drive Offline in Disk Management but then HDSentinel reported it was Write-protected. Ejecting the drive removes it from HDSentinel.
So it seems to me that if the drive is mounted normally it cannot be scanned because Windows and other software may be accessing it (virus scan, Microsoft Search, etc.). If it is Offline, it is flagged as write-protected so the test cannot be run. If it is ejected, it disappears from the system and again cannot be scanned.
Is that right?

Re: "Error: 21 The device is not ready" in Surface Test

Posted: 2019.08.16. 12:12
by hdsentinel
No, you do not need to do anything. No need to manually unmount or make offline or anything similar.

Hard Disk Sentinel needs to unmount the disk drive. It means that the disk should be locked for the duration of the test for exclusive use and during that, the contents of the disk drive is not available for other applications or Windows. So the file system (partitions) on the drive not mounted.
But this is automatic, you do not need to make anything in Windows Disk Management of course.

For this exclusive lock, there should be no open files/folders on the affected disk drive - as if a folder or file is opened then the locking is not possible.
Please try to close all other software which may use a file on the affected disk drive before testing.

Not sure how the disk drive(s) you prefer to test connected. Are they connected in an USB enclosure/docking station? Generally there should be no problems with them - but it is possible that it may cause troubles - and this is why you see troubles regardless of the hard disk drive you prefer to test.

I'd recommend to
- in e-mail (to info (at) hdsentinel (dot) com) write step-by-step details about what you tried to start and what was the result (send an image/screenshot)
- use Report menu -> Send test report to developer option.

From these together, it is possible to check what happened, what may cause troubles.

Re: "Error: 21 The device is not ready" in Surface Test

Posted: 2019.08.16. 13:05
by helzayat
Thanks for this reply. I sent a "Test Report to Developer".
The disk being tested is attached via SATA. The system disk is NVMe on M.2 to PCIe adapter. There is a RAID 5 array on other SATA ports and four drives in a Windows Storage Space also SATA.

Re: "Error: 21 The device is not ready" in Surface Test

Posted: 2019.08.16. 13:44
by hdsentinel
Thanks for the report, I received it.
However, I did not receive further mail about the error message and the details (which drive affected). As I see in the report, there are numerous disk drives too in the system (apart from the M.2 SSD and the RAID array).

To be honest, I see no reason of the "the device not ready" error. Generally that should occur (for example) when a removable drive is not yet read by the system or similar. But for internal disk drives (especially if they can be otherwise read/written) that should never happen.
Not sure, but maybe an antivirus software or similar may block write commands to the disk(s) and this is causing the message (?)

Re: "Error: 21 The device is not ready" in Surface Test

Posted: 2019.08.17. 23:13
by helzayat
OK I think I've figured it out. The drive(s) giving problems were system disks from another system. So it was a secondary disk not a system disk while being tested, it did have OEM and EFI system partitions. Removing these partitions allowed the surface scan to proceed normally. Apparently Windows doesn't allow hdSentinel to write to these system partitions.
Does that make sense?