Macos OSX是否有等效的lsusb

Macos OSX是否有等效的lsusb,macos,usb,darwin,lsusb,Macos,Usb,Darwin,Lsusb,这个问题似乎遍布谷歌,但答案都指向使用系统档案器。这很好,但是使用System Profiler,您可以得到如下结果: DasKeyboard: Product ID: 0x1919 Vendor ID: 0x04d9 (Holtek Semiconductor, Inc.) Version: 1.06 Speed: Up to 1.5 Mb/sec

这个问题似乎遍布谷歌,但答案都指向使用系统档案器。这很好,但是使用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
给了你更多的信息——关于接口和端点、接口关联、复合设备的信息。。。在OSX中,您在哪里可以找到这些信息?一定有这样的工具吗?

我已经厌倦了忘记
system\u profiler SPUSBDataType
语法,所以我选择了
lsusb
。您可以找到它,或使用自制软件安装它:

brew install lsusb

ioreg怎么样?输出比分析器详细得多,但有点密集


来源:

在mac osx中,您可以使用以下命令:

system_profiler SPUSBDataType

我通常运行此命令来列出Mac OS X上的USB设备,以及它们的详细信息:

ioreg -p IOUSB -l -w 0

至少在10.10.5上,
system_profiler SPUSBDataType
输出不可用 插入新USB设备时动态更新, 而
ioreg-p iosb-l-w 0
则可以。

如果您是的用户,只需安装即可


如果您不是,这可能是一个很好的安装机会,它有几个其他有用的linux工具的端口。

在Mac OS X上,Xcode developer suite包括USB Proper.app应用程序。这可以在/Developer/Applications/Utilities/中找到。USB Prober将允许您检查设备和接口描述符。

自制用户:您可以通过安装
usbutils
从我的点击中获取
lsusb

brew install mikhailai/misc/usbutils
它基于Linux源代码(版本007)安装REAL
lsusb



这是您在macos上所需的命令

Nice脚本!是否要将其添加为自制配方?这会很方便。这是一个很好的实用程序,但它仍然只是linux上lsusb所能提供的功能的一小部分。linux上的lsusb可以为您提供设备配置描述符的完整内容。如果没有这一点,恐怕这个工具只是一个漂亮的打印机。可能是有限的,但它正是我所需要的。使我的开发环境与brew安装一致,谢谢!!这是一个不错的脚本,但它真的不应该被称为“lsusb”考虑到
lsusb
实际上可以做什么:如果您不太在意lsusb得到完全相同的结果,那么一个简洁的方法就是
alias lsusb='system\u profiler SPUSBDataType'
。问题是ioreg和IORegistryExplorer会向您显示与设备匹配的内核对象,而不是设备本身的细节。这意味着您将看不到除当前活动配置之外的其他配置上的接口,也看不到任何端点信息(这是lsusb最有用的输出)。我想要的是一个显示设备所有配置描述符内容的工具。ioreg不会这样做,lsusb会。我看不出这有什么不同?system_profiler与ioreg有相同的问题-它反映内核对象的状态,内核对象与设备匹配,而不是设备本身。我想要一些基本上能显示设备完整布局的东西,比如所有配置的所有配置描述符中都有什么。lsusb比ioreg/IORegistryExplorer或任何其他程序(如system_profiler)都有更多的信息,这些程序只是在iokit注册表中运行。请参阅我对@blekenbleu about ioregCopy of comment by的回复:问题是ioreg和IORegistryExplorer向您显示与设备匹配的内核对象,而不是设备本身的细节。这意味着您在当前活动配置之外的配置上看不到接口,也看不到任何端点信息(这是lsusb最有用的输出)。手册页似乎已被删除。备选方案(截至2019年5月)是:和啊-好的,在我看到的端口文件中,“depends_lib port:libusb”,而且源代码似乎确实需要libusb。我想那就行了。不过,我并不真正使用macports,我使用的是brew。我不想为了这个而安装macports,尤其是当lsusb可以很容易地用用户空间iokit重新实现时。这应该是公认的答案。然而,现在这个软件包由于其依赖关系而被破坏了,请跟踪它,直到现在它似乎已经被修复。Xcode.app/Contents/Applications/Utilities在Xcode 8.3中不存在,并且在应用程序中没有USB Prober。我知道USB Prober仍然可用,但我还没有找到它在哪里。它和其他一些工具在一个包里。最后,真正的交易。我可以确认这一个在OX 10.13.6上有效。谢谢,这是一个更好的解决方案,在我开发
lsusb
脚本时无法使用。谢谢,@jlonora。讽刺的是,自制人决定将你的
lsusb
脚本添加到
Homebrew core
,而不是我的
usbutils
。你可以随时向他们发送PR。来源:如果你不介意,你是如何使用“接口和端点、接口关联、复合设备”等信息的?
brew install mikhailai/misc/usbutils
system_profiler SPUSBDataType