Re: [ltp] IBM HDAPS Someone interested? (Accelerometer)

Alejandro Bonilla
2005-06-25T19:13:42Z

Pavel Machek wrote:

>Hi!
>
>
>
>
>>>Yup, it's just doing port IO. Get a kernel debugger for windows like
>>>softice and this will be trivial to RE.
>>>READ_PORT_USHORT / WRITE_PORT_UCHAR / READ_PORT_UCHAR
>>>
>>>
>>There are 3 ports involved. The 0xed "non-existant delay port" and a pair
>>of ports that are through the Super-I/O / IDE. They are used in a
>>index+value setup similar to reading/writing the AT keyboard
>>
>>
>>>controller.
>>>
>>>
>
>I think you got it... 2ports seem like enough for some kind of small
>u-controller...
>
>
>
>>>From what I remember, my conclusion was that these instructions were the
>>ones to park the heads and then lock the IDE bus. It's a couple of months
>>ago, but somewhere I have the simplified version of what it was doing...
>>
>>
>
>Don't think so... parking heads will go through IDE layer...
> Pavel
>
>
>
I have a question here, how do you guys think that the head is parked,
is it done by the controller directly, which then sends the command to
the HD to park the head, or this is done by the operating system in some
kind of way?

I think the OS or user space is too slow like to react to send a park
command to the hard drive, so this most be done directly by the embedded
controller, but still I think it needs some input from the OS, to
initialize it's settings. i.e. after all, in windows you do have the
settings in the software for HDAPS, but it looks like it is _not_
managed by the operating system at all if there is some type of action
to be taken. This is also probably why HDAPS won't kick in until
booted, and that is because it needs to load its config setup by the
software.

This is what I think, please correct me if I'm saying something crazy.

OS booted, sends settings to the controller, if settings changed, the OS
will send the settings again to the controller. -> once the controller
has the configuration from the user, which is in Windows, loaded by
default, then the controller reacts depending on it's output from the
accelerometer, sending inmediate commands or parking the head of the HD.

Then also, the OS is either notified about the movement, or actually it
starts reading from the controller, for example, when doing the 3D view.

The 3D view software takes some time loading, if it would be normally
monitoring, then It wouldn't take the 4 seconds it takes. I think the OS
only reads to give the user a clue of their nice feature, but is all
really done with the controller-> HD.

After all, IBM testing says that HDAPS worked perfectly from a 70cm fall.

.Alejandro