??? 08/20/08 11:57 Read: times |
#157567 - Implementing the USB Enumeration Process... Responding to: ???'s previous message |
a) Which Atmel example do you use?
Can you show the URL to the example? http://www.atmel.com/dyn/resou...-1_0_2.zip Is the pull-up resistor to the USB D+ line (1.5k) is connected to Vref pin of the AT89c5131 at the other end? Yes, the pullup resistor is between Vref and USB D+ line... I think the problem in the enumeration process is resolved, but new one occures... I used printf() functions for monitoring the enumeration process and it was the main problem, because of its delay. Then I used timer2 interrupt for timing. When I removed these parts of code the enumeration passed without any problem on the troubled computer (nForce2). But then for an unknown reason the host aborts the pipe on the same computer with nForce2. No problems on the other computers. I place ZLP to EP1 after set_configuration as you advised me. There is the log from USB monitor: 20.08.2008 12:39:19.625 UP UP PnP: Device Connected 20.08.2008 12:39:19.625 +0.0 DOWN 0x00000000 URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE 20.08.2008 12:39:19.625 +0.0 UP 0x00000000 URB_FUNCTION_CONTROL_TRANSFER 20.08.2008 12:39:19.625 +0.0 DOWN 0x00000000 URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE 20.08.2008 12:39:19.625 +0.0 UP 0x00000000 URB_FUNCTION_CONTROL_TRANSFER 20.08.2008 12:39:19.625 +0.0 DOWN 0x00000000 URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE 20.08.2008 12:39:19.625 +0.0 UP 0x00000000 URB_FUNCTION_CONTROL_TRANSFER 20.08.2008 12:39:19.625 +0.0 DOWN 0x00000000 URB_FUNCTION_SELECT_CONFIGURATION 20.08.2008 12:39:19.656 +0.031 UP UP Internal: Pipe Info Transfer 20.08.2008 12:39:19.656 +0.0 UP 0x00000000 URB_FUNCTION_SELECT_CONFIGURATION 20.08.2008 12:39:19.656 +0.0 DOWN 0x00000000 URB_FUNCTION_CLASS_INTERFACE 20.08.2008 12:39:19.656 +0.0 UP 0x00000000 URB_FUNCTION_CONTROL_TRANSFER 20.08.2008 12:39:19.656 +0.0 DOWN 0x00000000 URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE 20.08.2008 12:39:19.656 +0.0 UP 0x00000000 URB_FUNCTION_CONTROL_TRANSFER 20.08.2008 12:39:19.656 +0.0 UP UP PnP: Query ID 20.08.2008 12:39:19.656 +0.0 UP UP PnP: Query ID 20.08.2008 12:39:19.671 +0.015 DOWN 0x00000000 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER 20.08.2008 12:39:19.671 +0.0 DOWN 0x00000000 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER 20.08.2008 12:39:19.671 +0.0 UP 0x00000000 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER 20.08.2008 12:39:19.671 +0.0 DOWN 0x00000000 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER 20.08.2008 12:39:20.453 +0.781 UP 0xc0000006 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER 20.08.2008 12:39:20.453 +0.0 DOWN 0x00400907 URB_FUNCTION_ABORT_PIPE 20.08.2008 12:39:20.453 +0.0 UP 0xc0010000 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER 20.08.2008 12:39:20.453 +0.0 UP 0x00000000 URB_FUNCTION_ABORT_PIPE 20.08.2008 12:39:21.500 +1.046 UP UP PnP: Device Surprise Removal 12:39:23.046 +1.546 UP UP PnP: Device Disconnected |
Topic | Author | Date |
AT89c5131 enumeration problem... | 01/01/70 00:00 | |
Initialization problem | 01/01/70 00:00 | |
Windows bug | 01/01/70 00:00 | |
continuing problem... | 01/01/70 00:00 | |
End of enumeration | 01/01/70 00:00 | |
Zero-length data packet | 01/01/70 00:00 | |
ZLP to the interrupt IN EP | 01/01/70 00:00 | |
My fault... | 01/01/70 00:00 | |
Which example? | 01/01/70 00:00 | |
Implementing the USB Enumeration Process... | 01/01/70 00:00 | |
Packet size of the interrupt IN EP | 01/01/70 00:00 | |
packet size... | 01/01/70 00:00 | |
Detailed log...![]() | 01/01/70 00:00 |