RasPIにLTE USB UX302NCを接続

Linux
image_print

LTEの送受信機の場所を減らすため再度、UX302NCを接続してみることにしました。(マニュアルはここ

もっともお世話になったサイトがガジェライブ!さんのRaspberry PiでSIMフリーのUSBモデムUX302NCを使用する方法

同様の手順を書きます。ひっかかったところは赤字で書いてます。

sudo apt install usb-modeswitch

でUX302NC(SIMはセットしておいてね)を差し込んで、lsusbをすると

Bus 001 Device 007: ID 11f6:1035 Prolific NCXX UX302NC

と出るはずです。

UX302NCの設定を調べていると必ず遭遇するSoracomのセットアップスクリプトを参考にしてもいいですが、いろいろsoracomになるので手動をオススメします。

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'"
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+="modem", ENV{SYSTEMD_WANTS}="ifup@wwan0.service"

書き込んだらリブート。なんだかデバイスが更新されなかったことがありました。

再起動後、

ls -l /dev/ttyUSB*

をやると

crw-rw---- 1 root dialout 188, 0  7月 25 22:28 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1  7月 25 22:30 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2  7月 25 22:28 /dev/ttyUSB2
crw-rw---- 1 root dialout 188, 3  7月 25 22:28 /dev/ttyUSB3

という感じで認識されています。
これででデバイスとしては動作しているようですー。
次にダイアルアップモデムとして設定します。

wvdialをインストールします。

sudo apt install wvdial

インストールが終了すると設定ファイルのテンプレができていますから編集します。

sudo nano /etc/wvdial.conf
[Dialer Defaults]
Phone = *99***1# 
APN =プロバイダー指定 
Username = プロバイダー指定
Password = プロバイダー指定
New PPPD = yes 
Stupid Mode = yes 
Init1 = ATZ 
Init2 = AT+CGDCONT=1,"IP","プロバイダー指定APN" 
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 
Dial Attempts = 3 
Modem Type = Analog Modem 
Modem = /dev/modem 
Baud = 460800

変更すべきところは、APN=, Username=, Password=, Init2=のプロバイダー名, Modemです。
上の定義をテンプレにして変更したほうがいいでしょう。

honeにかかれている電話番号はこのままでいいのです。なまじっか正しいSIMカードの電話番号を設定し、Errorとなりしばらく悩みまくりました。

ここで

sudo wvdial

とすると、ダイアルアップで繋がり、ifconfigで見ると

ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1464
        inet xxx.xxx.xxx.xxx  netmask 255.255.255.255  destination 10.64.64.64
        ppp  txqueuelen 3  (Point-to-Pointプロトコル)
        RX packets 2001  bytes 1950304 (1.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1658  bytes 209267 (204.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

とppp0ができているはずです。

あとは自動起動させるために

sudo nano /etc/systemd/system/ux302nc.service

と新たにファイルを開き

[Unit]
Description = UX302NC Service

[Service]
ExecStart = /usr/bin/wvdial

[Install]
WantedBy = multi-user.target

と記載します。

あとは、

sudo systemctl start ux302nc.service #サービススタート
sudo systemctl status ux302nc.service #サービスのステータス
sudo systemctl enable ux302nc.service #自動スタート登録

これで次回のリブートから自動的にUX302NCが繋がります。

UX302NCは企業で使われていたせいか、ヤフオクで3000円ちょいで結構見かけます。
中古品ですが、機械的に動くところがUSBコネクターのヒンジ部分だけですから写真をよく見て、あまりくたびれてなさそうなものを選べば程度がいいものが手に入るのではないでしょうか。
こうやって繋がると4GPIのアラが目立ちます。

  • わざわざ別途、12V電源が別途必要
  • ラズパイのピンも使う
  • 結局USBポートからのシリアル通信(ケーブルが邪魔)
  • 高価
  • フルサイズのSIMカードが必要でイマドキじゃない

設計者のスキルが低いんでしょうね。
唯一いい点は日本人が大好きな「サポートがある」ということだけです。

実用上はUSBトングルがオススメ。

ついで

Raspberry Piでwifiオフ

sudo iwconfig wlan0 txpower off

オン

sudo iwconfig wlan0 txpower auto

残念ながらOCNがグローバルIPでの運用を止めたので、OCNは使えません。

しかし、小さいMVNOからグローバル固定IPのSIMが提供されています。メジャーなのはインターリンクとイプシムのようです。(イプシムは2024年4月時点では「simカードがない」とかいう理由で新規加入できません。また、技術的に不安が残るので、私はインターリンクを契約しています)

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