Armadilloフォーラム

PUX 顔認識ソフトウェア FaceU デモアプリを動かせません

yoko

2015年7月3日 11時15分

初めてお世話になります。藤田と申します。
初心者でして、何か情報の不足、失礼などありましたら申し訳ありません。

現状、PUX 顔認識ソフトウェア FaceU for Armadillo-800シリーズ デモアプリをダウンロードいたしましたが、こちらを動作させることができておりません。(実行状態.png)
[Soket: Address family not supported by protocol]
とありますので、何かネットワーク関係のエラーだとは思うのですが、状況をつかみかねております。

【行ったこと】
1.ユーザーランド、カーネルの書込み。
・linux-faceu-a810_demo.bin.gz
・romfs-faceu-a810_demo.img.gz |

2.USBイーサネットガジェットを使用したネットワーク設定(/etc/network/interfaces の書き換え)

QA「FSEデモアプリ for Armadillo-800シリーズの動作に関して」もよみましたが、解決の糸口が分かりかねている状況です。
何か助言などを頂けないでしょうか?

ファイル ファイルの説明
実行状態.png
コメント

at_takashi.sasayama

2015年7月3日 18時21分

笹山です。

> [Soket: Address family not supported by protocol]
> とありますので、何かネットワーク関係のエラーだとは思うのですが、状況をつかみかねております。

デモアプリは正常動作時も、上記のログが出力されていますので、
今回はとりあえず無視していただければと思います。

添付画像に記載されている以下のエラーですが、
これは Armadillo-810 にカメラが接続されていない、
もしくは接続されていてもカメラが認識されていない時に出力されます。

open error
ioctl(0x40045613): Bad file descriptor

カメラが認識されていれば /dev 配下に video0 が存在します。
このファイルが存在するかをご確認ください。

[root@armadillo810]# ls -al /dev/ |grep video
crw-rw----    1 root     root       81,   0 Jan  1 12:17 video0

カメラを接続していても video0 が存在しない場合ですが、
カメラモジュール01 をお使いの場合は、カメラモジュールと Armadillo-810 本体が
しっかりと接続されているかをご確認ください。

USB接続カメラをご使用の場合は、カメラが UVC 対応かをご確認ください。

笹山様。ありがとうございます。

> カメラが認識されていれば /dev 配下に video0 が存在します。
> このファイルが存在するかをご確認ください。

> [root@armadillo810]# ls -al /dev/ |grep video
> crw-rw----    1 root     root       81,   0 Jan  1 12:17 video0
> 

確認しましたが、確かに異常が発生している状態では、
カメラが認識されておりませんでした。
上述のコードを試すと、何も検出されず、空白行が戻ります。

> カメラを接続していても video0 が存在しない場合ですが、
> カメラモジュール01 をお使いの場合は、カメラモジュールと Armadillo-810 本体が
> しっかりと接続されているかをご確認ください。
カメラモジュールを使用しております。

接続について確認させて頂きましたが、刺さっているようでした。
念のため、カーネルとユーザーランドイメージを焼き直したところ、
カメラは認識できておりました(焼き直し後のカメラ認識.png)。
 <検証に使用したバージョン>
  ・カーネル:linux-a810-v1.13.bin.gz
  ・ユーザランドイメージ:romfs-a810-v1.05.img.gz

この状態でカーネルとユーザーランドイメージをFaceUのものに変更すると、
カメラのデバイスが認識できなくなるのですが、
悪いのは接続状況でしょうか?

ファイル ファイルの説明
焼き直し後のカメラ認識.png

at_takashi.sasayama

2015年7月6日 16時50分

笹山です。

> この状態でカーネルとユーザーランドイメージをFaceUのものに変更すると、
> カメラのデバイスが認識できなくなるのですが、
> 悪いのは接続状況でしょうか?

標準イメージ linux-a810-v1.13.bin.gz では、カメラモジュールが認識されていますので、
FaceU のカーネルイメージの問題かと思われます。

お手数なのですが、FaceUのカーネルイメージの md5 値を確認してたいただけないでしょうか?
当方の環境で、正常動作を確認できたイメージでは、以下の値となりました。

[ATDE5]$ md5sum linux-faceu-a810_demo.bin.gz 
4b27169a4c35a377db955fbbe0ba6d66  linux-faceu-a810_demo.bin.gz

もしも、md5 値が異なる場合は、何らかの理由で違うイメージになっています。
お手数ですが、ユーザーズサイトからデモアプリ一式を、再度ダウンロードしてください。

Armadillo-810: ダウンロード
https://users.atmark-techno.com/download/armadillo-810

同じ md5 値だった場合は、以下のカーネルコンフィギュレーションを行ったカーネルイメージでは、
正常に動作しないかを確認してみてください。

Linux/arm 3.4-at14 Kernel Configuration
    Device Drivers  --->
        <*> Multimedia support  --->
             [*]   Video capture adapters  --->
                 Encoders, decoders, sensors and other helper chips  --->
                     < > Armadillo AV Codec Middleware Driver # チェックを外します
        [*] USB support  --->
                 <*>   USB Gadget Support  --->
                     <*>   USB Gadget Drivers (UVC Composite Device (ACM and Ethernet))  ---> 
                          (X) Ethernet Gadget (with CDC Ethernet support)  # 左記の Ethernet Gadget を選択します。

このカーネルコンフィギュレーションで作成されたカーネルイメージは、
linux-faceu-a810_demo.bin.gz 相当になります。

笹山様。ありがとうございます。
藤田です。

> お手数なのですが、FaceUのカーネルイメージの md5 値を確認してたいただけないでしょうか?
> 当方の環境で、正常動作を確認できたイメージでは、以下の値となりました。
>

> [ATDE5]$ md5sum linux-faceu-a810_demo.bin.gz 
> 4b27169a4c35a377db955fbbe0ba6d66  linux-faceu-a810_demo.bin.gz
> 

こちらですが、一致しましたので、標準イメージlinux-a810-v1.13.bin.gzより、
カーネルコンフィギュレーションを行い、カーネルを書き換えました。

結果、videoデバイスは認識できたようなのですが、
同様のエラーが出てきております。
付け加え、もう一つエラーが増えているようでした。
標準イメージを選択し間違えたのでしょうか?(ERROR2.png)

[root@armadillo810-0 (ttySC2) /usr]# ls -al /dev/ |grep video
crw-rw----    1 root     root       81,   0 Jan  1 09:00 video0
crw-rw----    1 root     root       81,   1 Jan  1 09:00 video1
crw-rw----    1 root     root       81,   2 Jan  1 09:00 video2
[root@armadillo810-0 (ttySC2) /usr]# PFIDDemoServer_armv7hf_Accuracy_PARTS_so.out
socket: Address family not supported by protocol
ioctl(0xc0cc5605): Invalid argument
ioctl(0x40045613): Invalid argument
ファイル ファイルの説明
ERROR2.png

at_takashi.sasayama

2015年7月7日 16時33分

笹山です。

> 結果、videoデバイスは認識できたようなのですが、
> 同様のエラーが出てきております。
> 付け加え、もう一つエラーが増えているようでした。
> 標準イメージを選択し間違えたのでしょうか?(ERROR2.png)

video0 以外に video1,2 が存在しますので、AVコーデックミドルウェアの無効化ができていないようです。
以下のコマンドを実行すると、CONFIG_VIDEO_ACM が有効になっていることが確認できると思います。

[root@armadillo810-0 (ttySC2) ~]# zcat /proc/config.gz |grep CONFIG_VIDEO_ACM
CONFIG_VIDEO_ACM=y
CONFIG_VIDEO_ACM_DECODER=y
CONFIG_VIDEO_ACM_ENCODER=y

AVコーデックミドルウェアが無効化されている時は、以下の様な結果となります。

[root@armadillo810-0 (ttySC2) ~]# zcat /proc/config.gz |grep CONFIG_VIDEO_ACM
# CONFIG_VIDEO_ACM is not set

カーネルコンフィグで、以下の項目のチェックが外れていることを、ご確認ください。

Linux/arm 3.4-at14 Kernel Configuration
    Device Drivers  --->
        <*> Multimedia support  --->
             [*]   Video capture adapters  --->
                 Encoders, decoders, sensors and other helper chips  --->
                     < > Armadillo AV Codec Middleware Driver # チェックを外します

改めて添付いただきましたログ (焼き直し後のカメラ認識.png) を見直しますと
linux-a810-v1.13.bin.gz でもカメラモジュールが認識されていないことがわかりました。

カメラモジュールを認識している場合は、以下の様に video4 まで存在します。

[root@armadillo810-0 (ttySC2) ~]# ls -al /dev/* |grep video
crw-rw----    1 root     root       81,   0 Jan  1 10:16 /dev/video0
crw-rw----    1 root     root       81,   1 Jan  1 10:16 /dev/video1
crw-rw----    1 root     root       81,   2 Jan  1 10:16 /dev/video2
crw-rw----    1 root     root       81,   3 Jan  1 10:16 /dev/video3
crw-rw----    1 root     root       81,   4 Jan  1 10:16 /dev/video4

いただいたログでは video3 までしか存在していませんでした。

カメラモジュールに型番が記載されていますので、それをご確認いただけないでしょうか?
FaceU のデモアプリは、以下のカメラモジュールで動作するように設定されている為、
違う物が接続されている場合は認識されません。

Armadillo-810 カメラモジュールセット01(Bコネクタ用)
http://armadillo.atmark-techno.com/armadillo-810/OP-A810-CAM01-00
(上記のカメラモジュールは KBCR-iC01VG と記載されています。)

もしも、同じ型番のカメラモジュールだった場合は、カメラモジュールの故障が疑われます、
お手数なのですが、下記「交換のお申込み」に記載されている、
「通電後の製品の故障交換(保証交換)」の手順をご参照のうえ、
手続きを行っていただければと思います。

交換のお申込み
http://www.atmark-techno.com/support/exchange1

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

笹山様。ありがとうございます。
藤田です。

> カメラモジュールに型番が記載されていますので、それをご確認いただけないでしょうか?
> FaceU のデモアプリは、以下のカメラモジュールで動作するように設定されている為、
> 違う物が接続されている場合は認識されません。
>
> Armadillo-810 カメラモジュールセット01(Bコネクタ用)
> http://armadillo.atmark-techno.com/armadillo-810/OP-A810-CAM01-00
> (上記のカメラモジュールは KBCR-iC01VG と記載されています。)
KBCR-S02TXGとなっておりました。
今回私が使用しているモジュールでは、FaceUのデモアプリは動かすことができない、という結論でよろしいのでしょうか?

at_takashi.sasayama

2015年7月8日 8時58分

笹山です。

ご確認有難うございました。

> KBCR-S02TXGとなっておりました。
> 今回私が使用しているモジュールでは、FaceUのデモアプリは動かすことができない、という結論でよろしいのでしょうか?

KBCR-S02TXG で FaceU デモアプリが動作するか試してみたのですが、
正常には動作しませんでした。

エラーログ

[root@armadillo810-0 (ttySC2) /usr]# PFIDDemoServer_armv7hf_Accuracy_PARTS_so.out
socket: Address family not supported by protocol
sh_mobile_ceu sh_mobile_ceu.0: SuperH Mobile CEU driver attached to camera 0
bad camera
sh_mobile_ceu sh_mobile_ceu.0: SuperH Mobile CEU driver detached from camera 0

恐れ入りますが Armadillo-810 で FaceU デモアプリの動作確認を行われる際は、
Armadillo-810 カメラモジュールセット01(Bコネクタ用)もしくは、
USB接続カメラ(UVC対応)をご使用ください。

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

笹山さま。検証作業、誠にありがとうございました。

Armadillo-810 カメラモジュールセット01(Bコネクタ用)とUSB接続カメラ(UVC対応)については
所持しておりませんので、この後こちらで動作確認を行うことはできませんが、
動かない理由ははっきり致しましたので、これにて質問を終了いたします。

初歩的な理由に気付かず、お手数をおかけし、申し訳ありませんでした。
丁寧なサポート、ありがとうございます。