我有一个带串行接口的 USB 设备。它在 18.04(和 Windows)上运行良好,但当我升级到 20.04 时,有些东西会干扰通信。
当我插入设备时,它显示为 /dev/ttyACM1 或 /dev/ttyACM0,这正是我所期望的。
当我查看 /var/log/syslog 时,我看到了以下内容:
Jun 10 11:58:39 andy-HP-ZBook-15u-G3 wpa_supplicant[864]: wlp2s0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-58 noise=9999 txrate=200000
Jun 10 11:58:39 andy-HP-ZBook-15u-G3 kernel: [ 309.817011] usb 1-2: new full-speed USB device number 7 using xhci_hcd
Jun 10 11:58:40 andy-HP-ZBook-15u-G3 kernel: [ 309.967174] usb 1-2: New USB device found, idVendor=2988, idProduct=0302, bcdDevice= 2.00
Jun 10 11:58:40 andy-HP-ZBook-15u-G3 kernel: [ 309.967178] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun 10 11:58:40 andy-HP-ZBook-15u-G3 kernel: [ 309.967180] usb 1-2: Product: 3DSystems Virtual Serial Port
Jun 10 11:58:40 andy-HP-ZBook-15u-G3 kernel: [ 309.967181] usb 1-2: Manufacturer: 3D Systems
Jun 10 11:58:40 andy-HP-ZBook-15u-G3 kernel: [ 309.967183] usb 1-2: SerialNumber: 00000000050C
Jun 10 11:58:40 andy-HP-ZBook-15u-G3 kernel: [ 309.968766] cdc_acm 1-2:1.0: ttyACM0: USB ACM device
我觉得这没问题。
但是当我尝试与设备通信时,它不起作用。设备的通信协议是命令/响应结构,所以我还不能确定是我的命令没有到达设备,还是响应没有到达我的代码。(或两者兼而有之),但我知道如果我发送命令,我不会得到任何响应。
更新 :我将硬件连接到调试器,发现传出数据已通过。当我从应用程序向硬件发送命令时,硬件确实收到了命令。问题是,当我的硬件回复时,我的应用程序没有收到任何数据。
(如果发送了虚假命令,也可能会导致设备陷入意外状态。)
我尝试过的事情:
- 权限:为了确保万无一失,我已将设备的权限设置为 777
- ModemManager :我已删除此包
- mtp_probe:我不知道如何禁用此功能,所以我暂时删除了二进制文件。
如果您能提供任何有关从 18.04 到 20.04 的串行设备支持方面的变化的提示,我们将不胜感激。谢谢。