Subject: Re: IDE probing problems
To: None <current-users@netbsd.org>
From: Ian Fry <Ian.Fry@sophos.com>
List: current-users
Date: 06/10/2004 14:31:26
On Wed, Jun 09, 2004 at 08:15:09PM +0200, Manuel Bouyer wrote:
> On Tue, Jun 08, 2004 at 04:34:47PM +0100, Ian Fry wrote:
> > I'm having problems with recent -current kernels not probing IDE devices
> > properly. A normal boot finds the following IDE/SCSI devices:
> > 
> > [snip]
> > 
> > However, with all the 2.0F kernels I've tried, wd0 isn't detected at all,
> > and I get a 'lost interrupt' message from the IDE controller. Probing also
> > takes much longer than normal - an extra 5-10 seconds, I think, and the
> > CDROM seems to spin-up twice, rather than once.
> Can you set wdcdebug_mask to 0x10, and send me the result ?

Yes, here it is:

Stopped at      netbsd:cpu_Debugger+0x4:        leave
db> w wdcdebug_mask 0x10
netbsd:wdcdebug_mask            0 = 0x10
db> c
[...]
siside0 at pci0 dev 1 function 1
siside0: Silicon Integrated Systems 5597/5598 IDE controller (rev. 0xd0)
siside0: bus-master DMA support present
siside0: primary channel configured to compatibility mode
siside0: primary channel interrupting at irq 14
atabus0 at siside0 channel 0
siside0: secondary channel configured to compatibility mode
siside0: secondary channel interrupting at irq 15
atabus1 at siside0 channel 1
[...]
siside0:0: before reset, st0=0x50, st1=0x50
siside0:1: before reset, st0=0x50, st1=0x0
scsibus0: waiting 2 seconds for devices to settle...
siside0:1:0: after reset, sc=0x1 sn=0x1 cl=0x0 ch=0x0
siside0:1:1: after reset, sc=0x1 sn=0x1 cl=0x0 ch=0x0
siside0:1: wdcwait_reset() end, st0=0x50 st1=0x0
siside0:1: after reset, ret_value=0x3
siside0:1:0: after reset, sc=0x1 sn=0x1 cl=0x0 ch=0x0
siside0:1:1: after reset, sc=0x1 sn=0x1 cl=0x0 ch=0x0
sd0 at scsibus0 target 0 lun 0: <QUANTUM, FIREBALL ST3.2S, 0F0C> disk fixed
sd0: 3090 MB, 7068 cyl, 4 head, 223 sec, 512 bytes/sect x 6328861 sectors
sd0: sync (50.00ns offset 15), 8-bit (20.000MB/s) transfers, tagged queueing
siside0:1: wait DRDY st0 0x50 st1 0x0
__wdcwait: timeout (time=11), status d0 error d0 (mask 0x0 bits 0x0)
atabusattach: ch_drive_flags 0x1 0x0
siside0:0:0: after reset, sc=0x80 sn=0x80 cl=0x80 ch=0x80
siside0:0:1: after reset, sc=0x1 sn=0x1 cl=0x14 ch=0xeb
siside0:0: wdcwait_reset() end, st0=0x80 st1=0x0
siside0:0: after reset, ret_value=0x2
siside0:0:1: after reset, sc=0x1 sn=0x1 cl=0x14 ch=0xeb
siside0:0: wait DRDY st0 0x0 st1 0x0
__wdcwait: timeout (time=11), status d0 error d0 (mask 0x0 bits 0x0)
atabusattach: ch_drive_flags 0x0 0x2
atapibus0 at atabus0: 2 targets
cd0 at atapibus0 drive 1: <MATSHITA CR-585, , ZS15> cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 3, DMA mode 1
cd0(siside0:0:1): using PIO mode 3, DMA mode 1 (using DMA data transfers)
wd0 at atabus1 drive 0: <ST38410A>
wd0: drive supports 32-sector PIO transfers, LBA addressing
wd0: 8223 MB, 16708 cyl, 16 head, 63 sec, 512 bytes/sect x 16841664 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66)
wd0(siside0:1:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)

Ian.