Hale,
You
have offered (several times, in fact) to test OEM drives for free, but never a
taker.
I'd
suggest you advertise this directly to OEM's, charging a fee; only
then will you get
their
interest. Seems like a service is only valued once you
put a price tag on it.
You
may want to price the service quite high so that everyone sees value in
it,
then
when they try and talk you down to a lower price, you
will get in the ballpark
for
what you should really get. I know I don't have to
tell you any of this, but just
wanted
to write on the reflector again.
MKE.
-----Original Message-----
From: Mcgrath, Jim [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, July 11, 2001 7:00 PM
To: '[EMAIL PROTECTED]'
Subject: [temp t13] Re: Are devices allowed to go busy on their own?Sounds like we need an industry level certification (a large software company tries to do this, but I think they are just not hardware oriented enough to catch these sorts of things). I know it's hard for each system company to do the complete checkout themselves. There are labs that do USB certification - anyone know of someone doing the same for ATA?Jim-----Original Message-----
From: Larry Barras [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, July 11, 2001 6:29 PM
To: [EMAIL PROTECTED]
Subject: [temp t13] Re: Are devices allowed to go busy on their own?This is what I thought too Jim.The case(s) I've seen are with atapi optical drives. I've seen them on a number of occasions after a reset set BSY, momentarily clear BSY, then set BSY again for a period of time. I've seen drives complete resets, accept commands and complete them, then arbitrarily set BSY on their own, apparently while scanning the media to identify it.It's not a case of needing to wait 400ns after device selection either.The hard part is catching such things during qualification. Sometimes the tests you do in qual don't happen with the exact timing needed to hit the weird condition. Then down the road a few months or years, software changes and then something weird like this pops up.Section 7.15.6.1 (revision 5), where it explicitly lists the conditions under which BSY can be set to 1 by the device:
Reset: "after either the negation of RESET- or the setting of the SRST bit to one in the Device Control register;"Start of some commands: "after writing the Command register if the DRQ bit is not set to one;"Pacing of PIO data transfer: "between blocks of a data transfer during PIO data-in commands before the DRQ bit is cleared to zero;"Special case in PIO data transfer: "after the transfer of a data block during PIO data-out commands before the DRQ bit is cleared to zero;"Multiword DMA (cannot access registers in Ultra DMA mode, as per table 10): "during the data transfer of DMA commands either the BSY bit , the DRQ bit, or both shall be set to one;"Start of ATAPI command execution: "after the command packet is received during the execution of a PACKET command."
As Hale points out, the discussed action is illegal unless it is occurring during one of the above. Specifically, there is no general purpose rule that you set BSY=1 when changing the value of a bit in the Status register. Indeed, why would there be a need for it in this case anyway? (i.e. nothing breaks if you do not set BSY=1).
Jim--
---------------------
"Anything you CAN control you MUST control."
Wendy Carlos
---------------------
Larry Barras
Apple Computer Inc.
1 Infinite Loop
MS: 306-2TC
Cupertino, CA 95014
(408) 974-3220
