changeset 229:b78806c7f9f4

Fixing descriptor bugs - Missing device qualifier descriptor - Missing USB Debug descriptor (used by lsusb)
author Jacob Alexander <haata@kiibohd.com>
date Sun, 28 Sep 2014 16:42:43 -0700
parents 398b489276b4
children d81ad399c14f
files Output/pjrcUSB/avr/usb_keyboard_serial.c Output/pjrcUSB/avr/usb_keyboard_serial.h
diffstat 2 files changed, 15 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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;
 				}
 			}
--- 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)},