vendor specific drive commands related to: Using HPAs

Hi - related to this, is there any public documentation on the vendor
specific use of higher LBAs as used by Seagate? I am investigating the
situation where ex factory (USB) drives are not recognised by our embedded
application (which uses standard ATA DISK IDENTIFY etc to find out disk
parameters and format and access it). This is fairly rare and so far I have
not got my hands on such a disk: our customers report that after
“formatting” the drives on a PC it then becomes accessible to our product,
suggesting that there may be some vendor unique magic that is known to the
Windows device drivers or tools that needs to execute on the drives before
they are usuable.

A similar problem is (again rare) reports of disks becoming inaccessible in
use with our hardware until attached to a PC again, suggesting that the
drives can enter some persistent state that makes them non responsive to
standard commands, even after powering down and up again. I am concerned in
case there is the possibility of drives entering some diagnostic mode that
needs vendor unique magic to exit. Again I have yet to get my hands on such
a hung up disk.

If such information is not public, perhaps there are some ad hoc standards
between manufacturers that I have missed for use of higher LBAs.

This may not be the correct forum, but since the HPA is being discussed,
perhaps it is relevant.

Any hints appreciated. Thanks, Mike

>>>>

----- Original Message -----
From: Gary G. Little
To: Windows System Software Devs Interest List
Sent: Thursday, February 17, 2011 9:13 PM
Subject: Re: [ntdev] Using HPAs

Hmmm … I must have snorted my ice cream when I wrote that last. I was
indeed referring to the stuff that we were doing for Seagate, but agree that
the HPA is not involved in that. Given a controller such as an LSI, you can
even do this using IOCTL_SCSI_MINIPORT, but there you do indeed need info
from the controller OEM to use that interface.

Gary G. Little

----- Original Message -----
From: “Philip D Barila”
To: “Windows System Software Devs Interest List”
Sent: Thursday, February 17, 2011 1:46:39 PM
Subject: RE: [ntdev] Using HPAs

I’m not sure what you mean by the statement: These are not accessible
through the regular OS. The reserved LBAs are not accessible through
standard commands. FULL STOP. That is, unless you reset the HPA using the
appropriate commands. You can do the entire “Read current HPA setting”/”reset
HPA”/”update your recovery data”/”Restore the HPA” from a single user-mode
application. You need to have appropriate privilege, of course. Look up
the various flavors of ATA/SCSI_PASS_THROUGH for a means of executing the
appropriate ATA/SCSI commands to perform the steps other than “update your
recovery data”. How you perform that step depends on how the “recovery
data” is formatted.

Not sure what you mean by “it is possible in Linux”, either. It’s just as
possible in Linux as in Windows.

Phil

Philip D. Barila (303) 776-1264

There is nothing public that I know of, though you could scour seagate.com if you are desperate. However, I know of nothing vendor unique used in the Windows stacks, nor in the HBA’s through which the disks are attached. A more likely scenario is your custom stuff isn’t performing the full standardized sequence of something, so it’s mostly working, but occasionally …

Philip D. Barila (303) 776-1264

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Mike Kemp
Sent: Friday, February 18, 2011 2:25 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] vendor specific drive commands related to: Using HPAs

Hi - related to this, is there any public documentation on the vendor
specific use of higher LBAs as used by Seagate? I am investigating the
situation where ex factory (USB) drives are not recognised by our embedded
application (which uses standard ATA DISK IDENTIFY etc to find out disk
parameters and format and access it). This is fairly rare and so far I have
not got my hands on such a disk: our customers report that after
“formatting” the drives on a PC it then becomes accessible to our product,
suggesting that there may be some vendor unique magic that is known to the
Windows device drivers or tools that needs to execute on the drives before
they are usuable.

A similar problem is (again rare) reports of disks becoming inaccessible in
use with our hardware until attached to a PC again, suggesting that the
drives can enter some persistent state that makes them non responsive to
standard commands, even after powering down and up again. I am concerned in
case there is the possibility of drives entering some diagnostic mode that
needs vendor unique magic to exit. Again I have yet to get my hands on such
a hung up disk.

If such information is not public, perhaps there are some ad hoc standards
between manufacturers that I have missed for use of higher LBAs.

This may not be the correct forum, but since the HPA is being discussed,
perhaps it is relevant.

Any hints appreciated. Thanks, Mike

>>>>

----- Original Message -----
From: Gary G. Little
To: Windows System Software Devs Interest List
Sent: Thursday, February 17, 2011 9:13 PM
Subject: Re: [ntdev] Using HPAs

Hmmm … I must have snorted my ice cream when I wrote that last. I was
indeed referring to the stuff that we were doing for Seagate, but agree that
the HPA is not involved in that. Given a controller such as an LSI, you can
even do this using IOCTL_SCSI_MINIPORT, but there you do indeed need info
from the controller OEM to use that interface.

Gary G. Little

----- Original Message -----
From: “Philip D Barila”
To: “Windows System Software Devs Interest List”
Sent: Thursday, February 17, 2011 1:46:39 PM
Subject: RE: [ntdev] Using HPAs

I’m not sure what you mean by the statement: These are not accessible
through the regular OS. The reserved LBAs are not accessible through
standard commands. FULL STOP. That is, unless you reset the HPA using the
appropriate commands. You can do the entire “Read current HPA setting”/”reset
HPA”/”update your recovery data”/”Restore the HPA” from a single user-mode
application. You need to have appropriate privilege, of course. Look up
the various flavors of ATA/SCSI_PASS_THROUGH for a means of executing the
appropriate ATA/SCSI commands to perform the steps other than “update your
recovery data”. How you perform that step depends on how the “recovery
data” is formatted.

Not sure what you mean by “it is possible in Linux”, either. It’s just as
possible in Linux as in Windows.

Phil

Philip D. Barila (303) 776-1264


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Silly question but have you asked Seagate? They do have decent tech support. Has this been reported on anything other than Seagate drives?

Gary G. Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.net

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Mike Kemp
Sent: Friday, February 18, 2011 3:25 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] vendor specific drive commands related to: Using HPAs

Hi - related to this, is there any public documentation on the vendor specific use of higher LBAs as used by Seagate? I am investigating the situation where ex factory (USB) drives are not recognised by our embedded application (which uses standard ATA DISK IDENTIFY etc to find out disk parameters and format and access it). This is fairly rare and so far I have not got my hands on such a disk: our customers report that after “formatting” the drives on a PC it then becomes accessible to our product, suggesting that there may be some vendor unique magic that is known to the Windows device drivers or tools that needs to execute on the drives before they are usuable.

A similar problem is (again rare) reports of disks becoming inaccessible in use with our hardware until attached to a PC again, suggesting that the drives can enter some persistent state that makes them non responsive to standard commands, even after powering down and up again. I am concerned in case there is the possibility of drives entering some diagnostic mode that needs vendor unique magic to exit. Again I have yet to get my hands on such a hung up disk.

If such information is not public, perhaps there are some ad hoc standards between manufacturers that I have missed for use of higher LBAs.

This may not be the correct forum, but since the HPA is being discussed, perhaps it is relevant.

Any hints appreciated. Thanks, Mike

>>>>

----- Original Message -----
From: Gary G. Little
To: Windows System Software Devs Interest List
Sent: Thursday, February 17, 2011 9:13 PM
Subject: Re: [ntdev] Using HPAs

Hmmm … I must have snorted my ice cream when I wrote that last. I was
indeed referring to the stuff that we were doing for Seagate, but agree that
the HPA is not involved in that. Given a controller such as an LSI, you can
even do this using IOCTL_SCSI_MINIPORT, but there you do indeed need info
from the controller OEM to use that interface.

Gary G. Little

----- Original Message -----
From: “Philip D Barila”
To: “Windows System Software Devs Interest List”
Sent: Thursday, February 17, 2011 1:46:39 PM
Subject: RE: [ntdev] Using HPAs

I’m not sure what you mean by the statement: These are not accessible
through the regular OS. The reserved LBAs are not accessible through
standard commands. FULL STOP. That is, unless you reset the HPA using the
appropriate commands. You can do the entire “Read current HPA setting”/”reset
HPA”/”update your recovery data”/”Restore the HPA” from a single user-mode
application. You need to have appropriate privilege, of course. Look up
the various flavors of ATA/SCSI_PASS_THROUGH for a means of executing the
appropriate ATA/SCSI commands to perform the steps other than “update your
recovery data”. How you perform that step depends on how the “recovery
data” is formatted.

Not sure what you mean by “it is possible in Linux”, either. It’s just as
possible in Linux as in Windows.

Phil

Philip D. Barila (303) 776-1264


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Information from ESET Smart Security, version of virus signature database 5887 (20110218)

The message was checked by ESET Smart Security.

http://www.eset.com

Thanks for the comments - the problem is quite rare and I have not
personally substantiated it yet, just aware of a possible issue with several
reports. I was just wondering if this would trigger a suggestion that I’ve
missed something obvious. I don’t think this is specifically Seagate, though
I am aware that there are reports online of Seagate drives entering
diagnostic modes which they need to be extracted from. No doubt my code has
bugs but seems pretty reliable and the ATA basic sequences for accessing
drives seem fairly straightforward. I don’t report any silly values from
IDENTIFY, the user will just see an invalid drive message if it doesn’t come
up with valid values. Just polling for thoughts on how a disk could get into
a persistent invalid state that prevents normal use. I’ll follow up more
if/when I get more data. Best regards, Mike.

>>>>>>----- Original Message -----
From: Philip D. Barila
To: Windows System Software Devs Interest List
Sent: Friday, February 18, 2011 3:25 PM
Subject: RE: [ntdev] vendor specific drive commands related to: Using HPAs

There is nothing public that I know of, though you could scour seagate.com
if you are desperate. However, I know of nothing vendor unique used in the
Windows stacks, nor in the HBA’s through which the disks are attached. A
more likely scenario is your custom stuff isn’t performing the full
standardized sequence of something, so it’s mostly working, but occasionally

Philip D. Barila (303) 776-1264

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mike Kemp
Sent: Friday, February 18, 2011 2:25 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] vendor specific drive commands related to: Using HPAs

Hi - related to this, is there any public documentation on the vendor
specific use of higher LBAs as used by Seagate? I am investigating the
situation where ex factory (USB) drives are not recognised by our embedded
application (which uses standard ATA DISK IDENTIFY etc to find out disk
parameters and format and access it). This is fairly rare and so far I have
not got my hands on such a disk: our customers report that after
“formatting” the drives on a PC it then becomes accessible to our product,
suggesting that there may be some vendor unique magic that is known to the
Windows device drivers or tools that needs to execute on the drives before
they are usuable.

A similar problem is (again rare) reports of disks becoming inaccessible in
use with our hardware until attached to a PC again, suggesting that the
drives can enter some persistent state that makes them non responsive to
standard commands, even after powering down and up again. I am concerned in
case there is the possibility of drives entering some diagnostic mode that
needs vendor unique magic to exit. Again I have yet to get my hands on such
a hung up disk.

If such information is not public, perhaps there are some ad hoc standards
between manufacturers that I have missed for use of higher LBAs.

This may not be the correct forum, but since the HPA is being discussed,
perhaps it is relevant.

Any hints appreciated. Thanks, Mike

>>>>

----- Original Message -----
From: Gary G. Little
To: Windows System Software Devs Interest List
Sent: Thursday, February 17, 2011 9:13 PM
Subject: Re: [ntdev] Using HPAs

Hmmm … I must have snorted my ice cream when I wrote that last. I was
indeed referring to the stuff that we were doing for Seagate, but agree that
the HPA is not involved in that. Given a controller such as an LSI, you can
even do this using IOCTL_SCSI_MINIPORT, but there you do indeed need info
from the controller OEM to use that interface.

Gary G. Little

----- Original Message -----
From: “Philip D Barila”
To: “Windows System Software Devs Interest List”
Sent: Thursday, February 17, 2011 1:46:39 PM
Subject: RE: [ntdev] Using HPAs

I’m not sure what you mean by the statement: These are not accessible
through the regular OS. The reserved LBAs are not accessible through
standard commands. FULL STOP. That is, unless you reset the HPA using the
appropriate commands. You can do the entire “Read current HPA setting”/”reset
HPA”/”update your recovery data”/”Restore the HPA” from a single user-mode
application. You need to have appropriate privilege, of course. Look up
the various flavors of ATA/SCSI_PASS_THROUGH for a means of executing the
appropriate ATA/SCSI commands to perform the steps other than “update your
recovery data”. How you perform that step depends on how the “recovery
data” is formatted.

Not sure what you mean by “it is possible in Linux”, either. It’s just as
possible in Linux as in Windows.

Phil

Philip D. Barila (303) 776-1264


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer