minix/drivers/usb_storage
Wojciech Zajac 78cd341562 Fixed usb_storage to support more USB sticks
More TEST UNIT READY calls, as some sticks seem to require them, while others are indifferent.

Mass storage 'reset recovery' is disabled by default, as it broke communication with some sticks.

Minor fixes.
2014-07-28 17:05:55 +02:00
..
bulk.c usb:adding usb mass storage driver. 2014-07-28 17:05:39 +02:00
bulk.h usb:adding usb mass storage driver. 2014-07-28 17:05:39 +02:00
common.h usb:adding usb mass storage driver. 2014-07-28 17:05:39 +02:00
Makefile usb:adding usb mass storage driver. 2014-07-28 17:05:39 +02:00
README.txt usb:adding usb mass storage driver. 2014-07-28 17:05:39 +02:00
scsi.c Fixed usb_storage to support more USB sticks 2014-07-28 17:05:55 +02:00
scsi.h usb:adding usb mass storage driver. 2014-07-28 17:05:39 +02:00
urb_helper.c More endpoint descriptor data held by usb_storage 2014-07-28 17:05:54 +02:00
urb_helper.h Fixed usb_storage to support more USB sticks 2014-07-28 17:05:55 +02:00
usb_storage.c Fixed usb_storage to support more USB sticks 2014-07-28 17:05:55 +02:00
usb_storage.conf usb:adding usb mass storage driver. 2014-07-28 17:05:39 +02:00
usb_storage.h More endpoint descriptor data held by usb_storage 2014-07-28 17:05:54 +02:00

-------------------------------------------------------------------------------
*                           INFORMATION:                                      *
-------------------------------------------------------------------------------
README file for "USB Mass Storage driver" that uses DDEkit and libblockdriver.

created march-april 2014, JPEmbedded (info@jpembedded.eu)

-------------------------------------------------------------------------------
*                           KNOWN LIMITATIONS:                                *
-------------------------------------------------------------------------------
-Hardcoded interface number for bulk-only reset.
-Hardcoded configuration number for simple enumeration.
-Call to ddekit_minix_create_msg_q in _ddekit_usb_thread uses base that
 overlaps that of blockdriver's (in mass_storage_task) so initialization
 must be done in fixed order.
-Some of DDEKit's functions are declared in source files as they are missing
 from headers.
-DDEKit has 'init' but no 'deinit' call, so memory is spilled.
-Hardcoded geometry.
-LUN always set to 0.
-SIGTERM handler uses exit instead of DDEkit semaphores.
-mass_storage.conf taken from dde-linux26-usb-drivers.
-Subpartitioning does not seem to work.
-Type ddekit_usb_dev is not defined in any header file but two variants of it
 should exist (client and server).
-Magic number in URB setup buffer assignment as there is no header for that
 (like usb_ch9.h for descriptors).