Steve Gehlbach wrote:
Also added ERR bit checking after PIO commands. None of the above causes ERR, but the first READ_SECTORS command does. (error register = 0x4, ABORT error)
I noticed this Caviar drive works just fine under Linux (both 2.4 and 2.6-test), regardless of whether FILO touched it or not.
Takeshi-
I tried the same thing and I got the same result, and I also noticed the error bit is set. What is going on is very strange, but it does seem to be related to initialization and startup. I don't think it is the read commands or status loops; I tried modifying these to match the old code but got the same result.
Perhaps some startup timeing requirement is being violated? HD drives do lots of self calibration stuff when you boot or reset them. I remember some older drives were really flaky. Not playing well with other drives and such. Perhaps you are tring to access it while its still in temp comp or head drift cal and not ready to do a seek.
A previous COTS bios that I used had a startup delay parameter just for HD delay before the first access to the drive. I never needed it since a CF is ready almost instantly.