为什么使用Perl的Device :: USB进行USB批量传输会被切断?

时间:2011-04-05 02:31:09

标签: linux perl usb

我在Linux上运行了这个Perl代码:

my $command = "\x{11}\x{22}\x{33}\x{44}\x{55}\x{66}\x{77}\x{88}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}\x{00}"; # total of 20 bytes to transmit
my $bytesWritten = $device->bulk_write(0x01, $command, 1000);

使用Wireshark,我发现传输的实际应用程序数据是

0000    00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00
0010    00 00 00 00 00 00 00 00    11 22 33 44

打印$bytesWritten显示传输了20个字节,但这与Wireshark捕获的不同。

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

Perl程序可能正常运行。

我见过wireshark截断USB数据包(另一个参考: http://www.mail-archive.com/tcpdump-workers@lists.tcpdump.org/msg04042.html)。

我不得不使用“usbmon”应用程序来获取完整的捕获: http://people.redhat.com/zaitcev/linux/