
WhatCable: инспектор USB-C кабелей прямо в меню бар
WhatCable — бесплатное macOS-приложение в меню баре, которое показывает реальные характеристики USB-C кабеля: скорость, мощность, e-marker и тип соединения.
Один разъём — бесконечное количество вопросов
Вы когда-нибудь подключали ноутбук к зарядке и видели надпись «Зарядка идёт медленно»? Или копировали файлы с внешнего SSD и замечали, что скорость явно не 10 Гбит/с, обещанных на коробке? Скорее всего, виноват кабель — тот самый невзрачный шнур, который выглядит точь-в-точь как Thunderbolt 4, но внутри оказывается старым добрым USB 2.0.
USB-C скрывает под собой колоссальный разброс характеристик: от зарядного кабеля USB 2.0 до 240 Вт / 40 Гбит/с Thunderbolt 4 — и все они выглядят одинаково в вашем ящике стола.
Именно с этой проблемой борется WhatCable — крошечное open-source приложение для macOS, которое в одно касание показывает, на что реально способен подключённый кабель.
Что такое WhatCable и как оно работает
WhatCable — macOS-приложение в меню баре, которое на понятном языке объясняет, что умеет каждый USB-C кабель, подключённый к вашему Mac, и почему Mac может заряжаться медленно.
Подключите кабель — и приложение тут же сообщит, на что он способен: зарядная мощность, скорость передачи данных, поддержка дисплея, Thunderbolt и т.д. Написано на Swift/SwiftUI, полностью открытый исходный код, бесплатно, без трекинга.
Принцип работы прост и элегантен: macOS уже имеет доступ к нужной информации через IOKit — WhatCable просто выводит её в виде удобного popover-меню.
WhatCable считывает три семейства служб IOKit. Никаких дополнительных разрешений, приватных API или вспомогательных демонов: декодирование скорости и мощности кабеля следует спецификации USB Power Delivery 3.x.
Что именно показывает приложение
WhatCable отображает информацию в нескольких категориях:
Основной статус кабеля
С первого взгляда видно общий заголовок: Thunderbolt / USB4, USB-устройство, только зарядка, медленный USB / только зарядка, ничего не подключено. Плюс диагностика зарядки — когда что-то подключено, баннер определяет узкое место: «Кабель ограничивает скорость зарядки» (кабель рассчитан на меньше, чем зарядник) или «Зарядка идёт на 30 Вт (зарядник может до 96 Вт)» (Mac запрашивает меньше, например, когда батарея почти заряжена).
Информация об e-marker чипе
Данные e-marker кабеля — его реальная скорость (USB 2.0, 5 / 10 / 20 / 40 / 80 Гбит/с), номинальный ток (3 А / 5 А → до 60 Вт / 100 Вт / 240 Вт) и производитель чипа.
Активные транспорты
Активные транспорты — USB 2 / USB 3 / Thunderbolt / DisplayPort. Нажатие ⌥ на иконке в меню баре (или переключатель в настройках) раскрывает скрытые свойства IOKit для инженеров.
Как выглядит процесс диагностики
flowchart TD
A[Подключаете кабель к Mac] --> B[WhatCable опрашивает IOKit]
B --> C{Есть e-marker?}
C -- Да --> D[Читает скорость, мощность, производителя]
C -- Нет --> E[Отмечает: кабель без маркера]
D --> F[Сравнивает с зарядником]
E --> F
F --> G{Кабель — узкое место?}
G -- Да --> H[Баннер: кабель ограничивает зарядку]
G -- Нет --> I[Показывает текущую мощность и скорость]
H --> J[Итоговый popover в меню баре]
I --> J
Почему это вообще нужно: хаос мира USB-C
Чтобы понять ценность WhatCable, достаточно взглянуть на то, насколько запутан мир USB-C стандартов.
USB-C — это 24-контактный реверсивный разъём (не протокол), который используется для обмена данными с периферией, передачи аудио/видео на дисплеи и питания устройств. Кроме USB, через него могут работать Thunderbolt, PCIe, DisplayPort и HDMI.
Однако физическая идентичность разъёмов скрывает огромный разброс возможностей:
| Стандарт | Скорость данных | Макс. мощность | E-marker | Дисплей |
|---|---|---|---|---|
| USB 2.0 | 480 Мбит/с | до 60 Вт | Нет | Нет |
| USB 3.2 Gen 1 | 5 Гбит/с | до 60 Вт | Опционально | Alt Mode |
| USB 3.2 Gen 2 | 10 Гбит/с | до 100 Вт | Да (5А) | Alt Mode |
| USB 3.2 Gen 2×2 | 20 Гбит/с | до 100 Вт | Да (5А) | Alt Mode |
| USB4 Gen 2×2 | 20 Гбит/с | до 240 Вт | Да | DP 2.0 |
| USB4 Gen 3×2 | 40 Гбит/с | до 240 Вт | Да | DP 2.1 |
| Thunderbolt 4 | 40 Гбит/с | до 100 Вт | Да | Dual 4K |
| Thunderbolt 5 | 80 Гбит/с | до 240 Вт | Да | Dual 8K |
USB4 определяет скорости передачи данных 20 Гбит/с, 40 Гбит/с и 80 Гбит/с, а Thunderbolt 5 обеспечивает симметричную пропускную способность 80 Гбит/с и однонаправленную 120 Гбит/с для дисплеев, поддерживая dual 8K при 60 Гц.
К сожалению, многие USB-C кабели, поставляемые в комплекте с устройствами (особенно с зарядниками), поддерживают лишь самый старый и медленный стандарт — USB 2.0.
Кабель USB-C может выглядеть одинаково, стоить одинаково и при этом различаться в скорости передачи данных в 166 000 раз — от 480 Мбит/с до 80 Гбит/с.
Что такое e-marker и почему он важен
E-marker сообщает, как кабель идентифицирует сам себя: максимальное напряжение, максимальный ток, максимальная скорость (и USB-рейтинг), тип кабеля и даже его ориентация.
Информация e-marker появляется только для кабелей, в которых он есть. Большинство USB-C кабелей мощностью до 60 Вт не имеют маркера. Любой Thunderbolt / USB4 кабель, любой 5А / 100Вт+ кабель и большинство качественных дата-кабелей будут иметь e-marker.
Установка и требования
Скачайте последний WhatCable.zip со страницы Releases, разархивируйте и перетащите WhatCable.app в /Applications. Приложение универсальное (Apple Silicon + Intel), подписано Developer ID и нотаризировано Apple — никаких предупреждений Gatekeeper. Требуется macOS 14 (Sonoma) или новее.
# Шаги установки:
# 1. Скачать WhatCable.zip с GitHub Releases
# 2. Разархивировать
# 3. Перетащить WhatCable.app в /Applications
# 4. Запустить — иконка появится в меню баре
# Для самостоятельной сборки:
git clone https://github.com/darrylmorley/whatcable.git
cd whatcable
open WhatCable.xcodeproj
Сборка из исходников (для разработчиков)
Если хотите собрать приложение самостоятельно и подписать своим Developer ID:
Найдите свою подпись через security find-identity -v -p codesigning, затем сохраните учётные данные для нотаризации через xcrun notarytool store-credentials с вашим Apple ID и Team ID.
WhatCable vs. альтернативы
WhatCable — не единственное решение для диагностики USB-C подключений на Mac. Рассмотрим альтернативы:
| Параметр | WhatCable | USB Connection Information | System Information |
|---|---|---|---|
| Цена | Бесплатно | $4.99 | Бесплатно (встроен) |
| Меню бар | ✅ | ✅ | ❌ |
| E-marker данные | ✅ | ❌ | ❌ |
| Thunderbolt | ✅ | ❌ | Частично |
| Диагностика зарядки | ✅ | ✅ | ❌ |
| Open source | ✅ | ❌ | — |
| Режим инженера | ✅ (IOKit) | ❌ | Частично |
| Требования | macOS 14+ | macOS | Любой macOS |
USB Connection Information — специализированный инструмент мониторинга, отображающий скорость подключения в реальном времени, потребление мощности и идентификацию устройств прямо из меню бара. Приложение чётко показывает согласованные скорости подключения, делая немедленно очевидным, когда кабели или порты создают узкие места. Однако его ограничение — исключительный фокус на USB-соединениях: Thunderbolt и другие типы подключений не поддерживаются.
macOS System Information может показать текущую скорость USB-соединения, но каждый раз лезть туда при подключении нового устройства или замене кабеля — слишком много лишних действий.
WhatCable выигрывает именно совокупностью: бесплатно, open source, без трекинга, с поддержкой Thunderbolt и e-marker, плюс режим инженера для глубокой диагностики.
Практические сценарии использования
Сценарий 1: Медленная зарядка ноутбука
Вы купили новый 96-Вт зарядник для MacBook Pro, но замечаете, что ноутбук заряжается как-то вяло. Подключаете кабель → WhatCable показывает баннер: «Кабель ограничивает зарядку». Причина: кабель без e-marker, рассчитан только на 60 Вт. Решение: заменить на кабель с e-marker 5А.
Сценарий 2: Внешний SSD работает медленно
Вы копируете 50 ГБ на внешний NVMe-накопитель и видите скорость 40 МБ/с вместо ожидаемых 1000+ МБ/с. WhatCable показывает: активный транспорт — USB 2.0, хотя кабель выглядит «правильным». Просто замените кабель на тот, у которого скорость 10+ Гбит/с.
Сценарий 3: Монитор не подключается через USB-C
Кабель выглядит как Thunderbolt, но дисплей через него не работает. WhatCable сразу показывает: нет DisplayPort в активных транспортах, кабель — USB 2.0 без Alt Mode. Диагноз за две секунды.
Технические детали: что происходит под капотом
Декодер PD-спецификации ориентирован на PD 3.0 / 3.1. Варианты PD 3.2 EPR могут потребовать доработки по мере появления реальных данных. Справочник производителей встроен, но не исчерпывающий — распространённые производители кабелей, зарядников, хабов, доков и накопителей распознаются; остальные отображаются как hex VID.
Архитектура приложения строится на трёх уровнях:
- IOKit layer — чтение данных от USB PD контроллера, Thunderbolt контроллера и USB хоста
- Decoder layer — расшифровка e-marker данных по спецификации PD 3.x
- SwiftUI layer — отображение в виде popover-меню в меню баре macOS
CC-канал конфигурации используется согласно стандарту Type-C для обнаружения подключений, ориентации штекера (из-за реверсивной оболочки USB Type-C) и установления связи USB PD для переговоров о питании и запроса кабеля (eMarker) и противоположной стороны для возможностей USB4 или TB3.
Заключение
WhatCable решает реальную, но незаметную проблему: хаос в мире USB-C кабелей, где внешний вид абсолютно ничего не говорит о возможностях. Приложение бесплатное, open source, не собирает данные, работает нативно через IOKit без хаков и приватных API.
Если вы пользователь Mac и у вас больше одного USB-C кабеля (а их наверняка больше пяти) — WhatCable стоит того, чтобы держать его в меню баре постоянно. Это как иметь мультиметр для кабелей, только без необходимости разбираться в электронике.
Лучший инструмент — тот, о котором не думаешь. WhatCable просто живёт в меню баре и молчит, пока не нужен.
Ссылки: