【Quectel移远展锐平台5G模组RX500U/RG200U使用指南(二)-USB/TTL的使用】

USB调试

展锐5G模组的USB接口有3个功能:

  • USB转串口用于AT控制

       USB转串口跟4G模块是一样的,都会虚拟出多个USB串口设备,Windows下是Quectel AT的串口设备,只需要安装原厂提供的USB驱动程序即可,安装成功后,用串口调试工具打开即可与模组进行通讯。

 

 Linux下会有些麻烦,因为在目前的Linux内核中,usbserial模块中,没有添加移远展锐模组的VID和PID,所以无法识别设备,也就枚举不出来ttyUSBx设备,一种方式是按照原厂的移植文档修改内核option.c的源码,更新usbsserial库。

如是是临时手动调试,也可以手动写入模组的VID,PID去加载模组驱动,不过重启设备后还需要重新手动加赞。

首先确保usbserial.ko已经正确加载:lsmod " grep usbserial*

若没有查询到usbserial,执行如下命令以加载usbserial驱动。

输入 sudo /sbin/modprobe usbserial

加载成功后,/sys/bus目录下会出现usb-serial目录。

如果发现usbserial.ko都没有找到,说明你的Linux就没有编译这个驱动,请配置Linux内核并重新编译,此操作需要用户根据自己使用的Linux环境自行编译。

写入模组vid/pid:

sudo echo 2c7c 0900 > /sys/bus/usb-serial/drivers/generic/new_id

如果显示没有权限,可修改new_id文件的权限:

sudo chmod 666 /sys/bus/usb-serial/drivers/generic/new_id

写入vid和pid之后,在/dev下会出现ttyUSB0~3的串口设备,ttyUSB2为模组的AT口,可以直接通过串口工具打开该串口设备进行AT命令操作。

 这时候,驱动就加载成功了。

 以microcom为例

sudo microcom -p /dev/ttyUSB2 -s 115200

 其它的如树莓派等设备都是一样的方法。

  • USB转网卡用于数据传输

        USB网卡分两种,Windows下使用RNDIS驱动,Linux下使用NCM驱动。

        Windows下直接安装原厂驱动程序就可以,Linux默认支持NCM驱动,通过ifconfig可以查看到对应网卡设备。

        这两种模式可以通过AT命令进行切换:

                AT+QCFG="usbnet",3 (RNDIS驱动)

                AT+QCFG=”usbnet",5(NCM驱动)

        配置完成后需要重启模块。

  •  ADB用于调试

         展锐的5G模组支持adb调试,通过adb shell直接进入模组的后台,虽然大部分时候不会用到,但是对于需要从模组中导出日志,或者基于模组进行二次开发的,adb功能还是比较有用的。

         AT+QCFG="usbcfg",0x2c7c,0x0900,1,1,1,1,1,1,1

此命令开启模组的ADB功能,开启后,需要重启模组生效。

 

 adb shell上去后,就进入了模组的后台。

在这里说明一下,模组里面跑的就是一个Linux-Yocto Linux,就是一个嵌入式Linux系统

 如果模组有问题,可以将yocto.log直接pull出来进行分析,当然,大部分时候模组的AP不会出什么问题,主要是出在modem侧,它的log就需要用专门的工具去抓了,后面会讲到。

如果不做二次开发,adb很少能用到,爱折腾的可以玩玩,别乱删东西哈,折腾挂了后果自负,呵呵。

除了这三种使用方式,移远展锐的5G模组还支持USB Host,通过AT命令可以切换

        AT+QCFG="usbmode",host

不过,当切换到host下之后,AT接口可就都没了,想清楚了再设置,除非你有TTL的串口可以切换回来,否则可能就要重新刷固件了。至于host模式能干啥,这个后面会讲到接口的扩展。

  • TTL串口

5G模组已经将TTL接口引了出来,M.2接口的模组是62和64PIN,分别是TTL的TX和RX,默认的波特率为115200,功能默认用于AT命令控制,使用上跟USB串口调试没有区别,而且TTL串口与USB串口可以同时使用,两个互不影响。

TTL的串口AT功能也可以通过AT命令去开关

        AT+QCFG="uartat",1    //打开串口的AT功能

这个对于一些无法使用USB串口的上位机比较有用处,比如STM32系列的MCU,本身不是Linux系统,无法支持USB转串口,可以用TTL串口与5G模块进行通讯,同时,上位机也可以通过AT命令让串口进入透传模式,与4G时期的模组使用方法就一样了,通过AT指令控制可以进行串口数据透传TCP/UDP服务器。

TTL另一个重要的功能是在关闭了串口AT功能,当你能进行二次开发的时候,如果串口AT功能关闭,这个串口将由你来接管,就是/dev/ttyS0,你可以开发自己的程序去操作串口进行数据处理,比如串口数据直接MQTT转发,485设备的Modbus解析及RTU/TCP转发等。

同时,串口的波特率也可以进行配置

        AT+IPR=115200

可以根据上位机的串口配置进行修改。

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kidbird001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值