From owner-freebsd-hackers Mon Jun 1 12:22:58 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id MAA09730 for freebsd-hackers-outgoing; Mon, 1 Jun 1998 12:22:58 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from plunger.gdeb.com (plunger.gdeb.com [153.11.11.3]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id MAA09448 for ; Mon, 1 Jun 1998 12:22:20 -0700 (PDT) (envelope-from deischen@iworks.InterWorks.org) Received: from clcrtr.clc.gdeb.com ([153.11.109.11]) by plunger.gdeb.com with ESMTP (1.37.109.16/CSC-E_1.8) id AA292468174; Mon, 1 Jun 1998 15:09:34 -0400 Received: from clcrtr.clc.gdeb.com (clcrtr [153.11.109.129]) by clcrtr.clc.gdeb.com (8.7.5/8.7.3) with SMTP id PAA07863; Mon, 1 Jun 1998 15:15:51 -0400 (EDT) Message-Id: <3572FDE7.41C67EA6@iworks.InterWorks.org> Date: Mon, 01 Jun 1998 15:15:51 -0400 From: "Daniel M. Eischen" X-Mailer: Mozilla 3.0Gold (X11; I; FreeBSD 2.1.5-RELEASE i386) Mime-Version: 1.0 To: freebsd-hackers@FreeBSD.ORG Subject: Fix for YAAIP (Yet another ATAPI install problem) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 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 rev 1 on pci0:0:0 chip1 rev 1 on pci0:7:0 chip2 rev 1 on pci0:7:1 mapreg[20] type=1 addr=0000fc90 size=0010. chip3 rev 1 int d irq 9 on pci0:7:2 mapreg[20] type=1 addr=0000fca0 size=0020. chip4 rev 1 on pci0:7:3 vga0 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): 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): , 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): , 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