제조업체 속성에 따라 직렬 포트를 분리하려고 합니다 ATTRS{manufacturer}
.
와 사이의 값을 /dev/ttyUSBx
가질 수 있는 제조업체 A에서 감지된 항목에 할당하고 싶습니다 . x
마찬가지로 제조업체 B에서 생산된 것으로 감지된 제품에 대해 와 사이의 값만 취할 수 있는 위치를 할당하고 싶습니다.0
9
/dev/ttyUSBy
y
10
19
나는 우연히 만났어이것기사 작성자는 이름을 수정하는 데 사용할 수 있다고 말했습니다 symlinks
. 내 요청을 수용하기 위해 비슷한 조치를 취할 수 있나요?
답변1
귀하의 질문에 대한 직접적인 답변은 아니지만 확인할 수 있습니다
$ ls -l /dev/serial/by-id/
(USB-직렬 어댑터를 하나 이상 연결한 후) 문제 해결 방법에 대한 아이디어가 나오는지 확인하세요.
/lib/udev/rules.d/60-serial.rules
예제를 보고 /dev/serial
작동 방식을 확인할 수도 있습니다 . 내 쿠분투 16.04에서는 다음과 같습니다:
ACTION=="remove", GOTO="serial_end"
SUBSYSTEM!="tty", GOTO="serial_end"
SUBSYSTEMS=="pci", ENV{ID_BUS}="pci", ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}"
SUBSYSTEMS=="pci", IMPORT{builtin}="hwdb --subsystem=pci"
SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
# /dev/serial/by-path/, /dev/serial/by-id/ for USB devices
KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="serial_end"
SUBSYSTEMS=="usb-serial", ENV{.ID_PORT}="$attr{port_number}"
IMPORT{builtin}="path_id"
ENV{ID_PATH}=="?*", ENV{.ID_PORT}=="", SYMLINK+="serial/by-path/$env{ID_PATH}"
ENV{ID_PATH}=="?*", ENV{.ID_PORT}=="?*", SYMLINK+="serial/by-path/$env{ID_PATH}-port$env{.ID_PORT}"
IMPORT{builtin}="usb_id"
ENV{ID_SERIAL}=="", GOTO="serial_end"
SUBSYSTEMS=="usb", ENV{ID_USB_INTERFACE_NUM}="$attr{bInterfaceNumber}"
ENV{ID_USB_INTERFACE_NUM}=="", GOTO="serial_end"
ENV{.ID_PORT}=="", SYMLINK+="serial/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$env{ID_USB_INTERFACE_NUM}"
ENV{.ID_PORT}=="?*", SYMLINK+="serial/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$env{ID_USB_INTERFACE_NUM}-port$env{.ID_PORT}"
LABEL="serial_end"