[PATCH v2 1/2] lsusb: Reports if USB2.0 port is on L1 state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx>

This patch reports the low power state L1 for ports with attahced USB2
devices.  The output will be part of the roothub port status as follows:

 ayates@magd:~$ sudo lsusb -v -s 001:001
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 ...
 Hub Descriptor:
   bLength              11
   bDescriptorType      41
   nNbrPorts             9
   wHubCharacteristic 0x000a
     No power switching (usb 1.0)
     Per-port overcurrent protection
     TT think time 8 FS bits
   bPwrOn2PwrGood       10 * 2 milli seconds
   bHubContrCurrent      0 milli Ampere
   DeviceRemovable    0x68 0x02
   PortPwrCtrlMask    0xff 0xff
  Hub Port Status:
    Port 1: 0000.0103 power enable
    Port 2: 0000.0523 highspeed power L1 enable
    Port 3: 0000.0100 power
    Port 4: 0000.0100 power
    Port 5: 0000.0503 highspeed power enable
    Port 6: 0000.0100 power
    Port 7: 0000.0100 power
    Port 8: 0000.0100 power
    Port 9: 0000.0100 power
 Device Status:     0x0001
  
In this example port id: 0000.0523 is in L1 status.
This output is collected from testing the change on a HSWULT platform.

Signed-off-by: Alexandra Yates <alexandra.yates@xxxxxxxxxxxxxxx>
---
 lsusb.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/lsusb.c b/lsusb.c
index 470146c..4306697 100644
--- a/lsusb.c
+++ b/lsusb.c
@@ -3317,6 +3317,7 @@ static void do_hub(libusb_device_handle *fd, unsigned tt_type, unsigned speed)
 					(status[1] & 0x04) ? " highspeed" : "",
 					(status[1] & 0x02) ? " lowspeed" : "",
 					(status[1] & 0x01) ? " power" : "",
+					(status[0] & 0x20) ? " L1" : "",
 					(status[0] & 0x10) ? " RESET" : "",
 					(status[0] & 0x08) ? " oc" : "",
 					(status[0] & 0x04) ? " suspend" : "",
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux