Hi, >> Thanks a lot. i understand this part now. Do you notice the Set >> Address request is not seen by the gadget driver? The Set Address >> request is handled by the hardware. Could it be the root cause? As >> gadget driver may expect the address information from the host, and >> for now UDC driver just ignore the Set Address request ? > > That may very well be related to the problem. Gadget drivers expect > UDC drivers or UDC hardware to handle Set-Address requests > automatically. If your UDC or driver doesn't handle them, it could > cause a test to fail. The hardware handles Set Address request, and i can see the address of the USB gadget being shown in Windows host. Here i attach the gadget driver log for the "Device Descriptor Test - Addressed State". The test just failed after Get Configuration request. Another question, in ep0_complete(): if (req->status == 0 && req->context) ((fsg_routine_t) (req->context))(fsg); Is req->context pointing to a function in UDC driver? Thanks, victor
# dmesg g_file_storage gadget: ep0-setup, length 8: 00000000: 80 06 00 01 00 00 12 00 g_file_storage gadget: get device descriptor ept0 in queue len 0x12, buffer 0xc1289800 ep0_complete g_file_storage gadget: ep0-in, length 18: 00000000: 12 01 00 02 00 00 00 40 25 05 a5 a4 33 03 01 02 00000010: 00 01 g_file_storage gadget: ep0-setup, length 8: 00000000: 80 06 00 06 00 00 0a 00 g_file_storage gadget: get device qualifier ept0 in queue len 0xa, buffer 0xc1289800 ep0_complete g_file_storage gadget: ep0-in, length 10: 00000000: 0a 06 00 02 00 00 00 40 01 00 g_file_storage gadget: ep0-setup, length 8: 00000000: 80 06 00 02 00 00 09 00 g_file_storage gadget: get configuration descriptor ept0 in queue len 0x9, buffer 0xc1289800 ep0_complete g_file_storage gadget: ep0-in, length 9: 00000000: 09 02 20 00 01 01 04 c0 01 g_file_storage gadget: ep0-setup, length 8: 00000000: 80 08 00 00 00 00 01 00 g_file_storage gadget: get configuration ept0 in queue len 0x1, buffer 0xc1289800 ep0_complete g_file_storage gadget: ep0-in, length 1: 00000000: 01 g_file_storage gadget: ep0-setup, length 8: 00000000: 80 08 00 00 00 00 01 00 g_file_storage gadget: get configuration ept0 in queue len 0x1, buffer 0xc1289800 ep0_complete g_file_storage gadget: ep0-in, length 1: 00000000: 01 #