Raspberry Pi × LTE Hat – Raspberry Pi 4 Model B에 LTE Hat (SIM7600E-H 4G HAT)을 추가해서 LTE를 써보자!

※ 원본은 여기(링크)에 써놓고 이 게시물보다 더 주기적으로 업데이트합니다. 참고해주세요.

라즈베리파이에서 사용할 수 있는 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 세팅

  1. 라즈베리파이 내의 UART를 Disable한다.
[1] raspi-config를 실행한다.
[2] 세번째 “Interface Options”를 선택한다.
[3] “P6 Serial Port”를 선택한다.
[4] No를 선택한다.

4단계 – SIM7600E-H RNDIS 세팅

  • Raspberry Pi나 Jetson Nano 자체에 커널 모듈을 빌드하고 물리기 쉬운 일이 아니다. 머나먼 과정을 거치면 되긴 하지만 귀찮기 때문에, 모뎀을 RNDIS 모드로 변경해보도록 하자.
  • 모뎀을 RNDIS 모드로 변경하면, Android 스마트폰에서 USB 테더링을 연결하듯이 간단하게 작동시킬 수 있다.
  1. 먼저 Raspberry Pi가 SIM7600E-H와 잘 연결되었는지 확인하자. USB 디바이스 목록을 확인하여 ttyUSB가 연결되었는지 본다.
  2. 연결된 디바이스 네이밍이 어디에 매칭되는지 아래 정보에서 확인해보자. (출처: https://simcom.ee/documents/SIM5360/How%20to%20use%20linux%20driver.pdf)
  3. 이제 socat을 이용하여 ATCOM interface (줄여서 AT interface)에 연결해서 각종 명령어를 보내보자. 실질적으로 SIM7600E-H 보드와 통신하기 위해서는 AT Interface를 이용한다. 해당 인터페이스는 짧은 AT 명령어들로 통신하는 인터페이스이다.
  4. AT라는 테스트 명령어를 치고 Enter를 누르면 OK라고 뜬다. 정상적으로 연결되었다는 의미이다.
  5. 이제 아래와 같이 RNDIS 인터페이스 활성화 명령어를 입력한다. AT+CUSBPIDSWITCH=9011,1,1 > OK
  6. 이제 socat이 종료되고 칩셋이 재시작된다. 이를 조금만 더 기다리고 다시 시작하면 ip link를 했을때 아래처럼 usb 인터페이스가 뜬다. (보통은 usb0으로 뜨지만, 본인이 쓰는 Jetson Nano에는 usb0이 이미 있어서 usb1으로 할당되었다.)

5단계 – APN 설정

  • 사실 APN은 자동 설정이 가능하다. 여기서는 APN을 기지국으로부터 자동으로 가져오고 이를 사용해 LTE 네트워크에 연결하는 방법을 기술한다.
  1. 4-3단계와 같이 AT Interface에 연결한다.
  2. AT+CGDCONT? 명령어로 현재 사용되는 APN 프로필 리스트를 확인한다.
  3. +CGDCONT: 11은 프로필 ID를 나타낸다. 1부터 6까지 존재하는데, 여기서는 프로필 1번(셀룰러 네트워크 등록 과정에서 사용)과 프로필 6번(RNDIS 연결 과정)
  4. 기지국에서 APN을 자동으로 가져올 수 있도록 AT+CGDCONT=1,"IPV4V6","" 명령어와 AT+CGDCONT=6,"IPV4V6",""를 각각 입력하여 프로필을 비운다.
  5. AT+CGAUTH? 명령어로 현재 APN 인증 프로필을 확인한다.
  6. 마찬가지로 AT+CGAUTH=1,0, AT+CGAUTH=6,0 명령어로 인증 프로필을 비운다.
  7. 마지막으로 AT+CFUN=0 명령어로 SIM 카드를 껐다가, AT+CFUN=1 명령어로 다시 켠다.
  8. 이 뒤에는 인터넷이 정상 연결될 것이다. (다만 IP를 아직 받아오지 못한 상태이다.) 위 4, 5번 단계에 설정한 값들은 보드 자체의 NVRAM에 저장되므로 재시작하여도 RNDIS 모드나 APN 설정들을 다시 해줄 필요는 없다.

6단계 – DHCP 설정 및 Ping 테스트‌

  • 여기서는 1회성 DHCP를 설정해보도록 하자. 간단하다.‌
  1. dhclient -v usb0 (USB 디바이스명)으로 DHCP 클라이언트를 돌려서 IP를 할당한다.
  2. 이제 IP가 할당되었다. 이 후에 원하는대로 사용하면 될 것이다.
  3. 한번 ping 테스트를 해보자. ping -I usb0 명령어로 USB 인터페이스로 Ping을 날릴 수 있다. 통신사마다 다르겠지만, LGU+ 기준으로는 Ping이 잘 작동한다.
  4. 이제 이 위에 우리가 원하는 각종 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

답글 남기기

이메일 주소는 공개되지 않습니다.