Can I List USB devices on OSX - similar to lsusb
on Linux.
I know I can access from System Information
.
2 Answers
In addition to system_profiler SPUSBDataType
(suggested by @kjs), you can also use ioreg -p IOUSB
:
$ ioreg -p IOUSB
+-o Root <class IORegistryEntry, id 0x100000100, retain 10>
+-o EHCI Root Hub Simulation@1A,7 <class IOUSBRootHubDevice, id 0x100000227,$
| +-o HubDevice@fa100000 <class IOUSBHubDevice, id 0x10000027a, registered, $
| | +-o Apple Internal Keyboard / Trackpad@fa120000 <class IOUSBDevice, id 0$
| | +-o BRCM2070 Hub@fa110000 <class IOUSBHubDevice, id 0x1000002b4, registe$
| | +-o Bluetooth USB Host Controller@fa113000 <class IOUSBDevice, id 0x10$
| +-o FaceTime HD Camera (Built-in)@fa200000 <class IOUSBDevice, id 0x100000$
+-o EHCI Root Hub Simulation@1D,7 <class IOUSBRootHubDevice, id 0x100000228,$
+-o HubDevice@fd100000 <class IOUSBHubDevice, id 0x10000027b, registered, $
+-o IR Receiver@fd110000 <class IOUSBDevice, id 0x100000288, registered,$
By default it clips to the window's width (80 chars in the example above), so you may want to add -w0
to get a full-width display. Also, adding -l
will show details (probably more than you need) about each of the devices:
$ ioreg -p IOUSB -w0 -l
+-o Root <class IORegistryEntry, id 0x100000100, retain 10>
| {
| "IOKitBuildVersion" = "Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64"
| "OS Build Version" = "14B25"
| "OSKernelCPUSubtype" = 3
| "OSKernelCPUType" = 16777223
| "OSPrelinkKextCount" = 185
| "IOConsoleLocked" = No
| "IORegistryPlanes" = {"IOACPIPlane"="IOACPIPlane","IOPower"="IOPower","IODeviceTree"="IODeviceTree","IOService"="IOService","IOUSB"="IOUSB","IOFireWire"="IOFireWire"}
[...etc...]
[EDIT]: If you just want the device names, you can filter the basic list to trim the junk:
$ ioreg -p IOUSB -w0 | sed 's/[^o]*o //; s/@.*$//' | grep -v '^Root.*'
EHCI Root Hub Simulation
HubDevice
Apple Internal Keyboard / Trackpad
BRCM2070 Hub
Bluetooth USB Host Controller
FaceTime HD Camera (Built-in)
EHCI Root Hub Simulation
HubDevice
IR Receiver
-
still shows more than I wanted, but is a convenient 1 line per device list Feb 2, 2015 at 3:11
-
1Is there a convenient way to use this information to mount a device? I have a nook that
ioreg
shows as connected, butdiskutil list
does not show it. Is there any info fromioreg
that I could use to mount the nook? Oct 19, 2016 at 21:11 -
@stiemannkj1: I'm not familiar with nooks, so I'm not sure how they're supposed to show up on a Mac. As I understand it, mounting it will require a device drive that recognizes it as something disk-line (should the standard USB driver do this?), and having something like a recognizable filesystem on it. I'm not familiar enough with the driver system to know how to check this, but I don't think
ioreg
can tell you what you want to know. Oct 19, 2016 at 22:57 -
You can always pipe the output, such as to Sublime:
ioreg -p IOUSB -w0 -l | subl
. This ioreg command also shows the devices that my virtual box is using, which is really helpful. Jun 27, 2019 at 22:24 -
Unfortunately this command do not shows devices if they are connected throw dongle.– RamisFeb 19, 2021 at 8:34
Run this command in a shell
system_profiler SPUSBDataType
This is the commandline equivalent of the System Profiler app.
-
Comments are not for extended discussion; this conversation has been moved to chat.– bmike ♦Jan 19, 2021 at 22:17
-
1you could add that this is the command-line counterpart of "System Information" UI app. Jun 3, 2021 at 8:12