# UsbNet
Net Interface Type can be configured with AT cmds.
AT+QCFG="usbnet"
| Net Interface Type | LinuDriver | Dialup Way | Physical |
rmnet/qmi/ndis
at+qcfg="usbnet",0
| qmi_wwan&cdc_wdm
CONFIG_USB_NET_QMI_WWAN
KernelVersion >= 3.4 |
GobiNet
| libqmi(Ubuntu)
uqmi(openWRT)
quectel-CM(recommended way)
AT$QCRMCALL=1,1
| IP Frame |
ECM
a+qcfg="usbnet",1
automotive OpenLinux
| CONFIG_USB_NET_CDCETHER | autoconnect | Ethernet Frame |
mbim
at+qcfg="usbnet",2
Win10 Notebooks,EM/E Serials
| CONFIG_USB_NET_CDC_MBIM
KernelVersion >= 3.9
| mbim protocol
libmbim(Ubuntu)
quectel-CM | MBIM Frame |
rndis
at+qcfg="usbnet",3
| CONFIG_USB_NET_RNDIS_HOST | autoconnect | Ethernet Frame |
Other Net type such as NCM/ACM interface works much same with ECM/RNDIS.
obj-$(CONFIG_USB_NET_CDC_NCM) += cdc_ncm.o
----------
# RMNET
## QMI
There exsits qmi driver in the Linux Kernel from version 3.4.
[qmi_wwan.c](https://elixir.bootlin.com/linux/v4.14.181/source/drivers/net/usb/qmi_wwan.c)
It can be used on Quectel LTE modules.
However, Quectel IP Multiplexing and IP Aggregation is not supported on that driver.
QMI will match interface 4 with itself.

## GobiNet
You can choose between GobiNet and qmi_wwan (qmi_wwan_q). The GobiNet driver will pull DTR when the driver is loaded.
If you want to dial with the AT instruction, you need to set the qcrmcall_mode in the driver to 1.
If you need to dial with the AT instruction, modify the qcrmcall_mode in the GobiNet source code to 1.
AT instruction dialing does not support QMAP. If the driver turns on the QMAP function, the module cannot use AT command dialing.