34 pontos por GN⁺ 2026-05-02 | 4 comentários | Compartilhar no WhatsApp
  • Um app de barra de menus para macOS que mostra em linguagem simples o que um cabo USB-C conectado ao Mac realmente consegue fazer e por que o carregamento do Mac pode estar lento
  • Cabos USB-C podem parecer idênticos por fora, mas variam muito, de USB 2.0 só para carregamento até Thunderbolt 4 de 240W / 40Gbps; o WhatCable exibe em um pop-up na barra de menus as informações que o macOS expõe via IOKit
  • Dá para ver de relance, por porta, estados como Thunderbolt / USB4, dispositivo USB, apenas carregamento, cabo USB/lento ou só de carregamento, e nenhuma conexão
  • O diagnóstico de carregamento mostra em banners gargalos como: se o cabo está limitando a velocidade de carga, se o Mac está solicitando menos energia, ou se carregador e cabo combinam bem
  • Lê e mostra, a partir do e-marker do cabo, a velocidade real (USB 2.0, 5/10/20/40/80Gbps), a corrente nominal (3A/5A, até 60W/100W/240W) e o fornecedor do chip
  • Lista os perfis de tensão PDO anunciados pelo carregador (5V/9V/12V/15V/20V etc.) e destaca em tempo real o perfil atualmente negociado
  • Interpreta o nome do fornecedor e o tipo de produto dos dispositivos conectados a partir da resposta PD Discover Identity, e mostra armazenamento, hubs e periféricos sob a porta física real junto com a velocidade negociada
  • Mostra os modos de transferência ativos como USB 2, USB 3, Thunderbolt e DisplayPort, e também permite ver as propriedades base de IOKit para engenheiros via ⌥-clique ou uma opção nas configurações
  • Nas configurações, é possível ocultar portas vazias, iniciar no login, rodar como um app normal no Dock em vez de usar ícone na barra de menus, e ativar notificações de conexão/desconexão de cabos
  • A instalação pode ser feita baixando WhatCable.zip na Releases page e movendo para /Applications, ou com brew tap darrylmorley/whatcable seguido de brew install --cask whatcable
  • O app é oferecido como binário universal para Apple silicon e Intel, com assinatura Developer ID e notarização da Apple, mas o requisito real de funcionamento é macOS 14 Sonoma ou superior e Apple Silicon
  • A CLI whatcable usa o mesmo mecanismo de diagnóstico e oferece resumo das portas, --json, streaming de mudanças de conexão com --watch e --raw para incluir propriedades básicas do IOKit
  • Internamente, ele lê AppleHPMInterfaceType10/11/12, AppleTCControllerType10/11, IOPortFeaturePowerSource, IOPortTransportComponentCCUSBPDSOP e a subárvore do controlador XHCI, funcionando sem concessão de permissões, APIs privadas ou daemon auxiliar
  • Como limitação, em cabos abaixo de 60W sem e-marker as informações do cabo podem não aparecer, e se um e-marker falsificado ou gravado incorretamente anunciar capacidades falsas, não há como o software verificar o interior do cabo
  • O decodificador de PD é voltado para PD 3.0 / 3.1, e por causa das restrições do sandbox do iOS e do App Sandbox, não há suporte a iOS nem distribuição pela App Store
  • Licença MIT

4 comentários

 
xguru 2026-05-02

Na prática, depois de instalar, ficou tão limpo que gostei bastante... mas os cabos que eu usava e achava bons aparecem todos como meia-boca.
Depois de ver isso, fico pensando toda hora que preciso trocar por cabos mais caros.

Pesquisando, vi que o Satechi Thunderbolt 5 https://amzn.to/3QKqf0u e o Satechi USB4 V2 Pro https://amzn.to/3QB9HIp são bem recomendados, então corri e já pedi os dois.

 
aqqnucs 2026-05-03

Funciona só com o cabo solto? (sem nada conectado na outra ponta)

 
xguru 2026-05-03

Parece que não funciona. Acho que só é reconhecido quando algo está conectado.

 
GN⁺ 2026-05-02
Comentários do Hacker News
  • Muito legal. Quis ver quão rápido o GPT-5.5 conseguiria transformar isso em um Plasmoid do KDE Plasma 6, então testei: levou uns 10 minutos e cerca de 2 dólares, e agora existe um app em QML que mostra a mesma informação na barra de tarefas
    Só deixando registrado porque é realmente impressionante que hoje dê para simplesmente fazer esse tipo de coisa

    • Quero economizar 10 minutos e 2 dólares; isso está em algum lugar no GitHub?
    • Fiz exatamente a mesma coisa com o dongle Bluetooth Sennheiser BTD-700. Achei que alguém já tinha criado uma pequena biblioteca em C para controlar o dongle e, com base nela, o Claude fez um widget decente para KDE que controla os fones
  • Impressionante como @sleepingNomad lançou 16 releases nas últimas 7 horas, incorporando feedback do HN em tempo real
    Se você não gosta de apps na barra de menus, dá para rodar como app normal, e se não gosta de GUI, agora também dá para rodar pela linha de comando
    Dá para ver só pelo changelog:
    https://github.com/darrylmorley/whatcable/releases?page=2

    • Recebi ótimos bug reports e pedidos de funcionalidade no HN e, graças ao Claude, consegui lançar atualizações rapidamente. Ter um bom pair programmer torna 16 releases em 7 horas muito mais fácil
    • Realmente impressionante. OP/sleepingNomad, você poderia colocar isso também no MacPorts?
  • Isso me lembrou que o ChromeOS tem uma espécie de superpoder para identificar cabos USB-C: https://www.reddit.com/r/UsbCHardware/comments/1pyojjd/comme...
    Não sei se esse app para macOS usa o mesmo método, mas o link explica que há uma mensagem "Discover Identity" dentro do e-Marker do cabo que o ChromeOS consegue ler e exibir
    O hardware comum de Windows não consegue ler isso por limitações da BIOS, mas Chromebooks conseguem, e Macs provavelmente também

  • Bem legal, mas não sei por que tantos apps para Mac insistem em ficar residentes na barra de menus

    • Concordo. Principalmente algo assim, que parece ser usado só algumas vezes; imagino que a maioria das pessoas não tenha tantos cabos nem queira verificar isso regularmente
      O problema é que, numa tela de 14 polegadas, a área à direita do notch já está quase lotada, e nem tenho tanta coisa assim lá
    • Para mim tudo bem, mas entendo que para outras pessoas talvez não. Então adicionei um toggle "Show in menu bar" nas configurações
      Se desativar, o WhatCable roda como um app normal no Dock, com janela comum
    • Acesso com um clique é mais rápido do que digitar o nome do app no Finder. O Dock normalmente já está cheio e serve para outros tipos de app, enquanto o padrão de UI permite deixar a saída sempre visível
    • Pois é, minha barra de menus também já está lotada
  • Dá para ler o e-Marker também em dispositivos não Apple? Se funcionasse em Linux ou Windows, parece que seria realmente útil

  • Obrigado por criar isso. Sou deficiente visual, então usar aquele testador USB de 16 dólares vendido na Amazon para organizar minha gaveta de cabos não é uma opção
    Isso evita que eu precise comprar um SBC separado rodando Linux só para testar cabos

  • Será que dá para fazer isso no Linux também? Talvez com um wrapper do lsusb. Acabei de encontrar https://github.com/doug-gilbert/lsucpd, que aparentemente adiciona PD e outras informações

  • Gosto que isso seja um app nativo para Mac. Obrigado por criar e compartilhar

  • Tentei contribuir com a exibição em watts da corrente do adaptador no stats, mas meu PR foi fechado sem nenhum comentário. É algo parecido com este PR:
    https://github.com/exelban/stats/pull/3024

  • É uma funcionalidade que eu queria há bastante tempo. Tenho muitos cabos USB-C de origem desconhecida e sempre pensei que seria bom poder etiquetar o desempenho de cada um; agora isso ficou possível