When I mount my mp3-player (Archos 24y Vision) in OpenBSD, it always
takes quite a long time and I see the following output on the console:

> umass0 at uhub2 port 2 configuration 1 interface 0 "ARCHOS ARCHOS" rev 
> 2.00/0.00 addr 8
> umass0: using SCSI over Bulk-Only
> scsibus4 at umass0: 2 targets, initiator 0
> sd3 at scsibus4 targ 1 lun 0: <, ARCHOS, 1.00> SCSI0 0/direct removable
> umass0: Invalid CSW: tag 72 should be 73
> umass0: BBB reset failed, TIMEOUT
> umass0: Invalid CSW: tag 72 should be 74
> umass0: BBB reset failed, TIMEOUT
> umass0: Invalid CSW: tag 72 should be 75
> umass0: BBB reset failed, TIMEOUT
> umass0: Invalid CSW: tag 72 should be 76
> umass0: BBB reset failed, TIMEOUT
> umass0: Invalid CSW: tag 72 should be 77
> umass0: BBB reset failed, TIMEOUT
> umass0: Invalid CSW: tag 84 should be 85
> umass0: BBB reset failed, TIMEOUT

etc. After that, I can read and write files from it without noticing any
problems. On Windows and Linux, it is always mounted without delay. I've
added it to umass_quirks.c (with UMASS_QUIRK_WRONG_CSWTAG) and it seems
to be working fine.

The vendor- and product name in the diff are from
http://www.linux-usb.org/usb.ids

Index: sys/dev/usb/usbdevs
===================================================================
RCS file: /cvs/src/sys/dev/usb/usbdevs,v
retrieving revision 1.636
diff -u -p -r1.636 usbdevs
--- sys/dev/usb/usbdevs 14 Aug 2014 20:29:08 -0000      1.636
+++ sys/dev/usb/usbdevs 29 Sep 2014 07:51:33 -0000
@@ -274,6 +274,7 @@ vendor SMC          0x0707  Standard Microsystems
 vendor PUTERCOM                0x0708  Putercom
 vendor MCT             0x0711  MCT
 vendor IMATION         0x0718  Imation
+vendor DOMAIN          0x071b  Domain Technologies, Inc.
 vendor SUSTEEN         0x0731  Susteen
 vendor EICON           0x0734  Eicon Networks
 vendor STOLLMANN       0x0742  Stollmann
@@ -1570,6 +1571,9 @@ product DISPLAYLINK POLARIS2      0x0117  Pola
 
 /* DMI products */
 product DMI SA2_0              0xb001  Storage Adapter
+
+/* Domain Technologies products */
+product DOMAIN ROCKCHIP                0x3203  Rockchip Media Player
 
 /* DrayTek products */
 product DRAYTEK VIGOR550       0x0550  Vigor550
Index: sys/dev/usb/umass_quirks.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/umass_quirks.c,v
retrieving revision 1.30
diff -u -p -r1.30 umass_quirks.c
--- sys/dev/usb/umass_quirks.c  26 Jun 2008 05:42:19 -0000      1.30
+++ sys/dev/usb/umass_quirks.c  29 Sep 2014 07:51:50 -0000
@@ -68,6 +68,14 @@ const struct umass_quirk umass_quirks[] 
          NULL, NULL
        },
 
+       { {USB_VENDOR_DOMAIN, USB_PRODUCT_DOMAIN_ROCKCHIP },
+         UMASS_WPROTO_UNSPEC, UMASS_CPROTO_UNSPEC,
+         UMASS_QUIRK_WRONG_CSWTAG,
+         0,
+         UMATCH_VENDOR_PRODUCT,
+         NULL, NULL
+       },
+
        { { USB_VENDOR_EASYDISK, USB_PRODUCT_EASYDISK_EASYDISK },
          UMASS_WPROTO_UNSPEC, UMASS_CPROTO_UNSPEC,
          0,

Reply via email to