我有一个设备已正确连接到我的电脑。但我在 /dev 中看不到它。这是什么意思?是因为没有安装我的设备吗?
连接我的设备之前,请先 $ /dev ls:
agpgart mei sda1 tty28 tty59 ttyS30
autofs mem sda2 tty29 tty6 ttyS31
block net sda5 tty3 tty60 ttyS4
bsg network_latency sda6 tty30 tty61 ttyS5
btrfs-control network_throughput serial tty31 tty62 ttyS6
bus null sg0 tty32 tty63 ttyS7
char oldmem shm tty33 tty7 ttyS8
console parport0 snapshot tty34 tty8 ttyS9
core port snd tty35 tty9 ttyUSB0
cpu ppp stderr tty36 ttyprintk uinput
cpu_dma_latency psaux stdin tty37 ttyS0 urandom
disk ptmx stdout tty38 ttyS1 usbmon0
dri pts tty tty39 ttyS10 usbmon1
ecryptfs ram0 tty0 tty4 ttyS11 usbmon2
fb0 ram1 tty1 tty40 ttyS12 vcs
fd ram10 tty10 tty41 ttyS13 vcs1
full ram11 tty11 tty42 ttyS14 vcs2
fuse ram12 tty12 tty43 ttyS15 vcs3
hidraw0 ram13 tty13 tty44 ttyS16 vcs4
hpet ram14 tty14 tty45 ttyS17 vcs5
input ram15 tty15 tty46 ttyS18 vcs6
kmsg ram2 tty16 tty47 ttyS19 vcsa
log ram3 tty17 tty48 ttyS2 vcsa1
loop0 ram4 tty18 tty49 ttyS20 vcsa2
loop1 ram5 tty19 tty5 ttyS21 vcsa3
loop2 ram6 tty2 tty50 ttyS22 vcsa4
loop3 ram7 tty20 tty51 ttyS23 vcsa5
loop4 ram8 tty21 tty52 ttyS24 vcsa6
loop5 ram9 tty22 tty53 ttyS25 vga_arbiter
loop6 random tty23 tty54 ttyS26 zero
loop7 rfkill tty24 tty55 ttyS27
lp0 rtc tty25 tty56 ttyS28
mapper rtc0 tty26 tty57 ttyS29
mcelog sda tty27 tty58 ttyS3
连接我的设备后 $ /dev ls:
agpgart mei sda1 tty28 tty59 ttyS30
autofs mem sda2 tty29 tty6 ttyS31
block net sda5 tty3 tty60 ttyS4
bsg network_latency sda6 tty30 tty61 ttyS5
btrfs-control network_throughput serial tty31 tty62 ttyS6
bus null sg0 tty32 tty63 ttyS7
char oldmem shm tty33 tty7 ttyS8
console parport0 snapshot tty34 tty8 ttyS9
core port snd tty35 tty9 ttyUSB0
cpu ppp stderr tty36 ttyprintk ttyUSB1
cpu_dma_latency psaux stdin tty37 ttyS0 uinput
disk ptmx stdout tty38 ttyS1 urandom
dri pts tty tty39 ttyS10 usbmon0
ecryptfs ram0 tty0 tty4 ttyS11 usbmon1
fb0 ram1 tty1 tty40 ttyS12 usbmon2
fd ram10 tty10 tty41 ttyS13 vcs
full ram11 tty11 tty42 ttyS14 vcs1
fuse ram12 tty12 tty43 ttyS15 vcs2
hidraw0 ram13 tty13 tty44 ttyS16 vcs3
hpet ram14 tty14 tty45 ttyS17 vcs4
input ram15 tty15 tty46 ttyS18 vcs5
kmsg ram2 tty16 tty47 ttyS19 vcs6
log ram3 tty17 tty48 ttyS2 vcsa
loop0 ram4 tty18 tty49 ttyS20 vcsa1
loop1 ram5 tty19 tty5 ttyS21 vcsa2
loop2 ram6 tty2 tty50 ttyS22 vcsa3
loop3 ram7 tty20 tty51 ttyS23 vcsa4
loop4 ram8 tty21 tty52 ttyS24 vcsa5
loop5 ram9 tty22 tty53 ttyS25 vcsa6
loop6 random tty23 tty54 ttyS26 vga_arbiter
loop7 rfkill tty24 tty55 ttyS27 zero
lp0 rtc tty25 tty56 ttyS28
mapper rtc0 tty26 tty57 ttyS29
mcelog sda tty27 tty58 ttyS3
$ lsusb:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 004: ID 1a40:0101 TERMINUS TECHNOLOGY INC. USB-2.0 4-Port HUB
Bus 002 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 002 Device 008: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
ttyUSBX 只是一个 USB 硬件,Linux 将其检测为连接设备,但它不能作为串行端口进行通信。在 Windows 中,我们有 COMX 端口和 USB 设备,当未安装串行驱动程序时,它不能用作 COM 端口。我认为 ttyUSBX 应该首先被检测为 COM 端口(ttysX)!
答案1
- 拔下设备
- 类型
tail -F /var/log/kern.log
- 重新插入您的设备
将会有一行内容如下:
[1060037.921203] usb 2-2.1:Prolific Technology, Inc. PL2303 串行端口转换器现已连接到 ttyUSB1
在这种情况下,该设备连接到 /dev/ttyUSB1
使用 udev,可能可以创建一个名称不会因重新插入而改变的符号链接。现在,串行端口转换器会根据插入顺序获得一个 ttyUSB 名称。这超出了本问题的范围,因此请在需要时创建一个特定的名称。
答案2
虽然可能不是很明显,但/dev/ttyUSB1
第二个列表中有一个额外的条目/dev
。那将是您插入的第二个 USB 串行设备(我假设您保持第一个设备连接,它在两个列表中都显示为 `/dev/ttyUSB0)。