我买了一个 X10 家庭自动化 USB 接口:CM15。
这是 lsusb 提供的信息:
skerit@KIP-DU-SKER:~$ lsusb
Bus 008 Device 002: ID 0bc7:0001 X10 Wireless Technology, Inc. ActiveHome (ACPI-compliant)
但这并没有告诉我设备文件在哪里!我怎样才能找到它,或者自己创建一个?
答案1
设备节点由内核自动创建(在较旧的发行版中由 udev 创建)。Udev 还会在/dev/disk/by-*/
和 类似目录下创建描述性链接。
如果它是存储设备,lsblk -f
或者sudo blkid
应该列出它。
串行设备通常为或。ttyUSBnum
ttyACMnum
对于其他一切,请检查系统登录dmesg
。
答案2
打字
udevadm monitor
或
udevadm monitor --property
(事件的更详细的设备属性)
放入终端窗口并在插入 USB 设备时可见,将打印设备路径的调试消息并包含该设备的驱动程序类和驱动程序。
wlan 设备的输出示例:
UDEV [4673693.744066] 添加 /devices/platform/soc/.../net/wlan0 (net)
ACTION=
DEVPATH=
SUBSYSTEM=
DEVTYPE=
INTERFACE=
IFINDEX=
SEQNUM=
USEC_INITIALIZED=
ID_MM_CANDIDATE=
ID_NET_NAMING_SCHEME=
ID_NET_NAME_MAC=
ID_VENDOR=
ID_VENDOR_ENC=
ID_VENDOR_ID=
ID_MODEL=
ID_MODEL_ENC=
ID_MODEL_ID=
ID_REVISION= ID_SERIAL=
ID_SERIAL_SHORT=
ID_TYPE=
ID_BUS=
ID_USB_INTERFACES=
ID_USB_INTERFACE_NUM=
ID_USB_DRIVER=
ID_VENDOR_FROM_DATABASE=
ID_PATH=
ID_PATH_TAG=
ID_NET_DRIVER=
ID_NET_LINK_FILE=
ID_NET_NAME=
SYSTEMD_ALIAS=
ID_RENAMING=
INTERFACE_OLD=
TAGS=
CURRENT_TAGS=
拥有 <设备路径>
/sys/设备/平台/soc…/net/wlan0
将有助于查找属性
udevadm info --attribute-walk --path=<device path>
用于编写 udev 规则,可以为该设备创建 /dev 目录节点。
udev 规则示例(例如 /etc/udev/rules.d/<编号>-<设备>.rules)
内核=="wlan*", 驱动程序=="cm15a", 操作=="添加", 子系统=="net", 子系统=="usb", ATTRS{idVendor}=="0bc7", ATTRS{idProduct}=="0001", 名称="wlan%n", SYMLINK+="%k%n"