Есть ли эквивалент lsusb для OS X
Этот вопрос, кажется, повсюду в Google, но ответы на все вопросы указывают на использование System Profiler. Это хорошо, но с System Profiler все, что вы получаете, выглядит примерно так:
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
Прекрасно, если все, что вам нужно, это содержимое набора дескрипторов устройств, но lsusb
дает вам гораздо больше - информацию об интерфейсах и конечных точках, ассоциации интерфейсов, составные устройства... где вы можете найти эту информацию в OS X? Должен быть инструмент, который делает это?
10 ответов
Я устал забывать system_profiler SPUSBDataType
синтаксис, поэтому я сделал lsusb
альтернатива. Вы можете найти его здесь или установить с помощью homebrew:
brew install lsusb
Обычно я запускаю эту команду для вывода списка устройств USB в Mac OS X вместе с подробной информацией о них:
ioreg -p IOUSB -l -w 0
Документация ioreg
это здесь:
https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man8/ioreg.8.html
Доморощенные пользователи: вы можете получить lsusb
установив usbutils
формула из моего крана:
brew install mikhailai/misc/usbutils
Это устанавливает РЕАЛЬНОЕ lsusb
на основе источников Linux (версия 007).
В Mac OSX вы можете использовать следующую команду:
system_profiler SPUSBDataType
Я пройду через свою шляпу, попробовав ответы здесь. Сценарий почти не работает, а порт для macOSusbutils
не фиксирует строковые дескрипторы или не поддерживает--tree
.
Это привело меня к созданию cyme, современного кросс-платформенного инструмента USB-списка, использующегоsystem_profiler -json
под капотом. Он также используетlibusb
для дополнительных данных/кросс-платформенных иudev
на Линукс. Он поддерживает--lsusb
совместимый режим, который почти соответствует выходным данным для всех аргументов. Он должен поцарапать macOSlsusb
зуд и многое другое.
Как насчет ioreg
? Вывод гораздо более детальный, чем профилировщик, но он немного плотный.
Источник: https://lists.macosforge.org/pipermail/macports-users/2008-July/011115.html
Хотя бы на 10.10.5, system_profiler SPUSBDataType
выход не обновляется динамически при подключении нового USB-устройства, в то время как ioreg -p IOUSB -l -w 0
делает.
В Mac OS X в комплект разработчика Xcode входит приложение USB Proper.app. Это находится в /Developer/Applications/Utilities/. USB Prober позволит вам изучить дескрипторы устройства и интерфейса.