赞
踩
目录
4.4 增加批量输出 批量输出 URB 的数量和容量 的数量和容量
嵌入式平台RK3588, 操作系统Ubuntu20.04
1、quectel-CM拨号工具及源码
2、usb-serial-option内核要修改的文件
3、linux开发板
4、linux内核源码
5、busybox的源码
《Quectel_RG200U-CN&Rx500U-CN_Linux_USB驱动_用户指导_V1.2》
《Quectel_RG200U-CN&Rx500U-CN_网卡拨号应用指导_V1.1》
《Quectel_RG200U&Rx500U系列_AT命令手册_V1.0》
文档给出的RM500U-CN的VID和PID如下:
需要注意的是一种模块可能有多种型号,之前就遇到EC20模块的PID对不上,需要从用户手册上获取,没有文档的情况下可通过命令lsusb获取:
VID和PID确认无误后根据文档往[KERNEL]/drivers/usb/serial/option.c文档增加对应的ID
根据USB协议的要求,在大容量传输时需要添加处理零包的机制, 添 加 如 下 语 句 至 文 件
[KERNEL]/drivers/usb/serial/usb_wwan.c。
当 MCU 进入挂起或睡眠模式时,某些 USB 主机控制器或 USB 集线器可能会断电或复位,且 MCU 退出挂起或睡眠模式后无法自动恢复 USB 设备。请添加以下语句以使能复位恢复流程。添加如下语句至文件[KERNEL]/drivers/usb/serial/option.c
处理如下:
对于 Linux 内核 2.6.29 及以下版本,需增加批量输出 URB 的数量和容量以获取更快的上行速率。请添加如下语句至文件[KERNEL]/drivers/usb/serial/option.c。
处理如下:
到这里,内核的源码配置就完成了,接下来配置内核的编译选项,以支持USB设备。
make menuconfig
[*] Device Drivers →
[*] USB Support →
[*] USB Serial Converter support →
[*] USB driver for GSM and CDMA modems
最后编译内核即可。
加载后可以可以查看模组的信息:
执行命令:lsusb
设备可以识别出多个USB设备:
切换到quectel-cm目录下,执行sudo quectel-CM &
udhcpc完成网卡的识别与配置,并完成DNS的重配置,如下图所示:
查看到网卡获得ip地址,ping www.baidu.com正常
1、使用5G卡测试的时候,拨号总是失败,使用AT+CSQ测试的时候返回值是99,99,AT+CGREG?命令测试返回值是0,0。应该是没有注册上网络,解决办法:
依次输入
at+qeng=“servingcell”
AT+QNWPREFCFG= “nr5g_band”,0
at+qeng=“servingcell”
此时再次拨号,便能成功,该命令是否通用未知,对这方面不懂
AT测试指令在哪里输入?
sudo busybox microcom /dev/ttyUSB2 然后输入AT指令即可得到返回值
2、如果uducpc无法配置ip地址到网卡
需要将udhcpc的默认运行脚本拷贝到,/usr/share/udhcpc / /etc/udhcpc/两个目录下,
通过查看quectel-CM/log/ecm_ncm_rndis.txt +79 ,可以看到使用的/etc/udhcpc/default.script,如下图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。