From pete@portable.altadena.net  Wed Mar 27 18:23:50 2002
Return-Path: <pete@portable.altadena.net>
Received: from portable.altadena.net (portable.home.altadena.net [66.127.158.100])
	by hub.freebsd.org (Postfix) with ESMTP id A1C2437B41E
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 27 Mar 2002 18:23:46 -0800 (PST)
Received: (from pete@localhost)
	by portable.altadena.net (8.11.6/8.11.2) id g2S2Njr00520;
	Wed, 27 Mar 2002 18:23:45 -0800 (PST)
	(envelope-from pete)
Message-Id: <200203280223.g2S2Njr00520@portable.altadena.net>
Date: Wed, 27 Mar 2002 18:23:45 -0800 (PST)
From: Pete Carah <pete@portable.altadena.net>
Reply-To: Pete Carah <pete@portable.altadena.net>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: Another Pen drive quirk
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         36402
>Category:       kern
>Synopsis:       Another Pen drive quirk
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    scsi
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 27 18:30:01 PST 2002
>Closed-Date:    Tue Apr 23 19:08:32 PDT 2002
>Last-Modified:  Sat Aug 24 19:09:02 PDT 2002
>Originator:     Pete Carah
>Release:        FreeBSD 4.5-STABLE i386
>Organization:
Altadena Internet
>Environment:
System: FreeBSD portable.altadena.net 4.5-STABLE FreeBSD 4.5-STABLE #0: Wed Mar 27 16:08:26 PST 2002 pete@portable.altadena.net:/usr/src/sys/compile/PORT2 i386


>Description:
	Yet another usb device that doesn't like 6-byte commands etc
-------------------
Mar 26 15:49:22 portable /kernel: da0: < USB DISK 1.05> Removable Direct Access SCSI-0 device 
Mar 26 15:49:22 portable /kernel: da0: 650KB/s transfers
Mar 26 15:49:22 portable /kernel: da0: 124MB (253952 512 byte sectors: 64H 32S/T 124C)
Mar 26 15:52:16 portable /kernel: umass0: BBB reset failed, TIMEOUT
Mar 26 15:52:21 portable /kernel: umass0: BBB bulk-in clear stall failed, TIMEOUT
Mar 26 15:53:01 portable /kernel: umass0: BBB bulk-in clear stall failed, TIMEOUT
Mar 26 15:53:06 portable /kernel: umass0: BBB bulk-out clear stall failed, TIMEOUT
Mar 26 15:53:16 portable /kernel: umass0: BBB reset failed, TIMEOUT
Mar 26 15:53:21 portable /kernel: umass0: BBB bulk-in clear stall failed, TIMEOUT
Mar 26 15:53:26 portable /kernel: umass0: BBB bulk-out clear stall failed, TIMEOUT
Mar 26 15:53:36 portable /kernel: umass0: BBB reset failed, TIMEOUT
Mar 26 15:53:41 portable /kernel: umass0: BBB bulk-in clear stall failed, TIMEOUT
Mar 26 15:53:46 portable /kernel: umass0: BBB bulk-out clear stall failed, TIMEOUT
Mar 26 15:53:46 portable /kernel: da0: reading primary partition table: error reading fsbn 0
Mar 26 15:53:56 portable /kernel: umass0: BBB reset failed, TIMEOUT
Mar 26 15:54:01 portable /kernel: umass0: BBB bulk-in clear stall failed, TIMEOUMar 26 15:52:26 portable /kernel: umass0: BBB bulk-out clear stall failed, TIMEOUT
Mar 26 15:52:36 portable /kernel: umass0: BBB reset failed, TIMEOUT
Mar 26 15:52:41 portable /kernel: umass0: BBB bulk-in clear stall failed, TIMEOUT
Mar 26 15:52:46 portable /kernel: umass0: BBB bulk-out clear stall failed, TIMEOUT
Mar 26 15:52:56 portable /kernel: umass0: BBB reset failed, TIMEOUT
T
Mar 26 15:54:06 portable /kernel: umass0: BBB bulk-out clear stall failed, TIMEOUT
Mar 26 15:54:06 portable /kernel: (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi status == 0x0
Mar 26 15:54:16 portable /kernel: umass0: BBB reset failed, TIMEOUT
Mar 26 15:54:21 portable /kernel: umass0: BBB bulk-in clear stall failed, TIMEOUT
.....
-------------------
>How-To-Repeat:
	Buy a Pen Drive (www.pendrive.com).  Try it.
>Fix:

*** scsi_da.c.orig      Fri Feb 22 18:37:02 2002
--- scsi_da.c   Wed Mar 27 16:57:00 2002
***************
*** 317,322 ****
--- 317,329 ----
                {T_DIRECT, SIP_MEDIA_REMOVABLE, "NO BRAND", "PEN DRIVE", "*"},
                /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE
        },
+         {
+               /*
+                * Pen Drive
+                */
+               {T_DIRECT, SIP_MEDIA_REMOVABLE, "", "USB DISK", "*"},
+               /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE
+       },
        {
                /*
                 * FujiFilm Camera

	
================================================================
Actually it might be interesting just to try those two flags on *any*
usb-connected DA device, since they seem to be needed for most solid-state
devices and many real disks.  That would cut back a bunch on the quirk 
table, and especially on the need to figure out a device-id and recompile the 
kernel each time you try something new...  (or arbitrarily set the appropriate
flag on any device when a 6-byte read or a sync_cache gives a command error,
then retry).  It isn't clear from /var/log/messages just what error is
reported for this case; full sense isn't in the "read" log message, only
a timeout.  
(sync-cache is clearer...)

The device works fine with my suggested diff (except that it single-threads
rather badly, but one can live with that).  Cool having a 128mb USB "disk" 
that isn't much bigger than the plug.

-- Pete
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: johan 
State-Changed-When: Tue Apr 23 19:07:45 PDT 2002 
State-Changed-Why:  
Duplicated by 37332. 


Responsible-Changed-From-To: freebsd-bugs->freebsd-scsi 
Responsible-Changed-By: johan 
Responsible-Changed-When: Tue Apr 23 19:07:45 PDT 2002 
Responsible-Changed-Why:  
Duplicated by 37332. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=36402 
Responsible-Changed-From-To: freebsd-scsi->scsi 
Responsible-Changed-By: johan 
Responsible-Changed-When: Sat Aug 24 19:08:23 PDT 2002 
Responsible-Changed-Why:  
Use short names for mailing list to make searches    
using the web query form work with the shown responsible. 


http://www.freebsd.org/cgi/query-pr.cgi?pr=36402 
>Unformatted:
