Subject: Re: IDE-doubler support (patch, testers wanted)
To: Ignatios Souvatzis <is@netbsd.org>
From: Ilpo Ruotsalainen <lonewolf@iki.fi>
List: port-amiga
Date: 01/14/2003 00:37:15
On Mon Jan 13 2003 at 22:26:03 +0100, Ignatios Souvatzis wrote:
> On Mon, Jan 13, 2003 at 10:50:02PM +0200, Ilpo Ruotsalainen wrote:
> > Please note that I don't know of a way to determine if IDE-doubler is
> > present or not on runtime - DO NOT TRY TO BOOT MISCONFIGURED KERNEL as
> > it will most probably hang, crash, burn and eat your breakfast.
> 
> I don't like this. To make it part of the mainstream, this should be
> investigated. Some bit pattern will be different, I hope.

Either we need to figure out a way to actually determine if an
IDE-doubler is present (may be possible, I have some ideas but it's
late, I'll test tomorrow) or add a boot flag to enable it and make it
disabled by default.

> You could always register shutdown callbacks that do a reset by sending a 
> command - hm, is there any? Where's my IDE book?

IIRC ATA lacks a drive reset command, but ATAPI has one.

Currently the problem only happens with my CD-ROM drive on secondary
channel, it gets detected only on first boot from powerdown state.

Logs with some wdc debugging enabled tell me that

ok:

wdc0:1: before reset, st0=0xff, st1=0x50
wdc0:1:1: after reset, sc=0x1 sn=0x1 cl=0x14 ch=0xeb
wdcattach: ch_drive_flags 0x0 0x2
atapibus0 at wdc0 channel 1: 2 targets
cd0 at atapibus0 drive 1: <MEMOREX  CD-MAXX52, MT1198 B Firmware, MB1.0> cdrom removable
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)

fail:

wdc0:1: before reset, st0=0xff, st1=0x50
wdc0:1:1: after reset, sc=0x2 sn=0x0 cl=0x0 ch=0x2
wdcwait: timeout (time=10001), status 51 error 4 (mask 0x8 bits 0x8)
wdc_ata_get_parms: wdc_c.flags=0x1b1
wdcwait: timeout (time=10001), status 51 error 4 (mask 0x8 bits 0x8)
wdc_ata_get_parms: wdc_c.flags=0x1b1
wdc0:1:1: IDENTIFY failed (1)
wdcattach: ch_drive_flags 0x0 0x0

...which looks like the ATAPI device gets left to somekinda interesting
state, I wonder if ATAPI_SOFT_RESET would be enough to bring it out of
that state or not...

-- 
Ilpo Ruotsalainen - <lonewolf@iki.fi> - http://www.iki.fi/lonewolf/