Commit Graph

20 Commits

Author SHA1 Message Date
4lDO2 3203a33498 REDOXFS WORKS (read-only) ON USB! 2020-02-21 16:45:35 +01:00
4lDO2 4072d5d282 Implement READ CAPACITY 10.
This allows the block count and block size to be determined when no
block descriptors in the mode sense data are returned.
2020-02-18 19:18:20 +01:00
4lDO2 fab13d6404 Fix get_mode_sense10 and some bbb error handling. 2020-02-16 21:27:41 +01:00
4lDO2 3c9527206f Add basic SCSI error handling. 2020-02-15 23:54:23 +01:00
4lDO2 bd0892e45d Make the usb scsi scheme able to do block I/O. 2020-02-15 00:26:19 +01:00
4lDO2 d44296dec9 Almost successfully read blocks using SCSI. 2020-02-14 18:38:24 +01:00
4lDO2 034e6bce70 Set up a basic SCSI scheme, and get disk size.
Some commands are unused though, and probably won't be used, for example
ReportSuppOpcodes. Also, there appears to be lots of different versions
of the SCSI specification.
2020-02-14 00:02:13 +01:00
4lDO2 9d88528188 Make SCSI commands working. 2020-02-12 23:17:50 +01:00
4lDO2 73ca576558 Use the real DCIs instead of driver-level numbers.
Sidenote: instead of STALLing because the driver didn't configure the
endpoints properly, regular transfers now work. Thus, QEMU was able to
recognize that it received a Bulk-Only Transport CBW. Yay!

Additionally, to make life easier when debugging, usbctl was added; now
it can get endpoint statuses which were previously non-accessible from
shell scripts, after the transition to the new ctl+data endpoint
interface.
2020-02-12 22:07:37 +01:00
4lDO2 56541efd13 Use correct endpoint indices. 2020-02-12 15:10:01 +01:00
4lDO2 1a7625c0bc Allow stalled endpoints to be reset. 2020-02-12 13:46:28 +01:00
4lDO2 dd9124eb82 Simplify the endpoint interface. 2020-02-11 23:07:20 +01:00
4lDO2 05392696fe Use more correct params in configure_endpoint.
Most importantly in the endpoint contexts of the input context,
specifying the properties of the endpoints that are being configured.
2020-02-11 11:39:29 +01:00
4lDO2 d82ae0a5f6 Add periodic (driver interface-level) transfers. 2020-02-10 23:12:11 +01:00
4lDO2 cff3cf0d28 Add basic logic to usbscsid and support alternate interface. 2020-02-10 11:23:18 +01:00
4lDO2 62915fadb1 Implement stream transfers.
They only use one stream though, which defeats the purpose of streams,
but at least transfers now work.
2020-02-09 22:35:56 +01:00
4lDO2 6b70e80d20 Add (untested) transfer support. 2020-02-09 17:17:36 +01:00
4lDO2 1013daf606 IT WORKS! 2020-02-08 17:18:09 +01:00
4lDO2 1b74f335b0 Add a driver interface accessible to class drivers. 2020-02-06 21:45:44 +01:00
4lDO2 ae0d43c12a Add a framework-ish for USB drivers. 2020-02-03 21:48:35 +01:00