Drivers Linux USB Ethernet/RNDIS Gadget



USB Ethernet/RNDIS Gadget Remote Network Driver Interface Specification RNDIS is a Microsoft proprietary protocol used mostly on top of USB. How to Install the RNDIS Driver for Ethernet Connectivity over USB Revised 2016-02-25 6.Select Let me pick from a list of device drivers on my computer. In the next Window, highlight the USB Ethernet/RNDIS Gadget driver and click Next.

  • I have an usb to ethernet adapter connected to my linux system. I edited the connection information, and gave manual ip 192.168.1.21 in the connections menu available at the top right. In the above command lines we can see the available connection information on my system.
  • I'm using a similar 'Linux USB Ethernet/RNDIS Gadget' device. On Windows 7/8/10, it is detected and windows installs an Acer RNDIS driver, which does not work and causes the Network and Sharing center to lock up.
  • RNDIS gadget driver module can be inserted using $ insmod gether.ko. You can, alternatively, change the for USB Gadget Drivers to. and this will compile the drivers into the kernel, so you won't have to load the module. You will need to first de-select all child modules under USB Gadget Drivers, then press space bar over USB Gadget.
Drivers Linux USB Ethernet/RNDIS Gadget
< USB Gadget
Gadget
  • 1USB Ethernet support
    • 1.1Kernel support
    • 1.3Configuring the device's networking
      • 1.3.1Ubuntu/Debian

This allows ethernet emulation over USB, allowing for all sorts of nifty things like SSH and NFS in one go plus charging over the same wire, at higher speeds than most Wifi connections.

Kernel support

Mainline kernel

See http://thread.gmane.org/gmane.comp.hardware.netbook.arm.sunxi/19214/focus=19215

(Instructions below were tested on A20 with kernel 4.4.6.)

For Allwinner SoCs based on the sun4i controller (CONFIG_PHY_SUN4I_USB=y), the 'MUSB' (Multipoint Highspeed Dual-Role Controller) driver provides the OTG / gadget functionality. For successful operation, a number of Kconfig options need to be enabled:

Drivers Linux USB Ethernet/RNDIS Gadget

(Substitute 'y' for 'm' where desired, if you do not wish modules to be built and want the drivers compiled-in instead.)

With menuconfig this looks like

Note: You need to select both 'Inventra Highspeed Dual Role Controller' and 'NOP USB Transceiver Driver' before the required 'Allwinner (sunxi)' option (CONFIG_USB_MUSB_SUNXI) becomes available.

You'll probably also want to select

and any desired gadget drivers on top of that.

Drivers

Proceed with compiling and installing your kernel and its corresponding modules (for assistance check our howto).

If you compiled the MUSB driver as module(s), make sure to load those first - before you attempt to use any of the gadget drivers:

Upon successful initialization the kernel will report something similar to:

After that, you should be able to use the USB gadget drivers/modules (g_ether, g_mass_storage, ...) as described below.

sunxi-3.4

Currently, the g_ether module is not compiled as part of our kernel configuration.

To enable this, follow the kernel building information of our manual build howto. But then after making defconfig, either run:

Then trawl down the options and set the 'Ethernet Gadget' to 'm':

Drivers Linux USB Ethernet/RNDIS Gadget

Or just run:

You can now continue following our manual build howto to continue kernel compilation and installation.

Note that for sun4i devices (A10), you also need to enable SoftWinner SUNXI USB peripheral controller in order to enable high-speed operation for gadget- otherwise it will be limited to full-speed only.

Loading the driver (on the device)

We should now be able to run:

successfully. We can then make this module autoload by adding it to /etc/modules.

Rndis Ethernet Driver

Now, so that g_ether doesn't randomly generate a new id every reboot, stick the following in /etc/modprobe.d/g_ether.conf:

g_ether should've just generated a pair of addresses for you, so replace 00:11:22:33:44:55 with the outcome of:

We can also use dev_addr option to set device MAC address.

Configuring the device's networking

Ubuntu/Debian

Without network manager

Drivers Linux Usb Ethernet/rndis Gadgett Driver

Stop networkmanager:

To prevent network-manager from starting, run:

Linux Usb Ethernet Rndis Gadget Driver Windows 10

Now add the following to /etc/network/interfaces:

To manually activate the interface and set an IP (NOTE: if configured with ip from iproute2 it will not work):

Setting up the host

You can convince networkmanager to connect automatically to a specific MAC address, and then you need to hardcode the address to 192.168.0.1 for this connection.

If all goes well, you should now be able to just plug in the USB cable.

See also

Experiments with USB ethernet and H3 @ Armbian forums:

Drivers Linux Usb Ethernet/rndis Gadgett Drivers

Retrieved from 'http://linux-sunxi.org/index.php?title=USB_Gadget/Ethernet&oldid=18885'