CrunchBang 리눅스 (데비안 변형)에는 COM 포트가 ttyS0
있는데 NFC 장치와 함께 사용하려고합니다. libnfc는 NFC 장치를 볼 수 없다고 응답했기 때문에 COM 포트를 직접 열어 보았습니다. 이를 위해 다음을 사용했습니다.
sudo cu -l /dev/ttyS0 -s 9600
그러나이 명령은 다음을 반환합니다.
cu: open (/dev/ttyS0): Permission denied
cu: /dev/ttyS0: Line in use
이 연결을 사용할 수있는 것이 무엇인지 모르겠습니다. 확인하기 위해 열려있는 모든 프로세스를 읽고 다음을 사용하기 위해 필터링을 시도했습니다 ttyS0
.
ps -ef | grep tty
그러나이 명령의 경우을 사용하는 것은 나타나지 않습니다 ttyS0
. 또한 열려있는 모든 파일을 가져 와서 잠금을 필터링하려고 시도했습니다 ttyS0
.
lsof | grep tty
그러나 이것은을 사용하여 아무것도 반환하지 않습니다 ttyS0
.
어떻게이 가능 cu
하지만, 모두 선이 사용중인 말한다 ps
및 lsof
반환 아무것도 그 선을 사용하지?
답변
회선의 실제 사용법은 없지만 권한 문제 일 수 있습니다. 나를 테스트하는 빠르고 더러운 방법은 다음을 실행하는 것이 었습니다.
ls -la /dev/ttyUSB0
sudo chmod 666 /dev/ttyUSB0
다시 시도하십시오 cu
. 작동하기 시작하면 해당 udev
파일과 사용자 권한 / 그룹 을 관리해야합니다 . 내 장치의 경우 다음과 같습니다 ( plugdev
그룹의 구성원 임).
> cat /etc/udev/rules.d/42-CP210x.rules
ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SUBSYSTEMS=="usb",
ACTION=="add", MODE="0666", GROUP="plugdev"
답변
직렬 장치 권한은 dialout
그룹 구성원에게 부여됩니다 . 연결하려면 /dev/ttyS0
다음을 사용하여 현재 사용자를 그룹에 추가했습니다.
sudo adduser <username> dialout
답변
이것은의 버그 인 것 같습니다 cu
. /dev/ttyUSB0
다음 명령 을 사용하여 소유자 그룹을 변경 하여이 문제를 해결했습니다 .
chown root:root /dev/ttyUSB0