Gibt es ein Äquivalent von lsusb für OS X.


95

Diese Frage scheint überall in Google zu sein, aber die Antworten deuten alle auf die Verwendung von System Profiler hin. Das ist schön, aber mit System Profiler erhalten Sie nur Folgendes:

            DasKeyboard:

              Product ID: 0x1919
              Vendor ID: 0x04d9  (Holtek Semiconductor, Inc.)
              Version: 1.06
              Speed: Up to 1.5 Mb/sec
              Location ID: 0x1d114000 / 11
              Current Available (mA): 500
              Current Required (mA): 100

            USB2.0 Hub:

              Product ID: 0x0608
              Vendor ID: 0x05e3  (Genesys Logic, Inc.)
              Version: 32.98
              Speed: Up to 480 Mb/sec
              Location ID: 0x1d113000 / 10
              Current Available (mA): 500
              Current Required (mA): 100

                Microsoft Basic Optical Mouse v2.0 :

                  Product ID: 0x00cb
                  Vendor ID: 0x045e  (Microsoft Corporation)
                  Version: 1.99
                  Speed: Up to 1.5 Mb/sec
                  Manufacturer: Microsoft 
                  Location ID: 0x1d113200 / 12
                  Current Available (mA): 500
                  Current Required (mA): 100

Das ist toll , wenn alles , was Sie wollen , sind die Inhalte einer Reihe von Gerätebeschreibungen, sondern lsusbgeben Sie so viel mehr - Informationen über Schnittstellen und Endpunkte, Schnittstellen Verbände, Verbund Geräte ... wo Sie diese Informationen in OS X finden? Es muss ein Tool geben, das dies tut?


Wenn es Ihnen nichts ausmacht, wie verwenden Sie Informationen wie "Schnittstellen und Endpunkte, Schnittstellenzuordnungen, zusammengesetzte Geräte"?
Ben Creasy

Antworten:


135

Ich hatte es satt, die system_profiler SPUSBDataTypeSyntax zu vergessen , also machte ich eine lsusbAlternative. Sie finden es hier oder installieren es mit Homebrew:

brew install lsusb

2
Schönes Skript! Möchten Sie es als Homebrew-Formel hinzufügen? Das wäre praktisch.
Moritz

1
Das ist ein nettes Dienstprogramm, aber es ist immer noch nur ein Bruchteil dessen, was lsusb unter Linux Ihnen bieten kann. lsusb unter Linux kann Ihnen den vollständigen Inhalt der Konfigurationsdeskriptoren des Geräts geben. Ohne das ist dieses Tool leider meistens nur ein hübscher Drucker.
Ted Middleton

3
Mag begrenzt sein, aber es macht genau das, was ich brauchte. Macht meine Entwicklungsumgebung konsistent mit nur einem brew installDankeschön !!
Schlangenöl

2
Das ist ein schönes Skript, aber es sollte wirklich nicht "lsusb" heißen, wenn man bedenkt, was lsusbeigentlich möglich ist: askubuntu.com/a/604169/598643
Mr. Kennedy

1
Eine nette alias lsusb='system_profiler SPUSBDataType'Sache wäre, wenn Sie nicht zu viel Wert darauf
legen

72

Normalerweise führe ich diesen Befehl aus, um USB-Geräte unter Mac OS X zusammen mit Details dazu aufzulisten:

ioreg -p IOUSB -l -w 0

Siehe meine Antwort auf @blekenbleu über ioreg
Ted Middleton

3
Kopie des Kommentars von Ted Middleton : Das Problem ist, dass ioreg und IORegistryExplorer Ihnen die Kernelobjekte anzeigen, die mit Geräten abgeglichen wurden, nicht Details der Geräte selbst. Das bedeutet, dass Sie keine Schnittstellen in anderen als den derzeit aktiven Konfigurationen sehen und überhaupt keine Endpunktinformationen (was die nützlichste Ausgabe von lsusb ist).
Maarten Bodewes

1
Die Manpages scheinen entfernt worden zu sein. Alternativen (Stand Mai 2019) sind: unix.com/man-page/mojave/8/ioreg und manpagez.com/man/8/ioreg
rdadolf

26

Homebrew-Benutzer: Sie können lsusbdurch Installieren der usbutilsFormel von meinem Tipp erhalten:

brew install mikhailai/misc/usbutils

Es installiert REAL lsusbbasierend auf Linux-Quellen (Version 007).


1
Endlich das echte Geschäft. Ich kann bestätigen, dass dies unter OX 10.13.6 funktioniert.
Guido

3
Vielen Dank, dies ist eine viel bessere Lösung, die zum Zeitpunkt der Entwicklung des lsusbSkripts nicht verfügbar war .
Jlhonora

2
Danke, @jlhonora. Die Ironie ist, dass Homebrew-Leute beschlossen haben, Ihr lsusbSkript homebrew-coreanstelle von meinem hinzuzufügen usbutils.
Mikhail Iakhiaev

1
Sie können ihnen jederzeit eine PR senden.
Jlhonora


9

In mac osx können Sie den folgenden Befehl verwenden:

system_profiler SPUSBDataType

system_profiler hat das gleiche Problem wie ioreg - es spiegelt den Status von Kernelobjekten wider, die der Kernel mit Geräten abgeglichen hat, nicht mit den Geräten selbst. Ich möchte etwas, das im Grunde das vollständige Layout des Geräts anzeigt, wie in allen Konfigurationsbeschreibungen aller Konfigurationen.
Ted Middleton

6

Wenn Sie MacPorts verwenden , können Sie einfach usbutils installieren

sudo port install usbutils

Wenn dies nicht der Fall ist, ist dies möglicherweise eine gute Gelegenheit, es zu installieren. Es verfügt über Ports für mehrere andere nützliche Linux-Tools.


Ah - ok, in der Portdatei, die ich sehe, "abhängiger_Lib-Port: libusb", und die Quelle scheint tatsächlich libusb zu erfordern. Das würde es tun, denke ich. Ich benutze Macports allerdings nicht wirklich - ich bin beim Brauen. Und ich würde es hassen, Macports nur dafür installieren zu müssen, besonders wenn lsusb so einfach mit User-Space-Iokit neu implementiert werden könnte.
Ted Middleton

Dies sollte die akzeptierte Antwort sein. Im Moment ist dieses Paket jedoch aufgrund seiner Abhängigkeit defekt. usbidsVerfolgen Sie es über trac.macports.org/ticket/53188

Das scheint inzwischen behoben zu sein.
Maarten Bodewes


2
system_profiler SPUSBDataType

Es ist Ihr Bedarfsbefehl auf Macos


0

Zumindest am 10.10.5 wird die system_profiler SPUSBDataTypeAusgabe NICHT dynamisch aktualisiert, wenn ein neues USB-Gerät angeschlossen wird ioreg -p IOUSB -l -w 0.


Das Problem ist, dass ioreg und IORegistryExplorer Ihnen die Kernelobjekte anzeigen, die mit Geräten abgeglichen wurden, nicht Details der Geräte selbst. Das bedeutet, dass Sie keine Schnittstellen in anderen als den derzeit aktiven Konfigurationen sehen und überhaupt keine Endpunktinformationen (was die nützlichste Ausgabe von lsusb ist).
Ted Middleton

Was ich möchte, ist ein Tool, das den Inhalt aller Konfigurationsdeskriptoren eines Geräts anzeigt. ioreg wird das nicht tun, lsusb tut es.
Ted Middleton

Ich sehe nicht, wie sich das von dieser Antwort unterscheidet .
Maarten Bodewes

0

Unter Mac OS X enthält die Xcode Developer Suite die Anwendung USB Proper.app. Dies finden Sie in / Developer / Applications / Utilities /. Mit USB Prober können Sie die Geräte- und Schnittstellendeskriptoren überprüfen.


Xcode.app/Contents/Applications/Utilities ist in Xcode 8.3 nicht vorhanden, und Anwendungen enthalten keinen USB-Prober. Ich weiß, dass USB Prober noch verfügbar ist, konnte aber noch nicht herausfinden, wo es sich befindet. Es befindet sich in einem Paket mit einigen anderen Tools.
Mike Crawford
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.