Index: NetPacket-1.4.1/lib/NetPacket/USBMon.pm =================================================================== --- NetPacket-1.4.1.orig/lib/NetPacket/USBMon.pm +++ NetPacket-1.4.1/lib/NetPacket/USBMon.pm @@ -65,18 +65,18 @@ sub decode my($id, $type, $xfer_type, $epnum, $devnum, $busnum, $flag_setup, $flag_data, $ts_sec, $ts_usec, $status, $length, $len_cap, $s, $interval, $start_frame, $xfer_flags, $ndesc, $rest) = - unpack('a8CCCCSCCa8liIIa8llLLa*', $packet); + unpack('a8CCCCS{bmRequestType} & USB_TYPE_VENDOR) { ($setup->{wValue}, $setup->{wIndex}, - $setup->{wLength}) = unpack('S3', $rest); + $setup->{wLength}) = unpack('S<3', $rest); } else { # Unknown setup request; $setup->{data} = $rest; @@ -127,7 +127,7 @@ sub decode # Isochronous descriptors if ($self->{xfer_type} == USB_XFER_TYPE_ISO) { my $iso = {}; - ($iso->{error_count}, $iso->{numdesc}) = unpack('ii', $s); + ($iso->{error_count}, $iso->{numdesc}) = unpack('i{iso} = $iso; }