NUC980 移植移远EC20驱动(GobiUSBNet)

移植过程中,参考的是移远官方的参考手册《Quectel_WCDMA<E_Linux_USB_Driver_User_Guide_V1.8》等。

1、添加 USB 设备信息

先在Linux内核中添加EC20的USB设备信息,对于移远的其他模组型号,在文档中都有了PID和VID。打开Linux源码中的drivers/usb/serial/option.c 文件。在 option_ids 数组中,添加EC20的信息。

NUC980移植移远EC20驱动(GobiUSBNet)

2、添加 ECM 支持程序

EC20支持 ECM 接口,可以通过 ECM 接口轻松联网,如果要使用 ECM 接口的话需要修改 drivers/usb/serial/option.c 文件里面的 option_probe 函数。找到此函数,然后在里面输入以下内容:

NUC980移植移远EC20驱动(GobiUSBNet)

3、配置 Linux 内核

我们需要通过make menuconfig配置 Linux 内核,首先 使能 USBNET 功能 ,路径如下:

-> Device Drivers

-> -*- Network device support

-> USB Network Adapters

-> -*- Multi-purpose USB Networking Framework

接下来我们还需要 使能 USB 串口 GSM、CDMA 驱动 ,配置路径如下:

-> Device Drivers

-> [*] USB support

-> <*> USB Serial Converter support

-> <*> USB driver for GSM and CDMA modems

继续配置 Linux 内核, 使能 USB 的 CDC ACM 模式 ,配置路径如下:

-> Device Drivers

-> [*] USB support

-> <*> Support for Host-side USB

-> <*> USB Modem (CDC ACM) support

再接着添加Gobi 驱动 ,配置路径如下:

-> Device Drivers

-> [*] Network device support

-> -*- USB Network Adapters

-> <*> Gobi USB Net driver for Quectel module

将选择好的配置生成的.config文件放到Linux内核中的arch/arm/configs文件夹下。

4、添加移远官方的 GobiNet 驱动

使用移远为 EC20 提供了 GobiNet 驱动,官方的参考资料《Quectel_WCDMA<E_Linux&Android_GobiNet_Driver_V1.3.0》。将/src 下的所有.c 和.h 文件都拷贝到 Linux 内核中的/driver/net/usb 目录下。

NUC980移植移远EC20驱动(GobiUSBNet)

拷贝完成以后打开 Linux 内核的 drivers/net/usb/Makefile 文件,在此文件末尾加入如下内容:

obj - $(CONFIG_USB_GOBI_NET) += GobiNet . o

GobiNet - objs := GobiUSBNet . o QMIDevice . o QMI . o

最后在 drivers/net/usb/Kconfig 文件中加入下所示内容:

config USB_GOBI_NET

tristate "Gobi USB Net driver for Quectel module"

help

Support Quectelmodule .

A modemmanager with support for GobiNet is recommended .

Tocompile this driver as a module , choose M here : the module will be

calledGobiNet.1

5、编译生成新的内核镜像。

make clean -> make xx(.config文件) -> make uImage,生成新的镜像。

6、quectel-CM 移植。

参考移远官方文件《WCDMA<E_QConnectManager_Linux&Android_V1.1.34.zip》。解压得到quectel-CM 这个文件夹,然后将 quectel-CM 文件夹拷贝到 Ubuntu 中。拷贝完成以后进入到Ubuntu 中的 quectel-CM 文件夹,使用交叉编译,生成可执行文件。将可执行文件放到开发板中执行即可。

NUC980移植移远EC20驱动(GobiUSBNet)