From owner-freebsd-scsi@FreeBSD.ORG Fri Feb 23 19:14:38 2007 Return-Path: X-Original-To: scsi@freebsd.org Delivered-To: freebsd-scsi@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 88DDA16A405 for ; Fri, 23 Feb 2007 19:14:38 +0000 (UTC) (envelope-from anderson@freebsd.org) Received: from mh1.centtech.com (moat3.centtech.com [64.129.166.50]) by mx1.freebsd.org (Postfix) with ESMTP id 4220B13C4A3 for ; Fri, 23 Feb 2007 19:14:38 +0000 (UTC) (envelope-from anderson@freebsd.org) Received: from [10.177.171.220] (neutrino.centtech.com [10.177.171.220]) by mh1.centtech.com (8.13.8/8.13.8) with ESMTP id l1NIhh3D065679; Fri, 23 Feb 2007 12:43:43 -0600 (CST) (envelope-from anderson@freebsd.org) Message-ID: <45DF35E3.8010005@freebsd.org> Date: Fri, 23 Feb 2007 12:43:47 -0600 From: Eric Anderson User-Agent: Thunderbird 1.5.0.9 (X11/20070204) MIME-Version: 1.0 To: Warner Losh References: <20070221.160542.-169061472.imp@bsdimp.com> <45DE6C64.8020400@samsco.org> <20070223.100839.112608684.imp@bsdimp.com> In-Reply-To: <20070223.100839.112608684.imp@bsdimp.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.88.4/2631/Thu Feb 22 15:33:11 2007 on mh1.centtech.com X-Virus-Status: Clean X-Spam-Status: No, score=-2.6 required=8.0 tests=BAYES_00 autolearn=ham version=3.1.6 X-Spam-Checker-Version: SpamAssassin 3.1.6 (2006-10-03) on mh1.centtech.com Cc: scsi@freebsd.org Subject: Re: Quirk for this? X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Feb 2007 19:14:38 -0000 On 02/23/07 11:08, Warner Losh wrote: >> M. Warner Losh wrote: >>> I have a umass device that lies about the size of the device: >>> >>> umass0: on uhub1 >>> da0 at umass-sim0 bus 0 target 0 lun 0 >>> da0: Removable Direct Access SCSI-2 device >>> da0: 1.000MB/s transfers >>> da0: 61MB (125441 512 byte sectors: 64H 32S/T 61C) >>> >>> However, when I plug it in with other umass devices, this is what I >>> see: >>> >>> umass0: on uhub2 >>> da0 at umass-sim0 bus 0 target 0 lun 0 >>> da0: Removable Direct Access SCSI-0 device >>> da0: 40.000MB/s transfers >>> da0: 61MB (125440 512 byte sectors: 64H 32S/T 61C) >>> >>> The 125440 number is what is reported by ata as well. >>> >>> Is there some way I can quirk this to not get a huge cascade of errors >>> when the last sector is read by the tasting code? I didn't see any >>> way when I was reading the code, but the quirks are scatter in a few >>> different files and I might have missed something. >>> >>> Warner >> I don't understand, it changes its inquiry and size data depending on >> how many other devices are plugged into the bus with it? That's highly >> bizarre. No, there is no size coercion quirk. We could add one, but we >> need to decide on what an appropriate coercion is, and how to trigger >> it. Size coerecion is highly, highly hard to get right. > > OK. Maybe I was unclear in my first post. > > One of the SanDisk devices that I have, the first one listed, reports > the size wrong. It is one too big. This is the USB/CF adapter > whatsit. No matter which CF card I plug into it, it is reported one > too large. This is a bug in the USB/CF adapter. This is shown first > in the list above. > > The other USB/CF adapter, as well as my PC Card/CF adapter, reports > the correct size for the card (which is shown second). > > The question is: Given that I know that the first USB/CF adapter > always reports one too big, is there a way this can be fixed? Just curious, but is it possible one is reporting the sectors on cf + starting sector, where it makes the starting sector 1 instead of 0? I've seen some warnings about this with regards to compact flash (when searching for other issues relating to a Soekris box). Could one just do a read on the last sector of a umass device and look for an error, and if so, reduce the size (maybe only if the size is reported as an odd number)? Eric