Hi,
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.

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
...
<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.
I cannot say from which version it is not working anymore as the previous 
version I used was 3.12.

Thanks,
Gil Weber
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to