34 điểm bởi GN⁺ 2026-05-02 | 4 bình luận | Chia sẻ qua WhatsApp
  • Ứng dụng trên thanh menu của macOS cho biết bằng ngôn ngữ dễ hiểu rằng cáp USB-C đang cắm vào Mac thực sự có thể làm được gì, và vì sao việc sạc Mac có thể chậm
  • Dù có vẻ ngoài giống nhau, cáp USB-C có thể khác biệt rất lớn, từ loại chỉ sạc USB 2.0 đến Thunderbolt 4 240W / 40Gbps; WhatCable hiển thị thông tin mà macOS công khai qua IOKit trong một cửa sổ bật ra từ thanh menu
  • Có thể nhìn nhanh trạng thái theo từng cổng như Thunderbolt / USB4, thiết bị USB, chỉ sạc, cáp USB/chỉ sạc chậm, hoặc không có kết nối
  • Chẩn đoán sạc hiển thị các điểm nghẽn bằng banner, như việc cáp có đang giới hạn tốc độ sạc hay không, Mac có đang yêu cầu mức công suất thấp hơn hay không, và bộ sạc với cáp có phù hợp với nhau hay không
  • Đọc và hiển thị từ e-marker của cáp tốc độ thực tế (USB 2.0, 5/10/20/40/80Gbps), định mức dòng điện (3A/5A, tối đa 60W/100W/240W), và nhà cung cấp chip
  • Liệt kê các profile điện áp PDO mà bộ sạc công bố (5V/9V/12V/15V/20V, v.v.), đồng thời làm nổi bật theo thời gian thực profile hiện đang được thương lượng
  • Diễn giải tên nhà cung cấp và loại sản phẩm của thiết bị được kết nối từ phản hồi PD Discover Identity, đồng thời hiển thị thiết bị lưu trữ, hub và thiết bị ngoại vi bên dưới đúng cổng vật lý cùng với tốc độ đã thương lượng
  • Hiển thị phương thức truyền đang hoạt động như USB 2, USB 3, Thunderbolt, DisplayPort; cũng có thể xem các thuộc tính IOKit mặc định dành cho kỹ sư bằng ⌥-click hoặc nút gạt trong phần cài đặt
  • Trong cài đặt có thể ẩn cổng trống, chạy khi đăng nhập, chạy như ứng dụng Dock thông thường thay vì biểu tượng trên thanh menu, và bật thông báo khi cáp được kết nối/ngắt kết nối
  • Có thể cài đặt bằng cách tải WhatCable.zip từ Releases page rồi chuyển vào /Applications, hoặc dùng brew tap darrylmorley/whatcable sau đó brew install --cask whatcable
  • Ứng dụng được phát hành dưới dạng universal binary cho Apple silicon và Intel, có chữ ký Developer ID và được Apple công chứng, nhưng yêu cầu thực tế để hoạt động là macOS 14 Sonoma trở lên và Apple Silicon
  • CLI whatcable dùng cùng một engine chẩn đoán, hỗ trợ tóm tắt cổng, --json, stream thay đổi kết nối bằng --watch, và --raw để bao gồm các thuộc tính IOKit mặc định
  • Về nội bộ, ứng dụng đọc AppleHPMInterfaceType10/11/12, AppleTCControllerType10/11, IOPortFeaturePowerSource, IOPortTransportComponentCCUSBPDSOP và cây con của bộ điều khiển XHCI, hoạt động mà không cần cấp quyền, private API hay helper daemon
  • Hạn chế là với các cáp dưới 60W không có e-marker, thông tin cáp có thể không hiện ra; và nếu e-marker bị làm giả hoặc flash sai để quảng cáo hiệu năng không đúng, phần mềm không có cách nào xác minh bên trong cáp
  • Bộ giải mã PD nhắm tới PD 3.0 / 3.1; do ràng buộc của iOS sandbox và App Sandbox nên không hỗ trợ iOS và phát hành qua App Store
  • Giấy phép MIT

4 bình luận

 
xguru 2026-05-02

Cài thử thực tế thì thấy giao diện ra rất gọn gàng nên khá thích.. nhưng mấy sợi cáp vẫn dùng ngon thì lại bị báo là toàn loại lởm.
Xem cái này xong cứ nảy ra suy nghĩ là phải đổi sang cáp đắt tiền hơn thôi.

Tìm thử thì thấy người ta bảo Satechi Thunderbolt 5 https://amzn.to/3QKqf0u hoặc Satechi USB4 V2 Pro https://amzn.to/3QB9HIp là ổn, nên mình vội vàng đặt cả hai luôn.

 
aqqnucs 2026-05-03

Chỉ với cáp trần thôi là được à (ở đầu bên kia không cắm gì cả)

 
xguru 2026-05-03

Có vẻ như không được. Hình như phải cắm thêm gì đó vào thì mới nhận.

 
GN⁺ 2026-05-02
Bình luận trên Hacker News
  • Hay thật. Tôi muốn thử xem GPT-5.5 có thể biến cái này thành một KDE Plasma 6 Plasmoid nhanh đến mức nào nên đã làm thử, mất khoảng 10 phút và 2 đô, giờ tôi có một ứng dụng QML hiển thị cùng thông tin đó trên thanh tác vụ
    Chỉ muốn để lại đây vì thật sự rất kinh ngạc khi giờ có thể đơn giản làm được những việc như thế này

    • Tôi muốn tiết kiệm 10 phút và 2 đô, cái này có được đăng ở đâu đó trên GitHub không?
    • Tôi đã làm đúng y như vậy với USB dongle Bluetooth Sennheiser BTD-700. Tôi tìm được một thư viện C nhỏ để điều khiển dongle do ai đó viết sẵn, rồi dựa vào đó Claude đã tạo cho tôi một widget KDE khá ổn để điều khiển tai nghe
  • Thật ấn tượng khi @sleepingNomad đã phát hành 16 bản release trong 7 giờ qua và phản ánh ngay lập tức phản hồi từ HN
    Nếu không thích ứng dụng trên menu bar thì giờ có thể chạy như một ứng dụng thông thường, còn nếu không thích GUI thì giờ cũng có thể chạy từ dòng lệnh
    Chỉ cần nhìn changelog là thấy:
    https://github.com/darrylmorley/whatcable/releases?page=2

    • Tôi đã nhận được nhiều bug report và yêu cầu tính năng rất tốt từ HN, và nhờ Claude nên có thể triển khai rất nhanh. Có một pair programmer tử tế thì việc ra 16 bản release trong 7 tiếng cũng dễ hơn nhiều
    • Thật sự rất ấn tượng. OP/sleepingNomad, bạn có thể đưa cái này lên MacPorts luôn được không?
  • Điều này làm tôi nhớ rằng ChromeOS có một tính năng gần như siêu năng lực để nhận diện cáp USB-C: https://www.reddit.com/r/UsbCHardware/comments/1pyojjd/comme...
    Tôi không rõ ứng dụng macOS này có dùng cùng cách đó không, nhưng bài được link giải thích rằng có một thông điệp "Discover Identity" bên trong e-Marker của cáp mà ChromeOS có thể đọc và hiển thị
    Phần cứng Windows thông thường không đọc được do giới hạn BIOS, nhưng Chromebook thì được, và Mac có lẽ cũng được

  • Khá hay, nhưng tôi không hiểu vì sao nhiều ứng dụng Mac cứ nhất định phải thường trú trên menu bar

    • Đồng ý. Đặc biệt với cái này thì có lẽ bạn chỉ dùng vài lần, chứ đa số mọi người đâu có quá nhiều cáp hoặc cần kiểm tra thường xuyên như vậy
      Vấn đề là trên màn hình 14 inch, khu vực bên phải tai thỏ đã gần như kín chỗ rồi, dù tôi cũng không để quá nhiều thứ lên đó
    • Tôi hiểu là với tôi thì ổn nhưng với người khác có thể không. Vì vậy tôi đã thêm một công tắc "Show in menu bar" trong phần cài đặt
      Khi tắt đi, WhatCable sẽ chạy như một ứng dụng Dock bình thường với cửa sổ thông thường
    • Truy cập chỉ với một cú nhấp thì nhanh hơn là vào Finder rồi gõ tên ứng dụng. Dock thường đã kín chỗ và dành cho kiểu ứng dụng khác, còn đây cũng là một mẫu UI tiêu chuẩn để giữ đầu ra luôn hiển thị
    • Đúng vậy, menu bar của tôi cũng đã chật kín rồi
  • Có thể đọc e-Marker trên thiết bị không phải của Apple không? Nếu Linux hay Windows cũng làm được thì sẽ thực sự hữu ích

  • Cảm ơn vì đã làm cái này. Tôi bị khiếm thị nên việc dùng USB tester 16 đô bán trên Amazon để sắp xếp ngăn kéo cáp không phải là một lựa chọn
    Nhờ vậy tôi không cần phải mua riêng một SBC chạy Linux chỉ để kiểm tra cáp nữa

  • Liệu trên Linux có làm được việc này không? Có lẽ có thể bằng một wrapper cho lsusb. Tôi vừa tìm thấy https://github.com/doug-gilbert/lsucpd có thêm PD v.v.

  • Tôi thích vì đây là một ứng dụng Mac native. Cảm ơn đã làm và chia sẻ nó

  • Tôi đã định đóng góp phần hiển thị watt của dòng điện adapter vào stats, nhưng PR của tôi bị đóng mà không có bình luận gì. Nội dung tương tự PR này:
    https://github.com/exelban/stats/pull/3024

  • Đây là tính năng tôi muốn từ khá lâu rồi. Tôi có rất nhiều cáp USB-C không rõ nguồn gốc, nên vẫn nghĩ sẽ hay nếu có thể dán nhãn hiệu năng của từng sợi, và giờ thì đã làm được