最近在下整理一些電子零件
發現一些微控制器開發板全部不能被 Arduino IDE 偵測,但電腦系統卻能辨識到
這些微控制器開發板過去都能夠使用,表面上亦沒有損壞,因此在下嘗試了解情況及解決問題
預覽
發現一些微控制器開發板全部不能被 Arduino IDE 偵測,但電腦系統卻能辨識到
這些微控制器開發板過去都能夠使用,表面上亦沒有損壞,因此在下嘗試了解情況及解決問題
在下將 Arduino UNO Rev3 兼容板 及 Arduino Nano 兼容板 經 USB 接駁到 電腦系統,都無法在 Arduino IDE 偵測
但在下到 Terminal 輸入:
但在下到 Terminal 輸入:
lsusb卻能夠顯示
Bus 001 Device 015: ID 1a86:7523 QinHeng Electronics CH340 serial converter證明 Arduino UNO Rev3 兼容板 及 Arduino Nano 兼容板 能夠正常運作
在下將 Arduino UNO Rev 3 原裝板 經 USB 接駁到 電腦系統,則能夠被 Arduino IDE 偵測
亦能上載 Sketch ,運作正常
亦能上載 Sketch ,運作正常
在下再嘗試檢查 /dev 的 tty 檔案,在 Terminal 輸入:
因此在網上尋找問題成因
ls -l /dev/tty*發現 Arduino UNO Rev 3 原裝板 能顯示 /dev/ttyACM* ,但 Arduino兼容板 使用 CH340晶片 卻不能顯示 /dev/ttyUSB*
因此在網上尋找問題成因
發現網上都有其他使用者有相同情況,最後發現因為 brltty 佔用了 /dev/ttyUSB*
由於 Arduino兼容板 同樣是 /dev/ttyUSB* 的裝置,導致連接 Arduino兼容板 時無法建立 /dev/ttyUSB*
因此將 brltty 移除
由於 Arduino兼容板 同樣是 /dev/ttyUSB* 的裝置,導致連接 Arduino兼容板 時無法建立 /dev/ttyUSB*
因此將 brltty 移除
sudo apt purge --purge brltty再重新開機後, Arduino IDE 終於能夠偵測到 Arduino兼容板
總結
brltty 其實是讓 Terminal 或 tty 模式能夠將文字內容
讓電腦系統連接 USB點字顯示器 時,將一般文字轉換成點字文字的 常駐程式 (Daemon)
如果閣下不是視障人士,移除 brltty 並不會影響操作
讓電腦系統連接 USB點字顯示器 時,將一般文字轉換成點字文字的 常駐程式 (Daemon)
如果閣下不是視障人士,移除 brltty 並不會影響操作
但如果果閣下是視障人士,移除 brltty 會導會點字顯示器失效,影響操作體驗
可以修改 /usr/lib/udev/rules.d/85-brltty.rules 來迴避與 CH340晶片 衝突的問題
由於 CH340晶片 的 ID 是 1a86:7523 ,開啟 85-brltty.rules 後,尋找 1a86:7523
再將 規則 移除或註解(不執行規則),再在 Terminal 輸入
可以修改 /usr/lib/udev/rules.d/85-brltty.rules 來迴避與 CH340晶片 衝突的問題
由於 CH340晶片 的 ID 是 1a86:7523 ,開啟 85-brltty.rules 後,尋找 1a86:7523
再將 規則 移除或註解(不執行規則),再在 Terminal 輸入
sudo udevadm control --reload-rules便可以避免與 brltty 有衝突,但仍然有機會因為點字顯示器使用 CH340晶片 而無法使用
但以上方法都只是二選一的結果,如果要兩者同時存在及使用,可以將 85-brltty.rules 的 選取描述再只仔細一點
例如增加 ATTRS{serial} 限制指定的序列編號為 點字顯示器
可以讓其他使用相同 晶片 的裝置都能同時使用
例如增加 ATTRS{serial} 限制指定的序列編號為 點字顯示器
可以讓其他使用相同 晶片 的裝置都能同時使用
沒有留言 :
張貼留言