USBAsp и Ардуина

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

Сегодня, разбирая свои запасы, наткнулся на еще запечатанную нану, которая внезапно отказалась прошиваться. Достал из загашника USBAsp, подключил его - флеш на проблемной нане читается, фьюзы читаются, hex-файл через avrdude прошивается. Ну ладно, значит уже жить можно, но... Попробовал прошить эту же плату из Ардуино IDE через программатор - естественно, выбрал USBAsp - а вот фиг вам
================
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: program enable: target doesn't answer. 0
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

выбранный последовательный порт
не существует или плата не подключена к нему
================
При попытке прошить загрузчик выдает ровно ту же ошибку (кроме фразы про последовательный порт). И такая фигня не только с проблемной платой - пробовал шить нормальную плату, которая спокойно шьется через USB - результат тот же.
Я что-то делаю неправильно?

Ардуино 1.8.12, прошивка USBAsp последняя

rkit
Offline
Зарегистрирован: 23.11.2016

Надо колдовать с libusb. Гугли.

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

Погуглил. Заценил. Смешно

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

У меня недавно тоже были пляски с бубном. Как раз USBASP.
С помощью zadig - https://zadig.akeo.ie/ установил драйвера, потому как пишут что не подходит драйвер WinUSB надо libusb-win32 или libusbK
Поставил толку ноль.  Причем usbttl работает отлично, но надо было шить бутлоадер. В итоге прошил UNO как ArduinoISP и прошил бутлоадер.
Потом пришла в голову мысль поменять USB порт компа, и о чудо USBASP заработал. Причем в устройствах USBASP определяется одинаково, но вот на портах USB3 моего компа не работает а на USB2 нормально.

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

У меня libusb-win32 и стоит. Через avrdude все работает, а вот Ардуина его не видит. Теперь вообще не видит ))

avrdude: Warning: cannot query manufacturer for device: No such file or directory
avrdude: Warning: cannot query product for device: No such file or directory
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'

Порты менял, без разницы

Feofan
Offline
Зарегистрирован: 28.05.2017

Win7/64. Работает только libusbK DriverVer = 04/28/2014, 3.0.7.0. Ставил с удалением *.inf и *.pnf файлов предыдущих вариантов драйверов. Скачивал как "USBasp-win-driver-x86-x64-v3.0.7"

 

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

Feofan пишет:

Win7/64. Работает только libusbK DriverVer = 04/28/2014, 3.0.7.0. Ставил с удалением *.inf и *.pnf файлов предыдущих вариантов драйверов. Скачивал как "USBasp-win-driver-x86-x64-v3.0.7"

Вот, вот это помогло, спасибо. Теперь и скетч через программатор льет, и загрузчик записывает. Правда, проблемную нану заливка загрузчика не вылечила, но раз шьется через программатор, то и ладно ))

Драйвер брал здесь - https://protostack.com.au/download/USBasp-win-driver-x86-x64-v3.0.7.zip

Установил просто поверх старого

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

v258 пишет:

Feofan пишет:

Win7/64. Работает только libusbK DriverVer = 04/28/2014, 3.0.7.0. Ставил с удалением *.inf и *.pnf файлов предыдущих вариантов драйверов. Скачивал как "USBasp-win-driver-x86-x64-v3.0.7"

Вот, вот это помогло, спасибо. Теперь и скетч через программатор льет, и загрузчик записывает. Правда, проблемную нану заливка загрузчика не вылечила, но раз шьется через программатор, то и ладно ))

Драйвер брал здесь - https://protostack.com.au/download/USBasp-win-driver-x86-x64-v3.0.7.zip

Установил просто поверх старого

...не удалось проверить издателя )))

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Если кто ещё не видел - тут https://github.com/nerdralph/usbasp  есть обновлённый вариант прошивки для USBAsp. Из новшеств: -автоматически устанавливается частота клоков (не нужно замыкать джампер) Не нужны драйвер для Windows! Но может  потребоваться однократно переложить определившийся UsbAsp в контейнер libusb (с помощью zadig) В архиве помимо исходников есть готовые прошивки для меги 8 и 88.

Сегодня дошли руки обновиться - всё ОК.

Feofan
Offline
Зарегистрирован: 28.05.2017

dimax пишет:

Не нужны драйвер для Windows!

Обновил. Был драйвер libusbK 3.0.7, удалил его. После переподключения/передергивания программатора, в устройствах на USBasp восклицательный знак.

dimax пишет:

Но может  потребоваться однократно переложить определившийся UsbAsp в контейнер libusb (с помощью zadig)

В zadig доступно установить и извлечь драйвер без установки, что значит переложить?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Feofan, вот так выглядит корректно работающий USBAsp с новой прошивкой. 

Поменять контейнер на libusb может понадобится в редких случаях, например для работы со старой версией avrdude. По умолчанию он должен быть в контейнере WinUSB как на рисунке выше.

Feofan
Offline
Зарегистрирован: 28.05.2017

 

Встал на место после установки драйвера WinUSB.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Feofan, не знаю, важно ли, но у меня на wcid зелёная галочка. 

Feofan
Offline
Зарегистрирован: 28.05.2017
На моём компутере, Win7x64, с WinUSB согласилась работать только ArduinoIDE. И прошивки заливает, и bootloader'ы пишет. Для AVRDUDEPROG и avrdudess, в этом случае, в их каталогах установки надо заменить файлы avrdude.conf и avrdude.exe. Или ставить драйвер libusbK. eXtreme Burner требуется libusbK, т. к. менять у него нечего.
Собственно обо всём этом и писал выше dimax. Но кратко.
v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

Подниму-ка тему.

Сломалась моя боевая машинка - перестал включаться ноутбук. А т.к. весь корпус у него был сплошной хитросплетенной системой трещин и даже не держался на весу, ремонт был явно нецелесообразен. В общем, поджался, подзанял и прикупил кучку железок, из которых собрал себе системник. С этим проблем не возникло.

Т.к. на сайте мамкиного производителя нашлись драйвера под Win7, то ее и поставил. С того самого дистрибутива, что и на ноут в свое время ставил. Все ровно то же самое, но на новом железе.

Поставил Ардуино IDE - все заработало. Поставил VS Code - и тут меня ждал великий облом. Что только ни делал, какие только версии ни выбирал, при старте постоянно выкидывало сообщение, что языковой сервер вылетел и перезапущен не будет. Нет, все компилировалось и даже заливалось, но ни тебе подсказок кода, ни тебе автодополнения, ни тебе навигации по коду - VS Code превратился в раскрашенную Arduino IDE, что меня категорически не устраивало.

Т.к. комп у меня последние пару лет использовался только для интернета и ардуино, немного подумавши и слегка решившись, накатил я рядом с семеркой Linux Mint. Не скажу, что без проблем - таки я виндузятник с большим стажем, для меня линуксы есть лес дремучий - но все нужное мне я поставил, и все даже заработало. И напоследок мой взгляд упал на программатор, валявшийся на столе... ))

В общем, с USBasp ни Ардуино IDE, ни VS Code работать не захотели, симптомы были те же, что и в первом сообщении. Как ни странно, помогла эта тема, а именно пост #8 от dimax, за что ему большое спасибо. Прошивать программатор я, правда, не стал, но в по ссылке были кое-какие инструкции для линуксов.

В общем, если кто окажется в моей ситуации, можно попробовать сделать следующее:

1. Скачать код с  https://github.com/nerdralph/usbasp и куда-нибудь распаковать его

2. Файл 99-USBasp.rules из папки bin/linux-nonroot/ архива скопировать в папку /etc/udev/rules.d/

3. В терминале выполнить команды

/bin/sh -x
sudo cp 99-USBasp.rules /etc/udev/rules.d/99-USBasp.rules

Терминал у меня, правда, ругнулся на отсутствующий файл, но после перезагрузки все заработало. Единственное неудобство - после прошивки программатором ардуинку нужно выключить и снова включить. Сама она почему-то не запускается, резет тоже не помогает. В остальном пока все устраивает.

В общем, как-то так

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Эта прошивка USBasp только под Линукс работает или можно и на Windows использовать? Обновил прошивку до последней официальной версии (вместо штатной китайской) и теперь работает только с последней версией AVRDUDE_PROG33, а раньше со старой шпарило только в путь (даже на 1МГц).

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020

BOOM пишет:

Эта прошивка USBasp только под Линукс работает или можно и на Windows использовать? Обновил прошивку до последней официальной версии (вместо штатной китайской) и теперь работает только с последней версией AVRDUDE_PROG33, а раньше со старой шпарило только в путь (даже на 1МГц).

Цитата:

FILES IN THE DISTRIBUTION
   
  Readme.txt ...................... The file you are currently reading
  firmware ........................ Source code of the controller firmware
  firmware/usbdrv ................. AVR USB driver by Objective Development
  firmware/usbdrv/License.txt ..... Public license for AVR USB driver and USBasp
  circuit ......................... Circuit diagram in PDF and EAGLE format
  bin ............................. Precompiled programs
  bin/win-driver .................. Windows driver
  bin/firmware .................... Precompiled firmware
  bin/linux-nonroot ............... Linux device rule file