Siriling/5G-Modem-Support

RM500U-CNV的tty识别错误

Opened this issue · 15 comments

从istore安装的此插件,在1.0.0的时候,可以正确识别 RM500U-CNV 的tty(ttyUSB3),但是升级到1.4.0以后就识别错误,变成ttyUSB2,导致命令无法执行。

补充lsusb -tv输出。

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 480M
    ID 1d6b:0002  
    |__ Port 2: Dev 2, If 0, Class=, Driver=usbhid, 1.5M
        ID 1c4f:0002  
    |__ Port 2: Dev 2, If 1, Class=, Driver=usbhid, 1.5M
        ID 1c4f:0002  
    |__ Port 3: Dev 3, If 0, Class=, Driver=cdc_mbim, 480M
        ID 2c7c:0900  
    |__ Port 3: Dev 3, If 1, Class=, Driver=cdc_mbim, 480M
        ID 2c7c:0900  
    |__ Port 3: Dev 3, If 2, Class=, Driver=option, 480M
        ID 2c7c:0900  
    |__ Port 3: Dev 3, If 3, Class=, Driver=option, 480M
        ID 2c7c:0900  
    |__ Port 3: Dev 3, If 4, Class=, Driver=option, 480M
        ID 2c7c:0900  
    |__ Port 3: Dev 3, If 5, Class=, Driver=option, 480M
        ID 2c7c:0900  
    |__ Port 3: Dev 3, If 6, Class=, Driver=option, 480M
        ID 2c7c:0900

RM500U-CNV的模块AT串口是ttyUSB2,还是ttyUSB3?

  • 1.0.0识别AT串口的逻辑:后一个会覆盖前一个
  • 现在的识别AT串口逻辑:只要识别到AT串口后,后面会跳过

这逻辑肯定不行啊,一个模块通常有多个tty,有些是AT端口,有些不是(可能是诊断,qmi端口等等)

这是fibocom的其中一个模式:
image

只有AT这个才是可以执行AT命令的tty

你测试一下使用sms_tool向ttyUSB2发送AT命令是否会有返回内容,可能程序误判了

sms_tool -d /dev/ttyUSB2 at "ATI" 2>&1

你测试一下使用sms_tool向ttyUSB2发送AT命令是否会有返回内容,可能程序误判了

我在1.4.0的界面上测试ATI命令,会显示超时。使用picocom /dev/ttyUSB2连接串口,执行ATI没反应。/dev/ttyUSB3 一切正常。

如果实在难判断,那还是留个列表选择吧,万一以后遇到不在数据库的模块也能自己选择tty(虽然有点风险)。

不要在界面上发,在命令行用sms_tool发

我用picocom /dev/ttyUSB2测试过了,理论上是一样的(甚至用socat或者echo+cat命令都能测试串口)。

还有,我是在RM500U-CNV的mbim模式下测试的。

我原来设置就没打算把USB AT串口存起来,因为太多了,不同厂商不同定义,收集不过来,所以用的自动识别。
而且现在也有手动设置,你可以自己改成对的AT串口。(1.4.2版本,手动配置有问题,近期会修复这个问题)

手动设置是指修改uci配置文件吗?

插件配置界面可以手动设置,当然你也可以通过uci改

已经添加了cnv的支持,你再测试看看

我倒是没有这个模块,是之前远程帮人看问题发行tty识别错误。