0

早上好,

我正在尝试找出在 linux 的串行控制台中输出奇怪字符的原因。

设备:12d1:15c1 华为 me906s 模块在 WWAN 到 USB 适配器中(用于正常操作和切换模式等)

该设备最初与 PID 15c1 和以下 lsusb -v 的输出连接: 12d1:15c1 输出

当设备收到 AT^GODLOAD 的 AT 命令时,它会切换到下载模式,它的 PID 也会更改为 1568。 lsusb -v 的输出如下:

12d1:1568 输出

操作系统:Ubuntu 16.10

速度: stty -F /dev/ttyUSB0 报告的 9600 波特

预期:使用 minicom 或 echo/cat 通过 /dev/ttyUSB0 发送 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 机器上的更新过程。

我实际上有操作、命令等的屏幕截图,但由于限制无法发布。

问题:

- 数据包大小对于发送到模块的串行命令是否重要?- 我们是否缺少某种形式的行尾、回车或终止来正确开始/结束消息?

提前感谢您的帮助

4

0 回答 0