我有一個帶有串行接口的 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 串行設備支援發生了什麼變化的任何提示,我們將不勝感激。謝謝。