편집 : 일

편집 : 일

USB-직렬 변환기가 여러 개 있습니다. 특히 그중 한 곳을 방문해야 해요. udev 규칙을 사용하여 특별한 이름을 지정했습니다. 마지막 수정 이후 다시 시작했습니다.

SUBSYSTEM=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", NAME="serial", MODE="0666"

이 공급업체/제품 조합은 모든 USB 장치 중에서 고유합니다.

$ ls -l /dev/serial
crw-rw-rw-. 1 root root 189, 133 Feb  8 23:57 /dev/serial
$ ls -l /dev/ttyUSB0
crw-rw----. 1 root dialout 188, 0 Feb  8 23:58 /dev/ttyUSB0

PuTTY를 사용하여 읽고 있는데 에서는 작동 /dev/ttyUSB0하지만 /dev/serial루트로 PuTTY를 실행하면 오류가 계속 나타납니다.

내가 받은 오류 메시지

Unable to open connection to :
Unable to configure serial port

필요한 경우 CentOS 6을 실행하고 있습니다.

uname -a
Linux xxxxxx 2.6.32-279.22.1.el6.x86_64 #1 SMP Wed Feb 6 03:10:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

편집 : 일

다음 udev 규칙이 마침내 작동했습니다.

SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="COM1", MODE="0666"

으로 변경된 것은 SUBSYSTEMUSB가 아닌 tty였으며 직렬은 COM1로 변경되었습니다(코멘트 작성자가 지적했듯이 /dev/serial을 방해하지 않음).NAMESYMLINK+

도와주셔서 감사합니다!

답변1

tty규칙이 하위 시스템 이 아닌 하위 시스템에 중점을 두기를 원합니다 usb.

SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="serial"

USB 장치를 연결하면 커널이 장치에 대한 추가 정보를 인식하므로 여러 udev 이벤트가 생성됩니다. USB 장치이기 때문에 먼저 하위 시스템을 사용하는데 usb, 이는 PuTTY가 사용할 수 없는 원시 USB 장치를 생성할 것이라고 가정합니다. 몇 단계를 거치면 장치에 대한 특정 드라이버가 로드되고 이는 직렬 장치이므로 ttyPuTTY가 사용할 수 있는 장치 파일을 생성하는 하위 시스템에 참여하게 됩니다.할 수 있는사용.

/dev/ttyUSB*이 규칙은 장치에 할당된 링크 에 대한 심볼릭 링크를 생성합니다 . 내 직렬 동글에서 PuTTY를 사용하여 성공적으로 테스트되었습니다.

그런데 진단을 위해 때때로 udev 스크립트가 보고 있는 내용에 대한 아이디어를 얻기 위해 다음 규칙을 실행합니다.

RUN+="/home/me/bin/udev-diag .$kernel .$number .$devpath .$id .$parent .$root .$tempnode"

본질적으로 다음과 같습니다 udev-diag.

env >>/tmp/udev-events
echo "$@" >>/tmp/udev-events

보다 일반적인 용도로는 udevmonitor프로그램을 이용하는 것도 편리합니다.

답변2

Zander의 법칙을 이용하면,예전에는내 USB 직렬 어댑터에 액세스할 수 있지만...오직PuTTY를 루트로 실행하는 경우.

모든 사용자가 액세스할 수 있도록 다른 권한을 지정하도록 규칙을 수정합니다.

SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE="0666", SYMLINK+="serial"

답변3

다음 udev 규칙이 마침내 작동했습니다.

SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="COM1", MODE="0666"

으로 변경된 것은 SUBSYSTEMUSB가 아닌 tty였으며 직렬은 COM1로 변경되었습니다(코멘트 작성자가 지적했듯이 /dev/serial을 방해하지 않음).NAMESYMLINK+

답변4

이 장치는 그룹 다이얼아웃을 통해 그룹 쓰기가 가능합니다.

$ ls -l /dev/ttyUSB0
**crw-rw----** 1 root **dialout** 188, 0 Feb  8 23:58 /dev/ttyUSB0

이 권한 문제를 해결하려면 다이얼아웃 그룹에 자신을 추가하세요.

$ sudo adduser <username> dialout

그런 다음 세션을 다시 시작하세요.

관련 정보