[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 メーリングリストの案内