Hi, (please break your lines at 80-columns) Gil Weber <gil.weber@xxxxxxxxxxxxxxxxxxxxxxxxx> writes: > I am experiencing some issues related USB Ethernet gadget with RNDIS > on Kernel 4.4. > > On first connection everything seems OK, the device is correctly > detected on my Windows 7 host. > > If I unplug/replug the USB cable, the device is detected again but not > working anymore, Windows status is "This device cannot start. (Code > 10)". > > Everything was working with Kernel 3.12. from your logs below, it seems like you're using atmel_usba_udc.c, right? That driver was merged during v3.17 merge window, how come it was working for you on v3.12 ? Can you try v3.17, when that driver was merged ? > Here is the trace log when it is first detected : > > <6>[ 126.437000] g_ether gadget: high-speed config #2: RNDIS > <7>[ 126.437000] rndis_set_alt:565: g_ether gadget: init rndis > <7>[ 126.437000] rndis_set_alt:593: g_ether gadget: RNDIS RX/TX early activation ... > <7>[ 126.437000] rndis_open:638: g_ether gadget: rndis_open > <7>[ 126.437000] rndis_set_param_medium:981: rndis_set_param_medium: 0 4259840 > <7>[ 126.437000] rndis_set_param_dev:951: rndis_set_param_dev: > <7>[ 126.438000] rndis_setup:525: g_ether gadget: rndis req21.00 v0000 i0000 l24 > <7>[ 126.439000] rndis_msg_parser:810: rndis_msg_parser: RNDIS_MSG_INIT > <7>[ 126.443000] rndis_setup:525: g_ether gadget: rndis reqa1.01 v0000 i0000 l4096 > <7>[ 126.443000] rndis_setup:525: g_ether gadget: rndis req21.00 v0000 i0000 l28 > <7>[ 126.443000] gen_ndis_query_resp:214: gen_ndis_query_resp: RNDIS_OID_GEN_SUPPORTED_LIST > <7>[ 126.447000] rndis_setup:525: g_ether gadget: rndis reqa1.01 v0000 i0000 l4096 > <7>[ 126.447000] rndis_setup:525: g_ether gadget: rndis req21.00 v0000 i0000 l32 > <7>[ 126.447000] gen_ndis_query_resp:308: gen_ndis_query_resp: RNDIS_OID_GEN_VENDOR_DRIVER_VERSION > <7>[ 126.451000] rndis_setup:525: g_ether gadget: rndis reqa1.01 v0000 i0000 l4096 > <7>[ 126.451000] rndis_setup:525: g_ether gadget: rndis req21.00 v0000 i0000 l32 > <7>[ 126.451000] gen_ndis_query_resp:252: gen_ndis_query_resp: RNDIS_OID_GEN_MAXIMUM_FRAME_SIZE > <7>[ 126.455000] rndis_setup:525: g_ether gadget: rndis reqa1.01 v0000 i0000 l4096 > <7>[ 126.455000] rndis_setup:525: g_ether gadget: rndis req21.00 v0000 i0000 l32 > <7>[ 126.455000] gen_ndis_query_resp:252: gen_ndis_query_resp: RNDIS_OID_GEN_MAXIMUM_FRAME_SIZE > <7>[ 126.459000] rndis_setup:525: g_ether gadget: rndis reqa1.01 v0000 i0000 l4096 > <7>[ 126.459000] rndis_setup:525: g_ether gadget: rndis req21.00 v0000 i0000 l32 > <7>[ 126.459000] gen_ndis_query_resp:439: gen_ndis_query_resp: RNDIS_OID_802_3_MAXIMUM_LIST_SIZE > <7>[ 126.463000] rndis_setup:525: g_ether gadget: rndis reqa1.01 v0000 i0000 l4096 > <7>[ 126.463000] rndis_setup:525: g_ether gadget: rndis req21.00 v0000 i0000 l34 > <7>[ 126.463000] gen_ndis_query_resp:421: gen_ndis_query_resp: RNDIS_OID_802_3_CURRENT_ADDRESS > <7>[ 126.467000] rndis_setup:525: g_ether gadget: rndis reqa1.01 v0000 i0000 l4096 > <7>[ 126.467000] rndis_setup:525: g_ether gadget: rndis req21.00 v0000 i0000 l34 > <7>[ 126.467000] gen_ndis_query_resp:411: gen_ndis_query_resp: RNDIS_OID_802_3_PERMANENT_ADDRESS > <7>[ 126.471000] rndis_setup:525: g_ether gadget: rndis reqa1.01 v0000 i0000 l4096 > > And here is the trace log when I unplug/plug the cable: > > <7>[ 275.026000] composite_suspend:2122: g_ether gadget: suspend > <7>[ 275.141000] composite_suspend:2122: g_ether gadget: suspend > ... what happened during these almost 5 seconds ?? You shouldn't trim log like that, there might be important information ;-) > <7>[ 279.756000] composite_suspend:2122: g_ether gadget: suspend > <7>[ 279.871000] reset_config:626: g_ether gadget: reset config > <7>[ 279.871000] rndis_disable:616: g_ether gadget: rndis deactivated > <6>[ 279.995000] g_ether gadget: high-speed config #2: RNDIS > <7>[ 279.995000] usba_ep_disable:655: udc: ep_disable: ep3 not enabled > <7>[ 279.995000] rndis_set_alt:560: g_ether gadget: reset rndis > <7>[ 279.995000] usba_ep_disable:655: udc: ep_disable: ep1 not enabled > <7>[ 279.995000] usba_ep_disable:655: udc: ep_disable: ep2 not enabled > <7>[ 279.995000] rndis_set_alt:565: g_ether gadget: init rndis > <7>[ 279.995000] rndis_set_alt:593: g_ether gadget: RNDIS RX/TX early activation ... > <7>[ 279.995000] rndis_open:638: g_ether gadget: rndis_open > <7>[ 279.995000] rndis_set_param_medium:981: rndis_set_param_medium: 0 4259840 > <7>[ 279.995000] rndis_set_param_dev:951: rndis_set_param_dev: > <7>[ 279.996000] rndis_setup:525: g_ether gadget: rndis req21.00 v0000 i0000 l24 > <7>[ 279.996000] rndis_msg_parser:810: rndis_msg_parser: RNDIS_MSG_INIT > <7>[ 280.011000] rndis_setup:525: g_ether gadget: rndis req21.00 v0000 i0000 l24 > <7>[ 280.011000] rndis_msg_parser:810: rndis_msg_parser: RNDIS_MSG_INIT > > Does some body have an idea of what is going on? Is this a regression > in the latest version of the Kernel? > > My configuration is and arm target (Atmel AT91) with Atmel USBA UDC > but my guess is that it is more a RNDIS issue than USB driver issue. unlikely. RNDIS works fine at least on dwc3 and MUSB (though I haven't tested against windows for a few months) > I cannot say from which version it is not working anymore as the > previous version I used was 3.12. and that was an atmel provided kernel ? Are you, now, using an atmel provided kernel or actual mainline ? Does it work against a Linux host ? -- balbi
Attachment:
signature.asc
Description: PGP signature