3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Check! SORACOM Air の接続はオンラインなのに、エンドポイントに送信できない場合の対処(WiFiとの競合)

Last updated at Posted at 2016-04-24

こんにちは、オークファンの @dz_ こと大平かづみです。

Prologue - はじめに

上司からSIMアダプタ「FS01BU」をお借りしたので、Raspberry Pi Zero で SORACOM Air を使ってみました!

SIMアダプタとSORACOM Air の使い方はすでに情報がたくさん公開されていますので割愛します。(補足を後述)

ここでは、私が最終的にハマった WiFi とのルーティング競合の解決方法についてメモしておきます。友人の @rina0521 のアドバイスで解決しました!ありがとうございます!

20160423_raspi-zero_soracom_001.jpg

動作環境

用途 デバイス
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 ユーザーコンソール では「セッション状態」が「オンライン」になってるはずです。
20160424_soracom_001.png

さっそく、SORACOM のエンドポイントに接続してみましょう。

# SORACOM Funnel のエンドポイントにTCPでデータ送信を試みる
$ nc funnel.soracom.io 23080
{"test":"ok"} [ENTER]

応答が返ってきません…(´;ω;`)

通常は 200 や、誤ったJSONを送った場合でも 400: Invalid JSON などとすぐに応答があるはずなのに、ありません。

でも、curlping でほかのURLへの接続してみると、問題なくできる状態です。はて?

原因

どうやら、通信が WiFi 経由になっているようです。ルーティングを明示的に設定する必要がありそうです。

対処

ということで、こちらの情報を参考に、とりいそぎ一時的なルーティング設定を行いました。恒久的な設定についても書かれているので、適宜ご参照くださいませ。

以下は私が行った対処です。

# 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 の開通・利用開始については、本家サイトを参考に進めました。

また、SIMアダプタ「FS01BU」を使って SORACOM を利用する方法については、 @tseigo さんの記事を参考にしました。ありがとうございます!

なお、上記記事で、 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)ノ

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?