# HG changeset patch # User Jacob Alexander # Date 1411947763 25200 # Node ID b78806c7f9f41e27bb0e459cf318cc4333aebd4a # Parent 398b489276b462a1f68a264ea6d08522efe4d41d Fixing descriptor bugs - Missing device qualifier descriptor - Missing USB Debug descriptor (used by lsusb) diff -r 398b489276b4 -r b78806c7f9f4 Output/pjrcUSB/avr/usb_keyboard_serial.c --- a/Output/pjrcUSB/avr/usb_keyboard_serial.c Sun Sep 28 10:56:32 2014 -0700 +++ b/Output/pjrcUSB/avr/usb_keyboard_serial.c Sun Sep 28 16:42:43 2014 -0700 @@ -865,7 +865,7 @@ USBKeys_Idle_Config = (wValue >> 8); USBKeys_Idle_Count = 0; usb_send_in(); - print("HID IDLE"); + //print("HID IDLE"); return; } if ( bRequest == HID_SET_PROTOCOL ) @@ -873,7 +873,7 @@ usb_wait_in_ready(); USBKeys_Protocol = wValue; // 0 - Boot Mode, 1 - NKRO Mode usb_send_in(); - print("HID SET"); + //print("HID SET"); return; } } diff -r 398b489276b4 -r b78806c7f9f4 Output/pjrcUSB/avr/usb_keyboard_serial.h --- a/Output/pjrcUSB/avr/usb_keyboard_serial.h Sun Sep 28 10:56:32 2014 -0700 +++ b/Output/pjrcUSB/avr/usb_keyboard_serial.h Sun Sep 28 16:42:43 2014 -0700 @@ -273,6 +273,16 @@ 1 // bNumConfigurations }; +// Specify only a single USB speed +static const uint8_t PROGMEM device_qualifier_descriptor[] = { + 0 +}; + +// Disable USB debug descriptor +static const uint8_t PROGMEM usb_debug_descriptor[] = { + 0 +}; + // Keyboard Protocol 1, HID 1.11 spec, Appendix B, page 59-60 static const uint8_t PROGMEM keyboard_hid_report_desc[] = { // Keyboard Collection @@ -500,7 +510,7 @@ 9, // bLength 0x21, // bDescriptorType 0x11, 0x01, // bcdHID - 33, // bCountryCode - Setting to 0/Undefined + 0, // bCountryCode - Setting to 0/Undefined 1, // bNumDescriptors 0x22, // bDescriptorType // wDescriptorLength @@ -638,6 +648,8 @@ } PROGMEM descriptor_list[] = { {0x0100, 0x0000, device_descriptor, sizeof(device_descriptor)}, {0x0200, 0x0000, config1_descriptor, sizeof(config1_descriptor)}, + {0x0600, 0x0000, device_qualifier_descriptor, sizeof(device_qualifier_descriptor)}, + {0x0A00, 0x0000, usb_debug_descriptor, sizeof(usb_debug_descriptor)}, {0x2200, KEYBOARD_INTERFACE, keyboard_hid_report_desc, sizeof(keyboard_hid_report_desc)}, {0x2100, KEYBOARD_INTERFACE, config1_descriptor + KEYBOARD_HID_DESC_OFFSET, 9}, {0x2200, KEYBOARD_NKRO_INTERFACE, keyboard_nkro_hid_report_desc, sizeof(keyboard_nkro_hid_report_desc)},