如何在 /dev 中沒有條目的情況下存取 USB 序列埠?

如何在 /dev 中沒有條目的情況下存取 USB 序列埠?

我有一個基於 SiLabs CP2101 晶片組的 USB 轉串口適配器。我正在嘗試將它與 Debian 5.0 Lenny(armel 架構)一起使用。

我似乎能夠獲得正確的內核模組來識別適配器,但它不會創建/dev/ttyUSB0.

我運行modprobe usbserialmodprobe cp2101連接設備,得到以下輸出dmesg

usb 2-1: new full speed USB device using mv5182_ehci and address 8
usb 2-1: configuration #1 chosen from 1 choice
cp2101 2-1:1.0: cp2101 converter detected
usb 2-1: reset full speed USB device using mv5182_ehci and address 8
usb 2-1: cp2101 converter now attached to ttyUSB0

然而,/dev/ttyUSB0不存在。中沒有新文件/dev

find / -type f -name ttyUSB0沒有給出任何結果。

我確實找到了一堆目錄ttyUSB0插入設備後顯示的名稱為:

/sys/class/tty/ttyUSB0
/sys/bus/usb-serial/drivers/cp2101/ttyUSB0
/sys/bus/usb-serial/devices/ttyUSB0
/sys/devices/platform/mv5182_ehci.1/usb2/2-1/2-1:1.0/ttyUSB0
 ...

我在以下位置找到了一個文件,/sys/bus/usb-serial/devices/ttyUSB0/ttyUSB0/dev但它似乎不是串行端口;我無法使用screenPython的串行模組打開它。

為了進行比較,我嘗試了我的 Debian 6.0 開發機器(它有一個較新版本的 cp2101 模組,現在稱為cp210x),在看到 中的「轉換器現在連接到 ttyUSB0」行後dmesg/dev/ttyUSB0出現了。

如何cp2101創建模組/dev/ttyUSB0?如果不能,我應該打開什麼文件來存取串行端口?

答案1

您可以嘗試手動製作設備節點。在我的系統上/dev/ttyUSB0major 188minor 0。希望我的假設是正確的,它是一種c表示字元設備的類型(如果不起作用,也許可以嘗試u使用無緩衝的字元設備)。c

mknod /dev/ttyUSB0 c 188 0

如果這有效,且裝置檔案之前自動出現,則表示您的某些內容udev出現了混亂。 USB 子系統設定或驅動程式也可能有問題。

相關內容