aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/usb_parse
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@s-opensource.com>2017-09-12 11:03:22 -0300
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2017-09-12 11:03:22 -0300
commit25f2a457f9a6615883a81c71c4e6d2dfe4f308b1 (patch)
treeedd5f8893d0eb4c9371d3d8dde977f6dedb6a4c0 /contrib/usb_parse
parentf07b90a87a92bd3df088c7f4a40fc46a26f7c630 (diff)
contrib: move parsers to a separate directory
In order to organize the tree, let's place the USB parsers on a separate directory. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'contrib/usb_parse')
-rwxr-xr-xcontrib/usb_parse/parse_usb.pl79
1 files changed, 0 insertions, 79 deletions
diff --git a/contrib/usb_parse/parse_usb.pl b/contrib/usb_parse/parse_usb.pl
deleted file mode 100755
index 3d889438..00000000
--- a/contrib/usb_parse/parse_usb.pl
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/usr/bin/perl
-use strict;
-
-# Copyright (C) 2010 Mauro Carvalho Chehab
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# This small script parses USB dumps generated by several drivers,
-# decoding USB bits.
-#
-# To use it, do:
-# dmesg | ./parse_usb.pl
-#
-# Also, there are other utilities that produce similar outputs, and it
-# is not hard to parse some USB analyzers log into the expected format.
-#
-
-sub type_req($)
-{
- my $reqtype = shift;
- my $s;
-
- if ($reqtype & 0x80) {
- $s = "RD ";
- } else {
- $s = "WR ";
- }
- if (($reqtype & 0x60) == 0x20) {
- $s .= "CLAS ";
- } elsif (($reqtype & 0x60) == 0x40) {
- $s .= "VEND ";
- } elsif (($reqtype & 0x60) == 0x60) {
- $s .= "RSVD ";
- }
-
- if (($reqtype & 0x1f) == 0x00) {
- $s .= "DEV ";
- } elsif (($reqtype & 0x1f) == 0x01) {
- $s .= "INT ";
- } elsif (($reqtype & 0x1f) == 0x02) {
- $s .= "EP ";
- } elsif (($reqtype & 0x1f) == 0x03) {
- $s .= "OTHER ";
- } elsif (($reqtype & 0x1f) == 0x04) {
- $s .= "PORT ";
- } elsif (($reqtype & 0x1f) == 0x05) {
- $s .= "RPIPE ";
- } else {
- $s .= sprintf "RECIP 0x%02x ", $reqtype & 0x1f;
- }
-
- $s =~ s/\s+$//;
- return $s;
-}
-
-while (<>) {
- if (m/(.*)([0-9a-f].) ([0-9a-f].) ([0-9a-f].) ([0-9a-f].) ([0-9a-f].) ([0-9a-f].) ([0-9a-f].) ([0-9a-f].)[\<\>\s]+(.*)/) {
- my $timestamp = $1;
- my $reqtype = hex($2);
- my $req = hex($3);
- my $wvalue = hex("$5$4");
- my $windex = hex("$7$6");
- my $wlen = hex("$9$8");
- my $payload = $10;
-
- $timestamp =~ s/^\s+//;
- $timestamp =~ s/\s+$//;
-
- printf("%s %s(0x%02x), Req 0x%02x, wValue: 0x%04x, wIndex 0x%04x, wlen %d: %s\n",
- $timestamp, type_req($reqtype), $reqtype, $req, $wvalue, $windex, $wlen, $payload);
- }
-}

Privacy Policy