- 締切済み
USBの障害についての質問
- USBの障害についてお悩みですか?USB機器が接続されているときに他の機器が不具合を起こす現象が起きている場合、カメラのUSB伝送に軽微なエラーが起きている可能性があります。カメラのUSBケーブルを短くしたり、HUBを挿入することで問題が解消する場合があります。
- また、このような不具合が起きる理由としては、WindowsVistaのUSBホストドライバの実装に制約がある可能性も考えられます。アイソクロナス伝送はエラー再送を行わないため、エラーがあっても負荷や帯域の問題は発生しないはずですが、実際には不具合が起きることもあります。
- 不具合を解消する方法としては、PCのUSBをもう1系統に分ける方法があります。この場合、カメラとプリンタを別々のUSBポートに接続することで問題が解消される可能性があります。他にも、カメラのドライバを最新のものにアップデートすることや、USBポートの設定を確認することも有効な対策となります。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
私も困ってます 不具合の原因は二つ考えられます 私の不具合と解決方 不具合1 USBにハブをつけキーボード マウスを使ってます パワー不足 光学マウスは結構電力を使うのでパソコンからのパワーを だけでは足らないらしくたまにマウスが落ちる これはハブにアダプターがつくタイプで解決しました 装飾の派手なマウス(機能的にいらない光を発するもの)は使わない 不具合2 USBハブに4台のHDDをつないだ どうも転送遅れや衝突が起きているらしく1台飛ばしたことがある これは、どうしようもないので 分散させるようにしました カメラ & プリンターらしいので両方考えられます プリンターは外部電源でしょうがカメラの方はどうでしょうか? 外部電源があるのならそれを使う データ転送が原因の場合 HDDの場合どうしようもないのですが プリンターの場合スプールの方法を変えてみたらどうでしょうか? 多少は緩和できると思います 根本的な解決は2系統に分けるべきですが >>大規模な設計変更 と書いてあるので製品の開発ですか 「カメラの通信異常により、プリンタの通信が阻害されるメカニズム」 シリアル通信のプログラムはよう組みませんが 通信異常が合ったときにその回線を占有してしまうのでしょう これは、カメラ側のドライバまたはソフトの問題でそっちを開発しているのなら 通信異常が合った場合、タイミングごとに開放してあげる必要があると思う ループプログラムの閉じた処理で良く見るバグ (バグとは認識されていない) (複雑な計算してるときや、エラー発生時のウエイトなど) 例 VBの場合 ループ開始 条件によってループ離脱 doevent ← これを入れておかないと タスクが100%になってしまい キャンセルボタンが押せなかったり ほかのタスクに移れない ループ 例は、CPUを独占してしまうことで起こることで 質問の内容は回線を独占してしまってるんだと思う そこで、 プリンターの設定はすぐに印刷データをプリンターに送らずに スプールさせてから送るようにさせて プリンター側で回線を一度占有させてみる ↑ プログラムがそうゆう風に組まれていなければ効果ないが あとは、カメラの方のタスクの優先度を下げるとか考えられますが あまり効果がないような気がします
補足
ははは さん 回答ありがとうございます。 電源の問題はありそうな気がします。カメラとPCの間にHUBを挿入したとき、バスパワーではダメで、電源供給型のHUBでは不具合が解消したという事実があります。 でも、腑に落ちないのは、「カメラの通信異常により、プリンタの通信が阻害されるメカニズム」です。 印字は完全に止まってしまうので、スプールの問題(PCの処理速度の問題)ではなく、USB通信の問題(出口が詰まっている)ように思えます。 「USBパワー供給」「USB分割」などは、大規模な設計変更がありそうで、避けたいところです。 帯域としては余裕があるように思えるのですが...