이전 글 (https://www.clien.net/service/board/pds/17927219CLIEN) 에 이은 새 버전 v0.2.0.10 이 brew tapping 으로 설치 될 수 있도록 오늘 업데이트 되었습니다.
사용되는 라이브러리는 macOS 일 경우는 libusb 1.0.26 최신 master 나 v1.0.26 tagging 된 버전,
Linux 일 경우는 udev 와 pthread 가 별도로 필요하며, 이는 제 소스를 clone 한 다음 바로 빌드 가능 합니다.
- 위치 : https://github.com/rageworx/listusb
물론 MSYS2+MinGW-W64 에서도 그냥 빌드 됩니다. 사실상 모바일 OS 말고는 다 된다고 보시면 됩니다.

원래 lsusb 보다 좋을리는 없겠습니다만, macOS 에서 어느 분 말 따라서 system_profiler SPUSBDataType 라고 쳐도 되겠지만, lsusb 쓰던 분들이 system_profiler 로 나오는 출력을 원하는 건 아닐거라 봅니다, grep 등 으로 잘라 보기도 뭐 하고요.
이전 버전과 달라진 점은
- escape color 를 지원하는 -c/--color 가 구현 되었고,
- -s/--simple 과 함께 테이블 머리라 해야 하나요 ? reference table 이라고 제일 첫 번째 줄에 세미콜론(;) 으로 분리되는 차례 목차 정도를 출력해서 해깔리지 않게 해 줄 수 있게 하였고,
- lsusb 와 비슷하게 Bus, Port 를 처음 출력하도록 하였습니다.
아직 미구현 사항은
- 각 interface 마다 자세 정보 출력이 미흡합니다, 제가 libusb 를 100% 아는게 아니라 부족한 부분이 있습니다.
- 덤으로 각 end point 에 대해 좀 더 자세히 출력 하고 싶은데 아직 구현을 못했습니다.
Platform 별 차이점
- Linux 에서는 libusb 로 부터 자세한 문자열 얻어 오는게 정상동작이 안됩니다, 다른 방법이 있는지는 모르겠습니다.
- Windows 의 경우는 MSYS2+MinGW-W64 로 그대로 빌드 할 수 있으며, MSYS2 에서 잘 동작 합니다.
- 단, Windows 의 cmd 나 powershell 에서도 동작은 할 것 같습니다만 ( 빌드시 -mconsole 을 추가 해야 함 ), -c/--color 는 동작하지 않을 겁니다.
- Windows 에서는 USB Tree Viewer 같은 winusb 를 바로 통해 가져 오는 좋은 GUI 가 따로 있어서 그걸 추천 드립니다.
macOS 에서 설치 방법
두가지가 있습니다, 바로 download 받아 설치 하는 방법과 hombrew 를 통해 설치 하는 방법.
단, Mach-O 를 최소 macOS11 이상으로 했기 때문에 arm64,x86.64 두가지에 해당하는 분이라면 universal binary 이기 때문에 그냥 쓸 수 있지만, 이전 버전 macOS 를 쓰신다면 소스를 직접 빌드 해서 쓰셔야 합니다.
직접 설치
이 URL 에서 https://github.com/rageworx/listusb/releases/tag/v0.2.0.10 , tar.gz 을 받은 다음, 해당 페이지 설명대로 tar -xf 로 /usr/local/bin 에 설치 하면 됩니다. 다만, iTerm 등을 쓸 수 있어야 합니다.
Homebrew 를 통한 설치
가장 권장 됩니다, 가장 편하고, 자동 업데이트도 되고 여러모로 한번 해 놓으면 이만한게 없습니다.
먼저 tapping 을 다음과 같이 해 줍니다.
$ brew tap rageworx/listusb
그런 다음 이제 listusb 를 설치 해 주면 됩니다.
$ brew install listusb
설치 해 둔 다음 부터는 제가 버전을 올릴때 마다 자동으로 업데이트 됩니다.
덧
USB 관련으로 확인 해야 하는 일이 있으신 분들이라면 잘 애용하시기 바랍니다.
저의 경우는 libusb 로 다른 개발을 하면서 편하게 볼려고 만든 것이라 좋다지만 사람마다 다를 수 있기도 하기 때문에 의견 주시면 반영 하겠습니다.
escape color 는 제 취향이다 보니 너무 알록달록 할 수 있으니, 좋은 아이디어 있으시면 git repo 에 fork 후 contribution 해 주시면 PR 로 얼마든지 반영 해 드립니다 !
감사합니다.
(지나가던 문돌이 지나갑니다,,,)
예를 들어 USB3 인데 USB2 로 붙어 있거나 한 상태? 정도요?
근데 빌드가 안되네... ㅠ
libusb 소스 위치를 .config 안에 지정 해야 하고, 미리 libusb 빌드 해 둬야 합니다.
맥에선 brew 로 받는 libsub 는 universal binary 가 아니라서 따로 빌드 해야 합니다..
리눅스도 따로 받아 빌드 해서 쓰시는걸 추천 드립니다.
그나저나 해당 파이선 소스를 보니 특정 리눅스에선 안나오겠군요..