この文書について
Candy Lineさんの Candy Pi Lite+ は、専用の接続設定ツールcandy-pi-lite-serviceが提供されているが 、色々やりすぎ(&ソース汚い)でわけわかんないので、単純にDebian(Raspbian)の標準的なツールでPPP接続を行ってみたメモ。
設定条件
ここでは、SPI-UART変換を使った接続(マニュアル上の低速通信モード)を使用する。
接続するSIMはIIJmioのIoTサービスのものを用いる。(IIJmioのIoTサービスは、LTEの場合はv6アドレスも降ってくる)
環境はRaspberry Pi 3B と Raspbian(buster)を使った。
Raspbianがクリーンな状態であれば、
sudo apt install screen ppp
を実行する。
DeviceTreeの設定
Candy PI Lite+のボード上にあるSPI-UART変換のチップSC16IS752は、Raspberry Pi のSPI0に接続されている。
まず、candy-pi-lite-service で使っているDeviceTreeの設定をdtcでコンパイルする。
wget https://raw.githubusercontent.com/CANDY-LINE/candy-pi-lite-service/master/boot/overlays/sc16is752-spi0-ce1.dts
dtc -@ -I dts -O dtb -o /boot/overlays/sc16is752-spi0-ce1.dtbo sc16is752-spi0-ce1.dts
これを有効にするため、/boot/config.txt
に
dtoverlay=sc16is752-spi0-ce1
を追加する。再起動すると、/dev/ttySC1
が使用可能になる。
Baudrateの設定
Candy Pi Lite+のBaudrateを設定する。
起動毎にbaudrateは115200に設定されるが、
921600まで設定可能なので、ATコマンドを使って値を設定する。
Candy Pi Lite+のモデムのモジュールはQuictel EC21 なので、
これのマニュアルを参照。
115200でUARTに接続する。
screen /dev/ttySC1 115200
ATコマンドでbaudrateを設定。
AT+IPR=921600;&W
一旦リブートしてから設定したBaudrateで再接続して、通信ができれば設定完了。
(AT
と送信してOK
が帰ってくることを確認する)
pppの設定
/etc/ppp/peers/provider
に pppdの設定を作る。candy-pi-lite-serviceでの設定(iijmio ipv4/v6併用の設定)に合わせている。(環境に応じて適宜修正する)
# /etc/ppp/peers/provider
/dev/ttySC1
921600
+ipv6
ipv6cp-accept-local
ipv6cp-accept-remote
user "mio@iij"
password "iij"
connect "/usr/sbin/chat -v -f /etc/chatscripts/quictel_ec2x"
nocrtscts
usepeerdns
noauth
noipdefault
defaultroute
ipcp-accept-local
ipcp-accept-remote
novj
novjccomp
noccp
ipcp-max-configure 30
local
lock
modem
persist
maxfail 3
nodetach
debug
ipparam provider
内部的に実行されるchatスクリプトを
/etc/chatscripts/quictel_ec2x
に作成する。
ABORT "NO CARRIER"
ABORT "ERROR"
ABORT "NO DIALTONE"
ABORT "BUSY"
ABORT "NO ANSWER"
"" AT
OK ATH0
OK ATZ0
OK ATE0
OK AT+QCFG=\"nwscanmode\",0,1
OK AT+QCFG=\"nwscanmode\"
OK ATD*99# CONNECT ''
ここまで設定すると、 pon
のコマンドで接続が行われる。
interfacesの設定
Debianのネットワーク設定は、/etc/network/interfaces.d/
で行っている。
/etc/network/interfaces.d/ppp0
を以下の内容で作成する。
iface ppp0 inet ppp
これで、ifup ppp0
で接続が行われる。
問題
-
pon
,ifup
でpppを起動するとpppの接続が完了するまでコマンドから復帰しない。 - wvdialだとなぜか接続できない。