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한다.
assets%2F MWdcPhC7mtHG0agXDt2%2F MWdguLSzj6njscddkOA%2F MWdhqd1c4EO0PHknJ8G%2Fimage
[1] raspi-config를 실행한다.Enter a caption for this image (optional)
assets%2F MWdcPhC7mtHG0agXDt2%2F MWdguLSzj6njscddkOA%2F MWdhi2abLlXGzo Welg%2Fimage
[2] 세번째 “Interface Options”를 선택한다.Enter a caption for this image (optional)
assets%2F MWdcPhC7mtHG0agXDt2%2F MWdguLSzj6njscddkOA%2F MWdi7nJDATV011zJB3L%2Fimage
[3] “P6 Serial Port”를 선택한다.Enter a caption for this image (optional)
assets%2F MWdcPhC7mtHG0agXDt2%2F MWdguLSzj6njscddkOA%2F
[4] No를 선택한다.Enter a caption for this image (optional)

4단계 – SIM7600E-H RNDIS 세팅

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

5단계 – APN 설정

  • 사실 APN은 자동 설정이 가능하다. 여기서는 APN을 기지국으로부터 자동으로 가져오고 이를 사용해 LTE 네트워크에 연결하는 방법을 기술한다.
  1. 4-3단계와 같이 AT Interface에 연결한다.
  2. AT+CGDCONT? 명령어로 현재 사용되는 APN 프로필 리스트를 확인한다.assets%2F MWdcPhC7mtHG0agXDt2%2F MXBaxa1kF25R6iR xr9%2F MXBbni1QBP0as1GST4J%2Fimage
  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를 할당한다.assets%2F MWdcPhC7mtHG0agXDt2%2F MXBd274VqBb02vkGj62%2F MXBdx sZ7beUi hhZaP%2Fimage
  2. 이제 IP가 할당되었다. 이 후에 원하는대로 사용하면 될 것이다.
  3. 한번 ping 테스트를 해보자. ping -I usb0 명령어로 USB 인터페이스로 Ping을 날릴 수 있다. 통신사마다 다르겠지만, LGU+ 기준으로는 Ping이 잘 작동한다. assets%2F MWdcPhC7mtHG0agXDt2%2F MXBd274VqBb02vkGj62%2F MXBeN13o FGZKWSdjin%2Fimage
  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

답글 남기기

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