Apakah ada yang setara dengan lsusb untuk OS X.


96

Pertanyaan ini sepertinya ada di seluruh google, tetapi jawabannya semua mengarah ke penggunaan System Profiler. Itu bagus, tetapi dengan System Profiler yang Anda dapatkan adalah sesuatu yang terlihat seperti ini:

            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

Itu bagus jika semua yang Anda inginkan adalah isi dari sekelompok deskriptor perangkat, tetapi lsusbmemberi Anda begitu banyak lagi - informasi pada antarmuka dan titik akhir, asosiasi antarmuka, perangkat komposit ... di mana Anda dapat menemukan informasi ini di OS X? Ada harus menjadi alat yang melakukan ini?


Jika Anda tidak keberatan, bagaimana Anda menggunakan informasi seperti "antarmuka dan titik akhir, asosiasi antarmuka, perangkat komposit"?
Ben Creasy

Jawaban:


136

Saya bosan lupa system_profiler SPUSBDataTypesintaks, jadi saya membuat lsusbalternatif. Anda dapat menemukannya di sini , atau menginstalnya dengan homebrew:

brew install lsusb

2
Naskah yang bagus! Apakah Anda ingin menambahkannya sebagai formula homebrew? Ini akan memudahkan.
moritz

1
Itu utilitas yang bagus, tetapi itu masih sebagian kecil dari apa yang bisa diberikan lsusb di linux untuk Anda. lsusb di linux dapat memberi Anda konten lengkap dari deskriptor konfigurasi perangkat. Tanpa itu, saya khawatir alat ini sebagian besar hanyalah printer cantik.
Ted Middleton

3
Mungkin terbatas, tetapi ia melakukan apa yang saya butuhkan. Membuat lingkungan pengembangan saya konsisten hanya dengan brew installucapan Terima kasih !!
Snakeoil

2
Itu skrip yang bagus, tapi seharusnya tidak disebut "lsusb" mengingat apa yang lsusbsebenarnya bisa dilakukan: askubuntu.com/a/604169/598643
Tuan Kennedy

1
Yang rapi akan menjadi alias lsusb='system_profiler SPUSBDataType'jika Anda tidak terlalu peduli tentang mendapatkan hasil yang sama persis untuk lsusb
yerlilbilgin

73

Saya biasanya menjalankan perintah ini untuk mencantumkan perangkat USB di Mac OS X, bersama dengan detail tentangnya:

ioreg -p IOUSB -l -w 0

Lihat tanggapan saya ke @blekenbleu tentang ioreg
Ted Middleton

3
Salinan komentar oleh Ted Middleton : Masalahnya adalah bahwa ioreg dan IORegistryExplorer menunjukkan kepada Anda objek kernel yang telah dicocokkan dengan perangkat, bukan detail perangkat itu sendiri. Itu berarti Anda tidak akan melihat antarmuka pada konfigurasi selain yang sedang aktif, dan Anda tidak akan melihat informasi titik akhir sama sekali (yang merupakan keluaran paling berguna dari lsusb).
Maarten Bodewes

1
Halaman manual tampaknya telah dihapus. Alternatif (per Mei 2019) adalah: unix.com/man-page/mojave/8/ioreg dan manpagez.com/man/8/ioreg
rdadolf

26

Pengguna homebrew: Anda bisa mendapatkan lsusbdengan menginstal usbutilsformula dari tap saya:

brew install mikhailai/misc/usbutils

Ini menginstal REAL lsusbberdasarkan sumber Linux (versi 007).


1
Akhirnya, real deal. Saya dapat mengonfirmasi bahwa ini berfungsi pada OX 10.13.6.
Guido

3
Terima kasih, ini adalah solusi yang jauh lebih baik, tidak tersedia pada saat saya mengembangkan lsusbskrip.
jlhonora

2
Terima kasih, @jlhonora. Ironisnya, orang-orang Homebrew memutuskan untuk menambahkan lsusbskrip Anda ke homebrew-corefile usbutils.
Mikhail Iakhiaev

1
Anda selalu dapat mengirimi mereka PR.
jlhonora


9

Di mac osx, Anda dapat menggunakan perintah berikut:

system_profiler SPUSBDataType

system_profiler memiliki masalah yang sama dengan ioreg - ini mencerminkan keadaan objek kernel yang telah dicocokkan oleh kernel dengan perangkat, bukan perangkat itu sendiri. Saya menginginkan sesuatu yang pada dasarnya akan menampilkan tata letak lengkap perangkat, seperti yang ada di semua deskriptor konfigurasi dari semua konfigurasi.
Ted Middleton

6

Jika Anda adalah pengguna MacPorts , Anda dapat menginstal usbutils

sudo port install usbutils

Jika tidak, ini mungkin kesempatan bagus untuk menginstalnya, ini memiliki port untuk beberapa alat linux berguna lainnya.


Ah - ok, di file port saya melihat, "depend_lib port: libusb", dan sumbernya memang membutuhkan libusb. Itu akan berhasil, kurasa. Saya tidak benar-benar menggunakan macports, meskipun - saya sedang membuat bir. Dan saya benci harus menginstal macports hanya untuk ini, terutama ketika lsusb dapat diimplementasikan kembali dengan iokit ruang pengguna dengan mudah.
Ted Middleton

Ini harus menjadi jawaban yang diterima. Howerver, sekarang paket ini rusak karena ketergantungannya usbids, lacak melalui trac.macports.org/ticket/53188

Itu sepertinya sudah diperbaiki sekarang.
Maarten Bodewes


2
system_profiler SPUSBDataType

itu perintah kebutuhan Anda di macos


0

Setidaknya pada 10.10.5, system_profiler SPUSBDataTypeoutput TIDAK diperbarui secara dinamis ketika perangkat USB baru dicolokkan, sementara itu ioreg -p IOUSB -l -w 0tidak.


Masalahnya adalah ioreg dan IORegistryExplorer menunjukkan kepada Anda objek kernel yang telah dicocokkan dengan perangkat, bukan detail perangkat itu sendiri. Itu berarti Anda tidak akan melihat antarmuka pada konfigurasi selain yang sedang aktif, dan Anda tidak akan melihat informasi titik akhir sama sekali (yang merupakan keluaran paling berguna dari lsusb).
Ted Middleton

Yang saya inginkan adalah alat yang akan menampilkan konten dari semua deskriptor konfigurasi perangkat. ioreg tidak akan melakukan ini, lsusb melakukannya.
Ted Middleton

Saya tidak melihat bagaimana ini berbeda dari jawaban ini ?
Maarten Bodewes

0

Di Mac OS X, suite pengembang Xcode menyertakan aplikasi USB Proper.app. Ini ditemukan di / Pengembang / Aplikasi / Utilitas /. USB Prober akan memungkinkan Anda untuk memeriksa perangkat dan deskriptor antarmuka.


Xcode.app/Contents/Applications/Utilities tidak ada di Xcode 8.3, dan tidak ada USB Prober di Aplikasi. Saya tahu bahwa USB Prober masih tersedia tetapi saya belum bisa menemukan di mana itu. Ini ada di dalam paket dengan beberapa alat lain.
Mike Crawford
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.