WhatCable - USB-C 케이블을 검사하는 작은 메뉴 막대 앱
(github.com/darrylmorley)- Mac에 꽂힌 USB-C 케이블이 실제로 무엇을 할 수 있는지와 Mac 충전이 느릴 수 있는 이유를 쉬운 문장으로 보여주는 macOS 메뉴 막대 앱
- USB-C 케이블은 겉모습이 같아도 USB 2.0 충전 전용부터 240W / 40Gbps Thunderbolt 4까지 차이가 크며, WhatCable은 macOS가 IOKit으로 노출하는 정보를 메뉴 막대 팝오버로 보여줌
- 포트별로 Thunderbolt / USB4, USB 장치, 충전 전용, 느린 USB/충전 전용 케이블, 연결 없음 같은 상태를 한눈에 볼 수 있음
- 충전 진단은 케이블이 충전 속도를 제한하는지, Mac이 더 낮은 전력을 요청 중인지, 충전기와 케이블이 잘 맞는지 같은 병목을 배너로 표시함
- 케이블 e-marker에서 실제 속도(USB 2.0, 5/10/20/40/80Gbps), 전류 정격(3A/5A, 최대 60W/100W/240W), 칩 공급업체를 읽어 보여줌
- 충전기가 광고하는 PDO 전압 프로필(5V/9V/12V/15V/20V 등)을 나열하고, 현재 협상된 프로필을 실시간으로 강조함
- 연결된 장치의 공급업체명과 제품 유형을 PD Discover Identity 응답에서 해석하고, 저장장치·허브·주변기기를 실제 물리 포트 아래에 협상된 속도와 함께 표시함
- 활성 전송 방식으로 USB 2, USB 3, Thunderbolt, DisplayPort를 보여주며, ⌥-클릭이나 설정 토글로 엔지니어용 기본 IOKit 속성도 확인 가능함
- 설정에서는 빈 포트 숨기기, 로그인 시 실행, 메뉴 막대 아이콘 대신 일반 Dock 앱으로 실행, 케이블 연결·해제 알림을 켤 수 있음
- 설치는 Releases page의
WhatCable.zip을 내려받아/Applications로 옮기거나,brew tap darrylmorley/whatcable뒤brew install --cask whatcable로 가능함 - 앱은 Apple silicon과 Intel용 유니버설 바이너리로 제공되고 Developer ID 서명과 Apple 공증을 거쳤지만, 실제 동작 요구사항은 macOS 14 Sonoma 이상과 Apple Silicon임
whatcableCLI가 같은 진단 엔진을 사용하며, 포트 요약,--json, 연결 변화 스트리밍--watch, 기본 IOKit 속성을 포함하는--raw를 지원함- 내부적으로
AppleHPMInterfaceType10/11/12,AppleTCControllerType10/11,IOPortFeaturePowerSource,IOPortTransportComponentCCUSBPDSOP, XHCI 컨트롤러 하위 트리를 읽으며, 권한 부여·비공개 API·헬퍼 데몬 없이 동작함 - 한계로는 e-marker가 없는 60W 미만 케이블에서 케이블 정보가 나타나지 않을 수 있고, 위조 또는 잘못 플래시된 e-marker가 거짓 성능을 광고하면 소프트웨어로 케이블 내부를 검증할 방법이 없음
- PD 디코더는 PD 3.0 / 3.1을 대상으로 하며, iOS 샌드박스와 App Sandbox 제약 때문에 iOS와 App Store 배포는 지원하지 않음
- MIT 라이선스
Hacker News 의견들
-
멋지다. GPT-5.5가 이걸 KDE Plasma 6 Plasmoid로 얼마나 빨리 바꿀 수 있는지 보고 싶어서 해봤는데, 10분과 2달러 정도 걸렸고 이제 작업 표시줄에 같은 정보를 보여주는 QML 앱이 생김
오늘 이런 걸 그냥 할 수 있다는 게 정말 놀라워서 남겨봄- 10분과 2달러를 아끼고 싶은데, 이거 GitHub 어딘가에 올라와 있나요?
- Sennheiser BTD-700 블루투스 동글로 정확히 같은 걸 해봤음. 누군가 동글 제어용 작은 C 라이브러리를 만들어둔 걸 찾았고, 그걸 바탕으로 Claude가 헤드폰을 제어하는 KDE용 괜찮은 위젯을 만들어줌
-
@sleepingNomad가 지난 7시간 동안 16개 릴리스를 내면서 HN 피드백을 즉석에서 반영한 게 대단함
메뉴 막대 앱이 싫으면 일반 앱으로 실행 가능하고, GUI가 싫으면 이제 명령줄에서도 실행 가능함
변경 기록만 봐도 알 수 있음:
https://github.com/darrylmorley/whatcable/releases?page=2- HN에서 훌륭한 버그 리포트와 기능 요청을 받았고, Claude 덕분에 빠르게 배포할 수 있었음. 괜찮은 페어 프로그래머가 있으면 7시간에 16개 릴리스도 훨씬 쉬워짐
- 정말 인상적임. OP/sleepingNomad, 이걸 MacPorts에도 올려줄 수 있나요?
-
ChromeOS에는 USB-C 케이블 식별을 위한 초능력 같은 기능이 있는 게 떠오름: https://www.reddit.com/r/UsbCHardware/comments/1pyojjd/comme...
이 macOS 앱이 같은 방식을 쓰는지는 모르겠지만, 링크에서는 케이블 e-Marker 안에 ChromeOS에서 읽고 표시할 수 있는 "Discover Identity" 메시지가 있다고 설명함
일반적인 Windows 하드웨어는 BIOS 제한 때문에 읽지 못하지만 Chromebook은 가능하고, Mac도 아마 가능할 듯함 -
꽤 괜찮은데, 왜 많은 Mac 앱들은 꼭 메뉴 막대에 상주하려고 하는지 모르겠음
- 동의함. 특히 이런 건 몇 번 정도만 쓸 것 같은데, 대부분 케이블이 아주 많거나 정기적으로 확인하려는 건 아닐 듯함
문제는 14인치 화면에서 노치 오른쪽 영역이 이미 거의 꽉 찼고, 거기에 그렇게 많은 걸 올려둔 것도 아니라는 점임 - 내게는 괜찮지만 다른 사람에게는 아닐 수 있다는 걸 이해함. 그래서 설정에 "Show in menu bar" 토글을 추가했음
끄면 WhatCable이 일반 Dock 앱처럼 보통 창으로 실행됨 - 한 번 클릭으로 접근하는 게 Finder에서 앱 이름을 입력하는 것보다 빠름. Dock은 보통 꽉 차 있고 다른 종류의 앱에 쓰이며, 표준 UI 패턴으로 출력을 계속 보이게 할 수도 있음
- 맞다, 내 메뉴 막대도 이미 꽉 차 있음
- 동의함. 특히 이런 건 몇 번 정도만 쓸 것 같은데, 대부분 케이블이 아주 많거나 정기적으로 확인하려는 건 아닐 듯함
-
비 Apple 기기에서도 e-Marker를 읽을 수 있나요? Linux나 Windows에서도 가능하면 정말 유용할 것 같음
-
만들어줘서 고마움. 시각장애인이라 케이블 서랍을 정리하려고 Amazon에서 파는 16달러 USB 테스터를 쓰는 건 선택지가 아님
이 덕분에 케이블 테스트용으로 Linux가 돌아가는 SBC를 따로 살 필요가 없어짐 -
Linux에서도 이런 걸 할 수 있을까? 아마 lsusb 래퍼로 가능할지도 모르겠음. 방금 PD 등을 추가해주는 https://github.com/doug-gilbert/lsucpd를 찾았음
-
이게 네이티브 Mac 앱이라 마음에 듦. 만들어주고 공유해줘서 고마움
-
stats에 어댑터 전류 와트 표시를 기여하려고 했는데, 내 PR이 아무 코멘트 없이 닫혔음. 이 PR과 비슷한 내용임:
https://github.com/exelban/stats/pull/3024 -
꽤 오래 원하던 기능임. 정체를 알 수 없는 USB-C 케이블이 많아서, 각각의 성능을 라벨로 붙일 수 있으면 좋겠다고 생각했는데 이제 가능해짐