RK3568 USB串口发送AT指令,网口eth1进行数据通信。
1、内核配置
usb串口配置
ECM 驱动配置
进入
Device Drivers –> Network device support -> USB Network Adapters 菜单后选择
Multi-purpose USB Networking Framework:
如果是 ECM 模式,选择:
CDC Ethernet support
(
smart devices such as cable modems
)
如果是 NCM 模式,选择:
CDC Ethernet support
(
smart devices such as cable modems
)
CDC NCM Support
如果是 RNDIS 模式,选择:
Host for RNDIS and ActiveSync devices
可以把所有选项都选中,支持所有模式。
2、驱动修改,增加设备支持
打开内核源码文件 option.c(路径一般为 drivers/usb/serial/option.c)。在源码中找到 option_ids 数组,在数组中添加 FM650 的 PID/VID。
注意 ECM/NCM/RNDIS 等不同模式下的 PID 是不一样的。需要根据模组的模式添加相应的PID/VID,也可以把 FG650 支持的所有模式 ID 都添加上去。


代码修改


3、设备树gmac1节点修改

4、5G模块上电时序控制

查看原理图对应引脚配置,VCC硬件默认拉高,只需要处理下面三个。

设备树中增加这三个引脚的GPIO配置,编写shell脚本,拉高对应引脚。(如果usb串口驱动编译为为ko,需要先加载驱动再执行上电脚本)

上电时序必须正确,不然无法探测到ttyUSB信息。
5、查看usb信息
等待5G模块初始化完成(大约20s)
使用lsusb命令查看:发现5G模块

在/dev下查看存在ttyusb相关节点
idproduct=0a05对应NCM模式。

NCM驱动加载成功会出现usb网络节点
ifconfig查看多出一个网络节点enxd2629ccb3687(以MAC地址命名)。

6、拨号上网
拨号模式简介
ECM(Ethernet Networking Control Model 以太网控制模型)用于在设备和主机之间传输以太网数据包。在操作系统看来,CDC ECM 设备就是一个虚拟以太网卡,包含标准网卡需要的 MAC 地址和 IP 地址。 CDC ECM 设备通常是一个以太网卡,用于连接 LAN 或者是 WLAN。当客户主机发起 ECM 拨号的请求时,FG650 相当于一个路由器,模块内部会调用相应的服务实现 WWAN 拨号。在拨号成功后,模块内部会启动 DHCP server 等功能。客户端应用系统通过 DHCP client 服务,获取模块 DHCP server 分配的 IP。客户 主机调用 DHCP 等脚本实现把模块从网络侧获取到的 IP 和 DNS 配置到本机,实现上网。
NCM(Network Control Model)是 ECM 协议的改进版。将多个以太网包组成一个 NTB 包在 USB 总线上传输,提高了带宽利用率。
RNDIS(Remote Network Driver Interface Specification), 既是远程网络驱动接口规范, 基于 USB 实 现 RNDIS 实际上就是 TCP/IP over USB,就是在 USB 设备上跑 TCP/IP,让 USB 设备看上去像一块网卡。
拨号上网步骤。
开启两个终端,一个监听ttyUSB0数据,一个发送AT指令



网络APN接入点参考:


拨号成功后,动态获取IP地址:

ping通百度
