Armadilloフォーラム

起動時に無線LAN接続のところで停止してしまうことがある

naga0001

2015年1月21日 10時39分

Armadillo-440起動ログ抜粋
---------------------------------------------------------------------------------------
awl13: RX Transmission mode SDINT HT
mmc1: registerd "awl13" device as awlan0
awl13: Version 3.0.2 Load.
Starting basic firewall: done
Setting hostname: done
Configuring network interfaces: fec: PHY @ 0x0, ID 0x07c0f1 -- LAN8720
eth0: link down
done
Starting inetd: done
Setting at-cgi: done
Starting lighttpd: done
Creating avahi.services: done
Starting avahi.daemon: done
Starting Xfbdev: doneawl13: WID=0x5, STATUS CODE=0x0
awl13: disconnected!
awl13: device ready!

Mounting ramfs /home/ftp/pub: done
Running local start script (/etc/config/rc.local).
Starting functester: done
awl13: MAC is 00:1d:12:b2:f4:5a
awl13: WID=0x5, STATUS CODE=0x1
awl13: WID=0x5, STATUS CODE=0x1
awl13: WID=0x5, STATUS CODE=0x0
awl13: disconnected!
awl13: WID=0x5, STATUS CODE=0x1
awl13: WID=0x5, STATUS CODE=0x0
awl13: disconnected!
awl13: WID=0x5, STATUS CODE=0x1
awl13: WID=0x5, STATUS CODE=0x0
awl13: disconnected!
awl13: WID=0x5, STATUS CODE=0x1
awl13: WID=0x5, STATUS CODE=0x0
awl13: disconnected!
awl13: WID=0x5, STATUS CODE=0x1
awl13: WID=0x5, STATUS CODE=0x1
awl13: connected!

---------------------------------------------------------------------------------------
Armadilloの起動がここで停止してしまうことがある。

ctrl+c入力もしくは15分程待つと起動される。

手動でコマンド(Ctrl+Cなど)入力等することなく
1分以内程度で起動されるように何か対策はできないでしょうか?

再起動かけるとすぐに起動できる時もあれば何度再起動しても停止してしまう時があります。
教えてください。よろしくお願いします。

コメント

at_kojiro.yamada

2015年1月21日 13時50分

rc.localに終了しない(あるいは時間がかかる)コマンドがあるのだと思います。
/etc/config/rc.localを添付していただけませんか?

naga0001

2015年1月21日 15時19分

rc.localファイルを添付します。
よろしくお願いします。

> rc.localに終了しない(あるいは時間がかかる)コマンドがあるのだと思います。
> /etc/config/rc.localを添付していただけませんか?
>

ファイル ファイルの説明
rc.local_.txt

at_kojiro.yamada

2015年1月21日 20時30分

> rc.localファイルを添付します。
ありがとうございます。
確認しましたが、rc.localには、「終了しない(あるいは時間がかかる)コマンド」は無いようです。

パスフレーズやESSIDは伏せてもらって構いませんので、以下の情報もいただけると調査しやすくなると思います。
- 無線LANアクセスポイントの型番
- /etc/config/interfaces
- /etc/config/awl13-firmware-load.sh

naga0001

2015年1月23日 9時30分

> パスフレーズやESSIDは伏せてもらって構いませんので、以下の情報もいただけると調査しやすくなると思います。
> - 無線LANアクセスポイントの型番
> - /etc/config/interfaces
> - /etc/config/awl13-firmware-load.sh

rc.localファイルの確認ありがとうございます。
上記の情報を添付します。

よろしくお願いします。

ファイル ファイルの説明
回答.txt

at_takashi.sasayama

2015年1月27日 8時49分

笹山です。

いただいた情報を元に、再現試験を行っています。
現状、まだ再現には至れていません。

お手数ですが、下記の情報を教えていただけないでしょうか?

1.Linuxカーネルのバージョン
2.ユーザーランドのバージョン

上記2つはArmadilloのログイン画面で確認ができます。

atmark-dist v1.36.0 (AtmarkTechno/Armadillo-440)  # ユーザーランドのバージョン
Linux 2.6.26-at21 [armv5tejl arch]                # Linuxカーネルのバージョン
 
armadillo440-0 login: 

3.AWL13ファームウェアのバージョン

Armadilloにログイン後、以下のコマンドを実行することで確認ができます。

cat /sys/module/awl13_sdio/awlan0/firmware_version
4.6.9 # AWL13ファームウェアのバージョン

また、問題が発生している Linuxカーネル/ユーザーランドイメージは、
ATDE3上でビルドして作成したものでしょうか?
それとも下記downloadサイト等から入手したものでしょうか?

Armadillo-440 ドキュメント・ダウンロード
http://armadillo.atmark-techno.com/armadillo-440/downloads

ビルドして作成したものでしたら、カーネルコンフィギュレーションで
AWL13を有効化する以外に、変更している個所があれば教えてください。

downloadサイトから入手したイメージでしたら、
各イメージのファイル名を教えていただけないでしょうか?

■参考情報

Armadillo-400 シリーズ ソフトウェアマニュアル
図7.11. Armadillo-WLAN用SDIOインターフェース有効化
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_soft…

また、本現象が無線LANアクセスポイントに依存するのか、否か切り分けは可能でしょうか?
CISCO AIR-LAP1142N 以外の、無線LANアクセスポイントがありましたら、
同様の現象が発生するか、否か試していただけないでしょうか?

どうぞよろしくお願いいたします。

naga0001

2015年1月26日 18時22分

とりあえず先にバージョン等のみお知らせします。

> 1.Linuxカーネルのバージョン
> 2.ユーザーランドのバージョン
atmark-dist v1.33.0
Linux 2.6.26-at18[armv5tejl arch]

> 3.AWL13ファームウェアのバージョン
>
4.5.3

>
> また、問題が発生している Linuxカーネル/ユーザーランドイメージは、
> ATDE3上でビルドして作成したものでしょうか?
> それとも下記downloadサイト等から入手したものでしょうか?

ATDE3上でビルドしています。

残りの質問は後で回答させていただきます。

お手数をおかけしますが、よろしくお願いします。

naga0001

2015年1月27日 10時27分

カーネルコンフィグレーションの設定変更値を連絡します。

Kernel Configuration -> System Type -> Freescale MXC Implementations -> MX25 Options -> Armadillo-400 Board options
Enable UART4 at CON11をEnable
Enable SDHC2 at CON9をEnable
Enable PWREN for SDHC2 at CON9_1をEnable

Kernel Configuration -> System Type -> Freescale MXC Implementations -> MX25 Options -> Device Options
Enable eSDHC2をEnable

に設定しています。

無線アクセスポイントに依存するか否かの切り分けはちょっと無理そうです。
申し訳ありません。

よろしくお願いします。

at_takashi.sasayama

2015年1月27日 13時17分

笹山です。

> カーネルコンフィグレーションの設定変更値を連絡します。

各種情報の送付ありがとうございました。
いただいた情報を基に再現試験を行ってみます。

>> 3.AWL13ファームウェアのバージョン
> 4.5.3

お使いの AWL13のファームウェアが v4.5.3 と、最新の v4.6.9 より古いので、
バージョンアップすることで、現象が改善しないかを確認していただけないでしょうか。

v4.5.3 -> v4.6.9 では、特定の機器に対する接続性の改善など、
各種バグフィックスがされています。

Armadillo-WLAN (AWL13) ドキュメント・ダウンロード
http://armadillo.atmark-techno.com/armadillo-wlan/awl13/downloads

以下からダウンロードできる、フラッシュメモリイメージファイルを用いると、
AWL13ファームウェア v4.6.9 で動作確認が行えます。

Linuxカーネル WLANモデル用 (AWL13/AWL12共通) v1.13
linux-a400-wlan-1.13.bin.gz

ユーザーランド WLANモデル(AWL13対応)用 v1.09
romfs-a420-wlan-awl13-1.09.img.gz

Armadillo-420 ドキュメント・ダウンロード
http://armadillo.atmark-techno.com/armadillo-420/downloads

どうぞよろしくお願いいたします。

naga0001

2015年1月27日 18時13分

AWL13のファームウェアをv4.6.9にバージョンアップしましたが、だめでした。
同じ現象が起きてしまいます。

よろしくお願いします。

naga0001

2015年1月28日 10時01分

解決できました。ありがとうございました。

原因は、/etc/init.d/rcにNTPサーバーから時刻を取得して設定するコマンド(ntpclient -h ~)
を記述していました。たぶんそれが原因なのではないかと推測しています。
ネットワーク接続されていないのにNTPサーバ接続にいっていた為ではないでしょうか?
その記述を削除したらすぐに起動されるようになりました。
いろいろ調査いただいて申し訳ありません。ありがとうございました。

時刻合わせをやめたことで新たに教えていただきたい事があります。
無線ネットワークに接続されたことを待って時刻合わせや
作成したプログラムを起動させるためにはどうすればいいですか?

教えてください。よろしくお願いします。

at_kojiro.yamada

2015年2月10日 12時04分

> 原因は、/etc/init.d/rcにNTPサーバーから時刻を取得して設定するコマンド(ntpclient -h ~)
> を記述していました。たぶんそれが原因なのではないかと推測しています。
> その記述を削除したらすぐに起動されるようになりました。

ntpclientに & を付けて、
バックグラウンドで実行してしまうというのはどうでしょうか?
ログイン可能にするだけなら、この方法でも問題ないと思います。

> 無線ネットワークに接続されたことを待って時刻合わせや
> 作成したプログラムを起動させるためにはどうすればいいですか?

/sys/module/awl13_STA/awlan0/current_mac_status
を読むと、回線切断中は"0"、回線接続中は"1"が返ってきますので、
この値で回線が接続されているか否かを判断できます。

ただし、ネットワーク障害などは検出できないので、
無線APと接続されているがNTPサーバーとは通信できない、
という可能性もあります。

以下のようなシェルスクリプトで、無線ネットワークに接続された後にプログ
ラムの起動などができますので参考にしてください。

/etc/config/startup_my_program.sh

#!/bin/sh
 
while [ "$(cat /sys/module/awl13_STA/awlan0/current_mac_status)" != "1" ]
do
    sleep 1
done
 
my_program

また、/etc/config/rc.local などで実行する場合は、
& を付けて実行すると、ログインの妨げになりません。

/etc/config/rc.local の抜粋

# バックグラウンドで実行
/etc/config/startup_my_program.sh &

質問の趣旨が変わる場合は、新たにスレッドを立てて
タイトルと質問内容を合わせた方が回答を得やすくなると思います。

■参考情報
Armadillo-WLAN(AWL13) ソフトウェアマニュアル
7.3.2. sysfs
http://manual.atmark-techno.com/armadillo-wlan/armadillo-wlan_software_…