Armadilloフォーラム

PPPDによるFOMAアダプタ接続不能

watanabe

2020年2月17日 14時24分

渡辺と申します。

Armadillo-440でFOMAアダプタUM02-Fを使用してpppdによるソケット通信を行いたいのですが、うまく行きません。
2016年頃に一度システムを構築して、そのときにFOMA通信を行ったのですが、その後LINUX環境を更新して
S/Wを変更(通信とは無関係)したので、FOMA通信を確認したら発信が出来ませんでした。

現象としては、connectに行くところで、TXDからデータが何も出てきません。そのときのDSR/CTSは立った状態です。

pppdの設定は以下のurlを参考に行いました。
https://armadillo.atmark-techno.com/howto/serial-foma

「pppdによるFOMAアダプター初期接続不良」のフォーラムがあったので、crtsctsをやめてみたのですが、現象は
変わりませんでした。
2016年当時のS/Wを持ってきて、現在のlinux環境でビルドしてみると、同じようにconnect出来ませんでした。
同じバージョンのromfs.img.gzとlinux.bin.gzを使用すると、正常にFOMAで通信が出来ました。

コメント

佐藤です。

正常動作する場合のユーザランドと linux カーネルのバージョンと
動作しない場合のユーザランドと linux カーネルのバージョンを教えてもらえますでしょうか。

> 佐藤です。
>
> 正常動作する場合のユーザランドと linux カーネルのバージョンと
> 動作しない場合のユーザランドと linux カーネルのバージョンを教えてもらえますでしょうか。

ご連絡ありがとうございます。
正常動作:linux-2.6-26-at16
動作しない:linux-2.6-26-at29
になります。

渡辺です。

ご連絡ありがとうございます。

> > 正常動作:linux-2.6-26-at16
> > 動作しない:linux-2.6-26-at29
> こちら、もう少し絞り込むことはできますでしょうか。
> 過去のバージョンは以下にあります。
> https://download.atmark-techno.com/armadillo-440/source/kernel/

> > 正常動作:linux-2.6-26-at16
-->linux-2.6.26-at16.tar.gz

> > 動作しない:linux-2.6-26-at29
-->linux-2.6.26-at26.tar.gz

になります。

佐藤です。

正常動作する・しない の境界になっているバージョンわかりますでしょうか。
(linux-2.6.26-at16.tar.gz は動作するが、linux-2.6.26-at17.tar.gz では動作しない など)

渡辺です。

> 正常動作する・しない の境界になっているバージョンわかりますでしょうか。
> (linux-2.6.26-at16.tar.gz は動作するが、linux-2.6.26-at17.tar.gz では動作しない など)
申し訳ありません。どこからNGかは分かりません。

佐藤です。

こちらでは、FOMAアダプタUM02-F は持ち合わせていないため問題の再現確認ができません。
問題発生の境界となっているバージョンを調べていただければ、その差分から何かアドバイスができるかと思います。

渡辺です。

> こちらでは、FOMAアダプタUM02-F は持ち合わせていないため問題の再現確認ができません。
> 問題発生の境界となっているバージョンを調べていただければ、その差分から何かアドバイスができるかと思います。
切り分けを行おうと調べていたら、現在の環境ではlinux-2.6-26-at16でも通信が出来ませんでした。

何が悪いのか調べていたのですが、一つ気になることがあります。

[root@armadillo440-0 (ttymxc2) ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
[root@armadillo440-0 (ttymxc2) ~]#

routeコマンドを入れたのですが、routeがありません。

・etc/ppp/optionsでdefaultroutetを指定すれば、pppがデフォルトのルートになるのでは
 ないのでしょうか?
https://armadillo.atmark-techno.com/howto/serial-foma
 の『1. LinuxカーネルにPPPの機能を組み込む』と『2. atmark-distにpppdを組み込む』を行えば
 pppdが組み込まれて、routeに現れると考えておりましたが、違いますでしょうか?
 (『3. PPP関連の設定を行なう』も行っています)

佐藤です。

> 切り分けを行おうと調べていたら、現在の環境ではlinux-2.6-26-at16でも通信が出来ませんでした。
これまで動作していたバージョンでも動作しなくなったということであれば、FOMA UM02-F側の問題という可能性もあるかもしれません。
FOMA UM02-F を PC に接続して動作確認するなどして正常に動作するかどうかを試してみるのもよいかと思います。

渡辺です。

> > 切り分けを行おうと調べていたら、現在の環境ではlinux-2.6-26-at16でも通信が出来ませんでした。
> これまで動作していたバージョンでも動作しなくなったということであれば、FOMA UM02-F側の問題という可能性もあるかもしれません。
> FOMA UM02-F を PC に接続して動作確認するなどして正常に動作するかどうかを試してみるのもよいかと思います。
当時のimgファイルがあったので、それをダウンロードして動かしてみたら正常に動作しました。
これを旧imgファイルと呼びます。

旧imgファイルの以下のファイルを持ってきて、新しく新imgファイルを作り直しました。
・/etc/ppp/options
・/etc/ppp/pap-secrets
・/etc/ppp/ppp-on-dialer
また、/etc/ppp/のファイルのパーミッションを旧imgに合わせました。

以下のコマンドを入れて、新旧のimgファイルで比較しました。

pppd -d /dev/ttymxc1 115200 connect /etc/ppp/ppp-on-dialer xx.xxx.xxx.xxx:
(xx.xxx.xxx.xxxは自IPアドレス)

〇シリアルからの出力
旧:データ出力有り
新;データ出力なし
〇FOMA通信中
旧:点灯
新:消灯
〇ifconfig
旧:ppp0が出る
新:何も出ない
〇car/log/messega
旧:正常終了メッセージ
新:pppd[1271]: Connect script failed

pppd -d /dev/ttymxc1 115200 connect /etc/ppp/ppp-on-dialer xx.xxx.xxx.xxx:
のコマンドに対して、failしているようなので、ネットワークインターフェースに
登録されないのではないかと思います。

調べる箇所をサジェスト頂けると大変助かります。

佐藤です。

> 旧imgファイルの以下のファイルを持ってきて、新しく新imgファイルを作り直しました。
新imgファイルとは、linuxカーネルイメージとユーザランドイメージの両方を指していますでしょうか。
ユーザランドイメージ(Atmark Dist)のバージョンはいくつでしょうか。

渡辺です。

> > 旧imgファイルの以下のファイルを持ってきて、新しく新imgファイルを作り直しました。
> 新imgファイルとは、linuxカーネルイメージとユーザランドイメージの両方を指していますでしょうか。
> ユーザランドイメージ(Atmark Dist)のバージョンはいくつでしょうか。
Atmark Distの更新はしていないので、初期のままです。
versionファイルを見ると
DIST_VERSION="1.30.1"になっています。

渡辺です。

> > > 旧imgファイルの以下のファイルを持ってきて、新しく新imgファイルを作り直しました。
> > 新imgファイルとは、linuxカーネルイメージとユーザランドイメージの両方を指していますでしょうか。
> > ユーザランドイメージ(Atmark Dist)のバージョンはいくつでしょうか。
> Atmark Distの更新はしていないので、初期のままです。
> versionファイルを見ると
> DIST_VERSION="1.30.1"になっています。

> > 新imgファイルとは、linuxカーネルイメージとユーザランドイメージの両方を指していますでしょうか。
はい。そうです。

渡辺です。

> > > > 旧imgファイルの以下のファイルを持ってきて、新しく新imgファイルを作り直しました。
> > > 新imgファイルとは、linuxカーネルイメージとユーザランドイメージの両方を指していますでしょうか。
> > > ユーザランドイメージ(Atmark Dist)のバージョンはいくつでしょうか。
> > Atmark Distの更新はしていないので、初期のままです。
> > versionファイルを見ると
> > DIST_VERSION="1.30.1"になっています。
>
> > > 新imgファイルとは、linuxカーネルイメージとユーザランドイメージの両方を指していますでしょうか。
> はい。そうです。

現状分かっていることを整理したいと思います。
・古いimgファイル(linux-2.6.26-at16+Atmark Dist1.30.1の環境)で動かすと正常に動作する
・VmwarePLAYERの環境が変わったので、新たに作り直した"linux-2.6.26-at16+Atmark Dist1.30.1の環境"
 だと動作しない。
・pppd -d /dev/ttymxc1 115200 connect /etc/ppp/ppp-on-dialer xx.xxx.xxx.xx:
 (xx.xxx.xxx.xxは自IPアドレス)はどちらのimgファイルも正常に動作する
・connectに行くと、旧imgファイルは成功するが、新imgファイルは失敗する。
 失敗するときは、シリアルにデータが出力されない
・新imgファイルでも、シリアルポートは正常に動作する(データを出力する)。
・両imgファイル共に以下のurlの設定を行っている
https://armadillo.atmark-techno.com/howto/serial-foma
・以下のファイルを、旧imgファイルからコピーして新imgファイルを作成している
ext2_devtable.txt
/etc/ppp/options
/etc/ppp/pap-secrets
/etc/ppp/ppp-on-dialer(実行権限付き)

調べるべきポイントをご指摘頂けると助かります。