USB-Strom abfragen

7

Wie kann ich Informationen über die Strommenge erhalten, die von einem an einen USB-Anschluss angeschlossenen Gerät ausgehandelt wird?

Ich bin auf der Suche nach Informationen ähnlich wie dies von OS X in Bezug auf die derzeit verfügbaren präsentiert und Strom erforderlich.

Arcyqwerty
quelle
Welches Betriebssystem suchen Sie speziell für diese Informationen? Welche Distributionen?
slm
Debian-basiertes Betriebssystem - speziell Himbeer-Keuchen für Himbeer-Pi, aber allgemeine Informationen wären großartig, wenn möglich
Arcyqwerty

Antworten:

8

Schauen Sie sich den Befehl an lsusb. Speziell lsusb -voder lsusb -vv. Überprüfen Sie auch die Manpage.

Hier ist zum Beispiel eine drahtlose Maus auf meinem Laptop (Fedora 14):

% sudo lsusb -v
Bus 002 Device 003: ID 046d:c521 Logitech, Inc. Cordless Mouse Receiver
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x046d Logitech, Inc.
  idProduct          0xc521 Cordless Mouse Receiver
  bcdDevice           57.01
  iManufacturer           1 Logitech
  iProduct                2 USB Receiver
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          4 RR57.01_B0023
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower               98mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      67
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      79
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)
slm
quelle
Ich glaube, ich konnte ähnliche Informationen abfragen. /sys/bus/usb/devices/usb1/1-1/bMaxPowerKann ich jedoch feststellen, wie viel Strom ein Gerät derzeit empfängt?
Arcyqwerty
Ja, das sind die Informationen aus dem Kernel, die lsusb zur Anzeige zieht. Übrigens habe ich eine Weile gesucht und konnte es sowieso nicht finden, um den Stromverbrauch des Geräts zu ermitteln.
slm
ah okay. Vielen Dank. seltsam, dass es möglich ist, auf Windows / Mac, aber nicht Linux zu finden ...
Arcyqwerty
1
Genau. Ich bin nicht davon überzeugt, dass die in Windows angezeigten Informationen tatsächlich genauer sind. Ich denke, es zeigt nur die Menge an Leistung, die das Gerät meldet, dass es will / braucht, was das gleiche ist, was lsusb als MaxPower anzeigt. Sehen Sie diesen Beitrag für mehr: superuser.com/questions/297959/...
slm
MaxPower ist also die vom Gerät angeforderte Leistung ... ok. Es wäre schön zu haben, wie viel Strom auch verfügbar ist, aber es ist besser als nichts, denke ich
Arcyqwerty