AnsweredAssumed Answered

Problem with usb bulk mode

Question asked by Antoine T on Dec 3, 2015
Latest reply on Dec 16, 2015 by isaacavila



On the FRDM-k64F, I'm having trouble with the USB connection.


The idea of my project is to use the FRDM as a simple device (without any class driver configured, MQX standard is the OS) and communicate with host via bulk mode.

I used Processor Expert to start the project and the beginning seemed ok : endpoint 0 is working correctly and vendor class commands are fonctionnal.


Here is the descritpion of the device seen by host (via /proc/bus/usb/devices command)


T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12   MxCh= 0

D:  Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=00 MxPS=64 #Cfgs=  1

P:  Vendor=0c52 ProdID=9474 Rev= 1.00

S:  Manufacturer=Freescale Processor Expert

S:  Product=Processor Expert USB Device component

S:  SerialNumber=123456789ABCDEF

C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA

I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms


However, I failed to communicate with endpoint 1 or 2.

I have tested my bulkRead() and bulkWrite() functions with another device and everything was fine on this side.

I tried to debug the code on the device but I saw no interruptions when the read/write is done on the host. It's like they didn't exist.

Here is the sequence I used thanks to the generated code by Processor Expert :


usb_device_init(USB_CONTROLLER_KHCI_0, usb_board_init, &usb_handle);

usb_device_postinit(USB_CONTROLLER_KHCI_0, usb_handle);


usb_device_register_desc_request_notify(usb_handle, &usbDsc1_desc_callback, NULL);





The status of the device_init_endpoint is ok. What am I missing to complete communication with endpoint 1 ?


Thanks in advance for the help!




PS : my environnement is KDS 3.0.0 / Ubuntu