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年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 |
at_daisuke.sasaki
2014年3月5日 14時18分
佐々木大輔です。
すみません。
間違ったパッチを添付してしまいました。
今回添付したパッチ"linux-2.6.26-at18_ehci-qtd-addr-fix.patch "
を使用してください。
ファイル | ファイルの説明 |
---|---|
linux-2.6.26-at18_ehci-qtd-addr-fix.patch |
at_daisuke.sasaki
2014年2月27日 20時05分
佐々木大輔です。
> デフォルトの2048バイトの時は問題なかったのですが、8192バイトに変更してからバージョンアップは出来るのですが、再起動時にCRCエラーで起動できなくなってしまいました。
> 調べたところ、4096バイトまでは大丈夫なのですが8192バイトに変更したところで不良動作になりました。
こちらでも、"Size of 1 qTD's buffer”の設定を8192に設定し、
USBメモリからのデータ読み出しテストを実施した所、
ご連絡いただいたような、データ化け現象が再現しました。
詳細な原因を確認してみますね。