Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Mar 2003 09:10:20 +0800
From:      "David Xu" <davidxu@freebsd.org>
To:        "Luoqi Chen" <lchen@briontech.com>, <current@FreeBSD.ORG>
Subject:   Re: ATA MODE_SENSE_BIG timeout
Message-ID:  <000701c2e37d$285ce930$f001a8c0@davidw2k>
References:  <AHEKICEOIHLOGINAFIINCENOCAAA.lchen@briontech.com>

next in thread | previous in thread | raw e-mail | index | archive | help

----- Original Message -----=20
From: "Luoqi Chen" <lchen@briontech.com>
To: "David Xu" <davidxu@FreeBSD.ORG>; <current@FreeBSD.ORG>
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=20
> > 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.
> >=20
> 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.
>=20
> 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).
>=20
> The patch is for -stable. I hope it's not too difficult to port
> to -current.
>=20

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=20
let ata code retry,  finally  it found  the Sony 16X CD RW,  but I can=20
not mount it.  It is always timeout.

David Xu




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?000701c2e37d$285ce930$f001a8c0>