Debian
如何在 /dev 中沒有條目的情況下訪問 USB 串列埠?
我有一個基於 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
但它似乎不是串列埠;我無法使用screen
Python 的串列模組打開它。為了比較,我嘗試了我的 Debian 6.0 開發機器(它有一個更新版本的 cp2101 模組
cp210x
,dmesg
現在/dev/ttyUSB0
稱為如何讓
cp2101
模組創建/dev/ttyUSB0
?如果我不能,我打開什麼文件來訪問串口?
您可以嘗試手動製作設備節點。在我的系統
/dev/ttyUSB0
上是major 188
andminor 0
。希望我的假設是正確的,它是一種類型含義字元設備(如果不起作用,c
可以嘗試u
使用無緩衝字元設備)。c
mknod /dev/ttyUSB0 c 188 0
如果這行得通,並且設備文件之前自動出現,那麼你的某些東西
udev
就搞砸了。USB 子系統設置或驅動程序也可能存在問題。