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,
