早上好,
我正在尝试解决在Linux中的串行控制台中输出奇怪字符的原因。
设备: 12d1:15c1华为me906s模块在WWAN转USB适配器(正常运行和交换机模式等)
设备最初连接PID 15c1和lsusb -v的输出如下: 12d1:15c1 Output
当设备被发送到AT ^ GODLOAD的AT命令时,它会切换到下载模式,这也会改变它的PID 1568.输出lsusb -v如下:
OS: Ubuntu 16.10
速度: stty -F / dev / ttyUSB0报告的9600波特
预期:通过/ dev / ttyUSB0使用minicom或echo / cat发送AT命令 结果和描述: 当设备处于正常模式(15c1)时,设备ttyUSB0用于发送AT命令,这非常有效,我们可以将芯片设置为下载模式(PID 1568)
启用下载模式后,芯片重新启动并重新连接ttyUSB0,但奇怪的字符显示在minicom中并通过终端使用'cat
两个监视器中的奇怪字符相同,十六进制是: 7e 03 00 06 9e 4c 7e
当我们在下载模式下发送任何AT命令时,除了图中所示的一个AT命令外,字符显示出来。此命令比任何其他命令都要大。
在GODLOAD中不起作用的命令示例:
AT+CMGR?
ATI
- 结果怪异的字符〜[] [] [] [] L~
有效的命令:
AT^SIGNVER=5,0,1234567891011121314151617181920, 8502
我们使用wireshark来捕获Windows机器上的更新过程。
我实际上有操作,命令等的屏幕截图,但由于限制而无法发布。
问题:
- 发送到模块的串行命令的数据包大小是否重要? - 我们是否错过了某种形式的行尾,回车或终止来正确开始/结束消息?
感谢您的提前帮助