6/22/2012

Can I implement usb NIC or use QMI/NDIS interface for linux/android build

Question: Can I use QMI/NDIS interface for linux/android build? Can I make PC to see a network interface card(NIC) when phone connect PC by usb?
Answer:
The current android/LE release kernel has a standard ECM function driver, this can make the phone expose a standard usb ecm interface to PC.
There are existing standard usb ECM host driver for standard ecm on linux/MAC, but no on Windows.
The Windows has its own R-NDIS driver with its special usb ecm standard, it is used on Windows mobile phones.
The QMI/NDIS interface is Qualcomm's usb NIC interface,it is supported on most of Qualcomm's 6K platform and it must work with Qualcomm's usb host driver.
Qualcomm also implement it on android release with a usb function driver in linux kernel. It just routes the usb control and data flow from linux to amss side.
The driver is located at drivers/usb/function/rmnet.c
So you have different choice to implement usb NIC on different PC OS with different host driver:
Standard ECM -- You need a usb host driver for Windows either develop it yourself or find a vendor.
R-NDIS -- You need implement the usb function driver in linux kernel, and need linux/MAC host driver if you want to support these two OS.
QMI/NDIS -- You can use the same host driver as Qualcomm's 6K product, and also need develop linux/MAC host driver.

No comments:

Post a Comment