----- Original Message ----- 
From: "Luoqi Chen" <[EMAIL PROTECTED]>
To: "David Xu" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Wednesday, March 05, 2003 8:44 AM
Subject: RE: ATA MODE_SENSE_BIG timeout


> > For those want to fix ATA code, I have another problem
> > with CURRENT.  I have a Tyan Tiger 230T which is based
> > on VIA Apollo 133T, south bridge is VIA 686B.
> > On second IDE,  I have a Mitsubishi 52X cdrom as master,
> > and a Sony 16X CD R/W as slave, when startup, kernel
> > is always stuck at "MODE_SENSE_BIG timeout".
> > I fortunately catched the dmesg text since ATA code past the 
> > probing stage. In most case,  it will be stuck there forever.
> > BTW, both Linux (2.2.14, Redhat) and MS Windows can probe
> > these devices in few seconds without any problem.
> > 
> I had more than a few machines behaved this way. I believe
> the problem is with the probe and attach sequence of our
> ata driver. After an ATA reset, according to spec, an ATAPI
> device is supposed to present the ATAPI signature and deassert
> the ready bit, until it receives its first packet command.
> However when the ata driver issues the first mode sense command,
> it polls first for the ready bit which never becomes set and
> the operation times out. The most obviously solution is
> sending the first command without checking for the ready bit.
> 
> My solution is a little different, but works equally well,
> instead I issue an ATAPI reset (what now called a device reset?),
> because I don't want to write another or alter the current
> ata_command function and we need an atapi_reset function anyway.
> According spec, atapi devices SHOULD ONLY be reset via the
> atapi reset command (our ata driver doesn't follow this rule).
> 
> The patch is for -stable. I hope it's not too difficult to port
> to -current.
> 

I have applied the patch manually to CURRENT, it helps nothing. :(
Then I booted kernel without the patch,  waited for a very long time to 
let ata code retry,  finally  it found  the Sony 16X CD RW,  but I can 
not mount it.  It is always timeout.

David Xu




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to