Драйвер для программатора USBasp: установка и решение проблем

Windows определяет подключённый USBasp как «Неизвестное USB-устройство» или не видит его вовсе — типичная ситуация, потому что у программатора нет собственного драйвера с цифровой подписью Microsoft, и система не знает, как с ним работать. Устройство построено на микроконтроллере ATmega8 (или его аналогах) и общается с компьютером через программную реализацию USB, поэтому ему нужен универсальный драйвер libusb, который ставится вручную.

Без корректно установленного драйвера ни avrdude, ни графические оболочки вроде AVRDUDESS или Khazama не смогут обнаружить программатор — прошивка микроконтроллеров AVR будет невозможна. Разберём, какой драйвер нужен, как его поставить на Windows 10 и 11 и что делать, если устройство всё равно не определяется.

Что такое USBasp и почему ему нужен драйвер

USBasp — популярный недорогой внутрисхемный программатор для микроконтроллеров AVR (ATmega, ATtiny и других). Он подключается к компьютеру по USB, а к целевому чипу — через интерфейс ISP по 6- или 10-контактному шлейфу.

Особенность устройства в том, что оно не использует стандартный чип-преобразователь USB-UART вроде FTDI или CH340. Вместо этого USB-протокол реализован программно на самом микроконтроллере программатора. Поэтому в Диспетчере устройств вы не увидите привычного COM-порта — USBasp работает как «сырое» USB-устройство, и обращаться к нему нужно через библиотеку libusb.

Где взять драйвер и что понадобится

Официальный драйвер для Windows распространяется на сайте разработчика проекта USBasp (fischl.de) в виде архива с inf-файлами. Однако на современных версиях Windows удобнее использовать утилиту Zadig — она автоматически привязывает к устройству драйвер libusb-win32 или libusbK без ручной возни с подписями.

Перед началом подготовьте следующее:

  • 🔌 Сам программатор USBasp и исправный USB-кабель (в дешёвых кабелях иногда есть только жилы питания без линий данных).
  • 💻 Права администратора на компьютере — без них установка драйвера не выполнится.
  • 📦 Утилиту Zadig, скачанную с официального сайта проекта, либо архив драйвера с сайта автора USBasp.
  • 🛠 Программу для прошивки: avrdude (консольная) или графическую оболочку AVRDUDESS — для проверки результата.
⚠️ Внимание: скачивайте Zadig и драйверы только с официальных источников. Сборники «драйверпаков» со сторонних сайтов нередко содержат вредоносное ПО, а для такого простого устройства, как USBasp, они попросту не нужны.

Установка драйвера через Zadig — самый простой способ

Метод через Zadig работает на Windows 7, 8, 10 и 11 и не требует отключения проверки цифровой подписи — утилита использует подписанные драйверы libusb. Это основной рекомендуемый путь.

Порядок действий:

  • 1️⃣ Подключите USBasp к USB-порту компьютера напрямую, без хабов.
  • 2️⃣ Запустите Zadig от имени администратора.
  • 3️⃣ В меню Options включите пункт List All Devices — по умолчанию программа показывает не все устройства.
  • 4️⃣ В выпадающем списке найдите USBasp. Если его нет, возможны варианты отображения вроде Unknown Device — сверьтесь с VID/PID устройства (у типового USBasp это 16C0:05DC).
  • 5️⃣ В поле драйвера выберите libusb-win32 или libusbK и нажмите Install Driver (или Replace Driver, если драйвер уже стоял).
  • 6️⃣ Дождитесь сообщения об успешной установке и проверьте устройство в Диспетчере устройств.

☑️ Проверка после установки драйвера

Выполнено: 0 / 4

После установки откройте Диспетчер устройств: программатор должен появиться в разделе libusb-win32 devices или libusbK devices без предупреждающих значков. Если устройство осталось с жёлтым треугольником — удалите его вместе с драйвером (галочка «Удалить программы драйверов») и повторите процедуру в Zadig.

📊 Каким способом вы устанавливали драйвер USBasp?
Через Zadig
Вручную через inf-файл
С отключением проверки подписи
Пока не получилось установить

Ручная установка через inf-файл и отключение проверки подписи

Альтернативный вариант — официальный пакет драйверов с сайта автора USBasp. Его inf-файлы не имеют подписи, признанной современными версиями Windows, поэтому на 64-битных Windows 10/11 система может отказать в установке с ошибкой о неподписанном драйвере.

В этом случае необходимо временно отключить обязательную проверку подписи драйверов. Универсальный способ через меню восстановления: удерживая Shift, нажмите «Перезагрузка» в меню «Пуск», затем пройдите по пути Поиск и устранение неисправностей → Дополнительные параметры → Параметры загрузки → Перезагрузить и после перезапуска нажмите клавишу 7 (F7) — «Отключить обязательную проверку подписи драйверов». Режим действует до следующей перезагрузки.

Далее в Диспетчере устройств щёлкните правой кнопкой по неопознанному устройству, выберите Обновить драйвер → Найти драйверы на этом компьютере и укажите папку с распакованным архивом драйвера. После установки и обычной перезагрузки драйвер продолжит работать, даже когда проверка подписи снова включится.

⚠️ Внимание: не отключайте проверку подписи драйверов насовсем через bcdedit без необходимости — это снижает защиту системы от вредоносных драйверов. Достаточно одноразового отключения через меню параметров загрузки.
Почему Windows требует подписанные драйверы

Начиная с 64-битных версий Windows, система в обычном режиме загружает только драйверы с действительной цифровой подписью. Это защита от руткитов, работающих на уровне ядра. Утилита Zadig обходит проблему легально: драйверы libusb-win32 и libusbK, которые она устанавливает, имеют корректную подпись, поэтому отключать проверку не нужно.

Проверка работы программатора через avrdude

Установленный драйвер сам по себе ничего не показывает — убедиться, что связь есть, можно только через программу-прошивальщик. Самый надёжный инструмент — консольная утилита avrdude.

Подключите USBasp и выполните в командной строке простейшую проверку чтения сигнатуры подключённого микроконтроллера (пример для ATmega8):

avrdude -c usbasp -p m8

Если драйвер установлен корректно, но целевой чип не подключён, avrdude сообщит, что программатор найден, однако не сможет прочитать сигнатуру — это уже говорит о работоспособности USB-части. Ошибка вида error: could not find USB device with vid=0x16c0 pid=0x5dc означает, что проблема именно в драйвере или в самом подключении.

Типичные ошибки и их решения

Даже при правильных действиях установка не всегда проходит гладко. Ниже — частые симптомы и направления диагностики.

СимптомВероятная причинаЧто проверить
Устройства нет в списке ZadigКабель без линий данных или неисправный портДругой кабель, порт USB напрямую, без хаба
avrdude не находит устройствоДрайвер не установлен или заменён другимПовторная установка через Zadig, раздел libusb в Диспетчере устройств
Жёлтый восклицательный знакНеподписанный драйвер заблокирован системойПереустановка через Zadig либо отключение проверки подписи
Ошибка чтения сигнатуры чипаПроблема не в драйвере, а в подключении к целевому МКРаспиновка ISP-шлейфа, питание целевой платы, перемычка slow SCK
Работало, после обновления Windows пересталоОбновление заменило драйверПовторная привязка libusb через Zadig

Обратите внимание на последнюю строку таблицы: крупные обновления Windows иногда заменяют драйвер libusb стандартным системным, после чего USBasp «пропадает» для avrdude. Лечится повторным запуском Zadig и переустановкой драйвера — это занимает минуту.

Отдельно стоит сказать про ошибку target doesn't answer или неверную сигнатуру. Это уже не проблема драйвера: программатор найден, но не видит прошиваемый чип. Проверяйте правильность подключения линий MOSI, MISO, SCK, RESET, питание целевой платы, а при работе с «свежими» микроконтроллерами на низкой тактовой частоте — перемычку снижения скорости (slow SCK), если она предусмотрена на вашей плате программатора.

Особенности для Windows 10 и 11

На современных системах основных отличия два. Во-первых, усиленная проверка подписи делает ручную установку старых inf-драйверов затруднительной — поэтому Zadig становится фактически стандартным способом. Во-вторых, функция Secure Boot не мешает драйверам libusb, так как они подписаны корректно, но может блокировать самодельные неподписанные варианты.

Если вы работаете на Windows 11 и Zadig не видит устройство даже с включённым List All Devices, попробуйте другой USB-порт (желательно USB 2.0, если он есть) и проверьте сам программатор на другом компьютере. Клоны USBasp бывают собраны с отклонениями, и неисправный экземпляр может не определяться вообще никак.

Часто задаваемые вопросы

USBasp должен появиться как COM-порт?

Нет. USBasp не является преобразователем USB-UART и не создаёт виртуальный COM-порт. В Диспетчере устройств он отображается как устройство libusb-win32 или libusbK. Программы-прошивальщики обращаются к нему напрямую по VID/PID, без номера порта.

Какой драйвер выбрать в Zadig: libusb-win32, libusbK или WinUSB?

Для работы с avrdude чаще всего выбирают libusb-win32 или libusbK — оба варианта рабочие. WinUSB тоже может подойти, но с некоторыми старыми версиями софта совместимость хуже. Если с одним вариантом программатор не определяется, попробуйте заменить драйвер на другой через тот же Zadig.

После обновления Windows программатор перестал определяться. Что делать?

Возможная причина — обновление системы заменило драйвер libusb стандартным. Запустите Zadig и установите драйвер заново: выберите устройство USBasp и нажмите Replace Driver. Прошивку самого программатора это не затрагивает.

avrdude пишет «could not find USB device», хотя драйвер установлен. В чём дело?

Проверьте, что в Диспетчере устройств программатор действительно находится в разделе libusb, а не среди «Других устройств». Также замените USB-кабель и порт: кабели только для зарядки — частая причина того, что устройство физически не выходит на связь. Наконец, убедитесь, что никакая другая программа не заняла устройство в этот момент.

Нужно ли обновлять прошивку самого USBasp?

Для установки драйвера и базовой работы — нет. Обновление прошивки программатора требуется редко (например, для совместимости с отдельными версиями avrdude) и выполняется вторым программатором через ISP-разъём. Это рискованная операция: при ошибке устройство можно «окирпичить», поэтому без явной необходимости её лучше не проводить.