Here is additional information. They are using Windows HID driver. When this problem occurs, PC can't get any information from MSP keyboard(PC is normal state. not Hibernate state or sleep state). on MSP side, keyboard interrupt works well, but it can't send it's data to PC via USB. It works well again if they reset MSP by software reset or hardware reset. here is how to reproduce the issue. If host executes following commands, sometimes it fails. They are executing this every 0.1seconds to reproduce this issue. DeviceIoControl(host_handle, IOCTL_USB_GET_ROOT_HUB_NAME, @name, sizeof(name), @name, sizeof(name), bytes_returned, nil); MSP430 will execute following code. uint8_t usbGetConfigurationDescriptor (void) { usbClearOEP0ByteCount(); #ifdef NON_COMPOSITE_MULTIPLE_INTERFACES wBytesRemainingOnIEP0 = usbConfigurationsSizes[activeInterfaceIndex]; usbSendDataPacketOnEP0((uint8_t*)usbConfigurationDescriptors[activeInterfaceIndex]); #else wBytesRemainingOnIEP0 = sizeof(abromConfigurationDescriptorGroup); usbSendDataPacketOnEP0((uint8_t*)&abromConfigurationDescriptorGroup); #endif return (FALSE); } They find out USB connection is disconnected when they executing this part with MSP430. Could you help?
↧