我有一个基于 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
),在看到 中的“转换器现在连接到 ttyUSB0”行后dmesg
,/dev/ttyUSB0
出现了。
如何cp2101
创建模块/dev/ttyUSB0
?如果不能,我应该打开什么文件来访问串行端口?
答案1
您可以尝试手动制作设备节点。在我的系统上/dev/ttyUSB0
是major 188
和minor 0
。希望我的假设是正确的,它是一种c
表示字符设备的类型(如果不起作用,也许可以尝试u
使用无缓冲的字符设备)。c
mknod /dev/ttyUSB0 c 188 0
如果这有效,并且设备文件之前自动出现,则说明您的某些内容udev
出现了混乱。 USB 子系统设置或驱动程序也可能存在问题。