WhatCable - um pequeno app de barra de menu para inspecionar cabos USB-C
(github.com/darrylmorley)- WhatCable é um app da barra de menu do 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
- Embora os cabos USB-C pareçam iguais por fora, há uma grande diferença entre um cabo apenas para carregamento USB 2.0 e um 240W / 40Gbps Thunderbolt 4; o WhatCable mostra, em um popover da barra de menu, as informações que o macOS expõe via IOKit
- É possível ver de relance, por porta, estados como Thunderbolt / USB4, dispositivo USB, apenas carregamento, cabo USB/carregamento lento e sem conexão
- O diagnóstico de carregamento exibe banners indicando gargalos como cabo limitando a velocidade de carga, Mac solicitando menos energia ou incompatibilidade entre carregador e cabo
- Ele 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, máximo de 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 armazenamentos, hubs e periféricos sob a porta física real junto com a velocidade negociada
- Mostra os modos de transmissão ativos como USB 2, USB 3, Thunderbolt e DisplayPort, e também permite verificar as propriedades do IOKit brutas para engenheiros por meio de ⌥-clique ou de uma opção nas configurações
- Nas configurações, é possível ocultar portas vazias, iniciar na sessão do usuário, executar como um app normal no Dock em vez de usar um ícone na barra de menu e ativar notificações de conexão/desconexão de cabos
- A instalação pode ser feita baixando
WhatCable.zipna Releases page e movendo para/Applications, ou combrew tap darrylmorley/whatcableseguido debrew install --cask whatcable - O app é distribuído 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
whatcableusa o mesmo mecanismo de diagnóstico e oferece suporte a resumo de portas,--json, streaming de mudanças de conexão com--watche--raw, que inclui propriedades brutas do IOKit - Internamente, ele lê
AppleHPMInterfaceType10/11/12,AppleTCControllerType10/11,IOPortFeaturePowerSource,IOPortTransportComponentCCUSBPDSOPe a subárvore do controlador XHCI, funcionando sem concessão de permissões, APIs privadas ou daemon auxiliar - Como limitação, informações do cabo podem não aparecer em cabos abaixo de 60W sem e-marker, e não há como o software verificar o interior do cabo se um e-marker falsificado ou gravado incorretamente anunciar desempenho falso
- O decodificador PD é voltado para PD 3.0 / 3.1; por causa das restrições do sandbox do iOS e do App Sandbox, não há suporte a distribuição para iOS e App Store, e a licença é MIT
1 comentários
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
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
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
O problema é que, numa tela de 14 polegadas, a área à direita do notch já está quase lotada, e nem tenho tanta coisa assim lá
Se desativar, o WhatCable roda como um app normal no Dock, com janela comum
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