summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <greg@kroah.com>2012-09-06 08:26:57 -0700
committerGreg Kroah-Hartman <greg@kroah.com>2012-09-06 08:26:57 -0700
commitedfcc65e725fee65222f55c13ab0c783f0256fc8 (patch)
tree0dd8142b145867c86e0ecc778482452659409eef
parente5afbcc92968138199111e0d72bd35ff16380ef8 (diff)
parent29a38c4b4c8561c96a25a2700da3732e87587266 (diff)
downloadusbutils-edfcc65e725fee65222f55c13ab0c783f0256fc8.tar.gz
Merge pull request #11 from bmork/mbim
lsusb: decode CDC MBIM descriptor
-rw-r--r--lsusb.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/lsusb.c b/lsusb.c
index 2a709f6..106dd33 100644
--- a/lsusb.c
+++ b/lsusb.c
@@ -3151,6 +3151,29 @@ dump_comm_descriptor(libusb_device_handle *dev, const unsigned char *buf, char *
case 0x17: /* command set detail desc */
case 0x18: /* telephone control model functional desc */
#endif
+ case 0x1b: /* MBIM functional desc */
+ type = "MBIM";
+ if (buf[0] != 12)
+ goto bad;
+ printf("%sCDC MBIM:\n"
+ "%s bcdMBIMVersion %x.%02x\n"
+ "%s wMaxControlMessage %d\n"
+ "%s bNumberFilters %d\n"
+ "%s bMaxFilterSize %d\n"
+ "%s wMaxSegmentSize %d\n"
+ "%s bmNetworkCapabilities 0x%02x\n",
+ indent,
+ indent, buf[4], buf[3],
+ indent, (buf[6] << 8) | buf[5],
+ indent, buf[7],
+ indent, buf[8],
+ indent, (buf[10] << 8) | buf[9],
+ indent, buf[11]);
+ if (buf[11] & 0x20)
+ printf("%s 8-byte ntb input size\n", indent);
+ if (buf[11] & 0x08)
+ printf("%s max datagram size\n", indent);
+ break;
default:
/* FIXME there are about a dozen more descriptor types */
printf("%sUNRECOGNIZED CDC: ", indent);