linux - 使用 LIVE USB 引导通过 USB 进行串行通信

标签 linux boot usbserial fedora-21

该应用程序使用 USB 串行通信,当 PC 从 HDD 启动时工作正常。

我已经创建了工作操作系统的 liveUSB 镜像 (.iso)。 从包含 .iso 镜像的 USB 驱动器启动同一台 PC。

现在,DUT 已连接并且应用程序正在运行,大多数时候报告Garbage on the Line。然而,它确实在一些尝试中起作用,这是非常不一致的。

我不明白从 Live USB 启动与从 HDD 启动有何不同。

仅供引用,PC 有 Fedora Core 22 和 4.0.4 Linux 内核。

串行通信:波特率为 115200,有 1 个停止位。

非常感谢任何帮助。

谢谢,

青年党

编辑

我检查了dmesg,发现了不同之处,

cdc_acm:无法在 Live USB 启动时设置 dtr/rts。在另一种情况下是看不到的。类似于此question在 stackoverflow 上。

另一个观察,当设备连接并且 PC 从 Live U 盘启动时,串行通信工作正常。如果设备的 USB 电缆被拔下并重新插入,它会报告问题。

最佳答案

重新连接 USB 电缆后,您的串行端口号可能会增加,并且您将有一个死的/dev/ttyUSB0 并且可能有一个新的工作/dev/ttyUSBX。当您的应用程序保持打开/dev/ttyUSB0 时,它不会被删除,直到您重新启动您的应用程序。继续阅读旧的 ttyUSB0,你会得到垃圾。 第二个提示是,从实时启动时您可能有一个只读文件系统,因此您无法在/dev 文件夹中创建任何新内容,因此新设备将不会显示。

关于linux - 使用 LIVE USB 引导通过 USB 进行串行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40134503/

相关文章:

android - 为 Froyo 2.2 Droid 添加启动声音

assembly - 多核处理器如何启动?

linux - ESP8266 模块在启动时失败

python - Arduino 串行命令独立工作,但组合时没有任何反应

windows - 用于 Win10 驱动程序签名的 inf2cat

linux - bash for循环中的迭代顺序是否得到保证?

regex - 使用 sed 和正则表达式解析无线调查的 iwlist 命令输出

java - 我想通过一个按钮重启我的 Android 平板电脑

c - Linux SPARSEMEM 内存模型真的很稀疏吗?

linux - 将 linux 分区复制到 U 盘上