USB Ethernet/RNDIS Gadget issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux