You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Conbee II与Z-Stick Gen5+映射到固定路径以避免端口互换?

解决USB串口设备路径互换的问题

可以通过udev规则为你的Conbee II和Z-Stick Gen5+创建固定的软链接路径,彻底解决插拔或重启后串口路径互换的问题,具体步骤如下:

1. 获取设备的唯一标识

首先需要拿到两个设备的USB硬件唯一信息,用来精准区分它们:

  • 执行lsusb命令,找到Conbee II和Z-Stick Gen5+对应的条目,记录它们的Vendor ID(VID)和Product ID(PID),格式为xxxx:xxxx。
  • 若需要更严格的区分(比如存在同型号设备),可以执行udevadm info -a -n /dev/ttyACM0 | grep -E 'serial|idVendor|idProduct'(替换/dev/ttyACM0为当前设备的实际路径),获取设备的唯一序列号。

2. 创建udev规则文件

在宿主机的/etc/udev/rules.d/目录下创建自定义规则文件,比如99-usb-serial.rules:

sudo nano /etc/udev/rules.d/99-usb-serial.rules

根据获取到的设备信息写入规则,示例如下:

  • 为Conbee II创建固定软链接/dev/conbee2:
    SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="8a2a", SYMLINK+="conbee2"
    
  • 为Z-Stick Gen5+创建固定软链接/dev/zstick:
    SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="zstick"
    

如果需要用序列号精准匹配,在规则中添加ATTRS{serial}=="你的设备序列号"即可,比如:

SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="8a2a", ATTRS{serial}=="ABCDE12345", SYMLINK+="conbee2"

3. 加载并生效规则

保存规则文件后,执行以下命令让udev重新加载规则并触发生效:

sudo udevadm control --reload-rules
sudo udevadm trigger

之后插拔你的USB设备,就能在/dev/目录下看到创建的固定软链接了。

4. 容器中使用固定路径

后续配置容器时,直接映射这些固定软链接路径,比如Docker运行命令中添加:

--device /dev/conbee2:/dev/conbee2 --device /dev/zstick:/dev/zstick

如果用Docker Compose,在配置文件的devices字段中添加:

devices:
  - /dev/conbee2:/dev/conbee2
  - /dev/zstick:/dev/zstick

这样无论设备插拔顺序如何,容器都能通过固定路径访问对应的串口设备,避免因路径变化导致的崩溃问题。

内容的提问来源于stack exchange,提问作者Rico Walker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 23:25:36