AnsweredAssumed Answered

USB Composite HID-MSD device does not start

Question asked by Jon Perrin on Aug 11, 2015
Latest reply on Oct 6, 2015 by isaacavila

We have been busy trying to use the Freescale USB library and create a Composite device – HID + MSD for VeraVanti.


We have had many issues with the USB library and the KDS tools (L). We have finally successfully built a Composite device that enumerates both the HID and MSD devices, however, we are getting several other errors that we do not have access to debugging.  We are getting errors as trapped by the USB analyzer – see below.  One is an Operations “Cancelled” and the other one is XACT_ERROR.  see attached pictures USB_Error_*.jpg.


Both the HID and MSD complete the enumeration process, but the MSD device gives an error 0xa – Device Cannot Start.  I have tested this on both your RAM-DISK example and on my custom code (based on your tutorial).  (note that your RAM-Disk example – does not work).


The XACT error : This error is reported to USB device drivers by the Microsoft USB core driver stack via the USB status code USBD_STATUS_XACT_ERROR if the USB EHCI host controller sets the Transaction Error (XactErr) bit in the USB transfer descriptor upon completion of the USB transfer. “


We are using the KHCI version of the USB Stack.  We tried to build the EHCI version, but it does not build.  I am convinced the error is in the USB stack as we cannot trap the error condition and all the descriptors are properly verified by both Windows and by the USB analyzer.


To test the MSD I am using the RAM-Disk example.  Eventually I will swap this out for a Spansion flash chip.


we are using the FRDM-KL26Z Freedom board to prototype.