Программатор USBasp при подключении к Windows 10 определяется как неизвестное устройство или вовсе не появляется в системе — это нормальное поведение, потому что устройство работает через библиотеку libusb и требует ручной установки драйвера, который не подписан Microsoft. Без корректного драйвера утилита avrdude выдаёт ошибку could not find USB device "USBasp", и прошить микроконтроллер не получится.
Проблема решается установкой драйвера libusbK или libusb-win32 через бесплатную утилиту Zadig — это стандартный и проверенный способ, который используется сообществом разработчиков AVR. Ниже разберём всю процедуру по шагам, а также типичные ошибки и способы их устранения.
Что такое USBasp и почему Windows 10 не видит драйвер
USBasp — это популярный USB-программатор для микроконтроллеров AVR семейств ATmega и ATtiny. Устройство построено на микроконтроллере ATmega8 (или аналоге) и реализует USB-интерфейс программно, без аппаратного USB-контроллера. Именно поэтому программатору нужен специальный драйвер на стороне ПК.
Windows 10 не содержит подходящего драйвера в своей базе. При первом подключении в Диспетчере устройств появляется запись «USBasp» с жёлтым восклицательным знаком или устройство попадает в раздел «Другие устройства». Система пытается подобрать драйвер автоматически, но найти его не может, поскольку libusb — это сторонняя библиотека, не входящая в состав Windows.
Вторая сложность — проверка цифровой подписи драйверов. Windows 10 по умолчанию блокирует установку неподписанных драйверов. Драйверы libusb, распространяемые сообществом, как правило, не имеют подписи Microsoft, поэтому на части систем установка завершается ошибкой. Это решается либо использованием подписанных вариантов из Zadig, либо временным отключением проверки подписи.
⚠️ Внимание: скачивайте утилиту Zadig и драйверы только с официальных источников проектов. Сторонние «сборки драйверов» с файлообменников могут содержать вредоносный код, который получит доступ к системе на уровне драйвера.
Подготовка: что нужно перед установкой
Перед установкой драйвера убедитесь, что сам программатор исправен и корректно определяется на уровне USB. Подключите USBasp к порту компьютера и откройте Диспетчер устройств через меню Пуск → Диспетчер устройств или комбинацию Win + X. Устройство должно появиться в списке — пусть даже с ошибкой.
- 🔌 Подключите USBasp напрямую к порту ПК, без USB-хабов — хабы иногда мешают корректному определению.
- 🖥️ Попробуйте другой USB-порт, если устройство вообще не появляется в Диспетчере устройств.
- 📥 Скачайте актуальную версию Zadig с официального сайта проекта.
- 🔐 Убедитесь, что у вас есть права администратора — установка драйвера без них невозможна.
Если программатор не появляется в системе ни в одном порту, возможна аппаратная неисправность: повреждённый кабель, треснувшие дорожки платы или «слетевшая» прошивка самого USBasp. В таком случае сначала проверьте устройство на другом компьютере.
Установка драйвера USBasp через Zadig
Утилита Zadig предназначена именно для установки драйверов libusb, WinUSB и libusbK на USB-устройства. Это самый простой и безопасный способ, который не требует ручной распаковки inf-файлов.
Порядок действий следующий. Запустите Zadig от имени администратора, затем в меню Options включите пункт List All Devices — без этого USBasp может не отображаться в списке. В выпадающем списке выберите USBasp. Справа в поле выбора драйвера установите libusbK или libusb-win32 — оба варианта работают с avrdude. Нажмите кнопку Install Driver (или Replace Driver, если драйвер уже стоял) и дождитесь сообщения об успешной установке.
☑️ Установка драйвера USBasp
После установки откройте Диспетчер устройств и проверьте результат: USBasp должен отображаться без жёлтого значка, в разделе устройств libusbK или libusb-win32. Если устройство всё ещё с ошибкой — удалите его вместе с драйвером через контекстное меню и повторите установку.
Сравнение вариантов драйвера
Zadig предлагает несколько драйверов, и выбор влияет на совместимость с программным обеспечением. Для работы с avrdude и средами вроде Arduino IDE, PlatformIO или Khazama AVR Programmer обычно подходят два варианта.
| Драйвер | Совместимость с avrdude | Особенности |
|---|---|---|
| libusbK | Да | Рекомендуемый вариант, стабильно работает на Windows 10 |
| libusb-win32 | Да | Классический вариант, подходит для старых утилит |
| WinUSB | Ограниченно | Может не работать с avrdude без дополнительных обёрток |
| USB Serial (CDC) | Нет | Не предназначен для USBasp, выбирать не нужно |
На практике чаще всего выбирают libusbK: он корректно работает и с avrdude из командной строки, и с графическими оболочками. Если с ним возникают проблемы, попробуйте переустановить устройство на libusb-win32 через тот же Zadig, нажав Replace Driver.
Отключение проверки подписи драйверов
Если Windows 10 отказывается устанавливать драйвер с ошибкой о неподписанном ПО, потребуется временно отключить проверку цифровой подписи. Это штатная функция системы, доступная через меню особых вариантов загрузки.
Откройте Параметры → Обновление и безопасность → Восстановление и в разделе «Особые варианты загрузки» нажмите «Перезагрузить сейчас». После перезагрузки выберите Поиск и устранение неисправностей → Дополнительные параметры → Параметры загрузки, затем нажмите «Перезагрузить». В появившемся меню нажмите клавишу 7 или F7 — «Отключить обязательную проверку подписи драйверов». Система загрузится в режиме, где установка неподписанных драйверов разрешена.
Режим действует до следующей перезагрузки, чего достаточно для установки драйвера. После установки подпись драйвера больше не проверяется при каждом запуске — устройство продолжит работать в обычном режиме.
⚠️ Внимание: на системах с включённым Secure Boot отключение проверки подписи может не сработать. В этом случае используйте драйверы из Zadig (они подписаны) либо временно отключите Secure Boot в настройках UEFI — порядок действий зависит от производителя материнской платы, сверяйтесь с её документацией.
Альтернативный способ через командную строку
Можно отключить проверку подписи командой bcdedit, запущенной от администратора: bcdedit /set testsigning on, после чего перезагрузить ПК. Однако этот способ переводит систему в тестовый режим (на рабочем столе появится соответствующая надпись) и требует отключённого Secure Boot. Для разовой установки драйвера проще использовать меню особых вариантов загрузки.
Проверка работы программатора
После установки драйвера проверьте связь с программатором через avrdude. Подключите USBasp к компьютеру и целевой микроконтроллер к разъёму ISP, затем выполните команду чтения сигнатуры:
avrdude -c usbasp -p atmega8
Здесь -c usbasp указывает тип программатора, а -p atmega8 — тип целевого микроконтроллера (подставьте свой). Если драйвер установлен корректно, avrdude выведет содержимое фьюзов и сообщение об успешном завершении. Ошибка could not find USB device означает, что драйвер не установлен или установлен на другое устройство.
Ошибка target doesn't answer или нулевая сигнатура говорят уже не о драйвере, а о проблемах подключения микроконтроллера: проверьте целостность шлейфа, правильность подключения линий MOSI, MISO, SCK, RESET, VCC, GND и наличие питания на целевой плате. Некоторые версии USBasp имеют перемычку выбора напряжения питания (5В/3.3В) и перемычку «медленного» тактирования JP (Slow SCK) — она нужна для микроконтроллеров с низкой тактовой частотой.
Типичные ошибки и их решение
Разберём ситуации, с которыми чаще всего сталкиваются при настройке USBasp на Windows 10.
- ❌ Устройства нет в списке Zadig — включите
Options → List All Devicesи переподключите программатор. - ❌ Ошибка установки драйвера — запустите Zadig от имени администратора или отключите проверку подписи.
- ❌ avrdude не находит USBasp — убедитесь, что драйвер установлен именно на USBasp, а не на другое устройство; при необходимости замените через
Replace Driver. - ❌ После обновления Windows драйвер слетел — крупные обновления системы иногда заменяют драйверы; повторите установку через Zadig.
- ❌ Программатор работает, но не видит чип — проблема в шлейфе, питании или фьюзах целевого МК, а не в драйвере.
Отдельный случай — устаревшая прошивка самого USBasp. Старые версии прошивки выдают предупреждение warning: cannot set sck period в avrdude. Это не критично: прошивка микроконтроллера при этом обычно проходит успешно. Обновление прошивки USBasp возможно, но требует второго программатора и перемычки самопрограммирования — делайте это только при реальной необходимости, строго следуя документации к вашей версии платы.
⚠️ Внимание: не устанавливайте драйвер на устройства с похожими названиями в списке Zadig. Замена драйвера клавиатуры, мыши или USB-контроллера сделает их неработоспособными до отката драйвера в Диспетчере устройств.
Часто задаваемые вопросы
Работает ли USBasp на Windows 10 64-bit?
Да, работает. Ключевое условие — установка драйвера libusbK или libusb-win32 через Zadig, поскольку драйверы libusb для 64-битных систем должны быть подписаны, а версии из Zadig имеют необходимую подпись.
Нужно ли отключать проверку подписи драйверов при установке через Zadig?
Как правило, нет: драйверы, устанавливаемые Zadig, подписаны, и Windows 10 принимает их без дополнительных действий. Отключение проверки требуется только для неподписанных драйверов, скачанных из других источников.
Что означает ошибка avrdude «could not find USB device USBasp»?
Утилита не видит программатор на уровне драйвера. Причины: драйвер не установлен, установлен на другое устройство или заменён системой. Проверьте Диспетчер устройств и переустановите драйвер через Zadig.
Почему avrdude пишет «cannot set sck period»?
Это предупреждение связано с устаревшей прошивкой самого USBasp, которая не поддерживает программную установку частоты SCK. На процесс прошивки целевого микроконтроллера оно обычно не влияет — проверьте, завершилась ли операция успешно.
Можно ли использовать USBasp без установки драйвера?
Нет, на Windows драйвер обязателен — без него система не сможет обмениваться данными с устройством. На Linux, для сравнения, libusb обычно уже есть в системе, и достаточно настроить права доступа через правила udev.