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?

Ted Middleton
quelle
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
jlhonora
quelle
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
David Grayson
quelle
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).

Mikhail Iakhiaev
quelle
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
QJGui
quelle
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.

Thiago
quelle
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
4

Wie wäre es mit ioreg? Die Ausgabe ist viel detaillierter als der Profiler, aber etwas dicht.

Quelle: https://lists.macosforge.org/pipermail/macports-users/2008-July/011115.html

lhagan
quelle
Siehe meine Antwort auf @blekenbleu. lsusb hat viel mehr Informationen als ioreg / IORegistryExplorer oder jedes andere Programm wie system_profiler, das nur die iokit-Registrierung durchläuft.
Ted Middleton
2
system_profiler SPUSBDataType

Es ist Ihr Bedarfsbefehl auf Macos

xds2000
quelle
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.

blekenbleu
quelle
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.

RayM
quelle
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