1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-23 00:29:59 +02:00
Files
jc/docs/parsers/lsusb.md
2022-01-25 17:07:47 -08:00

4.7 KiB

Home

jc.parsers.lsusb

jc - JSON CLI output utility lsusb command output parser

Supports the -v option or no options.

Usage (cli):

$ lsusb -v | jc --lsusb

or

$ jc lsusb -v

Usage (module):

import jc result = jc.parse('lsusb', lsusb_command_output)

or

import jc.parsers.lsusb result = jc.parsers.lsusb.parse(lsusb_command_output)

Schema:

Note: object keynames are assigned directly from the lsusb output. If there are duplicate names in a section, only the last one is converted.

[ { "bus": string, "device": string, "id": string, "description": string, "device_descriptor": { "": { "value": string, "description": string, "attributes": [ string ] }, "configuration_descriptor": { "": { "value": string, "description": string, "attributes": [ string ] }, "interface_association": { "": { "value": string, "description": string, "attributes": [ string ] } }, "interface_descriptors": [ { "": { "value": string, "description": string, "attributes": [ string ] }, "cdc_header": { "": { "value": string, "description": string, "attributes": [ string ] } }, "cdc_call_management": { "": { "value": string, "description": string, "attributes": [ string ] } }, "cdc_acm": { "": { "value": string, "description": string, "attributes": [ string ] } }, "cdc_union": { "": { "value": string, "description": string, "attributes": [ string ] } }, "endpoint_descriptors": [ { "": { "value": string, "description": string, "attributes": [ string ] } } ] } ] } }, "hub_descriptor": { "": { "value": string, "description": string, "attributes": [ string, ] }, "hub_port_status": { "": { "value": string, "attributes": [ string ] } } }, "device_status": { "value": string, "description": string } } ]

Examples:

$ lsusb -v | jc --lsusb -p [ {

  • "bus" - "002",
  • "device" - "001",
  • "id" - "1d6b:0001",
  • "description" - "Linux Foundation 1.1 root hub",
  • "device_descriptor" - {
  • "bLength" - {
  • "value" - "18" },
  • "bDescriptorType" - {
  • "value" - "1" },
  • "bcdUSB" - {
  • "value" - "1.10" }, ...
  • "bNumConfigurations" - {
  • "value" - "1" },
  • "configuration_descriptor" - {
  • "bLength" - {
  • "value" - "9" }, ...
  • "iConfiguration" - {
  • "value" - "0" },
  • "bmAttributes" - {
  • "value" - "0xe0",
  • "attributes" - [ "Self Powered", "Remote Wakeup" ] },
  • "MaxPower" - {
  • "description" - "0mA" },
  • "interface_descriptors" - [ {
  • "bLength" - {
  • "value" - "9" }, ...
  • "bInterfaceProtocol" - {
  • "value" - "0",
  • "description" - "Full speed (or root) hub" },
  • "iInterface" - {
  • "value" - "0" },
  • "endpoint_descriptors" - [ {
  • "bLength" - {
  • "value" - "7" }, ...
  • "bmAttributes" - {
  • "value" - "3",
  • "attributes" - [ "Transfer Type Interrupt", "Synch Type None", "Usage Type Data" ] },
  • "wMaxPacketSize" - {
  • "value" - "0x0002",
  • "description" - "1x 2 bytes" },
  • "bInterval" - {
  • "value" - "255" } } ] } ] } },
  • "hub_descriptor" - {
  • "bLength" - {
  • "value" - "9" }, ...
  • "wHubCharacteristic" - {
  • "value" - "0x000a",
  • "attributes" - [ "No power switching (usb 1.0)", "Per-port overcurrent protection" ] }, ...
  • "hub_port_status" - { "Port 1": {
  • "value" - "0000.0103",
  • "attributes" - [ "power", "enable", "connect" ] }, "Port 2": {
  • "value" - "0000.0103",
  • "attributes" - [ "power", "enable", "connect" ] } } },
  • "device_status" - {
  • "value" - "0x0001",
  • "description" - "Self Powered" } } ]

info Objects

class info()

Provides parser metadata (version, author, etc.)

parse

def parse(data, raw=False, quiet=False)

Main text parsing function

Arguments:

  • data - (string) text data to parse
  • raw - (boolean) unprocessed output if True
  • quiet - (boolean) suppress warning messages if True

Returns:

List of Dictionaries. Raw or processed structured data.

Parser Information

Compatibility: linux

Version 1.1 by Kelly Brazil (kellyjonbrazil@gmail.com)