· 톺아보기

PC자료

macOS 사용자들을 위한 listusb (lsusb 와 비슷)

RaphKay · · 수정

조회 27,158 · 공감 11 · 댓글 12

이전 글 (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 말고는 다 된다고 보시면 됩니다.


listusb-v0.2.0.10.png


원래 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 로 얼마든지 반영 해 드립니다 !


감사합니다.

출처 : https://github.com/rageworx/homebrew-listusb

댓글 12

  1. RaphKay · · 공감 1
    otool -L 로 보면 /usr/lib 에서 libc++.1.dylib 와 libSystem.B.dylib 을 별도로 필요로 하고 있긴 한데, 이거 때문에 실행이 안되는 분들 계시면 댓글로 남겨 주세요 !
  2. 성면 · · 공감 4
    아,,, 음 너무 좋네요…
    (지나가던 문돌이 지나갑니다,,,)
  3. RaphKay · · 공감 1
    @꼬마김군님 이건 개발자 아니라도 macOS 쓰는 분들이면 다 쓸 수 있으니까요 :)
  4. 우리는어디로가는가 ·
    @꼬마김군님 음 뭐 어디에 쓰는용도가 있는거겠죠….
  5. RaphKay · · 공감 1
    @우리는어디로가는가님 USB 3.x 꼽았는데 왜 이이리 느리지 ? 할때 사과마크>시스템정보>USB 로 해당 장치 보는걸 좀 더 빠르고 (특히 개발자들이나 리눅서) 눈으로 상태 빠르게 볼 때 유용하기도 합니다. ㅋㅋ
    예를 들어 USB3 인데 USB2 로 붙어 있거나 한 상태? 정도요?
  6. 성면 · · 공감 1
    @RaphKay님 정성스러운 글에 친절한 답변까지 감사드립니다! 분명 큰 도움이 되는 정보일 거라고 생각합니다. 좋은 주말 되시기를 바랍니다.
  7. 딸기love · · 공감 1
    무슨말인진 잘 모르겠으나 색깔이예쁘네요.
  8. RaphKay ·
    @딸기love님 알록달록한거 좋아하는 제 취향과 맞아 떨어 지시는군요 ! 하하하 ...
  9. RaphKay ·
    @Choryu님 readme.md 를 읽어 보셔야 ..
    libusb 소스 위치를 .config 안에 지정 해야 하고, 미리 libusb 빌드 해 둬야 합니다.
    맥에선 brew 로 받는 libsub 는 universal binary 가 아니라서 따로 빌드 해야 합니다..
    리눅스도 따로 받아 빌드 해서 쓰시는걸 추천 드립니다.

    그나저나 해당 파이선 소스를 보니 특정 리눅스에선 안나오겠군요..
  10. 밤도리 · · 공감 1
    감사합니다 편하게 받았습니다. 아무런 usb를 인식시키지 않으면 listusb를 쳐도 아무것도 안나와서 당황했네요ㅋㅋ 연결된 usb가 없으면 usb 연결된게 없다고 뜨면 좀 더 좋을꺼같습니닷 감사합니다 잘 쓰겠습니다
  11. RaphKay ·
    @밤도리님 아무것도 없으면 아무것도 안나오는게 정상이라 생각 했는데, no devices found 정도 출력 하는거 다음 버전에 반영 하겠습니다 (일반 출력일때만)

자료실 최근 글

자료실 목록 더 보기