Subject: Re: My CD-RW drive is not probed
To: Shunji KUBOTA <shundi@rr.iij4u.or.jp>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: port-i386
Date: 08/08/2001 23:20:38
On Thu, Aug 09, 2001 at 12:28:23AM +0900, Shunji KUBOTA wrote:
> Exchaging master and slave solves my problem :)
> 
> FYI, I attach the output of dmesg(8) after setting wdcdebug_mask &
> wdcdebug_atapi_mask to 0x10. Two files are attached:
> 
>   1st (dmesg.wdcdebug): Before exchanging master and slave.
>                         (i.e., my CD-RW drive is NOT probed)
> 
>   2nd (dmesg.wdcdebug2): After exchanging master and slave.
>                          (i.e., my CD-RW drive is probed)

Ok. you'll notice that the difference between dmesg.wdcdebug and
dmesg.wdcdebug2 is the content of registers after reset:
 pciide1:1: before reset, st0=0x50, st1=0x50
 pciide1:1:0: after reset, sc=0x1 sn=0x1 cl=0x14 ch=0xeb
-pciide1:1:1: after reset, sc=0x7f sn=0x7f cl=0x7f ch=0x7f
-pciide1:1: wdcwait_reset() end, st0=0x10, st1=0x7f
+pciide1:1:1: after reset, sc=0x1 sn=0x1 cl=0x14 ch=0xeb
+pciide1:1: wdcwait_reset() end, st0=0x0, st1=0x10

sc=0x1 sn=0x1 cl=0x14 ch=0xeb is the ATAPI signature, all ATAPI devices should
post this to their registers after a reset. In your case, it looks like the
master masks the slave's registers after a reset.

--
Manuel Bouyer <bouyer@antioche.eu.org>
--