@@ -644,6 +644,7 @@ USB_TYPE USBHost::resetDevice(USBDeviceConnected * dev)
644
644
bool USBHost::addEndpoint (USBDeviceConnected * dev, uint8_t intf_nb, USBEndpoint * ep)
645
645
{
646
646
647
+ USB_DBG (" USBHost::addEndpoint(%p %u %p) %p" , dev, intf_nb, ep, this );
647
648
if (ep == NULL ) {
648
649
return false ;
649
650
}
@@ -877,11 +878,15 @@ USB_TYPE USBHost::getConfigurationDescriptor(USBDeviceConnected * dev, uint8_t *
877
878
878
879
USB_DBG (" TOTAL_LENGTH: %d \t NUM_INTERF: %d" , total_conf_descr_length, buf[4 ]);
879
880
880
- return controlRead ( dev,
881
+ res = controlRead ( dev,
881
882
USB_DEVICE_TO_HOST | USB_RECIPIENT_DEVICE,
882
883
GET_DESCRIPTOR,
883
884
(CONFIGURATION_DESCRIPTOR << 8 ) | (0 ),
884
885
0 , buf, total_conf_descr_length);
886
+ if (res != USB_TYPE_OK) {
887
+ USB_ERR (" controlRead FAILED(%u)" , res);
888
+ return res;
889
+ }
885
890
}
886
891
887
892
@@ -931,6 +936,7 @@ USB_TYPE USBHost::enumerate(USBDeviceConnected * dev, IUSBEnumerator* pEnumerato
931
936
// don't enumerate a device which all interfaces are registered to a specific driver
932
937
int index = findDevice (dev);
933
938
939
+ USB_DBG (" Enumerate dev: %p index: %d" , dev, index );
934
940
if (index == -1 ) {
935
941
return USB_TYPE_ERROR;
936
942
}
@@ -946,12 +952,20 @@ USB_TYPE USBHost::enumerate(USBDeviceConnected * dev, IUSBEnumerator* pEnumerato
946
952
USB_DBG (" Enumerate dev: %p" , dev);
947
953
948
954
// third step: get the whole device descriptor to see vid, pid
949
- res = getDeviceDescriptor (dev, data, DEVICE_DESCRIPTOR_LENGTH);
955
+ uint16_t cb_read;
956
+ res = getDeviceDescriptor (dev, data, DEVICE_DESCRIPTOR_LENGTH, &cb_read);
950
957
951
958
if (res != USB_TYPE_OK) {
952
959
USB_DBG (" GET DEV DESCR FAILED" );
953
960
return res;
954
961
}
962
+ #if (DEBUG > 3)
963
+ USB_DBG (" DEVICE DESCRIPTOR(%u):\r\n " , cb_read);
964
+ for (int i = 0 ; i < DEVICE_DESCRIPTOR_LENGTH; i++) {
965
+ printf (" %02X " , data[i]);
966
+ }
967
+ printf (" \r\n\r\n " );
968
+ #endif
955
969
956
970
dev->setClass (data[4 ]);
957
971
dev->setSubClass (data[5 ]);
0 commit comments