September 10, 2007USB Composite DeviceでCDCが動作しない少し前にWindowsでUSBのMSD+CDCのComposite Deviceが認識されて良かったです、という記事を書きましたが、実は後日談としてタイトルのような現象にやられています。認識されたくらいでうまくいったと早合点していた自分が情けないです。 肝心の現象ですが、USBデバイスを接続直後(開始後1秒未満)はCDCでデータのやり取りが正常にできるのですが、それ以降はまったく反応がなくなります。USBソフトウェアアナライザのSnoopyProで調べてみたところ、CDCのCommunication InterfaceのInterrupt IN Endpoint 0x81とData InterfaceのBulk IN Endpoint 0x82が0xc000005(メモリ関連のエラー)で落ちてしまっているようです。なお、SnoopyProの機能を利用してCDCの部分だけリセットをかけると以後CDCによる通信が正常に行えました。 おそらくCDCの機能を提供しているusbser.sys、あるいはその親ドライバusbccgp.sysが怪しいのではないかと疑っていますが、なかなか情報が出てこず困っております。関連するHotfixもあたってみましたが、最新のusbser.sysを提供するHotfix 918365(2007/08/29)も効果なしでした。 ※自分のコードには多少バグがあることがわかりましたが、状況は改善しておりません。『Super Sylphide 進捗状況(16) -- Windows XPでMSD+CDCのUSB compositeが相変わらず動かない』をどうぞ。 コメント
コメントする
|
スポンサード リンク
|