kern/70835: QUIRK: [patch] scsi_da does not recognize SANDISK
Cruizer Micro
Raymundo M. Vega
rmvega at san.rr.com
Sun Aug 22 16:00:23 PDT 2004
>Number: 70835
>Category: kern
>Synopsis: QUIRK: [patch] scsi_da does not recognize SANDISK Cruizer Micro
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Aug 22 23:00:22 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Raymundo M. Vega
>Release: FreeBSD 4.10-STABLE i386
>Organization:
Software developer enthusiast :-)
>Environment:
System: FreeBSD navajo 4.10-STABLE FreeBSD 4.10-STABLE #17: Sun Aug 15 17:31:29 PDT 2004 root at navajo.tcsllc.com:/usr/src/sys/compile/NAVAJO i386
>Description:
Tried to use a SanDisk Cruzer Micro and the system panics, tried patch from
PR kern/65438 (modified because of different product ID), that made the
umass device driver to recognize the flash card, but still no disk driver
is attached.
>How-To-Repeat:
Connect a SanDisk Cruzer Micro in the usb bus on release 4.10
>Fix:
Here are the patches i used to be able to use the flash drive. First patch
is for file /sys/dev/usb/usbdevs, second is for /sys/dev/usb/umass.c and
last one for /sys/cam/scsi/scsi_da.c, after all patches are applied and
kernel recompiled, there is a da device driver assignedevery time the
flash is connected to USB bus and mount works fine.
--- patch-usbdevs begins here ---
--- usbdevs.ORIG Sun Aug 15 15:55:56 2004
+++ usbdevs Sun Aug 22 15:41:13 2004
@@ -1153,7 +1153,7 @@
product SANDISK SDDR12 0x0100 ImageMate SDDR-12
product SANDISK SDDR09 0x0200 ImageMate SDDR-09
product SANDISK SDDR75 0x0810 ImageMate SDDR-75
-
+product SANDISK SDCZ4_256 0x7113 Cruzer Micro 256MB
/* Sanyo Electric products */
product SANYO SCP4900 0x0701 Sanyo SCP-4900 USB Phone
--- patch-usbdevs ends here ---
--- patch-umass.c begins here ---
--- umass.c.ORIG Sun Aug 15 15:58:02 2004
+++ umass.c Sun Aug 22 15:41:04 2004
@@ -748,6 +748,11 @@
sc->proto = UMASS_PROTO_SCSI | UMASS_PROTO_BBB;
sc->quirks |= IGNORE_RESIDUE;
}
+ if (UGETW(dd->idVendor) == USB_VENDOR_SANDISK &&
+ UGETW(dd->idProduct) == USB_PRODUCT_SANDISK_SDCZ4_256) {
+ sc->proto = UMASS_PROTO_SCSI | UMASS_PROTO_BBB;
+ sc->quirks |= IGNORE_RESIDUE;
+ }
switch (id->bInterfaceSubClass) {
case UISUBCLASS_SCSI:
--- patch-umass.c ends here ---
--- patch-scsi_da.c begins here ---
--- scsi_da.c.ORIG Sat Aug 7 18:34:36 2004
+++ scsi_da.c Sun Aug 22 15:42:01 2004
@@ -333,6 +333,14 @@
{T_DIRECT, SIP_MEDIA_REMOVABLE, "SEAGRAND", "NP-900*", "*"},
/*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT
},
+ {
+ /*
+ * SANDISK SDCZ4-256 Flash drive (SANDISK Micro)
+ * PR: kern/64563
+ */
+ {T_DIRECT, SIP_MEDIA_REMOVABLE, "SanDisk", "Cruzer Micro", "*"},
+ /*quirks*/ DA_Q_NO_6_BYTE
+ },
};
--- patch-scsi_da.c ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list