Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Aug 1998 11:51:54 -0700
From:      Parag Patel <parag@cgt.com>
To:        freebsd-current@FreeBSD.ORG
Subject:   A couple of low-level (non-CAM) SCSI subsystem problems
Message-ID:  <199808101851.LAA00615@pinhead.parag.codegen.com>

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

I just moved my UMAX 600S scanner from my Mac to FreeBSD 3.0-CURRENT 
without CAM.  It works with the latest sane-0.74 code (which is not yet 
a port - 0.73 does not work properly for this scanner).

Anyway, I started getting a lot (20-50) of these errors from the SCSI 
subsystem in the kernel whenever it scans an image:

	uk1: unknown error category from host adapter code

After some debug-printfs, this is due to a select-timeout 
(XS_SELTIMEOUT) presumably because the scanner is busy moving its scan 
head back to the top or doing other house-keeping, and it isn't sending 
back a proper busy code.

A quick-n-dirty patch to scsi/scsi_ioctl.c seems to eliminate this 
message without causing any other effects:

===================================================================
RCS file: /src/freebsd/src/sys/scsi/scsi_ioctl.c,v
retrieving revision 1.31
diff -c -r1.31 scsi_ioctl.c
*** scsi_ioctl.c        1998/06/07 17:12:49     1.31
--- scsi_ioctl.c        1998/08/10 18:23:41
***************
*** 121,126 ****
--- 121,127 ----
                break;

        case    XS_TIMEOUT:
+       case    XS_SELTIMEOUT:
                SC_DEBUG(xs->sc_link,SDEV_DB3,("timeout\n"));
                screq->retsts = SCCMD_TIMEOUT;
                break;
===================================================================

Is this OK, or is there a better fix (ie switch to CAM)?


The second problem is during boot-up.  If the scanner is powered on 
during boot, FreeBSD seems to think the scanner is at every SCSI 
address.  However, if I leave it powered offduring boot, then do a 
"scsi -r" after the system is running, it probes the scanner properly 
(at SCSI ID 4) with no bogus extra LUNs.

ahc0: <Adaptec aic7880 Ultra SCSI host adapter> rev 0x00 int a irq 19 
on pci0.6.0
ahc0: aic7880 Wide Channel, SCSI Id=7, 16 SCBs
ahc0: waiting for scsi devices to settle
scbus0 at ahc0 bus 0
sd0 at scbus0 target 0 lun 0
sd0: <IBM DCAS-34330W S65A> type 0 fixed SCSI 2
sd0: Direct-Access 4134MB (8467200 512 byte sectors)
ahc0:A:1: refuses WIDE negotiation.  Using 8bit transfers
sd1 at scbus0 target 1 lun 0
sd1: <QUANTUM FIREBALL_TM3200S 300N> type 0 fixed SCSI 2
sd1: Direct-Access 3067MB (6281856 512 byte sectors)
ahc0:A:4: refuses WIDE negotiation.  Using 8bit transfers
ahc0:A:4: refuses synchronous negotiation. Using asynchronous transfers
uk0 at scbus0 target 4 lun 0
uk0: <UMAX Astra 600S V1.6> type 6 fixed SCSI 2
uk0: Unknown 
uk1 at scbus0 target 4 lun 1
uk1: <UMAX Astra 6
00S V1.6> type 6 fixed SCSI 2
uk1: Unknown 
uk2 at scbus0 target 4 lun 2
uk2: <UMAX Astra 600S V1.6> type 6 fixed SCSI 2
uk2: Unknown 
uk3 at scbus0 target 4 lun 3
uk3: <UMAX Astra 600S V1.6> type 6 fixed SCSI 2
uk3: Unknown 
uk4 at scbus0 target 4 lun 4
uk4: <UMAX Astra 600S V1.6> type 6 fixed SCSI 2
uk4: Unknown 
uk5 at scbus0 target 4 lun 5
uk5: <UMAX Astra 600S V1.6> type 6 fixed SCSI 2
uk5: Unknown 
uk6 at scbus0 target 4 lun 6
uk6: <UMAX Astra 600S V1.6> type 6 fixed SCSI 2
uk6: Unknown 
uk7 at scbus0 target 4 lun 7
uk7: <UMAX Astra 600S V1.6> type 6 fixed SCSI 2
uk7: Unknown 
ahc0:A:6: refuses WIDE negotiation.  Using 8bit transfers
uk8 at scbus0 target 6 lun 0
uk8: <SONY CD-R   CDU926S 1.1e> type 4 removable SCSI 2
uk8: Unknown 

Perhaps the workaround is to simply switch to CAM?  Since CAM isn't the 
default yet, I was wondering if I should send-pr these two problems or 
not.

Thanks in advance!



	-- Parag Patel




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



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