0%

[USB] 有接 USB 但在對應軟體中找不到序列埠的原因與解決方法

前言

在 Linux 使用序列埠比較麻煩的是權限的問題,在有接上 USB 且 /dev 目錄下有看到所連接的裝置檔案 (例如:ttyUSB0),若在軟體中還是沒有讀取到的話,通常就是權限設定錯誤的問題。

環境

  • Ubuntu 18.04 LTS

問題原因

先確認目標裝置的權限,可以看到是 660 權限,也就是說非擁有者 (root) 且非群組 (dialout) 成員的其他人,是不能讀取的,這也是為什麼應用程式內讀不到的原因

1
2
3
4
5
user@pc:~$ ls -al /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 十二 4 16:53 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 十二 4 16:53 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 十二 4 16:53 /dev/ttyUSB2
crw-rw---- 1 root dialout 188, 3 十二 4 16:53 /dev/ttyUSB3

加入群組

一般使用者預設是沒有加入 dialout 群組的,因此將自己加入此群組藉此繼承擁有讀取序列埠的權限

1
user@pc:~$ sudo usermod -a -G dialout user  # user 當然就是使用者帳號,依需求更改

再回到應用程式內找尋 Serial Port 應該就能看到囉!

很高興能在這裡幫助到您,歡迎登入 Liker 為我鼓掌 5 次,或者成為我的讚賞公民,鼓勵我繼續創造優質文章。
以最優質的內容回應您的鼓勵