Có tương đương với lsusb cho OS X không


95

Câu hỏi này dường như có trên google, nhưng tất cả các câu trả lời đều hướng đến việc sử dụng System Profiler. Điều đó thật tuyệt, nhưng với System Profiler, tất cả những gì bạn nhận được sẽ giống như sau:

            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

Đó là tuyệt vời nếu tất cả các bạn muốn là nội dung của một loạt các mô tả thiết bị, nhưng lsusbcung cấp cho bạn rất nhiều hơn nữa - thông tin về giao diện và điểm cuối, các hiệp hội giao diện, thiết bị composite ... nơi bạn có thể tìm thấy thông tin này trong OS X? Có phải là một công cụ mà thực hiện điều này?


Nếu bạn không phiền, bạn đang sử dụng thông tin như "giao diện và điểm cuối, liên kết giao diện, thiết bị tổng hợp" như thế nào?
Ben Creasy

Câu trả lời:


135

Tôi cảm thấy mệt mỏi vì quên system_profiler SPUSBDataTypecú pháp, vì vậy tôi đã thực hiện một giải lsusbpháp thay thế. Bạn có thể tìm thấy nó ở đây hoặc cài đặt nó bằng homebrew:

brew install lsusb

2
Kịch bản hay! Bạn có muốn thêm nó làm công thức homebrew không? Điều này sẽ thuận tiện.
moritz

1
Đó là một tiện ích tuyệt vời, nhưng nó vẫn chỉ là một phần nhỏ so với những gì lsusb trên linux có thể mang lại cho bạn. lsusb trên linux có thể cung cấp cho bạn toàn bộ nội dung của bộ mô tả cấu hình của thiết bị. Nếu không có điều đó, tôi e rằng công cụ này hầu như chỉ là một chiếc máy in đẹp.
Ted Middleton

3
Có thể bị hạn chế, nhưng nó làm chính xác những gì tôi cần. Làm cho môi trường phát triển của tôi phù hợp chỉ với một Lời brew installcảm ơn !!
Snakeoil,

2
Đó là một tập lệnh hay, nhưng nó thực sự không nên được gọi là "lsusb" khi xem xét những gì lsusbthực sự có thể làm: askubuntu.com/a/604169/598643
Mr. Kennedy

1
Một điều gọn gàng sẽ là alias lsusb='system_profiler SPUSBDataType'nếu bạn không quan tâm quá nhiều đến việc nhận được cùng một kết quả chính xác cho lsusb
yerlilbilgin

72

Tôi thường chạy lệnh này để liệt kê các thiết bị USB trên Mac OS X, cùng với thông tin chi tiết về chúng:

ioreg -p IOUSB -l -w 0

Xem phản hồi của tôi với @blekenbleu về ioreg
Ted Middleton

3
Bản sao nhận xét của Ted Middleton : Vấn đề là ioreg và IORegistryExplorer hiển thị cho bạn các đối tượng hạt nhân đã được khớp với các thiết bị, không phải chi tiết của chính các thiết bị. Điều đó có nghĩa là bạn sẽ không thấy giao diện trên các cấu hình khác với cấu hình hiện đang hoạt động và bạn sẽ không thấy bất kỳ thông tin điểm cuối nào (đây là đầu ra hữu ích nhất từ ​​lsusb).
Maarten Bodewes

1
Các trang này dường như đã bị xóa. Các giải pháp thay thế (kể từ tháng 5 năm 2019) là: unix.com/man-page/mojave/8/ioregmanpagez.com/man/8/ioreg
rdadolf

26

Người dùng Homebrew: bạn có thể nhận được lsusbbằng cách cài đặt usbutilscông thức từ vòi của tôi:

brew install mikhailai/misc/usbutils

Nó cài đặt REAL lsusbdựa trên các nguồn Linux (phiên bản 007).


1
Cuối cùng, giao dịch thực sự. Tôi có thể xác nhận rằng cái này hoạt động trên OX 10.13.6.
Guido

3
Cảm ơn, đây là một giải pháp tốt hơn nhiều, không khả dụng vào thời điểm tôi phát triển lsusbkịch bản.
jlhonora

2
Cảm ơn, @jlhonora. Điều trớ trêu là những người Homebrew quyết định thêm lsusbtập lệnh của bạn vào homebrew-core, thay vì của tôi usbutils.
Mikhail Iakhiaev

1
Bạn luôn có thể gửi PR cho họ.
jlhonora


9

Trong mac osx, bạn có thể sử dụng lệnh sau:

system_profiler SPUSBDataType

system_profiler có vấn đề tương tự như ioreg - nó phản ánh trạng thái của các đối tượng kernel mà kernel đã khớp với các thiết bị, không phải chính các thiết bị. Tôi muốn một cái gì đó về cơ bản sẽ hiển thị bố cục đầy đủ của thiết bị, như trong tất cả các bộ mô tả cấu hình của tất cả các cấu hình.
Ted Middleton

6

Nếu bạn là người dùng MacPorts , bạn có thể chỉ cần cài đặt các nút ứng dụng

sudo port install usbutils

Nếu bạn chưa, đây có thể là cơ hội tốt để cài đặt nó, nó có các cổng cho một số công cụ linux hữu ích khác.


Ah - ok, trong tệp cổng tôi thấy, "cổng depend_lib: libusb", và nguồn thực sự có vẻ yêu cầu libusb. Điều đó sẽ làm được, tôi đoán. Tuy nhiên, tôi không thực sự sử dụng macports - tôi đang sử dụng bia. Và tôi không muốn phải cài đặt macports chỉ cho điều này, đặc biệt là khi lsusb có thể được hoàn thiện lại với iokit không gian người dùng một cách dễ dàng.
Ted Middleton

Đây phải là câu trả lời được chấp nhận. Howerver, ngay bây giờ gói thầu này bị phá vỡ do sự phụ thuộc của nó usbids, theo dõi nó trên trac.macports.org/ticket/53188

Điều đó dường như đã được sửa chữa cho đến nay.
Maarten Bodewes


2
system_profiler SPUSBDataType

đó là lệnh bạn cần trên macos


0

Ít nhất vào ngày 10.10.5, system_profiler SPUSBDataTypeđầu ra KHÔNG được cập nhật động khi thiết bị USB mới được cắm vào, trong khi ioreg -p IOUSB -l -w 0đó.


Vấn đề là ioreg và IORegistryExplorer hiển thị cho bạn các đối tượng hạt nhân đã được khớp với các thiết bị, không phải chi tiết của chính các thiết bị đó. Điều đó có nghĩa là bạn sẽ không thấy giao diện trên các cấu hình khác với cấu hình hiện đang hoạt động và bạn sẽ không thấy bất kỳ thông tin điểm cuối nào (đây là đầu ra hữu ích nhất từ ​​lsusb).
Ted Middleton

Những gì tôi muốn là một công cụ sẽ hiển thị nội dung của tất cả các bộ mô tả cấu hình của thiết bị. ioreg sẽ không làm điều này, lsusb thì có.
Ted Middleton

Tôi không thấy câu trả lời này khác với câu trả lời này như thế nào?
Maarten Bodewes

0

Trên Mac OS X, bộ công cụ phát triển Xcode bao gồm ứng dụng USB Right.app. Điều này được tìm thấy trong / Nhà phát triển / Ứng dụng / Tiện ích /. USB Prober sẽ cho phép bạn kiểm tra thiết bị và bộ mô tả giao diện.


Xcode.app/Contents/Application/Utilities không tồn tại trong Xcode 8.3 và không có USB Prober trong Ứng dụng. Tôi biết rằng USB Prober vẫn có sẵn nhưng tôi chưa thể tìm ra nó ở đâu. Nó nằm trong một gói với một số công cụ khác.
Mike Crawford
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.