Date: Wed, 13 Sep 1995 22:43:50 -0500 From: Jon Loeliger <jdl@chrome.onramp.net> To: ejon@ll.mit.edu (Eric Jones) Cc: questions@FreeBSD.org Subject: Re: ATAPI (or is it IDE) blues Message-ID: <199509140343.WAA02535@chrome.onramp.net> In-Reply-To: Your message of "Tue, 12 Sep 1995 09:40:39 EDT." <9509120940.AA03550@LL.MIT.EDU>
next in thread | previous in thread | raw e-mail | index | archive | help
Apparently, Eric Jones scribbled:
> Greetings,
>
> I'm trying to get the ATAPI CD-ROM support working with my 2.0.5R
> system and have run into a problem. I applied the patches...no problem
> with that. The problem is that at boot time, my secondary IDE controller
> isn't probed.
If it isn't even probed, you might not have it configured into your
kernel correctly:
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
disk wd0 at wdc0 drive 0
disk wd1 at wdc0 drive 1
controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
#disk wd2 at wdc1 drive 0
#disk wd3 at wdc1 drive 1
options ATAPI #Enable ATAPI support for IDE bus
device wcd0 #IDE CD-ROM
It's different if it is being probed, but not recognized. This is known
to be a problem. I'm not sure it has been fully resolved yet though. I
was able to isolate the problem for me, and have a local hack to make it
work. I've got a NEC 260 drive, and this may or may not be your problem
too:
In wd.c:wdprobe(), there is an attempt to check for a device by reading
and writing a register that the (disk) controller responds to, but the
CD ROM drive does not.
/* check if we have registers that work */
outb(du->dk_port + wd_cyl_lo, 0xa5); /* wd_cyl_lo is read/write */
if (inb(du->dk_port + wd_cyl_lo) == 0xff) /* XXX too weak */
goto nodevice;
Now I then did the obvious frob: totally *skip* this weak test.
This worked relatively nicely!
Bruce supplied some details that I could regurgitate if needed, or
you could attempt to locate in the mail archives (Date: 30,31-Aug-95).
> Port 2 has Pioneer CD-ROM (which came jumpered as IDE slave... go figure).
If it is the only drive there, shouldn't it be jumpered as such?
> If I boot w/ -c and probe wdc1 it returns 0x00...no such fella.
> What I'd really like to do is get a successful probe in the current
> configuration, but I tried a bunch of different things in my attempt to
> understand the problem.
> First I tried setting CD-ROM to master on the theory that the
> port wouldn't probe without a master. Still no probe...DOG doesn't
> love my CD-ROM anymore either.
> Then I tried moving disk 2 to the second port (making it master,
> of course). Now the port is probed and the ATAPI stuff does its work,
> but the kernel can't change root devices because now the disk is called
> wd2 instead of wd1. So I'm not even sure that the ATAPI code really
> found the CD-ROM.
You should definitely see something like:
wdc1: unit 0 (atapi): <NEC CD-ROM DRIVE:260>, removable, iordy
Late? Better than never?
jdl
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199509140343.WAA02535>
