Armadilloフォーラム

Armadill-460 USB接続WEBカメラについての追加確認

n.yamamoto

2014年2月20日 9時40分

Yamamotoです。

以前、「Armadill-460 USB接続WEBカメラについて」で

> 追加で分かったことがありますので、補足します。
>
> menuconfigでバッファサイズを8192に変更したところ、起動から1,2分は割とスムーズ1fpに近いのかなという感
> じでブラウザで見れましたが、その後急激に再生速度が落ちました。
>
> Linuxカーネルコンフィギュレーションを変更
> =========================================================
> Linux Kernel Configuration
> Device Drivers --->
> [*] USB support --->
> (8192) Size of 1 qTD's buffer ← デフォルトの2048から8192に変更
> =========================================================

の報告をしていましたが、問題があることがわかりました。

処理で起動時にUSBメモリ上にイメージファイルがあるときは、USBメモリのイメージファイルを使用してバージョンアップを行うようにしています。

デフォルトの2048バイトの時は問題なかったのですが、8192バイトに変更してからバージョンアップは出来るのですが、再起動時にCRCエラーで起動できなくなってしまいました。
調べたところ、4096バイトまでは大丈夫なのですが8192バイトに変更したところで不良動作になりました。

マニュアル上では16384バイトまで設定可能になっていましたが、何か制限があるのでしょうか?

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

コメント

at_daisuke.sasaki

2014年2月27日 20時05分

佐々木大輔です。

> デフォルトの2048バイトの時は問題なかったのですが、8192バイトに変更してからバージョンアップは出来るのですが、再起動時にCRCエラーで起動できなくなってしまいました。
> 調べたところ、4096バイトまでは大丈夫なのですが8192バイトに変更したところで不良動作になりました。

こちらでも、"Size of 1 qTD's buffer”の設定を8192に設定し、
USBメモリからのデータ読み出しテストを実施した所、
ご連絡いただいたような、データ化け現象が再現しました。

詳細な原因を確認してみますね。

at_daisuke.sasaki

2014年3月5日 14時01分

佐々木大輔です。

カーネルコンフィギュレーションにて"Size of 1 qTD's buffer”の値を4096Byteより大きく設定すると、
qTDに設定するデータ格納用のアドレス値が不正になる場合があるようです。

本問題を修正するパッチを添付しますので、評価してみてください。
※パッチはlinux 2.6.26-at18用に作成しています。

私が確認した限り問題は改善されていますが、
詳細な評価は今後実施しますので、評価用のパッチとなります。

ファイル ファイルの説明
linux-2.6.26-at18_ehci-qtd-addr.patch

Yamamotoです。

遅くなりました。
有難うございます。

今回は4096でも問題ないので、このまま使用したいと思います。
評価確認する時間が取れないもので申し訳ありません。