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
# 

Reply via email to