※ 원본은 여기(링크)에 써놓고 이 게시물보다 더 주기적으로 업데이트합니다. 참고해주세요.
라즈베리파이에서 사용할 수 있는 LTE Cat-4 Hat으로 모바일 데이터를 사용해보자!
준비물
- Raspberry Pi 4 Model B with 4GB RAM
- USB Power Supply (5V 2.1A is sufficient)
- SD Card
(class 10 or more required for your mental health safety) - LTE Hat: SIM7600E-H LTE Cat.4 Hat
- You should select specific model, because SIM7600X-series chipset varies by your country’s LTE wireless bandwidth. I’m currently testing it at South Korea, so I would use SIM7600E-H. See here
1단계 – Raspberry Pi OS 설치
- Raspberry Pi OS 설치는 매우 간단하다. 여기를 참고해서 SD 카드에 Raspberry Pi OS 32bit를 설치하도록 하자.
(일반 PC에 설치할 수 있는 Raspberry Pi OS도 있다! 헷갈리지 말자.) - 설치가 완료된 뒤에는, SIM7600E-H의 포장을 뜯어보도록 하자.
2단계 – SIM7600E-H HAT 장착
- Raspberry Pi의 전원을 끄고 분리한다.
- SIM카드 슬롯에 Full-Size SIM을 삽입한 뒤 SIM7600E-H Hat을 Raspberry Pi에 장착한다. (이 때, Raspberry Pi에 고정해버리면 SIM카드를 빼기 힘드므로 유의하자)
- 같이 동봉된 짧은 USB Cable를 Raspberry Pi와 SIM7600E-H Hat의 ‘USB’ 포트에 연결한다.
- 장착한 뒤 Raspberry Pi를 켠다.
3단계 – Raspberry Pi 세팅
- 라즈베리파이 내의 UART를 Disable한다.




4단계 – SIM7600E-H RNDIS 세팅
- Raspberry Pi나 Jetson Nano 자체에 커널 모듈을 빌드하고 물리기 쉬운 일이 아니다.
머나먼 과정을 거치면 되긴 하지만 귀찮기 때문에,모뎀을 RNDIS 모드로 변경해보도록 하자. - 모뎀을 RNDIS 모드로 변경하면, Android 스마트폰에서 USB 테더링을 연결하듯이 간단하게 작동시킬 수 있다.
- 먼저 Raspberry Pi가 SIM7600E-H와 잘 연결되었는지 확인하자. USB 디바이스 목록을 확인하여 ttyUSB가 연결되었는지 본다.
- 연결된 디바이스 네이밍이 어디에 매칭되는지 아래 정보에서 확인해보자.
(출처: https://simcom.ee/documents/SIM5360/How%20to%20use%20linux%20driver.pdf)
- 이제
socat
을 이용하여 ATCOM interface (줄여서 AT interface)에 연결해서 각종 명령어를 보내보자. 실질적으로 SIM7600E-H 보드와 통신하기 위해서는 AT Interface를 이용한다. 해당 인터페이스는 짧은 AT 명령어들로 통신하는 인터페이스이다. AT
라는 테스트 명령어를 치고 Enter를 누르면OK
라고 뜬다. 정상적으로 연결되었다는 의미이다.- 이제 아래와 같이 RNDIS 인터페이스 활성화 명령어를 입력한다.
AT+CUSBPIDSWITCH=9011,1,1 > OK
- 이제 socat이 종료되고 칩셋이 재시작된다. 이를 조금만 더 기다리고 다시 시작하면 ip link를 했을때 아래처럼 usb 인터페이스가 뜬다. (보통은
usb0
으로 뜨지만, 본인이 쓰는 Jetson Nano에는usb0
이 이미 있어서usb1
으로 할당되었다.)
5단계 – APN 설정
- 사실 APN은 자동 설정이 가능하다. 여기서는 APN을 기지국으로부터 자동으로 가져오고 이를 사용해 LTE 네트워크에 연결하는 방법을 기술한다.
- 4-3단계와 같이 AT Interface에 연결한다.
AT+CGDCONT?
명령어로 현재 사용되는 APN 프로필 리스트를 확인한다.+CGDCONT: 1
의1
은 프로필 ID를 나타낸다. 1부터 6까지 존재하는데, 여기서는 프로필 1번(셀룰러 네트워크 등록 과정에서 사용)과 프로필 6번(RNDIS 연결 과정)- 기지국에서 APN을 자동으로 가져올 수 있도록
AT+CGDCONT=1,"IPV4V6",""
명령어와AT+CGDCONT=6,"IPV4V6",""
를 각각 입력하여 프로필을 비운다. AT+CGAUTH?
명령어로 현재 APN 인증 프로필을 확인한다.- 마찬가지로
AT+CGAUTH=1,0
,AT+CGAUTH=6,0
명령어로 인증 프로필을 비운다. - 마지막으로
AT+CFUN=0
명령어로 SIM 카드를 껐다가,AT+CFUN=1
명령어로 다시 켠다. - 이 뒤에는 인터넷이 정상 연결될 것이다. (다만 IP를 아직 받아오지 못한 상태이다.) 위 4, 5번 단계에 설정한 값들은 보드 자체의 NVRAM에 저장되므로 재시작하여도 RNDIS 모드나 APN 설정들을 다시 해줄 필요는 없다.
6단계 – DHCP 설정 및 Ping 테스트
- 여기서는 1회성 DHCP를 설정해보도록 하자. 간단하다.
dhclient -v usb0
(USB 디바이스명)으로 DHCP 클라이언트를 돌려서 IP를 할당한다.- 이제 IP가 할당되었다. 이 후에 원하는대로 사용하면 될 것이다.
- 한번 ping 테스트를 해보자.
ping -I usb0
명령어로 USB 인터페이스로 Ping을 날릴 수 있다. 통신사마다 다르겠지만, LGU+ 기준으로는 Ping이 잘 작동한다. - 이제 이 위에 우리가 원하는 각종 Application을 얹어보자. 어디서든 인터넷 환경이 되기 때문에 가능성이 무궁무진하다(?)
Miscellaneous
각 통신사별 APN 설정 (출처)
[SKT 3G APN 설정] APN: web.sktelecom.com MMSC: http://omms.nate.com:9082/oma_mms MMS 프록시: smart.nate.com MMS 포트: 9093 MCC: 450 MNC: 05
[SKT LTE APN 설정] APN: lte.sktelecom.com MMSC: http://omms.nate.com:9082/oma_mms MMS 프록시: lteoma.nate.com MMS 포트: 9093 MCC: 450 MNC: 05
[KT 3G APN 설정] APN: alwayson.ktfwing.com MMSC: http://mmsc.ktfwing.com:9082 MMS 포트: 9093 MCC: 450 MNC: 08
[KT LTE APN 설정] APN: lte.ktfwing.com MMSC: http://mmsc.ktfwing.com:9082 MMS 포트: 9093 MCC: 450 MNC: 08
[LG U+ LTE APN 설정] APN: internet.lguplus.co.kr MMSC: http://omammsc.uplus.co.kr:9084 MMS 포트: 9084 MCC: 450 MNC: 06