มี lsusb เทียบเท่ากับ OS X หรือไม่


98

คำถามนี้ดูเหมือนจะครอบคลุมทั่ว 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? มีต้องเป็นเครื่องมือที่ไม่นี้หรือไม่?


1
หากคุณไม่ทราบคุณใช้ข้อมูลเช่น "อินเทอร์เฟซและปลายทางการเชื่อมโยงอินเทอร์เฟซอุปกรณ์คอมโพสิต" อย่างไร
Ben Creasy

คำตอบ:


141

ฉันเบื่อที่จะลืมsystem_profiler SPUSBDataTypeไวยากรณ์ดังนั้นฉันจึงหาlsusbทางเลือกอื่น คุณสามารถค้นหาได้ที่นี่หรือติดตั้งด้วย homebrew:

brew install lsusb

2
สคริปต์ดี! คุณต้องการเพิ่มเป็นสูตร homebrew หรือไม่? สิ่งนี้จะสะดวก
moritz

1
นั่นเป็นยูทิลิตี้ที่ดี แต่ก็ยังเป็นเพียงส่วนหนึ่งของสิ่งที่ lsusb บน linux สามารถให้คุณได้ lsusb บน linux สามารถให้คุณได้รับเนื้อหาทั้งหมดของตัวบอกการกำหนดค่าของอุปกรณ์ หากไม่มีสิ่งนั้นฉันเกรงว่าเครื่องมือนี้ส่วนใหญ่เป็นเพียงเครื่องพิมพ์ที่สวยงาม
Ted Middleton

3
อาจมี จำกัด แต่ก็ทำในสิ่งที่ฉันต้องการ ทำให้สภาพแวดล้อมการพัฒนาของฉันสอดคล้องกันเพียงแค่brew installขอบคุณ !!
snakeoil

2
นั่นเป็นสคริปต์ที่ดี แต่มันไม่ควรจะเรียกว่า "lsusb" การพิจารณาสิ่งที่lsusbสามารถทำได้จริง: askubuntu.com/a/604169/598643
นายเคนเนดี้

2
เรียบร้อยหนึ่งจะalias lsusb='system_profiler SPUSBDataType'ถ้าคุณไม่ดูแลมากเกินไปเกี่ยวกับการรับผลเดียวกันที่แน่นอนสำหรับ lsusb
yerlilbilgin

75

โดยปกติฉันจะเรียกใช้คำสั่งนี้เพื่อแสดงรายการอุปกรณ์ USB บน Mac OS X พร้อมกับรายละเอียดเกี่ยวกับอุปกรณ์เหล่านี้:

ioreg -p IOUSB -l -w 0

ดูคำตอบของฉันที่ @blekenbleu เกี่ยวกับ ioreg
Ted Middleton

3
สำเนาความคิดเห็นโดยTed Middleton : ปัญหาคือ ioreg และ IORegistryExplorer แสดงเคอร์เนลอ็อบเจ็กต์ที่จับคู่กับอุปกรณ์ไม่ใช่รายละเอียดของอุปกรณ์ นั่นหมายความว่าคุณจะไม่เห็นอินเทอร์เฟซในการกำหนดค่าอื่นนอกเหนือจากอินเทอร์เฟซที่ใช้งานอยู่ในปัจจุบันและคุณจะไม่เห็นข้อมูลปลายทางใด ๆ เลย (ซึ่งเป็นเอาต์พุตที่มีประโยชน์ที่สุดจาก lsusb)
Maarten Bodewes

1
ดูเหมือนว่าการจัดการจะถูกลบออกไปแล้ว ทางเลือก (ณ เดือนพฤษภาคม 2019) ได้แก่unix.com/man-page/mojave/8/ioregและmanpagez.com/man/8/ioreg
rdadolf

28

ผู้ใช้ Homebrew: คุณสามารถรับได้lsusbโดยการติดตั้งusbutilsสูตรจากการแตะของฉัน:

brew install mikhailai/misc/usbutils

ติดตั้ง REAL lsusbตามซอร์สของ Linux (เวอร์ชัน 007)


1
ในที่สุดข้อตกลงที่แท้จริง ฉันสามารถยืนยันได้ว่าอันนี้ใช้งานได้กับ OX 10.13.6
Guido

3
ขอบคุณนี่เป็นวิธีแก้ปัญหาที่ดีกว่ามากไม่สามารถใช้งานได้ในขณะที่ฉันพัฒนาlsusbสคริปต์
jlhonora

2
ขอบคุณ @jlhonora สิ่งที่น่าขันก็คือพวก Homebrew ตัดสินใจเพิ่มlsusbสคริปต์ของคุณhomebrew-coreแทนusbutilsไฟล์.
Mikhail Iakhiaev

1
คุณสามารถส่ง PR ได้ตลอดเวลา
jlhonora


11

ใน mac osx คุณสามารถใช้คำสั่งต่อไปนี้:

system_profiler SPUSBDataType

system_profiler มีปัญหาเช่นเดียวกับ ioreg - มันสะท้อนสถานะของวัตถุเคอร์เนลที่เคอร์เนลจับคู่กับอุปกรณ์ไม่ใช่อุปกรณ์เอง ฉันต้องการบางสิ่งที่โดยทั่วไปจะแสดงเค้าโครงทั้งหมดของอุปกรณ์เช่นเดียวกับสิ่งที่อยู่ในตัวบอกการกำหนดค่าทั้งหมดของการกำหนดค่าทั้งหมด
Ted Middleton

6

หากคุณเป็นผู้ใช้MacPortsคุณสามารถติดตั้งusbutils

sudo port install usbutils

หากคุณไม่เป็นเช่นนั้นนี่อาจเป็นโอกาสที่ดีในการติดตั้งมันมีพอร์ตสำหรับเครื่องมือลินุกซ์ที่มีประโยชน์อื่น ๆ อีกมากมาย


อ่า - ตกลงในไฟล์พอร์ตที่ฉันเห็น "พอร์ตขึ้นอยู่กับ libusb" และดูเหมือนว่าแหล่งที่มาจะต้องใช้ libusb จะทำอย่างนั้นฉันเดา ฉันไม่ได้ใช้ macports จริงๆ - ฉันกำลังชง และฉันเกลียดที่จะต้องติดตั้ง macports เพียงเพื่อสิ่งนี้โดยเฉพาะอย่างยิ่งเมื่อ lsusb สามารถนำมาใช้ใหม่กับ user-space iokit ได้อย่างง่ายดาย
Ted Middleton

นี่ควรเป็นคำตอบที่ได้รับการยอมรับ Howerver ตอนนี้แพ็คเกจนี้เสียเนื่องจากการพึ่งพาusbidsติดตามผ่านtrac.macports.org/ticket/53188

ตอนนี้ดูเหมือนว่าจะได้รับการแก้ไขแล้ว
Maarten Bodewes

4

แล้วไงioreg? ผลลัพธ์มีรายละเอียดมากกว่าตัวสร้างโปรไฟล์ แต่ค่อนข้างหนาแน่น

ที่มา: https://lists.macosforge.org/pipermail/macports-users/2008-July/011115.html


ดูคำตอบของฉันต่อ @blekenbleu lsusb มีข้อมูลมากกว่า ioreg / IORegistryExplorer หรือโปรแกรมอื่น ๆ เช่น system_profiler ที่เพิ่งดำเนินการลงทะเบียน iokit
Ted Middleton


0

อย่างน้อยในวันที่ 10.10.5 system_profiler SPUSBDataTypeเอาต์พุตจะไม่อัปเดตแบบไดนามิกเมื่อเสียบอุปกรณ์ USB ใหม่ในขณะที่ioreg -p IOUSB -l -w 0ทำ


ปัญหาคือ ioreg และ IORegistryExplorer แสดงเคอร์เนลอ็อบเจ็กต์ที่จับคู่กับอุปกรณ์ไม่ใช่รายละเอียดของอุปกรณ์ นั่นหมายความว่าคุณจะไม่เห็นอินเทอร์เฟซในการกำหนดค่าอื่นนอกเหนือจากอินเทอร์เฟซที่ใช้งานอยู่ในปัจจุบันและคุณจะไม่เห็นข้อมูลปลายทางใด ๆ เลย (ซึ่งเป็นเอาต์พุตที่มีประโยชน์ที่สุดจาก lsusb)
Ted Middleton

สิ่งที่ฉันต้องการคือเครื่องมือที่จะแสดงเนื้อหาของตัวบอกการกำหนดค่าทั้งหมดของอุปกรณ์ ioreg จะไม่ทำเช่นนี้ lsusb ทำ
Ted Middleton

ฉันไม่เห็นว่ามันแตกต่างจากคำตอบนี้อย่างไร?
Maarten Bodewes

0

บน Mac OS X ชุดนักพัฒนา Xcode มีแอปพลิเคชัน USB Proper.app พบได้ใน / Developer / Applications / Utilities / USB Prober จะช่วยให้คุณตรวจสอบอุปกรณ์และตัวบอกอินเทอร์เฟซ


Xcode.app/Contents/Applications/Utilities ไม่มีอยู่ใน Xcode 8.3 และไม่มี USB Prober ในแอปพลิเคชัน ฉันทราบว่ายังมี USB Prober อยู่ แต่ฉันยังไม่สามารถค้นหาได้ว่าอยู่ที่ไหน มันอยู่ในแพ็คเกจพร้อมเครื่องมืออื่น ๆ
Mike Crawford
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.