ubuntu linux

[ublox_gps_node-1] what(): U-Blox: Could not open serial port :/dev/ttyACM1 open: Permission denied

우금붕 2024. 11. 22. 14:09

이 오류 메시지는 U-Blox GPS 노드가 /dev/ttyACM1 시리얼 포트를 열 수 없다는 내용을 나타냅니다. 주요 원인은 해당 포트에 대한 권한 부족(Permission denied)입니다. 

 

1. 포트 권한 확인

현재 사용자(hkyoo)가 /dev/ttyACM1 포트에 접근할 수 있는지 확인합니다.

# 명령어
ls -l /dev/ttyACM1

# 출력 예시
crw-rw---- 1 root dialout 166, 1 Nov 22 13:42 /dev/ttyACM1

여기서 dialout 그룹이 /dev/ttyACM1의 소유자인 경우, 사용자가 dialout 그룹에 속해야 합니다.

 

 

2. 사용자를 dialout 그룹에 추가

dialout 그룹에 사용자를 추가합니다.

sudo usermod -a -G dialout $USER

사용자를 그룹에 추가한 뒤, 터미널에서 로그아웃한 후 다시 로그인하거나 시스템을 재부팅합니다.

 

 

재부팅 후 변경이 성공했는지 확인하려면 다음 명령어를 실행하세요:

groups

dialout 그룹이 포함되어 있어야 합니다.

 

 


3. 시리얼 포트 권한 직접 변경 (임시 해결법)

만약 긴급하게 테스트해야 하고, 위 작업이 적용되지 않았다면 포트의 권한을 직접 수정할 수 있습니다.

sudo chmod 666 /dev/ttyACM1

이 명령어는 모든 사용자에게 /dev/ttyACM1에 대한 읽기/쓰기 권한을 부여합니다. 그러나 이는 시스템 재부팅 후 초기화되므로 영구적인 해결책은 아닙니다.