1 ポイント 投稿者 GN⁺ 2 시간 전 | 1件のコメント | WhatsAppで共有
  • WhatCableは、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 pageWhatCable.zipをダウンロードして/Applicationsへ移動するか、brew tap darrylmorley/whatcableの後にbrew install --cask whatcableで可能
  • アプリはApple siliconとIntel向けのユニバーサルバイナリとして提供され、Developer ID署名とAppleの公証を受けているが、実際の動作要件はmacOS 14 Sonoma以降とApple Silicon
  • whatcable CLIも同じ診断エンジンを使用しており、ポート要約、--json、接続変化のストリーミング--watch、基本IOKitプロパティを含む--rawをサポート
  • 内部的にはAppleHPMInterfaceType10/11/12AppleTCControllerType10/11IOPortFeaturePowerSourceIOPortTransportComponentCCUSBPDSOP、XHCIコントローラのサブツリーを読み取り、権限付与・非公開API・ヘルパーデーモンなしで動作
  • 制限事項として、e-markerのない60W未満のケーブルではケーブル情報が表示されない場合があり、偽造または誤ってフラッシュされたe-markerが虚偽の性能を広告している場合、ソフトウェアでケーブル内部を検証する方法はない
  • PDデコーダはPD 3.0 / 3.1を対象としており、iOSサンドボックスとApp Sandboxの制約によりiOSおよびApp Store配布はサポートせず、ライセンスはMIT

1件のコメント

 
GN⁺ 2 시간 전
Hacker Newsのコメント
  • すごい。GPT-5.5 がこれを KDE Plasma 6 Plasmoid にどれくらい速く変換できるか見たくて試してみたら、10分と2ドルくらいで、タスクバーに同じ情報を表示する QML アプリができた。
    こういうことが今では普通にできるのは本当に驚きなので書いておく

    • 10分と2ドルを節約したいのですが、これは GitHub のどこかに上がっていますか?
    • Sennheiser BTD-700 Bluetooth ドングルでまったく同じことをやったことがある。ドングル制御用の小さな 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 ケーブル がたくさんあるので、それぞれの性能をラベルで貼れたらいいのにと思っていたが、これで可能になった