Armadilloフォーラム

カーネルv3.4-at8でのAWL13に関して

hirao-technoaccell

2014年7月25日 16時46分

お世話になっております。平尾と申します。

Armadillo-810+ATB-A810WLANの組み合わせで使用しています。カーネルv3.4-at8でAVコーディックの対応ができたという案内を頂いたので、早速v3.4-at6からv3.4-at8にアップデートを試みましたが、AWL13が組み込まれていないようなのでお問い合わせをさせて頂いています。
ATB-A810WLANを使っているのでat6と同じ手順でmenuconfigでのカーネルとユーザーランドのコンフィグレーションを変更しビルドを行いました。ビルドではエラーは起こらず(linux.bin linux.bin.gz romfs.img romfs.img.gz)が出来上がり、SDブートディスクを(debian-wheezy-armhf_a810_20130116.tar.gz)を使って作成し実行させましたが、下記のようなログが出てきました。
==================
awlan0 no private ioctls.

awlan0 no private ioctls.

Error for wireless request "Set Mode" (8B06) :
SET failed on device awlan0 ; No such device.
Error for wireless request "Set ESSID" (8B1A) :
SET failed on device awlan0 ; No such device.
Error for wireless request "Set Encode" (8B2A) :
SET failed on device awlan0 ; No such device.
awlan0 no private ioctls.

Error for wireless request "Set Frequency" (8B04) :
SET failed on device awlan0 ; No such device.
====================
WiFiをアクセスするスクリプトはat6で使っていた物と全く同じです。
どうもビルド時にawl13が組み込まれていないように思えます。at8にアップデートする場合menuconfigの設定等でat6と変えなければいけない所があるのでしょうか。ビルドは2回やり直してみましたが結果は同じでした。
宜しくお願いいたします。

以上

コメント

at_daisuke.sasaki

2014年7月28日 19時36分

佐々木大輔です。

問題の切り分けのため、確認させていただきたいのですが、
記載していただいた確認の過程で、
AWL13のドライバ(awl13_sdio.ko)はinsmodしていますか?

hirao-technoaccell

2014年7月29日 9時43分

佐々木様

平尾です。アドバイスありがとうございます。

初心者のためinsmodの処理がよくわからないのですが、特に何もしていないと思います。
行った処理は、awl13-3.0.2-3.tar.gzをダウンロードし
 atmark@atde5:~$ tar zxf awl13-3.0.2-3.tar.gz
で解凍し、出来上がった(awl13-3.0.2)のフォルダーを(atmark-dist-20140602)直下にコピーした後名前を(awl13)に変更しました。その後、menuconfigの処理を行いました。これらの処理はat6でビルドを行った際も同じで、at6の時もinsmodという特別なコマンド処理は行っていませんでしたが特に問題なくビルドが出来WiFiもAVコーディングも実行できました。
出来上がったファイルをSDに組み込み、SDブートで実行しています。その時のスクリプトもat6時と全く同じで、下記のようなスクリプトを作成し
==== wifi_avstream_acer.sh ===============
#!/bin/sh
#Adohock connecting
iwpriv awlan0 fwload
iwpriv awlan0 fwsetup
iwconfig awlan0 mode Ad-Hoc
iwconfig awlan0 essid technoacceladHock
iwconfig awlan0 enc 1234567890
iwpriv awlan0 set_cryptmode WEP64
iwconfig awlan0 channel 1
ifconfig awlan0 192.168.11.62 up
#stop uvc-gadget
killall uvc-gadget
#MJPG-streamer
mjpg_streamer -i "/usr/lib/mjpg_streamer/input_uvc.so --device /dev/video1 --yuv --resolution QVGA --fps 30" -o "/usr/lib/mjpg_streamer/output_http.so --www /usr/lib/mjpg_streamer/www"
=================================================

/etc/config/rc.localファイの最後に
=================================================
#additional script
#LED1 and 4 on
echo 1 > /sys/class/leds/LED1/brightness
echo 1 > /sys/class/leds/LED4/brightness
#WiFi setting and MJPEG streaming
chmod +x /etc/config/wifi_avstream_acer.sh
./etc/config/wifi_avstream_acer.sh &
================================================-=
のコマンドを追加し、実行しています。at6の場合にはこれで特に問題なく動作していましたが、これ自体が間違っていたのでしょうか?

アドバイス宜しくお願い致します。

以上

> 佐々木大輔です。
>
> 問題の切り分けのため、確認させていただきたいのですが、
> 記載していただいた確認の過程で、
> AWL13のドライバ(awl13_sdio.ko)はinsmodしていますか?
>

hirao-technoaccell

2014年7月29日 14時15分

佐々木様

平尾です。お世話になっております。追伸です。
ブート時のログでAWL13に関するところを検索してみました。insmodそのものかどうか判りませんが、下記のようなログがありましたのでご報告いたします。
=====================================
Loading kernel module: awl13_sdio
modprobe: chdir(3.4-at8): No such file or directory
=================================------=

よろしくお願いいたします。

以上

> 佐々木様
>
> 平尾です。アドバイスありがとうございます。
>
> 初心者のためinsmodの処理がよくわからないのですが、特に何もしていないと思います。
> 行った処理は、awl13-3.0.2-3.tar.gzをダウンロードし
>  atmark@atde5:~$ tar zxf awl13-3.0.2-3.tar.gz
> で解凍し、出来上がった(awl13-3.0.2)のフォルダーを(atmark-dist-20140602)直下にコピーした後名前を(awl13)に変更しました。その後、menuconfigの処理を行いました。これらの処理はat6でビルドを行った際も同じで、at6の時もinsmodという特別なコマンド処理は行っていませんでしたが特に問題なくビルドが出来WiFiもAVコーディングも実行できました。
> 出来上がったファイルをSDに組み込み、SDブートで実行しています。その時のスクリプトもat6時と全く同じで、下記のようなスクリプトを作成し
> ==== wifi_avstream_acer.sh ===============
> #!/bin/sh
> #Adohock connecting
> iwpriv awlan0 fwload
> iwpriv awlan0 fwsetup
> iwconfig awlan0 mode Ad-Hoc
> iwconfig awlan0 essid technoacceladHock
> iwconfig awlan0 enc 1234567890
> iwpriv awlan0 set_cryptmode WEP64
> iwconfig awlan0 channel 1
> ifconfig awlan0 192.168.11.62 up
> #stop uvc-gadget
> killall uvc-gadget
> #MJPG-streamer
> mjpg_streamer -i "/usr/lib/mjpg_streamer/input_uvc.so --device /dev/video1 --yuv --resolution QVGA --fps 30" -o "/usr/lib/mjpg_streamer/output_http.so --www /usr/lib/mjpg_streamer/www"
> =================================================
>
> /etc/config/rc.localファイの最後に
> =================================================
> #additional script
> #LED1 and 4 on
> echo 1 > /sys/class/leds/LED1/brightness
> echo 1 > /sys/class/leds/LED4/brightness
> #WiFi setting and MJPEG streaming
> chmod +x /etc/config/wifi_avstream_acer.sh
> ./etc/config/wifi_avstream_acer.sh &
> ================================================-=
> のコマンドを追加し、実行しています。at6の場合にはこれで特に問題なく動作していましたが、これ自体が間違っていたのでしょうか?
>
> アドバイス宜しくお願い致します。
>
> 以上
>
>
> > 佐々木大輔です。
> >
> > 問題の切り分けのため、確認させていただきたいのですが、
> > 記載していただいた確認の過程で、
> > AWL13のドライバ(awl13_sdio.ko)はinsmodしていますか?
> >

at_daisuke.sasaki

2014年7月30日 20時02分

佐々木大輔です。

AWL13を使用するためのドライバとファームウエアはユーザーランドに格納されています。

つまり、カーネルをビルドした時に、生成される「romfs.img.gz」に含まれています。
今回は、ユーザランドにdebian(debian-wheezy-armhf_a810_20130116.tar.gz)を
使用しているとの事なので、「romfs.img.gz」は使用していないはずです。

debianにユーザーランドにドライバとファームウェアを格納する必要があります。

試しに、以下の作業を実施してみてください。

0. Armadillo-810を起動する

1. ビルド環境(ATDE5)の{Atmark Dist}/awl13/src以下に格納されている、
 awl13_sdio.koをArmadillo-810にコピーする(USBメモリなどでコピーしてください)

2. AWL13ホームページに格納されているファームウェアを
Armadillo-810にコピーする
 http://armadillo.atmark-techno.com/files/downloads/armadillo-wlan/firmw…

3. Armadillo-810のファイルをコピーしたディレクトリで以下のコマンドを実行する。

root@debian:~# insmod awl13_sdio.ko 
root@debian:~# lsmod
root@debian:~# cat fwimage464_STA_SDIO.bin > /sys/module/awl13_sdio/awlan0/firmware

4. 再度 wifi_avstream_acer.sh を実行する

wifi_avstream_acer.shのスクリプトは正常に実行されるようになるでしょうか?

> =====================================
> Loading kernel module: awl13_sdio
> modprobe: chdir(3.4-at8): No such file or directory
> =================================------=

ドライバのロードはinsmodかmodprobeで行うのですが、
modprobeの場合は、/lib/modules/{kernel version}/以下にドライバ(awl13_sdio.ko)が
格納されている必要があります。

今回ご使用のユーザーランドが、at6用に作ったものであれば、
/lib/modules/3.4-at6/以下にドライバが置かれていないでしょうか?

hirao-technoaccell

2014年7月31日 17時11分

佐々木様

お世話になっております。平尾です。
ご丁寧なアドバイスありがとうございます。Atmark DistでSDブートファイルを作成する場合とDebianで作成する方法において、私は両方共等価な方法と思い込みをしていたのですが、ユーザーランドの組み込みで異なるということですね。勉強になりました。

アドバイス頂いた
> 試しに、以下の作業を実施してみてください。
>
> 0. Armadillo-810を起動する
(省略)
> 4. 再度 wifi_avstream_acer.sh を実行する

を実行してみました。なぜだか判らないのですが、./wifi_avstream_acer.sh を実行するとNot foundとなってしまい実行できませんでした。lsコマンドで見るとファイルは存在するのですが。そこでwifi_avstream_acer.shのコマンドライン
iwpriv awlan0 fwload
iwpriv awlan0 fwsetup
iwconfig awlan0 mode Ad-Hoc
iwconfig awlan0 essid technoacceladHock
iwconfig awlan0 enc 1234567890
を一行ずつ打ち込むと確かにawl13の動作が確認できました。

> 今回ご使用のユーザーランドが、at6用に作ったものであれば、
> /lib/modules/3.4-at6/以下にドライバが置かれていないでしょうか?

[root@armadillo810-0 (ttySC2) ~]# ls /lib/modules/3.4-at6
kernel/ modules.builtin.bin modules.softdep
misc/ modules.dep modules.symbols
modules.alias modules.dep.bin modules.symbols.bin
modules.alias.bin modules.devname
modules.builtin modules.order

となっておりました。

試しに16.2.1.Atmark Distを構築するの手順でSDブートファイルを作成してみましたが、結果はDebian同様に同じエラーがログに表示されました(at6の時はAtmark Distの手順で作成し動作しました)。
Loading kernel module: awl13_sdio
modprobe: chdir(3.4-at8): No such file or directory
 (省略)
awlan0 no private ioctls.

awlan0 no private ioctls.

ところで頂いたアドバイスを元に調べて気がついたことがあります。at8で動作させた際に、/lib/modules/のファイルを調べてみました。
[root@armadillo810-0 (ttySC2) ~]# ls /lib/modules/
3.4-at6/
となり、3.4-at8のファイルが存在しませんでした。そのため
modprobe: chdir(3.4-at8): No such file or directory
のエラーが出ているのではないかと疑っています。
ビルトかSDファイル作成時に何か凡ミスをしているようなのですが、原因が判りません。もしこれが原因でしたら、可能性のありそうな手順の場所をアドバイス頂けないでしょうか。見当違いないなら無視してください。
よろしくお願いいたします。

以上

> 佐々木大輔です。
>
> AWL13を使用するためのドライバとファームウエアはユーザーランドに格納されています。
>
> つまり、カーネルをビルドした時に、生成される「romfs.img.gz」に含まれています。
> 今回は、ユーザランドにdebian(debian-wheezy-armhf_a810_20130116.tar.gz)を
> 使用しているとの事なので、「romfs.img.gz」は使用していないはずです。
>
> debianにユーザーランドにドライバとファームウェアを格納する必要があります。
>
>
> 試しに、以下の作業を実施してみてください。
>
> 0. Armadillo-810を起動する
>
> 1. ビルド環境(ATDE5)の{Atmark Dist}/awl13/src以下に格納されている、
>  awl13_sdio.koをArmadillo-810にコピーする(USBメモリなどでコピーしてください)
>
> 2. AWL13ホームページに格納されているファームウェアを
> Armadillo-810にコピーする
>  http://armadillo.atmark-techno.com/files/downloads/armadillo-wlan/firmw…
>
> 3. Armadillo-810のファイルをコピーしたディレクトリで以下のコマンドを実行する。
>
>

> root@debian:~# insmod awl13_sdio.ko 
> root@debian:~# lsmod
> root@debian:~# cat fwimage464_STA_SDIO.bin > /sys/module/awl13_sdio/awlan0/firmware
> 

>
> 4. 再度 wifi_avstream_acer.sh を実行する
>
> wifi_avstream_acer.shのスクリプトは正常に実行されるようになるでしょうか?
>
>
> > =====================================
> > Loading kernel module: awl13_sdio
> > modprobe: chdir(3.4-at8): No such file or directory
> > =================================------=
>
> ドライバのロードはinsmodかmodprobeで行うのですが、
> modprobeの場合は、/lib/modules/{kernel version}/以下にドライバ(awl13_sdio.ko)が
> 格納されている必要があります。
>
> 今回ご使用のユーザーランドが、at6用に作ったものであれば、
> /lib/modules/3.4-at6/以下にドライバが置かれていないでしょうか?
>

hirao-technoaccell

2014年7月31日 18時29分

佐々木様

お世話になっております。平尾です。
自己レスで恐縮ですが、3.4-at8が組み込まれていない原因がわかりました。私の理解不足で、SDブートの実行時に
hermit> setenv console=ttySC2,115200 noinitrd rootwait root=/dev/mmcblk0p2 mem=384M
の処理を行うのを忘れていました。Atmark Dist構築後にこの処理を行うと3.4-at8が組み込まれました。
[root@armadillo810-0 (ttySC2) ~]# ls /lib/modules/
3.4-at8/
root=/dev/mmcblk0p2が抜けていたので、at8が新たに作成されず以前のat6のファイルが残っていたということですね。
wifi_avstream_acer.sh の処理も正しく実行できました。ご多忙のところ、初歩的なミスでお手数をお掛けして申し訳ありませんでした。

以上

> 佐々木様
>
> お世話になっております。平尾です。
> ご丁寧なアドバイスありがとうございます。Atmark DistでSDブートファイルを作成する場合とDebianで作成する方法において、私は両方共等価な方法と思い込みをしていたのですが、ユーザーランドの組み込みで異なるということですね。勉強になりました。
>
> アドバイス頂いた
> > 試しに、以下の作業を実施してみてください。
> >
> > 0. Armadillo-810を起動する
> (省略)
> > 4. 再度 wifi_avstream_acer.sh を実行する
>
> を実行してみました。なぜだか判らないのですが、./wifi_avstream_acer.sh を実行するとNot foundとなってしまい実行できませんでした。lsコマンドで見るとファイルは存在するのですが。そこでwifi_avstream_acer.shのコマンドライン
> iwpriv awlan0 fwload
> iwpriv awlan0 fwsetup
> iwconfig awlan0 mode Ad-Hoc
> iwconfig awlan0 essid technoacceladHock
> iwconfig awlan0 enc 1234567890
> を一行ずつ打ち込むと確かにawl13の動作が確認できました。
>
> > 今回ご使用のユーザーランドが、at6用に作ったものであれば、
> > /lib/modules/3.4-at6/以下にドライバが置かれていないでしょうか?
>
> [root@armadillo810-0 (ttySC2) ~]# ls /lib/modules/3.4-at6
> kernel/ modules.builtin.bin modules.softdep
> misc/ modules.dep modules.symbols
> modules.alias modules.dep.bin modules.symbols.bin
> modules.alias.bin modules.devname
> modules.builtin modules.order
>
> となっておりました。
>
> 試しに16.2.1.Atmark Distを構築するの手順でSDブートファイルを作成してみましたが、結果はDebian同様に同じエラーがログに表示されました(at6の時はAtmark Distの手順で作成し動作しました)。
> Loading kernel module: awl13_sdio
> modprobe: chdir(3.4-at8): No such file or directory
>  (省略)
> awlan0 no private ioctls.
>
> awlan0 no private ioctls.
>
> ところで頂いたアドバイスを元に調べて気がついたことがあります。at8で動作させた際に、/lib/modules/のファイルを調べてみました。
> [root@armadillo810-0 (ttySC2) ~]# ls /lib/modules/
> 3.4-at6/
> となり、3.4-at8のファイルが存在しませんでした。そのため
> modprobe: chdir(3.4-at8): No such file or directory
> のエラーが出ているのではないかと疑っています。
> ビルトかSDファイル作成時に何か凡ミスをしているようなのですが、原因が判りません。もしこれが原因でしたら、可能性のありそうな手順の場所をアドバイス頂けないでしょうか。見当違いないなら無視してください。
> よろしくお願いいたします。
>
> 以上
>
> > 佐々木大輔です。
> >
> > AWL13を使用するためのドライバとファームウエアはユーザーランドに格納されています。
> >
> > つまり、カーネルをビルドした時に、生成される「romfs.img.gz」に含まれています。
> > 今回は、ユーザランドにdebian(debian-wheezy-armhf_a810_20130116.tar.gz)を
> > 使用しているとの事なので、「romfs.img.gz」は使用していないはずです。
> >
> > debianにユーザーランドにドライバとファームウェアを格納する必要があります。
> >
> >
> > 試しに、以下の作業を実施してみてください。
> >
> > 0. Armadillo-810を起動する
> >
> > 1. ビルド環境(ATDE5)の{Atmark Dist}/awl13/src以下に格納されている、
> >  awl13_sdio.koをArmadillo-810にコピーする(USBメモリなどでコピーしてください)
> >
> > 2. AWL13ホームページに格納されているファームウェアを
> > Armadillo-810にコピーする
> >  http://armadillo.atmark-techno.com/files/downloads/armadillo-wlan/firmw…
> >
> > 3. Armadillo-810のファイルをコピーしたディレクトリで以下のコマンドを実行する。
> >
> >

> > root@debian:~# insmod awl13_sdio.ko 
> > root@debian:~# lsmod
> > root@debian:~# cat fwimage464_STA_SDIO.bin > /sys/module/awl13_sdio/awlan0/firmware
> > 

> >
> > 4. 再度 wifi_avstream_acer.sh を実行する
> >
> > wifi_avstream_acer.shのスクリプトは正常に実行されるようになるでしょうか?
> >
> >
> > > =====================================
> > > Loading kernel module: awl13_sdio
> > > modprobe: chdir(3.4-at8): No such file or directory
> > > =================================------=
> >
> > ドライバのロードはinsmodかmodprobeで行うのですが、
> > modprobeの場合は、/lib/modules/{kernel version}/以下にドライバ(awl13_sdio.ko)が
> > 格納されている必要があります。
> >
> > 今回ご使用のユーザーランドが、at6用に作ったものであれば、
> > /lib/modules/3.4-at6/以下にドライバが置かれていないでしょうか?
> >