Armadilloフォーラム

ATB-USB-AWL13 wpa_supplicantに関して

yoshioka-rogu

2015年4月22日 19時45分

吉岡と申します。

Armadillo420・ATB-USB-AWL13で
wpa_supplicantを使用しないでコマンドでは接続はできています。

 (一部エコー省略)
 [root@armadillo420-0 (ttymxc1) ~]# insmod /lib/modules/awl13_usb.ko
 [root@armadillo420-0 (ttymxc1) ~]# cat /mnt/fwimage469_STA_USB.bin > /sys/module/awl13_usb/awlan0/firmware
 [root@armadillo420-0 (ttymxc1) ~]# iwpriv awlan0 fwload
 [root@armadillo420-0 (ttymxc1) ~]# iwpriv awlan0 fwsetup
 [root@armadillo420-0 (ttymxc1) ~]# cat /sys/module/awl13_usb/awlan0/firmware_version
 4.6.9
 [root@armadillo420-0 (ttymxc1) ~]# ifconfig awlan0 inet 192.168.0.100 up
 [root@armadillo420-0 (ttymxc1) ~]# iwconfig awlan0 essid (essid)
 [root@armadillo420-0 (ttymxc1) ~]# iwconfig awlan0 mode Manager
 [root@armadillo420-0 (ttymxc1) ~]# iwpriv awlan0 set_psk (key)
 [root@armadillo420-0 (ttymxc1) ~]# iwpriv awlan0 set_cryptmode WPA2-AES
 [root@armadillo420-0 (ttymxc1) ~]# ping 192.168.0.1
 PING 192.168.0.1 (192.168.0.1): 56 data bytes
 64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=154.7 ms
 64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=83.3 ms
 64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=4.9 ms
 64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=4.5 ms
 ^C
 

wpa_supplicantでは接続できません。
 [root@armadillo420-0 (ttymxc1) ~]# insmod /lib/modules/awl13_usb.ko
 [root@armadillo420-0 (ttymxc1) ~]# cat /mnt/fwimage469_STA_USB.bin > /sys/module/awl13_usb/awlan0/firmware
 [root@armadillo420-0 (ttymxc1) ~]# iwpriv awlan0 fwload
 [root@armadillo420-0 (ttymxc1) ~]# iwpriv awlan0 fwsetup
 [root@armadillo420-0 (ttymxc1) ~]# cat /sys/module/awl13_usb/awlan0/firmware_version
 4.6.9
 [root@armadillo420-0 (ttymxc1) ~]# ifconfig awlan0 inet 192.168.0.100 up
 [root@armadillo420-0 (ttymxc1) ~]# wpa_supplicant -B -D wext -i awlan0 -c /etc/wpa_supplicant.conf
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 ioctl[SIOCSIWENCODEEXT]: Invalid argument <--(何か間違っている)
 ioctl[SIOCSIWENCODEEXT]: Invalid argument <--(何か間違っている)
 ioctl[SIOCSIWENCODEEXT]: Invalid argument <--(何か間違っている)
 [root@armadillo420-0 (ttymxc1) ~]#
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 [root@armadillo420-0 (ttymxc1) ~]# iwconfig awlan0
 awl13: WID_STATUS CODE=1 (OK)
 awlan0 IEEE 802.11bgn ESSID:"(essid)" <--(ESSIDもOK)
  Mode:Managed Frequency:2.452 GHz Access Point: XX:XX:XX:XX:XX:XX <--(アクセスポイントMAC)
  Bit Rate:0 kb/s Tx-Power=off
  Encryption key:off
  Power Management:off
  Link Quality:0 Signal level:0 Noise level:0
  Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
  Tx excessive retries:0 Invalid misc:0 Missed beacon:0
 [root@armadillo420-0 (ttymxc1) ~]# awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK) <--(以下を約10秒ごとに繰り返す)
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 awl13: WID_STATUS CODE=1 (OK)
 awl13: WID_STATUS CODE=0 (DISCONNECTED)
 awl13: disconnected!
 
wpa_supplicant.confの設定
(WLI-UC-GNMで接続する設定をそのまま使用しています)

 network={
  ssid="(essid)"
  key_mgmt=WPA-PSK
  proto=WPA2
  #psk="(key)"
  psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 }

同じ設定でWLI-UC-GNMでは接続
 [root@armadillo420-0 (ttymxc1) ~]# insmod /lib/modules/rt3070sta.ko
 Using /lib/modules/rt3070sta.ko
 rtusb init rt2870 --->
 usbcore: registered new interface driver rt2870
 [root@armadillo420-0 (ttymxc1) ~]# ifconfig ra0 inet 192.168.0.100 up
 [root@armadillo420-0 (ttymxc1) ~]# wpa_supplicant -B -D wext -i ra0 -c /etc/wpa_supplicant.conf
 [root@armadillo420-0 (ttymxc1) ~]# ping 192.168.0.1
 PING 192.168.0.1 (192.168.0.1): 56 data bytes
 64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=16.3 ms
 64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=2.7 ms
 64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=2.4 ms
 ^C

Invalid argumentと出ているので
WLI-UC-GNMと同じ設定のどこかが悪いと思うのですがよくわかりません。

詳しい方がいらっしゃればご教授お願いいたします。
長文で失礼しました。

コメント

at_daisuke.sasaki

2015年4月24日 12時14分

佐々木大輔です。

AWL13では、ファームウェア内でwpa_supplicantの動きをするため、
Linux側でwpa_supplicant動作をさせる事ができず、そのソフトをそのまま使う事はできません。

差し支えなければ、wpa_supplicantを使う理由を教えて頂けますか?

yoshioka-rogu

2015年4月27日 10時08分

佐々木様、
ご連絡が遅くなり申し訳ありません。

> 差し支えなければ、wpa_supplicantを使う理由を教えて頂けますか?

 http://manual.atmark-techno.com/armadillo-wlan/armadillo-wlan_software_…
 「3.3. 対応機器とOS」に以下の内容があったのでwpa_supplicantを使用しようと思いました。

 (一部抜き出し)
 既存のLinux 用アプリケーションや Linux が提供している APIを、そのまま使うことが可能です。
 無線LANは、Ethernet 以上に設定が必要になるため、iwconfig や iwpriv 、WPA Supplicantなど、
 無線LAN専用のツールを使う必要があります。
 これらのツールも、他の Linux と同様に、そのまま使うことができるようになっています。

 「そのまま使うことができる」となっていた為
 WLI-UC-GNMで確認が取れていたwpa_supplicantを使用と思いました。
 Armadillo420の動作確認済みデバイスのUSBタイプの無線LANは販売終了品がほとんどですし
 AWL13を使用していれば今後販売終了品となっても互換品が販売さえるだろうとの考えたためです
 USBタイプとしたのは検討システムの測定項目で複数のGPIOを使用するためです。

検討中のシステム
 ○車両にArmadillo420+AWL13で車両の情報を記録
 ○車両は同一ルートを通って移動
 ○停車場所(複数箇所)も決まっているのでAPを設置
 ○停車場所に着たらwpa_supplicantでAPに自動接続し記録データをセンターに送信
  (接続・切断をIwconfigでSSIDを監視)

 デバックモードでwpa_supplicantの動作を確認してみると
 APの一覧(iwlist?)をとり設定ファイルと合致したAPに接続しているようなので
 自分でプログラミングできない事はなさそうですが
 自分で作成するよりも既にある機能を使用した方がいいとの考えからです。

> AWL13では、ファームウェア内でwpa_supplicantの動きをするため、
> Linux側でwpa_supplicant動作をさせる事ができず、そのソフトをそのまま使う事はできません。

 ファームウェア内でwpa_supplicantの動きをするとかかれておりますが
 複数APに自動で接続・切断は可能なのでしょうか?
 説明書の読み逃しなのかもしれませんが、複数のAPに自動接続する設定(コマンド?)方法のドキュメントがないでしょうか?

ご教授願えればと思います。
以上、よろしくお願いいたします。

at_daisuke.sasaki

2015年4月28日 12時04分

佐々木大輔です。

>  http://manual.atmark-techno.com/armadillo-wlan/armadillo-wlan_software_…
>  「3.3. 対応機器とOS」に以下の内容があったのでwpa_supplicantを使用しようと思いました。

マニュアルの記載で誤解を招いたようで、申し訳ありません。

> デバックモードでwpa_supplicantの動作を確認してみると
> APの一覧(iwlist?)をとり設定ファイルと合致したAPに接続しているようなので
> 自分でプログラミングできない事はなさそうですが
> 自分で作成するよりも既にある機能を使用した方がいいとの考えからです。

使用意図は理解できましたが、前述したとおり、そのままソフトを使用する事はできません。

>  ファームウェア内でwpa_supplicantの動きをするとかかれておりますが
>  複数APに自動で接続・切断は可能なのでしょうか?
>  説明書の読み逃しなのかもしれませんが、複数のAPに自動接続する設定(コマンド?)方法のドキュメントがないでしょうか?

AWL13は、複数のAPへの切り替えを自動では行う機能はもっていません。

接続状態やサイトサーベイの結果から、
接続するAPの情報を再設定しするプログラムやスクリプトを別途書いて頂く必要があります。

yoshioka-rogu

2015年4月28日 13時53分

佐々木様、ご連絡ありがとうございます。

> マニュアルの記載で誤解を招いたようで、申し訳ありません。

コメントの内容から佐々木様はアットマークテクノの方だと思いますので
誤解を招く記載を修正した方がいいと思います。(私だけかもしれませんが・・・)
記載文を読みwpa_supplicantが使用可能と思いAWL13を購入いたしました。

> 使用意図は理解できましたが、前述したとおり、そのままソフトを使用する事はできません。
> AWL13は、複数のAPへの切り替えを自動では行う機能はもっていません。

できない事がハッキリわかれば、先に進めるので了解いたしました。

> 接続状態やサイトサーベイの結果から、
> 接続するAPの情報を再設定しするプログラムやスクリプトを別途書いて頂く必要があります。

了解いたしました。

ご回答ありがとうございました。

at_daisuke.sasaki

2015年4月28日 17時08分

佐々木大輔です。

> 誤解を招く記載を修正した方がいいと思います。(私だけかもしれませんが・・・)
> 記載文を読みwpa_supplicantが使用可能と思いAWL13を購入いたしました。

申し訳ありません。
今後のアップデートでドキュメントは修正いたします。

今後も、改善点などあれば、ぜひご指摘ください。

> > 接続状態やサイトサーベイの結果から、
> > 接続するAPの情報を再設定しするプログラムやスクリプトを別途書いて頂く必要があります。
>
> 了解いたしました。

実装にあたり、AWL13の使用方法の不明点などあれば、フォーラム上に投稿お願いします。

以上です。