Hi, We make a custom board work the same as MCB2300 and try to run the USBHID example for LPC 2364 chip. I cannot read the endpoint 1 from libusb command usb_interrupt_read(device, 0x81, buffer, sizeof(buffer), 500). I can make another endpoint 2 and can write to the endpoint 2 OK but I cannot read any endpoint. It gives me a timeout error with error code -110.
Can anyone show me how to fix it?
Hi Tsuneo,
I have a question about the reset button. When I hit the reset button:
For NXP LPC23XX USB Bootloader example, I can see the usb reset message on the linux kernel log and have usb back.
For USBHID keil example, I don't see any message on linux kernel log and the usb never come back until I power off the board and turn on the power again to get the usb.
I check the files and see they have the same usbhw.c and usbcore.c, most of other files are the same except one use hid and another use msc.
> For NXP LPC23XX USB Bootloader example, I can see the usb reset message on the linux kernel log and have usb back. ... I check the files and see they have the same usbhw.c and usbcore.c, most of other files are the same except one use hid and another use msc.
Sound like the difference of the length of start up initialization of the firmware. When the reset button is pushed down longer, for 2-3 sec, what occurs ?
1) When the LPC23XX goes to reset, port pins turn to input. 2) The D+ pull-up resistor on the USB line, which is controlled by CONNECT pin, is detached. 3) Host PC (or hub) detects USB disconnection by the voltage change on D+ line, which is pulled down on the host side. 4) The firmware on the LPC23XX starts initialization 5) When the firmware initializes USB engine, it enables D+ pull-up, too. 6) Host detects connection by the D+ line voltage change. 7) Host starts enumeration again, which start with bus reset.
If the length of disconnected period is too short, host misses to detect the disconnection.
Tsuneo