oono
2014年2月3日 15時55分
毎々お世話になります。
大野と申します。
ユーザーズサイトの「FSEデモアプリ for Armadillo-800シリーズ」をダウンロードして作業していますが
起動時にエラーが発生します。
1、動作環境:Armadillo-810
カーネル:linux-a810-v1.04.bin.gz
ユーザランド:atmark-dist-20131018.tar.gz
OpenCVを使えるように以下の手順に従ってユーザランドを再構築しています。
http://armadillo.atmark-techno.com/howto/armadillo-810-opencv
2、FSEデモアプリのビルド
ダウンロードして解凍したソースファイルをVmWareのATDEでクロスコンパイル
Makeを実行しただけですが特にエラーは発生せずに終了しました。
3、ビルドしたバイナリ「fse_*」を実機のSDカードへ転送
4、一番シンプルな「fse_detect」を実行
# ./fse_detect ------------[ cut here ]------------ WARNING: at drivers/usb/gadget/composite.c:304 usb_function_activate+0x34/0xa4() Modules linked in: Backtrace: [<c00110d8>] (dump_backtrace+0x0/0x110) from [<c038d9d0>] (dump_stack+0x18/0x1c) r6:c046adbc r5:00000130 r4:00000000 r3:c04e29c0 [<c038d9b8>] (dump_stack+0x0/0x1c) from [<c001d45c>] (warn_slowpath_common+0x54/0x6c) [<c001d408>] (warn_slowpath_common+0x0/0x6c) from [<c001d498>] (warn_slowpath_null+0x24/0x2c) r8:de024000 r7:de671340 r6:de7c3608 r5:de7a3d80 r4:de7a3d80 r3:00000009 [<c001d474>] (warn_slowpath_null+0x0/0x2c) from [<c027eb58>] (usb_function_activate+0x34/0xa4) [<c027eb24>] (usb_function_activate+0x0/0xa4) from [<c02804fc>] (uvc_function_connect+0x1c/0x44) r4:de7c3600 r3:c04f6288 [<c02804e0>] (uvc_function_connect+0x0/0x44) from [<c028054c>] (uvc_v4l2_open+0x28/0x7c) r5:de7c3600 r4:de7c3600 [<c0280524>] (uvc_v4l2_open+0x0/0x7c) from [<c02912fc>] (v4l2_open+0xa4/0xd8) r8:00000000 r7:de671340 r6:de7c3608 r5:c0280524 r4:de7c3600 r3:c0280524 [<c0291258>] (v4l2_open+0x0/0xd8) from [<c00b79d0>] (chrdev_open+0x160/0x188) r7:00000000 r6:de7a3b40 r5:de671340 r4:de646648 [<c00b7870>] (chrdev_open+0x0/0x188) from [<c00b1fa0>] (__dentry_open.isra.14+0x190/0x29c) r8:c00b7870 r7:de646648 r6:de671340 r5:dd157d98 r4:de01d090 [<c00b1e10>] (__dentry_open.isra.14+0x0/0x29c) from [<c00b2da0>] (nameidata_to_filp+0x40/0x4c) [<c00b2d60>] (nameidata_to_filp+0x0/0x4c) from [<c00c1318>] (do_last+0x7dc/0x7ec) r6:00000000 r5:00000000 r4:de613ed8 r3:00000000 [<c00c0b3c>] (do_last+0x0/0x7ec) from [<c00c1518>] (path_openat+0xc0/0x364) [<c00c1458>] (path_openat+0x0/0x364) from [<c00c18c0>] (do_filp_open+0x34/0x80) [<c00c188c>] (do_filp_open+0x0/0x80) from [<c00b2e9c>] (do_sys_open+0xf0/0x17c) r7:00000001 r6:de59d000 r5:ffffff9c r4:00000003 [<c00b2dac>] (do_sys_open+0x0/0x17c) from [<c00b2f50>] (sys_open+0x28/0x2c) [<c00b2f28>] (sys_open+0x0/0x2c) from [<c000dbc0>] (ret_fast_syscall+0x0/0x30) ---[ end trace 733675bf930af11d ]--- g_uvc_acm_ether gadget: UVC connect failed with -22 open: Device or resource busy
OpenCVのサンプルと同じようにuvc-gadgetと競合するようなのでプロセスをKILL
# ps | grep uvc 3065 root 0:00 uvc-gadget -c /dev/video1 -o /dev/video0 3091 root 0:00 grep uvc #kill -9 3065 # sh_mobile_ceu sh_mobile_ceu.0: SuperH Mobile CEU driver detached from camera 0
再実行
# ./fse_detect ioctl(VIDIOC_S_FMT): Invalid argument
となります。
fse_detect.cの330行目でエラーになっているように見えますが、何か環境の構築に問題があるのでしょうか?
サンプルのimages/romfs-a810-fse_at-20130807.img.gzを展開してusr/binの下から持ってきたfse_detectでも結果は同じでした。
お手数ですがよろしくお願いいたします。
コメント
at_yashi
oono
大野です。
早速の回答ありがとうございます。
> デフォルトのイメージファイルでは、USBガジェットが動作しています。こちら
> を外さないと、似たような現象になるようです。
了解いたしました。
> ダウンロード頂いた zip ファイルの中に、アプリケーション開発ガイドという
> PDFファイルがあります。この PDFの「3.3. デモアプリイメージの作成」に説
> 明がありますので、ご確認頂けますか?
はい。確認しました。このドキュメントを元に現在作業をしております。最新の以下のファイルをダウンロードしました。
linux-3.4-at6.tar.gz
atmark-dist-20140131.tar.gz
USBガジェットを外せばいいと思うのですが、2点質問です。
PDFの「3.3. デモアプリイメージの作成」では、
<*>USB Gadget Drivers(Ethernet Gadget(With CDC Ethernet support)) [変更]
変更となっていますが、これは「外す」という意味でしょうか?
現在の環境ですと
<*> USB Gadget Drivers (UVC Composite Device (ACM and Ethernet)
UVC Composite Device (ACM and Ethernet)
と表示されます。(添付ファイル参照)
文言が若干違いますが、上記と同じものと判断してよろしいでしょうか?
Userlandに関しては
[*] mjp-streamer
[*] uvc-gadget
となっていますので、単純に外せば良いのだと思います。添付ファイル参照
お手数ですがよろしくお願いいたします。
ファイル | ファイルの説明 |
---|---|
kernelconfig.png | Kernel Configurationの画面 |
userlangconfig.png | Userland Configurationの画面 |
at_yashi
> PDFの「3.3. デモアプリイメージの作成」では、
> <*>USB Gadget Drivers(Ethernet Gadget(With CDC Ethernet support)) [変更]
> 変更となっていますが、これは「外す」という意味でしょうか?
>
> 現在の環境ですと
> <*> USB Gadget Drivers (UVC Composite Device (ACM and Ethernet)
> UVC Composite Device (ACM and Ethernet)
> と表示されます。(添付ファイル参照)
> 文言が若干違いますが、上記と同じものと判断してよろしいでしょうか?
Ethernet Gadget の方を有効にし、UVC Composite の方を無効にしてください。
分りづらくて、すみません。
oono
大野です。
回答ありがとうございました。
> Ethernet Gadget の方を有効にし、UVC Composite の方を無効にしてください。
> 分りづらくて、すみません。
了解しました。
カーネルおよびユーザランドのコンフィグを行ってmakeを実行しました。
カーネルのビルドは正常に終わったようですが、ユーザランドのビルドで以下のエラーとなりました。
----エラーメッセージ----
cp: `/usr/arm-linux-gnueabihf/lib/gstreamer-1.0/libgstacmaacdec.so' を stat できません: そのようなファイルやディレクトリはありません
cp: `/usr/arm-linux-gnueabihf/lib/gstreamer-1.0/libgstacmaacenc.so' を stat できません: そのようなファイルやディレクトリはありません
cp: `/usr/arm-linux-gnueabihf/lib/gstreamer-1.0/libgstacmfbdevsink.so' を stat できません: そのようなファイルやディレクトリはありません
:
:
make[3]: *** [romfs] エラー 1
make[3]: ディレクトリ `/home/atmark/Demo/build/atmark-dist-20140131/user/gstreamer/gstreamer1.0' から出ます
make[2]: *** [romfs] エラー 2
make[2]: ディレクトリ `/home/atmark/Demo/build/atmark-dist-20140131/user/gstreamer' から出ます
make[1]: *** [romfs] エラー 2
make[1]: ディレクトリ `/home/atmark/Demo/build/atmark-dist-20140131/user' から出ます
make: *** [romfs] エラー 1
----エラーメッセージ----
実際にクロスコンパイル環境を確認すると、/usr/arm-linux-gnueabihf/lib/gstreamer-1.0はありません。
/usr/arm-linux-gnueabihf/lib/gstreamer-0.10
です。
これはクロスコンパイル環境が古いということでしょうか?
ATDE5 v20130927を使用してビルド環境構築しています。
ビルド対象のkernelとUserlandのソースファイルは最新版をダウンロードしています。
kernel v3.4-at6
Userland v20140131
最新のATDE5でビルド環境を構築すればいいのでしょうか?
お手数ですがよろしくお願いします。
at_ohsawa
oono
大野です。
毎々お世話になります。
回答ありがとうございました。
> 最新版のatmark-distでArmadillo-800シリーズ向けに
> userlandをビルドするにはgstreamer1.0が必要になります。
> 最新版のATDE5(v20140131)でビルドするか、
> gstreamer1.0関連のクロスパッケージをインストールしてください。
ATDE5(v20140131)でビルドしたところ問題なくビルドが終わりました。
FSEサンプルを組み込んだ、カーネルとユーザランドを作成してSDカードから問題なくブートしました。
サンプルの1つ、fse_detectを動かしたところ、それらしい値が画面に表示されました。
●問題点
fse_detect_serverを動かしたいのですが、これはPCとArmadillo-810が通信できる必要があります。
現在通信が出来ない状況です。usb0が存在しません。
FSEサンプルの説明書には、以下の記述があります。
------------説明抜粋--------
fse_detect_serverは、WebWeb サーバとして動作ますので、事前に USB イーサネットガジェを使用した ネットワーク設定を適切に行う必要があります。
設定方法ついては、「 ネットワーク設定を適切に行う必要があります。方法ついては、「 Armadillo Armadillo Armadillo -810 製 品マニュアル」の「 5.1.3. イーサネットガジェ」及び「 5.2. ネットワーク」を参照して下さい。
------------説明抜粋--------
マニュアルには、以下の説明があります。
------------説明抜粋--------
5.1.3. イーサネットガジェット
Armadillo-810 のイーサネットガジェットは、「RNDIS(Remote NDIS)」として実装されています。
イーサネットガジェットを認識すると"usb0"が表示されます
------------説明抜粋--------
現状は、usb0が存在しません。
# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
以前のご回答で
>Ethernet Gadget の方を有効にし、UVC Composite の方を無効にしてください。
とのことでしたので、その通りに対応しました。
しかしUVC Compositeの配下に「RNDIS support」があるようなので(添付ファイル参照)、これを無効にするとUSB イーサネットガジェを使用したネットワーク接続が出来ないのではないでしょうか?
UVC Composite も有効にする必要があるのでしょうか?
それとも別の設定があるのでしょうか?
お手数ですがよろしくお願いいたします。
ファイル | ファイルの説明 |
---|---|
KernelConfigration.png | UVC Composite 現在は無効にしています |
at_yashi
> FSEサンプルを組み込んだ、カーネルとユーザランドを作成してSDカードから問題なくブートしました。
> サンプルの1つ、fse_detectを動かしたところ、それらしい値が画面に表示されました。
よかったです。
> ●問題点
> fse_detect_serverを動かしたいのですが、これはPCとArmadillo-810が通信できる必要があります。
> 現在通信が出来ない状況です。usb0が存在しません。
Ethernet Gadget の方を有効にした時
[M]
となってました? それとも
[*]
となってました? 「[M]」だとモジュールになってしまい、カーネルには組み込
まれないので、「[*]」としてみてください。組み込まれたら、usb0 が見える
はずです。
at_yashi
oono
大野です。
毎々お世話になります。
早速のご回答ありがとうございます。
> もし可能であれば、make menuconfig を行なった後の .config を添付して頂け
> ますか? atmark-dist/linux-3.x/.config です。
OK、NG双方添付致しました。
ドライバが[M]となっておりました。
そのため組み込まれていなかったものと思われます。[*]となるように再設定してビルドしたカーネルと差し替えました。
usb0が表示されました。ありがとうございます。
PCのブラウザからProxyの例外にarmadillo-810のガジェットイーサのIPアドレスを設定して
http://IPアドレス:8080
でアクセスしました。
armadillo-810のコンソールにHTTP応答の電文が表示されました。
→添付ファイル:command.png
しかし、ブラウザ上では、保存画面?のようなものが表示されました。
→添付ファイル;access.png
これはブラウザのバージョンあるいは設定の問題でしょうか?
ブラウザはIE8:8.0.7601を使っております。
お手数ですがよろしくお願いいたします。
ファイル | ファイルの説明 |
---|---|
ng_config.txt | NG時の.config |
ok_config.txt | NG時の.config |
access.png | ブラウザでの表示 |
command.png | Armadilloのコンソールでの表示 |
oono
大野です。
毎々お世話になります。
現状、Armadillo-810側はおそらく問題ないかと思います。
ブラウザからアクセスすると保存ダイアログがポップアップする状態です。
ドキュメントによるとmotion JPEGに対応しているブラウザが必要ということでした。
http://d.hatena.ne.jp/iww/20130730/mjpg
上記サイトによるとIE8はNGでしたので
Opera, Chromeも試してみましたが、保存ダイアログがポップアップあるいは無反応でした。
何か設定が必要なのでしょうか?
お手数ですがよろしくお願いいたします。
at_yashi
kenichi
横から申し訳ございません。
大庭と申します。
上記を見ながら進めておりましたが私もエラーで止まってしまいました。
ATDE5は最新を使用しています。
修正点を教えて頂けないでしょうか?
よろしくお願い致します。
cp: `squashfs-tools-4.2/squashfs-tools/mksquashfs' を stat できません: そのようなファイルやディレクトリはありません
cp: `squashfs-tools-4.2/squashfs-tools/unsquashfs' を stat できません: そのようなファイルやディレクトリはありません
make[3]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/squashfs-tools' から出ます
make[3]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/sudo' に入ります
romfs-inst.sh /usr/bin/sudo
cp: `sudo' を stat できません: そのようなファイルやディレクトリはありません
chmod 4611 /home/atmark/atmark-dist-20140131/romfs/usr/bin/sudo
chmod: `/home/atmark/atmark-dist-20140131/romfs/usr/bin/sudo' にアクセスできません: そのようなファイルやディレクトリはありません
make[3]: *** [romfs] エラー 1
make[3]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/sudo' から出ます
make[2]: *** [romfs] エラー 2
make[2]: ディレクトリ `/home/atmark/atmark-dist-20140131/user' から出ます
make[1]: *** [romfs] エラー 1
make[1]: ディレクトリ `/home/atmark/atmark-dist-20140131' から出ます
make: *** [romfs] エラー 2
at_daisuke.sasaki
at_yashi
2014年2月5日 17時41分
FSEをお試し頂き、ありがとうございます。
デフォルトのイメージファイルでは、USBガジェットが動作しています。こちら
を外さないと、似たような現象になるようです。
ダウンロード頂いた zip ファイルの中に、アプリケーション開発ガイドという
PDFファイルがあります。この PDFの「3.3. デモアプリイメージの作成」に説
明がありますので、ご確認頂けますか?