<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic USB HOST HID problems to attach multi-interface USB keyboard device on FRDM-KL25Z in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-HOST-HID-problems-to-attach-multi-interface-USB-keyboard/m-p/260106#M7936</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;Hello! I try to make USB host using FRDM-KL25Z but it has some&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;problem to attach multi-interface USB keyboard.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;I installed USB Stack v4.1.1 and CWv10.4.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;I have gaming keyboard and multimedia keyboard which have&lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt; two&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;interface in a single usb device. If I connect it to the PC, it install two keyboards.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;Anyway I programmed USB host on the FRDM-KL25Z like below i&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;n a ProcessorExpert.C&lt;/SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;Made two keyboard tasks.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; _usb_event_init(&amp;amp;USB_Keyboard1_Event);&amp;nbsp; &lt;BR /&gt; _usb_event_init(&amp;amp;USB_Keyboard2_Event);&amp;nbsp; &lt;BR /&gt;...&lt;BR /&gt;&amp;nbsp; for(;;){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(keyboard1_hid_device.DEV_STATE != USB_DEVICE_IDLE) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Keyboard1_Task();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(keyboard2_hid_device.DEV_STATE != USB_DEVICE_IDLE) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Keyboard2_Task();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Poll();&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #575757;"&gt;In a Device_driver.info.c&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;const USB_HOST_DRIVER_INFO DriverInfoTable[] =&lt;BR /&gt;{&lt;BR /&gt; { // Keyboard1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Vendor ID per USB-IF&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Product ID per manufacturer&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; USB_CLASS_HID,&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Class code&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; USB_SUBCLASS_HID_BOOT,&amp;nbsp; /* Sub-Class code&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; USB_PROTOCOL_HID_KEYBOARD, /* Protocol&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Reserved&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; usb_host_hid_keyboard1_event /* Application call back function */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; },&lt;BR /&gt;&amp;nbsp;&amp;nbsp; { // Keyboard2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Vendor ID per USB-IF&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Product ID per manufacturer&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; USB_CLASS_HID,&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Class code&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; USB_SUBCLASS_HID_BOOT,&amp;nbsp; /* Sub-Class code&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; USB_PROTOCOL_HID_KEYBOARD, /* Protocol&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Reserved&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; usb_host_hid_keyboard2_event /* Application call back function */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; },&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* All-zero entry terminates&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* driver info list.&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; NULL&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;But it does not working properly, for gaming keyboard, &lt;SPAN style="color: #500050; text-indent: 0px;"&gt;Only Keyboard2_Task() working properly. W&lt;/SPAN&gt;hen i &lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;press more than 6 keys at the same time KL25Z does not &lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;working any more until reset the MCU.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;I think the usb host stack may some problems to initiate multi-interface USB &lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;device.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;Below is the logo message when attach the 2-interface &lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;keyboard usb device to KL25Z usb host.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;==============================&lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;=============&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;USB HID Keyboard Waiting for attached...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] ----- Attach Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] State = 0&amp;nbsp; Class = 3&amp;nbsp; SubClass = 1&amp;nbsp; Protocol = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] ----- Attach Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] State = 0&amp;nbsp; Class = 3&amp;nbsp; SubClass = 1&amp;nbsp; Protocol = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] ----- Attach Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] State = 1&amp;nbsp; Class = 3&amp;nbsp; SubClass = 1&amp;nbsp; Protocol = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] HID device already attached&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] ----- Attach Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] State = 1&amp;nbsp; Class = 3&amp;nbsp; SubClass = 1&amp;nbsp; Protocol = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] HID device already attached&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] ----- Interfaced Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] ----- Interfaced Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] ----- Interfaced Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] ----- Interfaced Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] Keyboard device interfaced, setting protocol...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;&lt;STRONG&gt;[KBD1] Error in usb_class_hid_set_protocol! STATUS 0xca&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] Keyboard device interfaced, setting protocol...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] Keyboard device ready, try to press the keyboard&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;==============================&lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;=============&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;How can I solve this issue?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 02 Oct 2013 07:42:05 GMT</pubDate>
    <dc:creator>tomkim</dc:creator>
    <dc:date>2013-10-02T07:42:05Z</dc:date>
    <item>
      <title>USB HOST HID problems to attach multi-interface USB keyboard device on FRDM-KL25Z</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-HOST-HID-problems-to-attach-multi-interface-USB-keyboard/m-p/260106#M7936</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;Hello! I try to make USB host using FRDM-KL25Z but it has some&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;problem to attach multi-interface USB keyboard.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;I installed USB Stack v4.1.1 and CWv10.4.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;I have gaming keyboard and multimedia keyboard which have&lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt; two&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;interface in a single usb device. If I connect it to the PC, it install two keyboards.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;Anyway I programmed USB host on the FRDM-KL25Z like below i&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;n a ProcessorExpert.C&lt;/SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;Made two keyboard tasks.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; _usb_event_init(&amp;amp;USB_Keyboard1_Event);&amp;nbsp; &lt;BR /&gt; _usb_event_init(&amp;amp;USB_Keyboard2_Event);&amp;nbsp; &lt;BR /&gt;...&lt;BR /&gt;&amp;nbsp; for(;;){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(keyboard1_hid_device.DEV_STATE != USB_DEVICE_IDLE) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Keyboard1_Task();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(keyboard2_hid_device.DEV_STATE != USB_DEVICE_IDLE) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Keyboard2_Task();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Poll();&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #575757;"&gt;In a Device_driver.info.c&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;const USB_HOST_DRIVER_INFO DriverInfoTable[] =&lt;BR /&gt;{&lt;BR /&gt; { // Keyboard1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Vendor ID per USB-IF&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Product ID per manufacturer&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; USB_CLASS_HID,&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Class code&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; USB_SUBCLASS_HID_BOOT,&amp;nbsp; /* Sub-Class code&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; USB_PROTOCOL_HID_KEYBOARD, /* Protocol&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Reserved&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; usb_host_hid_keyboard1_event /* Application call back function */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; },&lt;BR /&gt;&amp;nbsp;&amp;nbsp; { // Keyboard2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Vendor ID per USB-IF&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Product ID per manufacturer&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; USB_CLASS_HID,&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Class code&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; USB_SUBCLASS_HID_BOOT,&amp;nbsp; /* Sub-Class code&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; USB_PROTOCOL_HID_KEYBOARD, /* Protocol&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Reserved&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; usb_host_hid_keyboard2_event /* Application call back function */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; },&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* All-zero entry terminates&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00},&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* driver info list.&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; NULL&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;But it does not working properly, for gaming keyboard, &lt;SPAN style="color: #500050; text-indent: 0px;"&gt;Only Keyboard2_Task() working properly. W&lt;/SPAN&gt;hen i &lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;press more than 6 keys at the same time KL25Z does not &lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;working any more until reset the MCU.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;I think the usb host stack may some problems to initiate multi-interface USB &lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;device.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;Below is the logo message when attach the 2-interface &lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;keyboard usb device to KL25Z usb host.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;==============================&lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;=============&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;USB HID Keyboard Waiting for attached...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] ----- Attach Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] State = 0&amp;nbsp; Class = 3&amp;nbsp; SubClass = 1&amp;nbsp; Protocol = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] ----- Attach Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] State = 0&amp;nbsp; Class = 3&amp;nbsp; SubClass = 1&amp;nbsp; Protocol = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] ----- Attach Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] State = 1&amp;nbsp; Class = 3&amp;nbsp; SubClass = 1&amp;nbsp; Protocol = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] HID device already attached&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] ----- Attach Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] State = 1&amp;nbsp; Class = 3&amp;nbsp; SubClass = 1&amp;nbsp; Protocol = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] HID device already attached&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] ----- Interfaced Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] ----- Interfaced Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] ----- Interfaced Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] ----- Interfaced Event -----&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD1] Keyboard device interfaced, setting protocol...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;&lt;STRONG&gt;[KBD1] Error in usb_class_hid_set_protocol! STATUS 0xca&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] Keyboard device interfaced, setting protocol...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;[KBD2] Keyboard device ready, try to press the keyboard&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;==============================&lt;/SPAN&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;=============&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #500050; text-indent: 0px;"&gt;How can I solve this issue?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Oct 2013 07:42:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/USB-HOST-HID-problems-to-attach-multi-interface-USB-keyboard/m-p/260106#M7936</guid>
      <dc:creator>tomkim</dc:creator>
      <dc:date>2013-10-02T07:42:05Z</dc:date>
    </item>
  </channel>
</rss>

