LoginSignup
2
2

More than 3 years have passed since last update.

Candy Pi Lite+ のPPP設定

Last updated at Posted at 2019-07-14

この文書について

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だとなぜか接続できない。
2
2
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
2
2