[Armadillo:07624] Re: Armadillo500 でFullSpeedのUSBカメラ動作不良について
SiF 高木
email@hidden
2011年 10月 13日 (木) 17:25:06 JST
システムインフロンティアの高木です。
ドライバのエラー箇所について調査したところ
「drivers/usb/host/ehci-sched.c」の
「tt_no_collision関数」にて転送のスケジューリングが
できないと判断されることがエラーのもとでした。
試しにエラーを無視するようにソースコードを変更したところ
カメラから画像データの取得できましたが、画面はグチャグチャでした。
スケジューリングさえ正しく処理できればカメラも正しく動作するように
思えるのですが・・・。
ちなみにカーネルオプションで
「Improved Transaction Translator scheduling (EXPERIMENTAL)」を
選択している場合は「tt_no_collision関数」ではなく
「tt_available関数」が呼び出されますが、
同様の判断がされエラーとなりました。
またKernel-2.6.18+UVCドライバでも動作を試してみたいのですが
Howtoの方法ではソースコードが取得できません。
またUVCサイトにあるGitによる方法でソースコードを取得しましたが
Kernel-2.6.18との組み合わせでは未定義のマクロや変数などが多くあり
コンパイルエラーとなってしまました。
Kernel-2.6.18で動作させられるUVCドライバソースを入手する方法はないでしょうか。
以上、よろしくお願いします。
> システムインフロンティアの高木です。
>
> 中村様、情報ありがとうございます。
>
> どの処理を実行した時に本エラーが起きているか調査したところ、
> VIDIOC_STREAMONのioctlをであることがわかりました。
> ただしioctl自体は正常終了を返しています。
>
> ドライバとしては drivers/usb/hcd.c に含まれる usb_hcd_submit_urb 関数で
> 呼び出している hcd->driver->urb_enqueue というところまでわかりました。
>
> ただ hcd->driver->urb_enqueue の実体がどれなのかまでは調べられていません。
> もう少し調査してみます。
>
>
>
>> 中村です。
>>
>> 解決策ではなく、別機種での情報ですが・・・
>>
>>> ちなみにLogicoolのC200(High/Full両対応のUVC)をFullSpeedポートに
>>> 接続した場合も同様のエラーが発生して画像の取得ができませんでした。
>>
>> Armadillo-440のFullSpeedポート(上段)にLogicoolのQCAM-200R(Orbit AF)を
>> 接続したときにも同じエラー
>> Failed to submit URB 0 (-28)
>> が発生しています。
>>
>> 原因は同じようなところにあるのかもしれませんね。
>>
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
--
△▼△▼△▼△▼△▼△▼△▼△▼△▼△
株式会社 システムインフロンティア
技術部 高木 健太郎
190-0012 東京都立川市曙町2-8-3新鈴春ビル4F
TEL 042-526-4369
FAX 042-526-4370
Web http://www.sifi.co.jp
Email email@hidden
armadillo メーリングリストの案内