rpirtscts mmap error 수정
관련 글
https://cafe.naver.com/mechawiki/6581
최근 라즈베리파이 OS에서 UART RTS, CTS GPIO 설정을 위해 사용하는 rpirtscts 프로그램 동작 중 mmap 에러가 발생해서 사용할 수 없다는 내용의 개발자 게시판의 글이 올라왔습니다.
LTE CATM1 내장형 모뎀은 라즈베리파이 OS 환경에서 PPP모뎀으로 사용되고 있으며, 데이터 전송속도를 최고속도로 동작시키기 위해 UART 설정을 921600 bps 속도로 설정합니다. 빠른 전송속도로 동작할 경우 통신오류가 발생할 수 있으므로 하드웨어 흐름제어를 위해 TX, RX 외에도 CTS, RTS의 두 개의 라인을 추가적으로 설정합니다.
이 설정을 위해 사용하는 프로그램이 rpirtscts입니다. 해당 프로그램을 fork 해서 LTE CATM1 내장형 모뎀에 맞게 수정해서
사용하고 있습니다. 아래 경로에서 다운로드할 수 있습니다.
https://github.com/codezoo-ltd/rpirtscts
게시판의 글을 확인 후 Raspberry Pi Imager를 최신버전으로 새로 설치하고 라즈베리파이 OS 32bit 버전을 다운로드하여서 설치 후 테스트 했지만 문제 상황이 재현되지 않았습니다. 관련해서 버그리포트 하신 개발자분과 함께 조사해 보았는데, 문제사항은 라즈베리파이 OS 설치한 후 최신버전으로 업데이트를 진행하면 발생하는 것으로 확인되었습니다.
관련 버그는 라즈베리파이 OS에서 GPIO를 mmap으로 할당 후 설정하는 다른 프로그램들에서도 동일하게 발생하여 커뮤니티에서도 이슈가 되었던 내용이었습니다.
아래와 같이 수정하여 문제를 해결하였습니다.
(!) 최신 업데이트 버전에서는 더 이상 /dev/mem을 mmap으로 지정할 수 없습니다. gpio 설정을 위해 /dev/gpiomem만 사용할 수 있습니다.
기존에 동일한 문제로 rpirtscts 프로그램을 사용하지 못하셨던 경우 소스코드를 새로 다운로드하신 후 빌드해서 사용하시기 바랍니다.
Murata Type1SC 모듈 구매, 자료 관련 문의
(주)아성코리아
전지만 이사 010-5418-8812 mlcc@asung.com
박상인 수석 010-6556-5405 sipark@asung.com
LTE-CATM1 내장형 모뎀 대량 구매 상담, 외주 개발, 협업 문의
(주)코드주
장병남 대표 010-8965-1323 rooney.jang@codezoo.co.kr
https://www.devicemart.co.kr/goods/view?no=14077527
https://smartstore.naver.com/codezoo/products/7153689192