Deja de adivinar: Cómo saber realmente qué pueden hacer tus cables USB-C

Todos los cables USB-C parecen iguales, pero sus capacidades varían enormemente. WhatCable es una utilidad para macOS que decodifica los datos del e-marker para decirte exactamente qué soporta tu cable.

Si tienes un cajón lleno de cables USB-C, conoces la frustración: todos parecen idénticos, pero uno puede ser una bestia de 240W de potencia, otro un potente cable Thunderbolt de 40Gbps y un tercero un cable barato de 480Mbps "solo para carga" que venía con unos auriculares.

Durante años, la única forma de saber la diferencia era probarlos con hardware costoso o depender del método de prueba y error. WhatCable cambia eso al extraer los datos ocultos del "e-marker" directamente desde el IOKit de tu Mac, presentándolos en una aplicación de barra de menús limpia y fácil de leer.

Por qué esto es importante para los desarrolladores

Como desarrolladores, a menudo trabajamos con periféricos de gran ancho de banda, SSD externos y estaciones de trabajo que consumen mucha energía. Cuando la velocidad de transferencia se limita o un portátil no se carga a máxima velocidad, el cable suele ser el primer sospechoso, pero es notoriamente difícil de verificar.

WhatCable resuelve esto leyendo las respuestas de USB Power Delivery (PD) Discover Identity. No solo adivina; consulta el chip dentro del conector del cable para informar sobre:

  • Velocidad de datos: Desde 480 Mbps (USB 2.0) hasta 80 Gbps.
  • Potencia nominal: Capacidades de 60W, 100W o 240W.
  • Soporte de protocolos: Thunderbolt 3/4/5, USB4 o DisplayPort.

Más allá de la barra de menús: La CLI

Aunque la aplicación de barra de menús es perfecta para un vistazo rápido, el proyecto también incluye una robusta herramienta de línea de comandos (CLI). Esto es invaluable para scripts o diagnósticos rápidos en la terminal. Si instalas a través de Homebrew (brew install --cask whatcable), obtienes el comando whatcable automáticamente.

Ejecutar whatcable en tu terminal proporciona una instantánea instantánea de tus puertos:

$ whatcable

USB-C Port 1
✓ Cargando correctamente a 96W
Cable: 5A, 100W, USB4 40 Gbps
Cargador: 5V / 9V / 15V / 20V PDOs

USB-C Port 2
! El cable está limitando la velocidad de carga
Cable: 3A, 60W, USB 2.0
Dispositivo: SSD Externo, USB 10 Gbps

Incluso puedes usar --json para enviar la salida a jq para monitoreo o registro automatizado, o usar --watch para ver actualizaciones en tiempo real mientras conectas y desconectas dispositivos.

Cómo funciona internamente

WhatCable es una clase magistral sobre cómo aprovechar las APIs nativas de macOS sin recurrir a trucos privados. Interactúa con cuatro familias de servicios IOKit específicas:

  1. AppleHPMInterface / AppleTCController: Monitorea el estado, la conexión y la orientación de cada puerto.
  2. IOPortFeaturePowerSource: Extrae la lista completa de Power Delivery Object (PDO) de tu cargador.
  3. IOPortTransportComponent: Decodifica los VDO de Discover Identity de PD desde el e-marker del cable.
  4. XHCI Controller Subtree: Mapea los dispositivos USB conectados a sus puertos físicos.

Debido a que depende de estas interfaces estándar, es ligero, seguro y no requiere extensiones de kernel invasivas ni demonios auxiliares.

Funciones Pro y salud del hardware

Aunque la herramienta principal es gratuita y de código abierto, el proyecto ofrece una versión "Pro" que añade diagnósticos profundos. Esto incluye:

  • Medidor de energía en vivo: Gráficos en tiempo real de la entrada de energía.
  • Diagnóstico de negociación: Una vista comparativa de lo que soportan tu Mac, tu cable y tu dispositivo frente a lo que realmente se negoció.
  • Estimación de resistencia: Una forma inteligente de identificar cables de baja calidad o dañados que podrían estar causando caídas de voltaje.

Cómo empezar

Si tienes un Apple Silicon con macOS 14 o superior, puedes obtener la última versión desde el repositorio de GitHub.

Consejo profesional: Si tienes un cable que sospechas que está mal etiquetado o es falsificado, usa el comando whatcable --report. Genera un issue de GitHub prellenado con la huella digital del cable, ayudando a la comunidad a construir una mejor base de datos de capacidades de cables. Al contribuir con tus datos, ayudas a que la herramienta sea más precisa para todos.

Fuente

darrylmorley/whatcable: Aplicación de barra de menús para macOS que te dice, en lenguaje sencillo, qué puede hacer realmente cada cable USB-C conectado a tu Mac