diff options
-rw-r--r-- | src/usb-msc.c | 4 | ||||
-rw-r--r-- | src/usb-msc.h | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/usb-msc.c b/src/usb-msc.c index 52fb58a9..968cae39 100644 --- a/src/usb-msc.c +++ b/src/usb-msc.c @@ -182,7 +182,9 @@ usb_msc_init(struct usb_pipe *pipe return -1; // Verify right kind of device - if (iface->bInterfaceSubClass != US_SC_SCSI + if ((iface->bInterfaceSubClass != US_SC_SCSI && + iface->bInterfaceSubClass != US_SC_ATAPI_8070 && + iface->bInterfaceSubClass != US_SC_ATAPI_8020) || iface->bInterfaceProtocol != US_PR_BULK) { dprintf(1, "Unsupported MSC USB device (subclass=%02x proto=%02x)\n" , iface->bInterfaceSubClass, iface->bInterfaceProtocol); diff --git a/src/usb-msc.h b/src/usb-msc.h index 467ccf30..71adb207 100644 --- a/src/usb-msc.h +++ b/src/usb-msc.h @@ -15,9 +15,11 @@ int process_usb_op(struct disk_op_s *op); * MSC flags ****************************************************************/ -#define US_SC_SCSI 0x06 +#define US_SC_ATAPI_8020 0x02 +#define US_SC_ATAPI_8070 0x05 +#define US_SC_SCSI 0x06 -#define US_PR_BULK 0x50 +#define US_PR_BULK 0x50 #define USB_MSC_TYPE_DISK 0x00 #define USB_MSC_TYPE_CDROM 0x05 |