Skip site navigation (1)Skip section navigation (2)
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: <http://docs.FreeBSD.org/cgi/mid.cgi?199509140343.WAA02535>