[Armadillo:03451] Re: Armadillo-300の無線と拡張バス

池田真也 email@hidden
2008年 9月 29日 (月) 12:55:31 JST


竹之下様

池田です。
お世話になっております。
ご質問の件につき、追加で調査を行いましたのでお知らせします。

[結論]
・「近くのch(ch2)が使われていた」かどうかは、
   本現象の原因ではなさそう(New)
・使用するchを明示的に設定すれば、本現象は発生しない(New)
  レートを変更しても、本現象は発生しない。
・ESSID に参加しているPCが存在しない場合は、
  本現象は発生しない

[再現方法]

(用意するもの)
・Armadillo-300(最新版のファームウェアを使用)
・無線LANを使えるPC
  (NIC:Intel(R) Wireless WiFi Link 4965AGN) 802.11a/b/g/n を使用可能

(手順)
1. 以下の設定でPCの無線LANをあらかじめ起動する。
   ESSID: adhoc-tmp
   モード: Ad-hoc(ch1)
   暗号化しない
   注1) この手順を省略すれば現象は発生しない
2. Armadillo-300を起動し、コンソールからログインする。
3. Armadillo-300のコンソールにて、以下のコマンドを入力する。

wlanconfig ath0 destroy
wlanconfig ath0 create wlandev wifi0 wlanmode adhoc
iwconfig ath0 essid adhoc_tmp
iwconfig ath0 rate auto
ifconfig ath0 172.16.0.20 netmask 255.255.255.0 up

   注2) ifconfig コマンドを実行する前に以下のコマンドも入力すれば、
        本現象は発生しない。
iwconfig ath0 channel 1

4. ath0 の起動処理が生じるが、その最中に以下のメッセージが
   コンソールに表示される。同時に/var/log/messages にも記録される。
ath_rate_sample: no rates for (MAC address)?

5. 次に以下のコマンドを実行する。
iwconfig ath0 rate auto

6. 速度変更処理が行われるがその最中に 4. と同じ現象が起きる。
   注3) 注2の処理を行った場合は、本現象は起きない

* 今回の実験中、信号は弱いものの、他所の ch1 ch2 の電波が検出された。

--
したがって以上より、

> 「近くのch(ch2)が使われていた」状況と、
> 「無線LANインターフェースの速度を変更する」操作は
> 現象を再現するのに必須の条件でしょうか?

「近くのch(ch2)が使われていた」は必須では無いようです。
「無線LANインターフェースの速度を変更する」場合も
例のメッセージが表示されたということです。

> 例えば、無線LANインターフェースの速度を変更しない場合、
> 現象は発生しないでしょうか?

おそらく正しく伝わっていなかったためだと思われますが、
・インタフェースをアップした直後
・レートを変更した直後
のいずれも場合でも現象が発生したということです。

--
電源電圧の件は了解しました。
低電圧時はUSB以外はリセットがかかるので大丈夫なものの、
USBバスパワー機器には低電圧が供給されてしまうということですね。

--
別件の無線LANの相性問題の件ですが、
そのような相性問題が起きるといった報告が
すでにあがっていたりはしませんでしょうか?

以上、よろしくお願いします。


Takenoshita Koyo さんは書きました:
> 池田 さん
> 
> 竹之下といいます。
> はじめまして。
> 
> 現象を再現してみたいのですが、少し質問させてください。
> 
>> 状況
>> ・Armadillo-300が接続しようとする ESSID に参加しているPCがすでに存在する
>>   -> このようなPCが存在しない場合は表示されなかった。
>> ・Armadilloが使おうとするchannel(ch1 default)の
>>   近くのch(ch2)が他の無線LANで使われていた。
>>
>> この状況で以下の操作を行った場合に前記エラーメッセージが表示されました。
>> ・Armadilloの無線LANインタフェースをアップする。
>> ・Armadilloの無線LNAインタフェースの速度を変更する。
>>   54Mbps->Auto Auto->54M (いずれの場合も実質的には54Mbps)
> のうち、「近くのch(ch2)が使われていた」状況と、
> 「無線LANインターフェースの速度を変更する」操作は
> 現象を再現するのに必須の条件でしょうか?
> 
> 例えば、無線LANインターフェースの速度を変更しない場合、
> 現象は発生しないでしょうか?
> 
> 2008-09-22 (月) の 11:38 +0900 に 池田真也 さんは書きました:
>> 池田です。
>>
>> 2008/08/19 18:52 のメールの続きです。
>> 時間がそうとう経ってますね。
>>
>> 下記の現象を発生される条件が分かったのでお知らせします。
>>
>>> 質問1: 無線LAN設定でなぞのメッセージが表示されます。
>>>
>>> 無線LANを有効にすると以下のエラーメッセージが表示されます。
>>> (/var/log/messages より抜粋)
>>>
>>> <12>Aug  7 03:54:07 kernel: ath_rate_sample: no rates for
>> 00:80:92:3e:19:b5?
>>
>> 状況
>> ・Armadillo-300が接続しようとする ESSID に参加しているPCがすでに存在する
>>   -> このようなPCが存在しない場合は表示されなかった。
>> ・Armadilloが使おうとするchannel(ch1 default)の
>>   近くのch(ch2)が他の無線LANで使われていた。
>>
>> この状況で以下の操作を行った場合に前記エラーメッセージが表示されました。
>> ・Armadilloの無線LANインタフェースをアップする。
>> ・Armadilloの無線LNAインタフェースの速度を変更する。
>>   54Mbps->Auto Auto->54M (いずれの場合も実質的には54Mbps)
>>
>> 以上の操作を行った10数秒後にいったん通信が途切れて、すぐに復活します。
>> このタイミングで前記エラーメッセージが表示されるようです。
>>
>> この現象は、ブートローダ・カーネル・ユーザランドを出荷状態に戻しても
>> 発生しました。
>> 最新の組み合わせでも起きましたし、最古の組み合わせでも起きました。
>>
>> おそらく別の話だとおもいますが、この検証を行っている最中、
>> ifconfig コマンドで、ath0 の設定を変更したときに1度だけカーネルが
>> パニックしたことをお知らせします。
>> このとき使用したソフトウェアは最古の組み合わせでした。
>>
>>> ifconfig ath0 172.16.0.20 netmask 255.
>>> 255.255.0 up
>>> [email@hidden (ttyAM0) /etc/Unable to handle kernel NULL pointer
>> dereferenc
>>> e at virtual address 00000054
>>> pgd = c0024000
>>> [00000054] *pgd=00000000
>>> Internal error: Oops: 17 [#1]
>>> Modules linked in:
>>> CPU: 0
>>> PC is at ieee80211_input+0xf4/0x1744
>> ...(略)
>>> Backtrace:
>>> [<c0187214>] (ieee80211_input+0x0/0x1744) from [<c01580b8>]
>> (ath_rx_tasklet+0x65
>>> 4/0x934)
>>> [<c0157a64>] (ath_rx_tasklet+0x0/0x934) from [<c005bcf4>]
>> (tasklet_action+0x80/0
>>> xcc)
>>> [<c005bc74>] (tasklet_action+0x0/0xcc) from [<c005b8d4>]
>> (__do_softirq+0x5c/0xd0
>>> )
>> ...(略)
>>
>>
>> --
>>
>> 2008/08/11 15:48 に nakai 様から頂いたメールでは、以下のように書かれてい
>> ました。
>>
>>> ソースコードを見ると、
>>> /* Ratecontrol sometimes returns invalid rate index */
>>> と記述され、invalid rate index(rix)のときは、前回のrixを設定するように
>> 書かれています。
>>
>> しかし、前記ログが表示されるのは、ath_rate_findrate 関数にて、
>>  sn->num_rates <=0 が満たされるときだと思います。
>> つまり、rix の中身は関係ないと思います。
>>
>> 以上、よろしくお願いします。
>>
>>
>> 池田真也 は書きました:
>>> 池田です。
>>>
>>> お答えいただき、ありがとうございました。
>>> 大変時間が空いてしまって恐縮です。
>>>
>>>> ・Armadillo-300の電源投入時
>>>> ・SW1(Reset)が押されているとき
>>>> にアクティブになるようです。
>>> おっしゃるタイミングでグランド電位になることを確認しました。
>>> (テスタレベルでですが。)
>>>
>>>> 毎回そのWarningは出ますか?
>>> 毎回出ます。
>>>
>>>> 出る場合、/var/log/messagesの該当行の前後10行くらいを貼ってもらえますか?
>>> 以下のとおりです。
>>>
>>> <12>Aug 19 08:51:08 kernel: VFS: Mounted root (ext2 filesystem).
>>> <14>Aug 19 08:51:08 kernel: Freeing init memory: 108K
>>> <30>Aug 19 08:51:08 flatfsd: restore fs- from partition 1, tstamp=30
>>> <30>Aug 19 08:51:08 flatfsd: Created 13 configuration files (6461 bytes)
>>> <38>Aug 19 08:51:17 sshd[982]: Server listening on :: port 22.
>>> <26>Aug 19 08:51:18 thttpd[992]: bind 0.0.0.0 - Address already in use
>>> <29>Aug 19 08:51:18 thttpd[992]: thttpd/2.25b 29dec2003 starting on port 80
>>> <28>Aug 19 08:51:18 thttpd[992]: started as root without requesting
>>> chroot(), wa
>>> rning only
>>> <30>Aug 19 08:51:19 init: ^MStarting pid 1013, console : '/sbin/getty'
>>> <30>Aug 19 08:51:19 init: ^MStarting pid 1014, console : '/sbin/getty'
>>> <15>Aug 19 08:51:26 kernel: eth0: no IPv6 routers present
>>> <15>Aug 19 08:51:27 kernel: ath0: no IPv6 routers present
>>> <12>Aug 19 08:51:30 kernel: ath_rate_sample: no rates for 00:80:92:3e:19:b5?
>>> <38>Aug 19 09:29:55 login[1013]: root login  on `ttyAM0'
>>>
>>> 現在は、ath_rate_sampleにて、インタフェースの設定を行っているので、
>>> ログインしてもしなくてもこのメッセージは表示されます。
>>> ログインプロンプトが表示されてから10秒程経過してから、表示されます。
>>> スクリプトを使わず、手動で設定をしても同様の現象が起きます。
>>> ログを見た感じでは単独のエラーメッセージのようです。
>>>
>>> さらに50秒ほどして無線LANが使用可能になります。
>>> (ログインプロンプトが表示されるまで30秒かかるので、
>>>   電源を入れてから無線LANが使えるまで90秒ほどかかります)
>>> ちょっと長いような気がするのですが大丈夫でしょうか?
>>>
>>> 今回の件と関係があるかどうかわかりませんが、
>>> コンパイル(make dep all)時に下記のエラーメッセージが表示されます。
>>>
>>> /bin/sh: extensions/.dccp-test: 許可がありません
>>> /bin/sh: extensions/.layer7-test: 許可がありません
>>> /bin/sh: extensions/.statistic-test: 許可がありません
>>>
>>> 大丈夫でしょうか。(別の話かもしれませんが)
>>>
>>> 以上、よろしくお願いします。
>>>
>>> nakai さんは書きました:
>>>> nakaiです。
>>>>
>>>>> 質問2: 拡張バス(CON12)のEXT_RESET はどんなときに有効になりますか?
>>>> ・Armadillo-300の電源投入時
>>>> ・SW1(Reset)が押されているとき
>>>> にアクティブになるようです。
>>>>
>>>>> 質問1: 無線LAN設定でなぞのメッセージが表示されます。
>>>>> wlanconfig ath0 destroy
>>>>> wlanconfig ath0 create wlandev wifi0 wlanmode adhoc
>>>>> iwconfig ath0 essid MYESSID
>>>>> iwconfig ath0 rate 54M
>>>> この手順で試してみましたが、私のところでは
>>>>> <12>Aug  7 03:54:07 kernel: ath_rate_sample: no rates for [MAC]?
>>>> はでません。
>>>>
>>>> ソースコードを見ると、
>>>> /* Ratecontrol sometimes returns invalid rate index */
>>>> と記述され、invalid rate index(rix)のときは、前回のrixを設定するように書かれています。
>>>>
>>>> 毎回そのWarningは出ますか?
>>>> 出る場合、/var/log/messagesの該当行の前後10行くらいを貼ってもらえますか?
>>>>
>>>>
>>>> 池田真也 さんは書きました:
>>>>> 池田と申します。
>>>>> 初めて投稿します。
>>>>> Armadillo-300 でプログラミングをしていますが疑問が2つあります。
>>>>> ご教示いただけると幸いです。
>>>>>
>>>>> 質問1: 無線LAN設定でなぞのメッセージが表示されます。
>>>>>
>>>>> 無線LANを有効にすると以下のエラーメッセージが表示されます。
>>>>> (/var/log/messages より抜粋)
>>>>>
>>>>> <12>Aug  7 03:54:07 kernel: ath_rate_sample: no rates for 00:80:92:3e:19:b5?
>>>>>
>>>>> 無線LAN関連の問題だと思うのですが、意味と対策がわかりません。
>>>>> 無線LANの設定は以下のとおりです。
>>>>> wlanconfig ath0 destroy
>>>>> wlanconfig ath0 create wlandev wifi0 wlanmode adhoc
>>>>> iwconfig ath0 essid MYESSID
>>>>> iwconfig ath0 rate 54M
>>>>>
>>>>> [email@hidden (ttyAM0) ~]# wlanconfig ath0
>>>>> [status not implemented (yet). Spawning iwconfig...]
>>>>> ath0      IEEE 802.11g  ESSID:"MYESSID"
>>>>>           Mode:Ad-Hoc  Frequency:2.412 GHz  Cell: 02:1D:E0:00:01:BF
>>>>>           Bit Rate=54 Mb/s   Tx-Power:12 dBm   Sensitivity=0/3
>>>>>           Retry:off   RTS thr:off   Fragment thr:off
>>>>>           Encryption key:off
>>>>>           Power Management:off
>>>>>           Link Quality=59/94  Signal level=-31 dBm  Noise level=-90 dBm
>>>>>           Rx invalid nwid:22  Rx invalid crypt:0  Rx invalid frag:0
>>>>>           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
>>>>>
>>>>> 無線LANによる通信は出来てはいるのですが、気になります。
>>>>> ちなみに設定の最後で54Mに設定していますが、これが無くても、
>>>>> もしくは auto に設定しても同じ現象が起きます。
>>>>> このときは Bit Rate=0 Mb/s と表示されてさらに変な感じです。
>>>>>
>>>>>
>>>>> 質問2: 拡張バス(CON12)のEXT_RESET はどんなときに有効になりますか?
>>>>>
>>>>> Armadillo-300 はメモリバスの一部を拡張バスとして利用できますが、
>>>>> この出力ピンの48番には、EXT_RESETという出力端子があります。
>>>>> 外部機器のリセットで使用するものだと思うのですが、
>>>>> どのようなときにこの出力が有効になるかが分かりません。
>>>>>
>>>>> 以上、よろしくお願いします。
>>>>>
>>>>> _______________________________________________
>>>>> armadillo mailing list
>>>>> email@hidden
>>>>> http://lists.atmark-techno.com/mailman/listinfo/armadillo
>>>> _______________________________________________
>>>> armadillo mailing list
>>>> email@hidden
>>>> http://lists.atmark-techno.com/mailman/listinfo/armadillo
>>>>
>>> _______________________________________________
>>> armadillo mailing list
>>> email@hidden
>>> http://lists.atmark-techno.com/mailman/listinfo/armadillo
>>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo



armadillo メーリングリストの案内