본문 바로가기
프로그래밍/OS

리눅스 상에서 시리얼 포트 추가로 인식하게 하는 방법

by 남생 namsaeng 2022. 5. 31.
반응형

제작 PC인 경우에는 일반 상용 PC보다 자유롭게 핀맵을 구성할 수 있는데, 리눅스 상에서 시리얼 포트 인식 개수가 실제 의도한 시리얼 핀 개수와 다를 수 있다. 

 

 

1. 제작 PC에 탑재된 리눅스에서 인식하는 시리얼 포트를 확인 

[root@localhost ~]# ls /dev/ttyS*
/dev/ttyS0	/dev/ttyS1	/dev/ttyS2	/dev/ttyS3

 

2. 윈도우 PC에서 COM 통신으로 리눅스의 어느 포트를 사용하는지 확인

https://namsaenga.tistory.com/54

 

Linux 시리얼 통신 자동 체크 예제 프로그램 소스 코드

준비물 COM port 사용 가능한 Linux Server USB Serial Port 사용 가능한 Windows Client USB to RS232 converter 1. hercules_3-2-8.exe 실행파일을 다운로드한다. https://www.hw-group.com/software/hercules-s..

namsaenga.tistory.com

 

 

3. hercules_3-2-8.exe 에서 어떠한 시리얼 포트도 반응을 안한다면 아래의 절차 진행

 

1) /etc/default/grub 파일 편집

[root@localhost ~]# vi /etc/default/grub

 

 

2)  /etc/default/grub 파일 상에서 GRUB_CMDLINE_LINUX="..." 부분 끝8250.nr_uarts=8 삽입

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet 8250.nr_uarts=8"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

 

 

3) 설정사항 반영

[root@localhost ~]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
[root@localhost ~]# reboot

 

 

4) 시리얼 포트 확인

[root@localhost ~]# ls /dev/ttyS*
/dev/ttyS0	/dev/ttyS1	/dev/ttyS2	/dev/ttyS3
/dev/ttyS4	/dev/ttyS5	/dev/ttyS6	/dev/ttyS7

 

 

결론: 나의 경우에는 제작 PC가 8개의 UART 핀을 가지고 있었는데, 핀맵 상으로는 4개만 제공한다고 나와 있었다. 2개를 시리얼 통신하려고 했지만, /dev/ttyS0에서 /dev/ttyS3까지 반응이 없었다. 시리얼 포트를 추가 인식시키고 시리얼 통신을 수행한 결과 2개의 포트(/dev/ttyS0, /dev/ttyS1)가 정상적으로 동작하였다. 

반응형

댓글