From owner-freebsd-hackers Fri Apr 7 01:42:15 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id BAA27185 for hackers-outgoing; Fri, 7 Apr 1995 01:42:15 -0700 Received: from Xenon.Stanford.EDU (Xenon.Stanford.EDU [36.28.0.25]) by freefall.cdrom.com (8.6.10/8.6.6) with SMTP id BAA27178 for ; Fri, 7 Apr 1995 01:42:12 -0700 Received: by Xenon.Stanford.EDU (5.61+IDA/25-Xenon-eef) id AA15770; Fri, 7 Apr 95 01:42:08 -0700 Date: Fri, 7 Apr 1995 01:42:08 -0700 (PDT) From: Terry Lee To: "Justin T. Gibbs" Cc: freebsd-hackers@FreeBSD.org Subject: Re: AHA-2940 boot prob. 950322-SNAP In-Reply-To: <199504061930.MAA24679@estienne.cs.berkeley.edu> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: hackers-owner@FreeBSD.org Precedence: bulk > I think this should fix it for you. If for some reason your drive times > out (and is detected as a tagged queuing device), try disabling the > tagged queuing support. Its just a couple #if 0's in i386/scsi/aic7xxx.c's > ahc_done routine where it looks at the inquiry data to see if the drive > can do tagged queueing. Yes, my drive was detected with tagged queuing and could not mount root. So I made the following modification and it seems to work okay. Just commented out one if line and replaced it with if(0) xs->flags |= ITSDONE; if(xs->cmd->opcode == 0x12 && xs->error == XS_NOERROR) { struct ahc_data *ahc = ahcdata[unit]; struct scsi_inquiry_data *inq_data; u_short mask = 0x01 << (xs->sc_link->target | (scb->target_channel_lun & 0x08)); /* * Sneak a look at the results of the SCSI Inquiry * command and see if we can do Tagged queing. This * should really be done by the higher level drivers. */ inq_data = (struct scsi_inquiry_data *)xs->data; /*if(((inq_data->device & SID_TYPE) == 0) * && (inq_data->flags & SID_CmdQue) * && !(ahc->tagenable & mask)) */ if(0) { /* * Disk type device and can tag */ printf("ahc%d: target %d Tagged Queuing Device\n", unit, xs->sc_link->target); ahc->tagenable |= mask; #ifdef QUEUE_FULL_SUPPORTED xs->sc_link->opennings += 2; */ #endif } } ahc_free_scb(unit, scb, xs->flags); Can you let me know if there is anythign else to watch out for? Thanks, Justin. BTW, I'm using a Seagate ST-31200N. Best regards, Terry I N T E R N E T Terry Lee, Technical Director D E S I G N 745 Stanford Avenue, Palo Alto, California 94306 G R O U P 415 424 0747 voice 415 424-0751 fax http://www.mall.net terryl@cs.stanford.edu http://www.mall.net/terry