Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Apr 1998 17:14:05 -0700 (PDT)
From:      Joe Touch <touch@ISI.EDU>
To:        freebsd-hackers@FreeBSD.ORG
Cc:        touch@ISI.EDU
Subject:   ATAPI probe hanging
Message-ID:  <199805010014.RAA22830@rum.isi.edu>

next in thread | raw e-mail | index | archive | help
Hi,

I have a problem booting a laptop with a detachable CDROM base unit,
when the unit is attached.

The configuration is:
	Hitachi VisionBook Elite
	2.2.5 kernel, PAO patches (970616) installed

The symptom is that, during boot:

	finds fd0
        finds wdc0 (wd0)
        finds wdc1 (CDROM)
        finds info about the CDROM at wcd0 - 1722 Kb/s...
        finds info about the CDROM at wcd0 - no disc inside, unlocked

	(hangs here)

This problem prevents me from using a boot floppy (the PAO floppy,
e.g.) to boot install from the CDROM.

In attempting to trace the problem, I turned on debugging, and noticed
that the kernel dealt fine with the first ATAPI device (#0), but it
was hanging in the probe of the second device (#1), which does not
exist on this machine. I found a temporary fix, which is:

Change "/usr/src/sys/i386/isa/wd.c" :
	/*
         * Probe all free IDE units, searching for ATAPI drives.
         */
       for (unit=0; unit<2; ++unit) { 

To:
       for (unit=0; unit<1; ++unit) {

(the full patch is below)

I would like to know if there is a configuration change that would
avoid the need for this patch. 

(alternately, if anyone might be able to build a 2.2.5 or 2.2.6 
PAO boot floppy with that patch, I would be very grateful)

Thanks,

Joe

-------- (patch file follows) --------

*** wd.c        Fri Feb 20 11:14:22 1998
--- wd.c-old    Fri Feb 20 12:56:33 1998
***************
*** 736,743 ****
        /*
         * Probe all free IDE units, searching for ATAPI drives.
         */
!       /* for Joe      for (unit=0; unit<2; ++unit) { */
!       for (unit=0; unit<1; ++unit) {
  #if   NCRD > 0
                for (lunit=0; lunit<NWD; ++lunit)
                        if ((lunit_in_use & (1<<lunit)) && wddrives[lunit] &&
--- 736,742 ----
        /*
         * Probe all free IDE units, searching for ATAPI drives.
         */
!       for (unit=0; unit<2; ++unit) { 
  #if   NCRD > 0
                for (lunit=0; lunit<NWD; ++lunit)
                        if ((lunit_in_use & (1<<lunit)) && wddrives[lunit] &&
 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199805010014.RAA22830>