最短翌日発送!高速大容量のモバイルWi-Fiルーターの詳細はこちら
ガジェット全般

Raspberry PiでSIMフリーのUSBモデムUX302NCを使用する方法

Raspberry Pi 4Bに接続したUX302NC ガジェット全般

株式会社ネクス製のNCXX UX302NCはSIMフリーのUSBモデム、USB型データ通信端末です。

同じようなスペックのL-03Fを既に持っていますが、こちらはSIMロックがかかっているためそのままではdocomo系のSIMカードしか使用できません。LTEの1.7GHz帯、Band3に対応しているのでSIMロック解除すれば楽天モバイル、Rakuten UN-LIMITのSIMで使えそうですが、そのために3,300円もの手数料を支払うのは躊躇われます。

その手数料とちょうど同じくらいの値段で入手可能な中古のUX302NCを見つけたので、ブログのネタに購入してみたわけですが。

これがなかなか癖のある機種でして、L-03Fと同じように設定してみても上手くいきませんでした。

Raspberry PiでUSBモデムのL-03Fを使用してLTEで通信する方法
車内でWi-Fiを利用するために当初はモバイルWi-FiルーターのFS030Wを車載してみましたが、電源がなかなかエンジンと連動してくれず。自動起動に失敗することが多いので、他の方法をいろいろと模索していたのですが。 ホームルーターの...

先人の知恵を借りようとググってみても、UX302NCは入手経路が限られているせいかあまり情報が見つかりません。その限られた情報を組み合わせて試行錯誤していくうちに、何とかラズパイで使えるようになりましたが。

そういうわけで、今後UX302NCを手に入れてラズパイやLinuxで使おうとする奇特な方のためにも、備忘録を兼ねて設定方法をまとめておきます。

スポンサーリンク
スポンサーリンク

ラズパイでUSB型データ通信端末のUX302NCを使用する方法

やることの方向性自体はL-03Fの場合と同じです。UX302NCをラズパイに接続して、USBモデムとして認識させ、wvdialでモバイルネットワークに接続させます。

ただL-03Fとまったく同じやり方では上手くいきませんでした。

UX302NCをUSBモデムとして認識させる

ラズパイのUSBポートにUX302NCを接続すると、CDドライブやストレージとして認識されてしまい、そのままではUSBモデムとして使用できません。

ここでL-03Fではejectコマンドを使いましたが、UX302NCの場合はイジェクトされるもののUSBモデムとしては認識されず上手くいきませんでした。

そこでejectの代わりにusb-modeswitchを使用します。まずはusb-modeswitchをインストールしましょう。

$ sudo apt install usb-modeswitch

ここでUX302NCのidVendorとidProductを確認しておいてください。デフォルトだと以下のように11f6:1035になっているはずです。

$ lsusb
Bus 001 Device 006: ID 11f6:1035 Prolific
・
・
・

IDを控えたらudevのルールファイルを作成します。

udevを利用してUX302NCの接続を検知するとusb-modeswitchを実行して、USBモデムとして扱うように切り替えさせます。ついでにカーネルモジュールとして読み込ませたり、デバイス名を固定する処理も記述しておきましょう。

ルールファイルの作成方法については、SORACOMが公開しているセットアップスクリプトを参考にさせていただきました。

https://dev.soracom.io/jp/start/device_setting/

1から自力で作る場合は、まず以下のようなルールファイルを作成します。前半の2桁の数字と後半の文字列は任意で変更してOKです。

$ sudo nano /etc/udev/rules.d/99-ux302nc.rules
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="11f6", ATTRS{idProduct}=="1035", RUN+="/usr/sbin/usb_modeswitch -v 11f6 -p 1035 -M '55534243123456780000000080000606f50402527000000000000000000000'" #UX302NCをイジェクト
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="11f6", ATTRS{idProduct}=="1034", RUN+="/bin/bash -c 'modprobe option && echo 11f6 1034 > /sys/bus/usb-serial/drivers/option1/new_id'" #カーネルモジュールとして組み込む
KERNEL=="ttyUSB*", ATTRS{../idVendor}=="11f6", ATTRS{../idProduct}=="1034", ATTRS{bNumEndpoints}=="03", ATTRS{bInterfaceNumber}=="01", SYMLINK+="ux302nc", ENV{SYSTEMD_WANTS}="ux302nc.service" #デバイスファイル名の固定と依存関係の設定

SYMLINK+=””には任意のデバイス名を、ENV{SYSTEMD_WANTS}=””には任意のサービス名を記述してください。後でそれぞれ使用します。

ルールファイルを作成したらラズパイを再起動して、以下のコマンドを実行してみましょう。ttyUSB0~ttyUSB3が作成されているはずです。

$ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0  3月 25 23:55 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1  3月 25 23:55 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2  3月 25 23:55 /dev/ttyUSB2
crw-rw---- 1 root dialout 188, 3  3月 25 23:55 /dev/ttyUSB3

あるいは以下のコマンドを実行すると、ルールファイルに記述したデバイス名が表示されるはずです。

$ systemctl --type=device --all
・
・
・
dev-ux302nc.device              loaded active plugged NCXX_UX302NC
・
・
・

wvdialをインストールする

wvdialをまだ導入していなければインストールしてAPN情報を設定しておきましょう。

$ sudo apt install wvdial
$ sudo nano /etc/wvdial.conf
[Dialer Defaults]
Phone = *99***1#
APN = rakuten.jp
Username = rakuten
Password = rakuten
New PPPD = yes
Stupid Mode = yes
Init1 = ATZ
Init2 = AT+CGDCONT=1,"IP","rakuten.jp"
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Dial Attempts = 3
Modem Type = Analog Modem
Modem = /dev/ux302nc
Dial Command = ATD
Baud = 460800

systemdで自動起動の設定をする

あとはwvdialを自動実行させるためにsystemdのサービスファイルを作成します。udevと依存関係を持たせるためにルールファイルに記述したファイル名で作成するように気を付けてください。

$ sudo nano /etc/systemd/system/ux302nc.service
[Unit]
Description = UX302NC Service
Requires = dev-ux302nc.device
After = dev-ux302nc.device

[Service]
Type = simple
Restart = always
ExecStart = /usr/bin/wvdial

これで仕上げに再起動すれば、UX302NCを接続すると自動的にモバイルネットワークに接続するようになりました。

イジェクト方法が肝でしたが、基本的にやってることはL-03Fと同じです。ただL-03FよりもLTEを掴むまでにかかる時間が長いような気がします。ちゃんと比較してみたわけではありませんが。

UX302NCはLTEの対応バンドがL-03Fと似通っていますが、docomoのクアッドバンドLTE以外にauのプラチナバンドにも対応しています。何よりもデフォルトでSIMフリーなので、わざわざ時間とお金をかけてSIMロック解除なくても、楽天モバイルなどdocomo以外のSIMカードでも使用することが可能です。

なおdocomoが取り扱っているUX302NC-RもSIMロックはかかっていませんが、こちらはauのプラチナバンドは削られているっぽいので注意してください。まあこれは必ずしもデメリットではなく、確実に楽天モバイルのLTE Band3を掴めるというメリットにもなり得ますが。

さらに、このままだとラズパイしかインターネットに繋げられませんが、ホットスポット化すればホームルーターのように運用することもできます。

Raspberry Piで車載用のモバイルWi-Fiルーターを自作してみた
車載用のモバイルWi-Fiルーターをラズパイで自作したので、その作り方をまとめておきました。 今まで複数のモバイルWi-Fiルーターやホームルーターを車載してきましたが、どれもこれも今一つで。最終的にドラレコとして運用しているラズパイ...

楽天モバイルを固定回線的に使いたいのであればラズパイでホームルーターを自作してみるのもアリ…かもしれません。

まとめ

SIMフリーのLTE対応USB型データ通信端末、UX302NCもちゃんと設定してやればラズパイで問題なく使えます。

初めからSIMフリーなので楽天モバイルなどのSIMでも使えますし、docomo系以外のSIMカードで使いたいならL-03FよりもUX302NCのほうがおすすめです。

もっとも、予算が足りるなら初めからWi-Fiを搭載しているUSBドングルやホームルーターを購入したほうが良いでしょうけれども。。

スポンサーリンク
スポンサーリンク
Ameをフォローする
モバイルWi-Fiルーターが今すぐ必要な方におすすめのサービス
Y!mobile Pocket WiFi

Y!mobileのモバイルWi-Fiルーター、Pocket WiFiはワイモバイルオンラインストアから購入すれば最短翌日に発送されます。

WiMAX 2+のようなキャッシュバック特典はありませんが、Y!mobileのPocket WiFiには契約期間の縛りがないので、不要になったらいつでもすぐ無料で解約することが可能です。

またSoftBank 4Gで1Gbps級の高速通信に対応しているモバイルWi-Fiルーターが格安に手に入ります。通信速度を重視するなら狙い目です。

楽天モバイル

楽天モバイルの料金プランはRakuten UN-LIMIT Ⅴ(4月にⅥへアップデート予定)の一択しかありませんが、Aterm MP02LNやAterm MR05LN RWといったモバイルWi-Fiルーターも提供されています。楽天回線エリアならデータ通信が使い放題ですし、生活圏が対象エリアに入っているなら有力な選択肢です。しかも4月7日までに申し込めばプラン料金が1年間無料になります。

端末については楽天モバイルから販売されている機種でなくても、SIMフリーのモバイルWi-Fiルーターなら使用可能なものがあります。

おすすめはFS030W。楽天回線エリアとパートナーエリアの両方に対応しているため広範囲のエリアで通信可能です。またWi-Fiを2.4GHz帯と5GHz帯で同時に利用することが可能なので、固定回線として使用するのに最適です。

ガジェライブ!

コメント

タイトルとURLをコピーしました