Check! SORACOM Air 연결은 온라인이지만 엔드포인트에 전송할 수 없는 경우의 조치(WiFi와의 충돌)

안녕하세요, 오크 팬 @dz_ 大平 카즈미입니다.

Prologue - 소개



상사로부터 SIM 어댑터 「FS01BU」를 빌렸으므로, Raspberry Pi Zero 로 SORACOM Air 를 사용해 보았습니다!

SIM 어댑터와 SORACOM Air의 사용법은 이미 정보가 많이 공개되어 있으므로 할애합니다. (보충을 후술)

여기서는 궁극적으로 빠진 WiFi와의 라우팅 충돌을 해결하는 방법에 대해 메모해 둡니다. 친구 🌸의 조언으로 해결되었습니다! 감사합니다!



운영 환경




용도
장치


PC
Raspberry Pi Zero

SIM 어댑터
후지 소프트 FS01BU

Wifi 어댑터
PLANEX GW-USNano2

USB 허브
ELECOM U2H-YS4BBK


또한 SORACOM 측에서 개통이나 설정이 끝나고 접속할 수 있는 상태라고 가정합니다. 제 경우에는 SORACOM Funnel을 사용하는 설정이 끝났습니다.

[문제 해결] wvdial도 작동하고 SORACOM 콘솔에서도 온라인 상태이지만 엔드 포인트로 보낼 수없는 경우



상황



첫째, 내 USB 연결 상황은 다음과 같습니다.
$ lsusb
Bus 001 Device 010: ID 1c9e:6801 OMEGA TECHNOLOGY 
Bus 001 Device 006: ID 2019:ab2a PLANEX GW-USNano2 802.11n Wireless Adapter [Realtek RTL818
8CUS]
...

이 상태에서 FS01BU를 인식하고 SORACOM에 연결하십시오.
# FS01BU の認識
$ sudo modprobe usbserial vendor=0x1c9e product=0x6801

# wvdial で通信開始
$ sudo wvdial &   # <-- & でバックグラウンドで動かす

이 때, SORACOM 사용자 콘솔 에서는 「세션 상태」가 「온라인」이 되어 있을 것입니다.


이제 SORACOM 엔드포인트에 연결해 보겠습니다.
# SORACOM Funnel のエンドポイントにTCPでデータ送信を試みる
$ nc funnel.soracom.io 23080
{"test":"ok"} [ENTER]


응답이 반환되지 않습니다 ... ( '; ω;`)

일반적으로 200 또는 잘못된 JSON을 보낸 경우에도 400: Invalid JSON와 같은 즉시 응답이 있어야합니다.

그렇지만, curlping로 다른 URL에의 접속해 보면, 문제 없게 할 수 있는 상태입니다. 하테?

원인



분명히 통신이 WiFi를 통해 보이는 것 같습니다. 라우팅을 명시적으로 구성해야 합니다.

대처



그렇다고 해서, 이쪽의 정보를 참고로, 소용돌이 일시적인 라우팅 설정을 실시했습니다. 영구적인 설정에 대해서도 적혀 있으므로 적절하게 참조하십시오.
  • Linux 라우팅 추가 | server-memo.net

  • 다음은 내가 한 조치입니다.
    # nslookup がない場合は、インストール
    $ sudo apt-get install dnsutils
    
    # エンドポイントのIPアドレスを調べる
    $ nslookup funnel.soracom.io
    ...
    Non-authoritative answer:
    Name:   funnel.soracom.io
    Address: {funnel.soracom.ioのIPアドレス}
    
    # SIMアダプタの情報を取得する (ppp0)
    $ ifconfig
    ...
    
    ppp0      Link encap:Point-to-Point Protocol  
              inet addr:10.240.xx.xx  P-t-P:10.64.64.64  Mask:255.255.255.255
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:7 errors:0 dropped:0 overruns:0 frame:0
              TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:3 
              RX bytes:130 (130.0 B)  TX bytes:181 (181.0 B)
    ...
    
    # 一時的に、ルーティングを追加する
    $ sudo route add -net [エンドポイントのIPアドレス] netmask 255.255.255.255 gw [ppp0 の inet addr] ppp0
    

    자, 엔드포인트에 데이터를 보냅니다!
    # SORACOM Funnel のエンドポイントにTCPでデータを送信する
    $ nc funnel.soracom.io 23080
    {"test":"ok"} [ENTER]
    200
    

    안전하게 전송되었습니다! !ヾ(o´∀`o)노

    파치 파치 파치 파치

    [보충] SORACOM Air 및 USB 동글 「FS01BU」의 이용에 대해



    보충입니다만, SORACOM Air의 개통·이용 개시에 대해서는, 본가 사이트를 참고로 진행했습니다.
  • SORACOM 사용 시작 | Getting Started | SORACOM Developers

  • 또한 SIM 어댑터 "FS01BU"를 사용하여 SORACOM을 사용하는 방법에 대해서는 @tseigo의 기사를 참조했습니다. 감사합니다!
  • USB 동글과 얽혀 SORACOM Air(데이터 통신만)를 Raspberry Pi에 연결한 메모 – 1ft-seabass.jp.MEMO

  • 덧붙여 상기 기사로, wvdial 의 인스톨시에 실패한다고 했습니다만, 나는 이하와 같이 성공했습니다. 그 이유는 잘 모르겠지만 이 절차 전에 apt-get upgrade 또는 재부팅한 것이 좋았을 수 있습니다.
    $ sudo apt-get install wvdial
    
    ...
    
    Success!  You can run "wvdial" to connect to the internet.
      (You can also change your configuration by editing /etc/wvdial.conf)
    
    Processing triggers for libc-bin (2.19-18+deb8u3) ...
    Processing triggers for systemd (215-17+deb8u3) ...
    

    Epilogue - 결론



    좀처럼 만질 기회가 없었던 SORACOM, 마침내 데뷔해 보았습니다!

    덧붙여서, 이번 Raspberry Pi Zero 로 시험했는데, 이 아이는 비력이므로, wvdial 를 상주로 움직이고 있는 동안은 SSH 접속이 붙는 레벨로 CPU를 가지고 갈 수 있는 것 같았습니다ヾ(ω` )/

    그러나 Raspberry Pi Zero는 귀엽기 때문에 용서합니다!ヾ(o˚x゚o)노

    좋은 웹페이지 즐겨찾기