如何重新創建已刪除的 /dev/ttyUSB## 設備?
背景
看來我只知道足夠多的 linux 讓自己陷入困境。
我正在開發兩個都執行 linux 的嵌入式系統(兩種不同的模型)。我一直在對調製解調器支持程式碼進行故障排除,該程式碼與兩者中較新的一個一起使用。我停止了程式碼並嘗試手動載入usbserial驅動程序。在較新的設備上,當我載入 usbserial 驅動程序時,四個設備出現在*/dev/ttyUSB#*中。
我做了什麼
我注意到舊設備上實際上一直列出了 16 個*ttyUSB##*設備。他們永遠不會消失。我正在猜測
$$ now $$這是因為舊核心的工作方式不同或其他原因。不幸的是,我繼續刪除了所有 16 個ttyUSB## devices。現在他們走了,再也不會回來了。我不知道如何創建字元設備。我能做些什麼來取回這些設備?
核心版本:
uname -r
返回2.6.17.9-ep93xx-pxa-ads5
附加資訊
如果我遺漏了一些重要的資訊,請發表評論,我會添加它。提前致謝!
您可以使用手動創建 /dev 條目
mknod /dev/ttyUSBn c 188 n
參數:
- mknod 是眾所周知的創建 /dev 條目的工具
- /dev/ttyUSBn:設備名稱
- c : 字元設備
- 188:主要設備號
- n : 次設備號,ttyUSB0, ttyUSB1, etc.
但是設備應該是根據udev規則自動創建的
傳統上,unix 系統有一個腳本來創建條目
/dev
,呼叫MAKEDEV
並位於/dev
. 該腳本通常出現在 Linux 上,但可能不存在於設計人員假設所有設備都存在的嵌入式設備上,或者執行 udev 的系統上,其中設備條目通常是自動創建的。請注意,MAKEDEV
通常會在目前目錄中創建條目,因此cd /dev
請先執行。您傳遞給的參數沒有標準
/dev/MAKEDEV
- 通常參數表示要創建的一組設備條目。在 Debian 上,/dev/MAKEDEV usb
創建ttyUSB*
以及其他一些。您還可以ttyUSB
在MAKEDEV
腳本中查找以找出要執行的命令行。創建設備條目的低級命令是mknod
.如果您的系統使用 udev,請執行
udevadm trigger -s usb-serial
以重新創建/dev
條目以及執行與設備發現相關的任何命令。(在這種情況下,設備是串列埠,而不是插入埠的設備。)