全志BingPi-M2(T113-S3)采用EC800K-CN4G模块利用RNDIS上网
一:安装option驱动
将4G模块插到板子上,执行ls /dev/ttyUSB* 看是否有相应的设备,如果有,则可以跳过此步骤,若没有则需要安装option驱动,参照2_Quectel_UMTS_LTE_5G_Linux_USB_Driver_用户指导_V1.1文档以及板子的SDK文档,教程如下:
1.为了识别模块,需将模块的 VID 和 PID 信息添加到[KERNEL]/drivers/usb/serial/option.c 文件中
查找EC800K-CN的VID和PID
0x2C7C和0x6002
找到option.c文件,在对应位置插入VID和PID:如图
2.使用 USBNet 驱动
高于 2.6.30 的 Linux 内核版本,用户可以在[KERNEL]/drivers/usb/serial/option.c 的option_probe (函数中)中添加以下语句
3.添加零包机制
高于 2.6.34 的 Linux 内核版本,需在[KERNEL]/drivers/usb/serial/usb_wwan.c 文件中添加以下语句
4.添加 Reset-resume 机制
部分 USB 主机控制器或 USB hub 在 MCU 进入 Suspend/Sleep(挂起/睡眠)模式时会发生掉电或复位,并且在 MCU 退出 Suspend/Sleep 模式后不能使模块恢复。需要通过添加以下语句来启用 reset-resume机制。 高于 3.4 的 Linux 内核版本,需在[KERNEL]/drivers/usb/serial/option.c 文件中添加以下语句。
5.修改内核配置,如下:
进入/home/meetyoo/t113/Tina-Linux目录下,make kernel_menucofig,依次启用如下配置:
CONFIG_USB_SERIAL CONFIG_USB_SERIAL_WWAN CONFIG_USB_SERIAL_OPTION
在kernel_menuconfig界面 按"/"键进入查找模式,依次查找,按"1"键快速进入相应配置项菜单下并按"y"键启用
至此,option驱动已经配置完毕,保存退出kernel_menuconfig即可。
二:配置RNDIS驱动
由于RNDIS驱动文件在内核当中有,我们只需要修改内核配置即可。
依次配置CONFIG_USB_NET_DRIVERS CONFIG_USB_USBNET CONFIG_USB_NET_RNDIS_HOST
还是按照配置option驱动的那种方法依次配置即可。至此RNDIS驱动已经配置完毕。保存配置选项,退出。
三:烧写开发板
参照开发板上手教程,在/home/meetyoo/t113/Tina-Linux 执行make mboot 和 pack 命令 将会在/home/meetyoo/t113/Tina-Linux/out/t113-bingpi_m2目录下生成tina_t113-bingpi_m2_uart3.img文件
利用烧写工具进行烧写
以上步骤均在宿主机上执行~
四:检测激活模块RNDIS模式
以下步骤均在开发板上执行,开发板烧写完毕后
1.执行 ls /sys/bus/usb/drivers 命令 ,看是否将rndis和option驱动全部烧写进去
如上图,说明已经加载了option和rndis驱动
2.插入4g模块,注意4g模块上面要插入天线和SIM卡!
执行 ls /dev/ttyUSB* 以此来检测看是否能够识别4g模块
如图:说明已经能够检测并识别到模块
3.将模块配置成RNDIS模式
参照EC800K-CN手册,usb0是网卡设备,ttyUSB1和ttyUSB2 是用来接收AT指令的串口
依次执行以下命令
cat /dev/ttyUSB2 & 打开串口回显
echo “AT+QCFG=“usbnet”,3” > /dev/ttyUSB2 按照手册将模块设置为RNDIS模式
ifconfig -a
可以看到已经识别出来usb0 网卡设备了,说明RNDIS驱动没有问题
五:进行上网
ifconfig eth0 down 将开发板内置网卡eth0 禁用
echo "AT+QNETDEVCTL=1,1,1" > /dev/ttyUSB2 识别出usb0网卡设备后,先发AT命令拨号
依次执行
ip link set usb0 up
ifconfig usb0 192.168.43.100 netmask 255.255.255.0
ip route add default via 192.168.43.1 dev usb0
至此,上网成功!
六:建议
可以先将4g模块插入到PC机上,在windows下按照教程先利用ppp拨号看看是否能上网,来排除4g模块的问题!
ppp拨号教程:WIN7 通过4G模块 拨号上网过程_模块拨号流程-优快云博客
先在windows上插上模块,看看设给管理器是否能识别模块,如果识别不了的话,到官方下载相应的驱动! Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip