You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

无法找到SEGGER J-Link PLUS对应的USB串口设备(/dev/tty*)的排查求助

我现在遇到个棘手的问题:我想找到通过USB连接到电脑的SEGGER J-Link PLUS调试器,打开它对应的串口端口,但在/dev/tty*目录下完全找不到这个设备的影子,想请大家帮忙排查下原因。

下面是我已经做的排查步骤和收集到的信息:

1. 用lsusb确认设备已被识别

运行lsusb后,能看到目标设备的条目:

Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 0557:2419 ATEN International Co., Ltd Virtual mouse/keyboard device
Bus 001 Device 006: ID 0557:7000 ATEN International Co., Ltd Hub
Bus 001 Device 005: ID 1366:0101 SEGGER J-Link PLUS  <-- 这就是我要找的设备
Bus 001 Device 004: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
Bus 001 Device 003: ID 046d:c08b Logitech, Inc. G502 SE HERO Gaming Mouse
Bus 001 Device 002: ID 046d:c335 Logitech, Inc. G910 Orion Spectrum Mechanical Keyboard
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

2. 查看系统启动时的USB识别日志

运行sudo dmesg | grep usb,能看到设备被系统识别的完整日志:

[    3.569824] usb 1-4: new full-speed USB device number 5 using xhci_hcd
[    3.723556] usb 1-4: New USB device found, idVendor=1366, idProduct=0101, bcdDevice= 1.00
[    3.723569] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.723576] usb 1-4: Product: J-Link
[    3.723581] usb 1-4: Manufacturer: SEGGER
[    3.723586] usb 1-4: SerialNumber: 000660015877

3. 尝试配置udev规则但未生效

我根据上面的设备信息写了一条udev规则,想给设备创建一个易识别的符号链接,但规则完全没起作用:

SUBSYSTEM=="tty", ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0101", ATTRS{serial}=="000660015877", SYMLINK+="segger"

4. 用udevadm monitor观察设备插拔事件

拔掉再重新插上设备时,udevadm monitor的输出如下,看起来系统只识别了USB设备本身,没有触发串口相关的事件:

KERNEL[896.791227] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4 (usb)
KERNEL[896.792767] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0 (usb)
KERNEL[896.792897] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-4 (usb)
UDEV  [896.800175] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4 (usb)
UDEV  [896.803020] add      /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0 (usb)
UDEV  [896.811772] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-4 (usb)

5. 查看设备的详细udev信息

我找到了设备在/dev/bus/usb/001/008,运行udevadm info /dev/bus/usb/001/008得到以下详细信息:

P: /devices/pci0000:00/0000:00:14.0/usb1/1-4
N: bus/usb/001/008
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-4
E: DEVNAME=/dev/bus/usb/001/008
E: DEVTYPE=usb_device
E: DRIVER=usb
E: PRODUCT=1366/101/100
E: TYPE=0/0/0
E: BUSNUM=001
E: DEVNUM=008
E: MAJOR=189
E: MINOR=7
E: SUBSYSTEM=usb
E: USEC_INITIALIZED=896799819
E: ID_VENDOR=SEGGER
E: ID_VENDOR_ENC=SEGGER
E: ID_VENDOR_ID=1366
E: ID_MODEL=J-Link
E: ID_MODEL_ENC=J-Link
E: ID_MODEL_ID=0101
E: ID_REVISION=0100
E: ID_SERIAL=SEGGER_J-Link_000660015877
E: ID_SERIAL_SHORT=000660015877
E: ID_BUS=usb
E: ID_USB_INTERFACES=:ffffff:
E: ID_VENDOR_FROM_DATABASE=SEGGER
E: ID_MODEL_FROM_DATABASE=J-Link PLUS
E: ID_PATH=pci-0000:00:14.0-usb-0:4
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_4
E: ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_4
E: TAGS=:seat:
E: CURRENT_TAGS=:seat:

6. 当前系统中的tty设备列表

我列出了所有/dev/tty*设备,本来以为会出现ttyUSB0之类的串口设备,但完全找不到相关条目:

tty   tty10  tty13  tty16  tty19  tty21  tty24  tty27  tty3   tty32  tty35  tty38  tty40  tty43  tty46  tty49  tty51  tty54  tty57  tty6   tty62  tty8       ttyS0   ttyS11  ttyS14  ttyS17  ttyS2   ttyS22  ttyS25  ttyS28  ttyS30  ttyS5  ttyS8 
tty0  tty11  tty14  tty17  tty2   tty22  tty25  tty28  tty30  tty33  tty36  tty39  tty41  tty44  tty47  tty5   tty52  tty55  tty58  tty60  tty63  tty9       ttyS1   ttyS12  ttyS15  ttyS18  ttyS20  ttyS23  ttyS26  ttyS29  ttyS31  ttyS6  ttyS9 
tty1  tty12  tty15  tty18  tty20  tty23  tty26  tty29  tty31  tty34  tty37  tty4   tty42  tty45  tty48  tty50  tty53  tty56  tty59  tty61  tty7   ttyprintk  ttyS10  ttyS13  ttyS16  ttyS19  ttyS21  ttyS24  ttyS27  ttyS3   ttyS4   ttyS7

现在我完全不知道该往哪个方向排查了,有没有大佬能给点指引?非常感谢!

备注:内容来源于stack exchange,提问作者PatTheTrickster

火山引擎 最新活动