Debian

如何在 /dev 中沒有條目的情況下訪問 USB 串列埠?

  • September 27, 2016

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

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

我執行modprobe usbserial然後modprobe 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 模組cp210xdmesg現在/dev/ttyUSB0稱為

如何讓cp2101模組創建/dev/ttyUSB0?如果我不能,我打開什麼文件來訪問串口?

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

mknod /dev/ttyUSB0 c 188 0

如果這行得通,並且設備文件之前自動出現,那麼你的某些東西udev就搞砸了。USB 子系統設置或驅動程序也可能存在問題。

引用自:https://unix.stackexchange.com/questions/42844