Bug 36402

Summary: Another Pen drive quirk
Product: Base System Reporter: Pete Carah <pete>
Component: kernAssignee: freebsd-scsi (Nobody) <scsi>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.5-STABLE   
Hardware: Any   
OS: Any   

Description Pete Carah 2002-03-28 02:30:01 UTC
	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
.....
-------------------

Fix: 

================================================================
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--tsRVFpaPf0z4x49Ap2Y1SNGZxTn9501ayRK6OJ060CxKkNJr
Content-Type: text/plain; name="file.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="file.diff"

*** 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
How-To-Repeat: 	Buy a Pen Drive (www.pendrive.com).  Try it.
Comment 1 Johan Karlsson freebsd_committer freebsd_triage 2002-04-24 03:07:45 UTC
State Changed
From-To: open->closed

Duplicated by 37332. 


Comment 2 Johan Karlsson freebsd_committer freebsd_triage 2002-04-24 03:07:45 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-scsi

Duplicated by 37332.
Comment 3 Johan Karlsson freebsd_committer freebsd_triage 2002-08-25 03:08:23 UTC
Responsible Changed
From-To: freebsd-scsi->scsi

Use short names for mailing list to make searches    
using the web query form work with the shown responsible.