2

Windows では動作するが、Linux ではドライバーを持たないデバイス プロトコルをリバース エンジニアリングしようとしています。(windows vm + wireshark) をキャプチャし、後ですべての USB 通信を再生します。Windows と Linux のバージョンでまったく同じ Wireshark トレースがあると思います。

ループには、変更されないように見えるいくつかのセットアップ データがあり、その後に 4096 バイトの bulk_in 転送が続きます。

私の問題は、実際にはバイト 0 から始まるはずの 4096 バイトの受信データの前に +-1000 バイトのゼロが頻繁にあることです。Windows バージョンでは常に正しいようです。

何が原因でしょうか? タイミングの問題?pyusb/usblib は何でも処理できると思いますか? ある種の例外はありますか?

関連するエンドポイント情報を見ると、wMaxPacketSize は 512 ですが、4096 バイトを書き込んでいます。関連している可能性はありますか? オーバーフロー例外は発生しません。

ありがとう!

4

0 に答える 0