Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 01 Jun 1998 15:15:51 -0400
From:      "Daniel M. Eischen" <deischen@iworks.InterWorks.org>
To:        freebsd-hackers@FreeBSD.ORG
Subject:   Fix for YAAIP (Yet another ATAPI install problem)
Message-ID:  <3572FDE7.41C67EA6@iworks.InterWorks.org>

next in thread | raw e-mail | index | archive | help
I'm 0 for 2 in trying to install FreeBSD from ATAPI CD-ROM
drives.  The problem and fix for the first time is in gnats
(kern/6253).  This time on another system, it seems that the
drive reports its DRQ type as AT_DRQT_INTR (1), but an interrupt
never occurs before sending the command.  Below you'll find
the quick hack I did to make it work and a dmesg.

>From my experience, it seems that ATAPI CD-ROM drives are
very quirky (this is a system at work - no SCSI :()  Wouldn't
it make things easier if we had some flags passed down to the
atapi driver, or even had a quirk table for them?  I don't
see a correct method of fixing this without flags or quirk
table entries.

BTW, this was 2.2.6-RELEASE.

Dan Eischen
deischen@iworks.InterWorks.org


*** atapi.c.orig        Sun May 31 10:24:00 1998
--- atapi.c     Sun May 31 11:37:07 1998
***************
*** 562,570 ****
--- 562,572 ----
                goto again;
        }
  
+ #if 0
        if (ata->intrcmd)
                /* Wait for interrupt before sending packet command */
                return (1);
+ #endif
  
        /* Wait for DRQ. */
        if (atapi_wait_cmd (ata, ac) < 0) {


Copyright (c) 1992-1998 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.

FreeBSD 2.2.6-RELEASE #0: Sun May 31 12:02:33 EDT 1998
    deischen@myname.my.domain:/usr/src/sys/compile/cygnus
Calibrating clock(s) ... i586 clock: 232877311 Hz, i8254 clock: 1193165 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
CLK_USE_I586_CALIBRATION not specified - using old calibration method
CPU: Pentium (232.88-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x543  Stepping=3
  Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
real memory  = 67108864 (65536K bytes)
Physical memory chunk(s):
0x00001000 - 0x0009efff, 647168 bytes (158 pages)
0x0021a000 - 0x03ffdfff, 64897024 bytes (15844 pages)
avail memory = 63725568 (62232K bytes)
pcibus_setup(1):        mode 1 addr port (0x0cf8) is 0x80000058
pcibus_setup(1a):       mode1res=0x80000000 (0x80000000)
pcibus_check:   device 0 is there (id=71008086)
Probing for devices on PCI bus 0:
        configuration mode 1 allows 32 devices.
chip0 <Intel 82439TX PCI cache memory controller> rev 1 on pci0:0:0
chip1 <Intel 82371AB PCI-ISA bridge> rev 1 on pci0:7:0
chip2 <Intel 82371AB IDE interface> rev 1 on pci0:7:1
        mapreg[20] type=1 addr=0000fc90 size=0010.
chip3 <Intel 82371AB USB interface> rev 1 int d irq 9 on pci0:7:2
        mapreg[20] type=1 addr=0000fca0 size=0020.
chip4 <Intel 82371AB Power management controller> rev 1 on pci0:7:3
vga0 <VGA-compatible display device> rev 154 int a irq 9 on pci0:8:0
        mapreg[10] type=0 addr=fd000000 size=1000000.
        mapreg[14] type=1 addr=0000f800 size=0100.
        mapreg[18] type=0 addr=fedff000 size=1000.
vx0 <3COM 3C905 Fast Etherlink XL PCI> rev 0 int a irq 11 on pci0:13:0
        mapreg[10] type=1 addr=0000fcc0 size=0040.
mii[*mii*] address 00:60:08:c0:13:7b
bpf: vx0 attached
pci0: uses 16781312 bytes of memory from fd000000 upto fedfffff.
pci0: uses 368 bytes of I/O space from f800 upto fcff.
Probing for devices on the ISA bus:
sc0: the current keyboard controller command byte 0047
[...]
sc0 at 0x60-0x6f irq 1 on motherboard
[...]
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 not found at 0x2f8
sio2: disabled, not probed.
sio3: disabled, not probed.
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
bpf: lp0 attached
mse0: wrong signature ff
mse0 not found at 0x23c
psm0: current command byte:0047
psm0 at 0x60-0x64 irq 12 on motherboard
[...]
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0): <WDC AC24300L>
wd0: 4112MB (8421840 sectors), 8912 cyls, 15 heads, 63 S/T, 512 B/S
wdc1 at 0x170-0x177 irq 15 on isa
wdc1: unit 0 (atapi): <TOSHIBA CD-ROM XM-6202B/1110>, removable, accel, ovlap, dma, iordis
wcd0: 5512Kb/sec, 256Kb cache, audio play, 255 volume levels, ejectable tray
wcd0: no disc inside, unlocked
wdc1: unit 1 (atapi): <IOMEGA  ZIP 100       ATAPI/23.D>, removable, intr, iordis
wfd0: medium type unknown (no disk)
wfd0: buggy Zip drive, 64-block transfer limit set
[...]

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?3572FDE7.41C67EA6>