1 điểm bởi GN⁺ 1 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • WhatCable là ứng dụng trên thanh menu macOS, hiển thị bằng ngôn ngữ dễ hiểu những gì cáp USB-C đang cắm vào Mac thực sự có thể làm được và lý do vì sao việc sạc Mac có thể chậm
  • Dù bề 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 cho tới 240W / 40Gbps Thunderbolt 4; WhatCable hiển thị thông tin mà macOS cung cấp qua IOKit trong cửa sổ popover trên thanh menu
  • Có thể xem nhanh theo từng cổng các trạng thái 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ị dạng banner các điểm nghẽn như cáp có đang giới hạn tốc độ sạc hay không, Mac có đang yêu cầu mức điện năng 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
  • Ứng dụng đọc từ e-marker của cáp để hiển thị 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 hồ sơ điện áp PDO (5V/9V/12V/15V/20V, v.v.) mà bộ sạc công bố và làm nổi bật theo thời gian thực hồ sơ 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 dưới đúng cổng vật lý cùng với tốc độ đã thương lượng
  • Hiển thị các 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 cách ⌥-nhấp hoặc bật trong phần cài đặt
  • Trong phần cài đặt, có thể ẩn các 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 hoặc 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 rồi brew install --cask whatcable
  • Ứng dụng được cung cấp dưới dạng universal binary cho Apple silicon và Intel, có chữ ký Developer ID và đã được Apple notarize, nhưng yêu cầu hoạt động thực tế 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, phát trực tiếp thay đổi kết nối với --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, đồng thời hoạt động mà không cần cấp quyền, API riêng tư 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 xuất hiện; và nếu e-marker bị làm giả hoặc flash sai để quảng bá 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; không hỗ trợ phân phối trên iOS và App Store do các ràng buộc của iOS sandbox và App Sandbox; giấy phép là MIT

1 bình luận

 
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