Project: PE based project for USB device. Kinetis PK60DN512VMD10 (silicon 2) microcontroller is a target. USB device operates in full speed mode. USB device communicates to Linux based host. PE component used: USB_DEVICE_STACK from "Freescale USB Stack v4.0.2". USB_DEVICE_STACK is using USB_LDD component. No OS used on device side. Device has its own power, not powered from the host. Device powered all the time, host can be powered on and off during normal operation.
Synopsis of the problem:
If device connected to the host by USB cable first time after power on, it works OK. If device disconnected and connected to the host second time, it doesn't complete enumeration and it doesn't work.
From the communication captured it looks like device doesn't react properly to "USB Bus Reset" event issued by the host. It starts communicating, but it doesn't finish enumeration.
If device is connected to the host during power on (device and host powered simultaneously), device doesn't communicate at all. Device should be disconnected from the host during power on to communicate on first USB cable connection.