USB‑UART не определяется: как оживить CP210x/CH340 и вернуть COM‑порт
Если CP210x/CH340 не создаёт COM‑порт или даёт Code 10/43, чаще всего проблема в кабеле без линий данных, питании/USB‑порту или конфликте драйверов. Действуйте по порядку: проверьте кабель и USB, определите чип по VID/PID, затем переустановите корректный драйвер и снимите ограничения (занятый порт, права, энергосбережение).
Оглавление
Быстрая проверка без драйверов
- Кабель: замените на заведомо data‑кабель. «Зарядные» кабели часто питают плату, но не передают данные — в системе ничего не появляется.
- USB‑порт: попробуйте другой разъём, предпочтительно USB 2.0 (на ПК — задние порты). Исключите пассивные хабы и переднюю панель.
- Признаки подключения: если ОС вообще не реагирует (нет нового устройства/сообщений), это чаще контакт/кабель/питание, а не драйвер.
Если устройство «то появляется, то пропадает» во время прошивки — начните с кабеля и USB 2.0: это решает больше половины «мистических» отвалов.
Как отличить CP210x от CH340 (VID/PID)
Правильный драйвер зависит от чипа. Самый быстрый способ — посмотреть VID/PID:
- Windows: Диспетчер устройств → свойства устройства → Сведения → ИД оборудования.
- CP210x: часто
VID_10C4 - CH340/CH341: часто
VID_1A86
- CP210x: часто
- Linux:
lsusbи/илиdmesg -wпосле подключения. - macOS: «Отчёт о системе» → USB или
system_profiler SPUSBDataType.
Типовые симптомы и решения
Короткая карта “симптом → действие”
| Симптом | Что обычно помогает |
|---|---|
Нет COM‑порта / не появляется /dev/tty* | другой data‑кабель, другой USB‑порт, без хаба |
| Unknown device / сбой дескриптора | переподключить, сменить порт, затем переустановка драйвера |
| **Code 10** (Windows) | полностью удалить устройство **с драйвером** и поставить заново |
| **Code 43** (Windows) | кабель/порт + отключить энергосбережение USB + переустановка |
| Порт есть, но “Access denied / Port busy” | закрыть Serial Monitor/терминалы/прошивальщики, перезагрузка |
Linux: Permission denied на /dev/ttyUSB0 | добавить пользователя в dialout, перелогиниться |
Windows 10/11: Code 10/43, нет COM и порт занят
1) Переустановка без конфликтов (ключевой шаг)
- Отключите адаптер/плату от USB.
- Диспетчер устройств → Вид → Показать скрытые устройства.
- Удалите все похожие записи (CP210x/CH340/«USB Serial Device») через Удалить устройство.
- Важно: отметьте «Удалить программы драйверов для этого устройства» (если доступно).
- Перезагрузите ПК.
- Установите официальный драйвер именно под ваш чип и только потом подключите устройство.
Не используйте «пакеты драйверов» и авто‑обновлялки: они часто ставят неподходящую версию, из‑за чего появляются Code 10/43 и нестабильные порты.
2) COM‑порт меняется (COM5 → COM12) и ломает IDE
Диспетчер устройств → Порты (COM и LPT) → ваш USB‑Serial → Свойства → Параметры порта → Дополнительно → назначьте свободный номер COM вручную.
3) “Port is busy / Access is denied”
Закройте всё, что держит порт: Serial Monitor в IDE, терминалы, отладчики, утилиты прошивки. Если не нашли виновника — переподключение устройства или перезагрузка.
4) Отваливается на прошивке: отключите энергосбережение USB
Диспетчер устройств → Контроллеры USB → для USB Root Hub/Generic Hub: Управление электропитанием → снимите галочку «Разрешить отключение…».
macOS и Linux: когда дело в разрешениях
macOS
- После обновлений macOS драйвер может быть заблокирован. Проверьте: Системные настройки → Конфиденциальность и безопасность → разрешите системное ПО (если появилось уведомление) и перезагрузите.
- Ищите устройства в
/dev/tty.*(названия зависят от драйвера/чипа). Если ничего нет — вернитесь к шагам: кабель/порт → VID/PID → корректный драйвер.
Linux
- Обычно драйверы уже в ядре: CP210x (
cp210x), CH340/CH341 (ch341). Смотрите, что произошло при подключении:dmesg | tail -n 50. - Ошибка прав на порт:
- добавьте пользователя в
dialout:sudo usermod -aG dialout $USER - затем выйдите и зайдите в систему (или перезагрузка).
- добавьте пользователя в
Частые ошибки
- Ставят драйвер не от того чипа (на плате может быть не CP210x/CH340, а другой мост) — всегда сверяйте VID/PID.
- Проверяют драйверы, хотя кабель без данных — ОС не видит устройство вовсе.
- Прошивка не идёт, но виноват не драйвер, а режим загрузки (BOOT/EN на ESP, авто‑reset) или открытый Serial Monitor.
- USB 3.x порт/хаб даёт наводки — при нестабильности переходите на USB 2.0.
FAQ
Как понять, что проблема именно в драйвере?
Если на другом ПК/в другой ОС устройство стабильно создаёт порт — почти наверняка это драйвер/настройки (права, энергосбережение, занятый порт). Если не определяется нигде — начинайте с кабеля, питания и самого адаптера.
Почему Windows показывает “USB Serial Device”, но оно не работает?
Иногда Windows ставит универсальный драйвер, который конфликтует с конкретной реализацией моста. Помогает полное удаление устройства с удалением драйвера и установка корректного драйвера под VID/PID.
Что делать, если порт есть, но прошивка падает по таймауту?
Закройте программы, которые держат порт, проверьте скорость/настройки платы и режим загрузки (BOOT/EN), затем используйте другой USB‑порт/кабель (лучше USB 2.0).