]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - common/usb_cdc.c
Remove BOS descriptor, leave just manufacturer descriptor for Android
[proxmark3-svn] / common / usb_cdc.c
index 3d17f81c0a8bfeb9bd6dee17c5c10a0c771ddff2..3553d850de660eef3e865cd2a9e6ec4aaad2aea2 100644 (file)
@@ -77,8 +77,8 @@ static const char cfgDescriptor[] = {
        0x02,   // CbNumInterfaces\r
        0x01,   // CbConfigurationValue\r
        0x00,   // CiConfiguration\r
-       0xC0,   // CbmAttributes (Self Powered - for those with a battery)\r
-       0x4B,   // CMaxPower (150mA max current drawn from bus without battery)\r
+       0x80,   // CbmAttributes (Bus Powered)\r
+       0x4B,   // CMaxPower (150mA max current drawn from bus)\r
 \r
        /* Interface 0 Descriptor: Communication Class Interface */\r
        0x09, // bLength\r
@@ -550,6 +550,8 @@ void AT91F_CDC_Enumerate() {
                        AT91F_USB_SendData(pUdp, devDescriptor, MIN(sizeof(devDescriptor), wLength));\r
                else if (wValue == 0x200)  // Return Configuration Descriptor\r
                        AT91F_USB_SendData(pUdp, cfgDescriptor, MIN(sizeof(cfgDescriptor), wLength));\r
+               else if ((wValue & 0x300) == 0x300)  // Return Manufacturer Descriptor - this is needed by Android\r
+                       AT91F_USB_SendData(pUdp, StrDescManufacturer, MIN(sizeof(StrDescManufacturer), wLength));\r
                else if ((wValue & 0xF00) == 0x300) { // Return String Descriptor\r
                        const char *strDescriptor = getStringDescriptor(wValue & 0xff);\r
                        if (strDescriptor != NULL) {\r
Impressum, Datenschutz