/dev/ttyACM0のqcserialドライバーを使用して、pyserialを使用してusbシリアルデバイス(ダウンロードモードのLG LS970)と通信しています。私の問題は、エンドポイント (x.3) で URB_BULK を確立できないことです。Serial.read() は、私が知る限り、URB_BULK をリッスンするだけです。pyserial を使用してエンドポイントで URB_BULK を開く方法はありますか、それとも c に切り替える必要がありますか?
仮想マシン内から独自の Windows ソフトウェアと通信しているデバイスの Wireshark ログを取得しており、I/O のためにデバイスへの 2 つの接続を開くことになっていることがわかっています。
私はこれに pyserial を使用してクロスプラットフォームにすることを望んでいました。
これまでのところ、私がやろうとしていることは次のとおりです。
ser = serial.Serial("/dev/ttyACM0", 9600, timeout=3)
ser.write('\x01\xf1\xe1\x7e')
print ser.read()
ser.write('\x29\x01\x00\x31\x40\x7e')
print ser.read()
ser.write('\x06\x4e\x95\x7e')
print ser.read()
ser.write('\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\xc3\x7e')
print ser.read()
ser.write('\x30\xfb\xc1\x7e')
print ser.read()
書き込みごとにデバイスからの URB_BULK で予想される戻り値はわかっていますが、USB 接続をスニッフィングしているときに、デバイスからの BULK が表示されません。ただし、デバイスがデータを受信したことを確認しています。これらから期待される出力を知っています