Date: Wed, 27 Mar 2002 18:23:45 -0800 (PST) From: Pete Carah <pete@portable.altadena.net> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/36402: Another Pen drive quirk Message-ID: <200203280223.g2S2Njr00520@portable.altadena.net>
next in thread | raw e-mail | index | archive | help
>Number: 36402 >Category: kern >Synopsis: Another Pen drive quirk >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Mar 27 18:30:01 PST 2002 >Closed-Date: >Last-Modified: >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: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203280223.g2S2Njr00520>