利用EC800K-CN4g模块进行实现RNDIS上网

全志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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值