summaryrefslogtreecommitdiff
path: root/firmware/usbstack
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/usbstack')
-rw-r--r--firmware/usbstack/drivers/device/usb_serial.c2
-rw-r--r--firmware/usbstack/drivers/device/usb_storage.c15
2 files changed, 17 insertions, 0 deletions
diff --git a/firmware/usbstack/drivers/device/usb_serial.c b/firmware/usbstack/drivers/device/usb_serial.c
index c243821..a37813b 100644
--- a/firmware/usbstack/drivers/device/usb_serial.c
+++ b/firmware/usbstack/drivers/device/usb_serial.c
@@ -242,7 +242,9 @@ int usb_serial_driver_request(struct usb_ctrlrequest* request)
logf("usb serial: sending qualifier dec");
ret = MIN(sizeof(struct usb_qualifier_descriptor), request->wLength);
res.buf = &serial_qualifier_desc;
+ break;
+ case USB_DT_OTHER_SPEED_CONFIG:
case USB_DT_CONFIG:
logf("usb serial: sending config desc");
diff --git a/firmware/usbstack/drivers/device/usb_storage.c b/firmware/usbstack/drivers/device/usb_storage.c
index 9133c85..8c96914 100644
--- a/firmware/usbstack/drivers/device/usb_storage.c
+++ b/firmware/usbstack/drivers/device/usb_storage.c
@@ -99,6 +99,14 @@ static struct usb_endpoint_descriptor storage_fs_bulk_out_desc = {
.wMaxPacketSize = 64,
};
+static struct usb_qualifier_descriptor storage_qualifier_desc = {
+ .bLength = sizeof(struct usb_qualifier_descriptor),
+ .bDescriptorType = USB_DT_DEVICE_QUALIFIER,
+ .bcdUSB = 0x0200,
+ .bDeviceClass = 0,
+ .bNumConfigurations = 1,
+};
+
struct usb_descriptor_header *storage_fs_function[] = {
(struct usb_descriptor_header *) &storage_interface_desc,
(struct usb_descriptor_header *) &storage_fs_bulk_in_desc,
@@ -220,6 +228,13 @@ int usb_storage_driver_request(struct usb_ctrlrequest* request)
res.buf = &storage_device_desc;
break;
+ case USB_DT_DEVICE_QUALIFIER:
+ logf("usb storage: sending qualifier dec");
+ ret = MIN(sizeof(struct usb_qualifier_descriptor), request->wLength);
+ res.buf = &storage_qualifier_desc;
+ break;
+
+ case USB_DT_OTHER_SPEED_CONFIG:
case USB_DT_CONFIG:
logf("usb storage: sending config desc");