Subject: Re: ide drive not detected
To: Jukka Andberg <jandberg@netbsd.org>
From: None <mpumford@black-star.demon.co.uk>
List: current-users
Date: 10/27/2003 12:25:39
jandberg@netbsd.org wrote:
> Hi current-users,
> 
> Some of the last month's changes seem to have made the kernel not to
> detect one of my drives anymore.
> 
> Here's dmesgs, with DEBUG_PROBE turned on.
> 
> 
> *** Sources from 2003-09-22, both drives detected here.
> 
> NetBSD 1.6ZC (WSCONS0) #1: Fri Oct 24 19:15:32 EEST 2003
> 	root@garganplex:/work/netbsd/wdc_test/src/sys/arch/amiga/compile/WSCONS0
> Amiga 1200 (m68030 CPU/MMU m68882 FPU)
> ....
> wdc0 at mainbus0
> ....
> wdc0:0: before reset, st0=0x50, st1=0x50
> wdc0:0:0: after reset, sc=0x10 sn=0x2 cl=0x2 ch=0x0
> wdc0:0:1: after reset, sc=0x0 sn=0x2 cl=0x2 ch=0x0
> wdc0:0: wdcwait_reset() end, st0=0x50, st1=0x50
> wdc0:0: after reset, ret_value=0x3
> wdc0:0:0: after reset, sc=0x10 sn=0x2 cl=0x2 ch=0x0
> wdc0:0:1: after reset, sc=0x0 sn=0x2 cl=0x2 ch=0x0
> wdcattach: ch_drive_flags 0x1 0x1
> wd0 at wdc0 channel 0 drive 0: <QUANTUM FIREBALL EX3.2A>
Hmm. My 6.4GB Fireball EX dissappeared on my acorn32 based system. I tracked
the problem to a couple of lines of code in __wdcwait_reset(). Maybe the same
fix will work for you.

I removed the 2 lines which read:

        if (er0 != 0x01 && er0 != 0x81)
                drv_mask &= ~0x01;

If this works for you it looks like Quantum Fireball EX drives are not quite
following the ATA spec.
>
> wdcwait: timeout (time=1), status d0 error d0 (mask 0x40 bits 0x40)
> wdcwait: timeout (time=1), status d0 error d0 (mask 0x40 bits 0x40)
> wdcwait: timeout (time=1), status d0 error d0 (mask 0x0 bits 0x0)
I don't get these timeout messages though.

Mike