Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/utils/hwstub/stub/main.c b/utils/hwstub/stub/main.c
- index 8139615..3ed0e35 100644
- --- a/utils/hwstub/stub/main.c
- +++ b/utils/hwstub/stub/main.c
- @@ -86,7 +86,7 @@ static struct usb_interface_descriptor interface_descriptor =
- .bDescriptorType = USB_DT_INTERFACE,
- .bInterfaceNumber = USB_HWSTUB_INTF,
- .bAlternateSetting = 0,
- - .bNumEndpoints = 0,
- + .bNumEndpoints = 2,
- .bInterfaceClass = HWSTUB_CLASS,
- .bInterfaceSubClass = HWSTUB_SUBCLASS,
- .bInterfaceProtocol = HWSTUB_PROTOCOL,
- @@ -124,6 +124,26 @@ static const struct usb_string_descriptor lang_descriptor =
- {0x0409} /* LANGID US English */
- };
- +static struct usb_endpoint_descriptor bulkin_descriptor =
- +{
- + .bLength = sizeof(struct usb_endpoint_descriptor),
- + .bDescriptorType = USB_DT_ENDPOINT,
- + .bEndpointAddress = 0,
- + .bmAttributes = USB_ENDPOINT_XFER_BULK,
- + .wMaxPacketSize = 0,
- + .bInterval = 0
- +};
- +
- +static struct usb_endpoint_descriptor bulkout_descriptor =
- +{
- + .bLength = sizeof(struct usb_endpoint_descriptor),
- + .bDescriptorType = USB_DT_ENDPOINT,
- + .bEndpointAddress = 0,
- + .bmAttributes = USB_ENDPOINT_XFER_BULK,
- + .wMaxPacketSize = 0,
- + .bInterval = 0
- +};
- +
- static struct hwstub_version_desc_t version_descriptor =
- {
- sizeof(struct hwstub_version_desc_t),
- @@ -197,6 +217,14 @@ static void handle_std_dev_desc(struct usb_ctrlrequest *req)
- memcpy(usb_buffer + size, (void *)&interface_descriptor,
- sizeof(interface_descriptor));
- size += sizeof(interface_descriptor);
- + /* bulk in descriptor */
- + memcpy(usb_buffer + size, (void *)&bulkin_descriptor,
- + sizeof(bulkin_descriptor));
- + size += sizeof(bulkin_descriptor);
- + /* bulk out descriptor */
- + memcpy(usb_buffer + size, (void *)&bulkout_descriptor,
- + sizeof(bulkout_descriptor));
- + size += sizeof(bulkout_descriptor);
- /* hwstub version */
- memcpy(usb_buffer + size, (void *)&version_descriptor,
- sizeof(version_descriptor));
- @@ -486,6 +514,11 @@ void main(uint32_t arg)
- target_init();
- usb_drv_init();
- + bulkin_descriptor.wMaxPacketSize = usb_drv_max_packet_size();
- + bulkin_descriptor.bEndpointAddress = usb_drv_request_endpoint(USB_ENDPOINT_XFER_BULK, USB_DIR_IN);
- + bulkout_descriptor.wMaxPacketSize = usb_drv_max_packet_size();
- + bulkout_descriptor.bEndpointAddress = usb_drv_request_endpoint(USB_ENDPOINT_XFER_BULK, USB_DIR_OUT);
- +
- while(!g_exit)
- {
- struct usb_ctrlrequest req;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement