Превращаем китайский программатор USBISP в USBASP

Всё началось с того, что купил себе на aliexpress.com вот такой, якобы usbasp программатор:

Дешево и сердито, в среднем по 3 бакса за штуку. Но тут всплыла одна особенность этого девайса, он работает как HID устройство, что есть не совсем хорошо.
[ 2597.780102] usb 3-2: new low speed USB device number 2 using ohci_hcd
[ 2597.952186] usb 3-2: New USB device found, idVendor=03eb, idProduct=c8b4
[ 2597.952189] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2597.952191] usb 3-2: Product: USBHID
[ 2597.952192] usb 3-2: Manufacturer: zhifengsoft
[ 2597.978533] generic-usb 0003:03EB:C8B4.0004: hiddev0,hidraw3: USB HID v1.01 Device [zhifengsoft USBHID] on usb-0000:00:13.0-2/input0

Было не совсем понятно, как его использовать. При работе с avrdude, ни один из программаторов из списка «дудки» не подходил.
После мытарств по просторам интернета и усиленного гугления, был обнаружена страничка www.sciencetronics.com/greenphotons/?p=938 на которой один заморский товарищ столкнулся с такой же проблемой и успешно её решил, поэтому было принято решение последовать его путём.
Путь сводится к тому, что по сути это обычный usbasp, и его можно легко в него превратить, просто перешив микроконтроллер в нём, что и было мною сделано.
Итак, последовательность действий такова:
  1. Разбираем этот «свисток»(со стороны usb разъёма выковыриваем пластиковую заглушку, вытаскиваем алюминиевый корпус)
  2. На плате есть два переходных отверстия, помеченные словом «UP», их нужно замкнуть(включаем возможность самопрограммиирования)
  3. Подключаем к этому свистку другой программатор(я использовал свой старый добрый usbasp) и заливаем в неё прошивку от usbasp-а из приложенного архива


После заливки прошивки, вместо красного светодиода, загорится синий, всё, на этом процесс преобразования завершён. Убираем перемычку с «UP» и далее работаем с ним, как с обычным usbasp-ом :)

P.S. Во вложении находится архив с прошивкой(в папке default лежит уже собранный hex). Также этот архив можно скачать на страничке www.sciencetronics.com/greenphotons/?p=938
  • +5
  • 07 октября 2013, 21:21
  • xterro
  • 3

Комментарии (20)

RSS свернуть / развернуть
1) КАТ!!! Б^Я!!!
2) совсем-вообще не понял мысль статьи. потому мой вердикт — УГ.
-3
Смысл статьи — как из китайского «непонятно что», сделать usbasp
0
китайского «непонятно что»
А что именно такое это «непонятно что» ты так и не выяснил? Китайцы не дали никакой инфы или ссылки на программатор?
Быть может, это модификация USBASP c HID-интерфейсом и ему нужен соответствующе пропатченная дудка?
И каким классом представляется нормальный USBASP?
0
У меня была мысль спросить это у продавца на ali, что же это такое, но решил оставить этот вариант на случай если «ничего не поможет». Но как раз наткнулся на статью и переделал, надобность в спрашивании отпала, хотя ради интереса можно посмотреть что ответят. Из программаторов с HID интерфейсом, меня подтолкнули разве что на AVR-Doper, но моя дудка не умела с ним работать, нужно было её патчить(что я тоже оставил на потом).
0
На ebay некоторые продавцы прилагают ссылку на софт, примеры, схемы к продаваемой продукции.
На aliexpress такое не практикуется. Хотя товары везде одинаковые.
Вот здесь продавец предложил ссылку на софт для этого usbisp-переходника.
Используется libusb+KhazamaAVRProgrammer162 или libusb+progisp.
libusb стартует как SERVICE_DEMAND_START, т.е. при запуске progisp.
"zhifengsoft представляет..." )
0
Похоже что это вот этот программатор habrahabr.ru/post/128939/ :)
0
Это классический USBASP, автор Thomas Fichl. Корпус проца TQFP32.
А тот что ты приобрёл на aliexpress, у него «на борту» была рабочая прошивка. В системе он сразу определился как USBHID-устройство:
USB HID v1.01 Device [zhifengsoft USBHID].
+1
Респект автору оригинальной статьи за реверсинг. Единственный у меня вопрос возник: он учит студентов не делать выходами свободные ноги, чем он это обосновывает? ИМХО, надо делать выходами свободные ноги, иначе входах наводится мусор.

Ваши варианты?
0
  • avatar
  • amx
  • 07 октября 2013, 22:59
Вероятно, можно коротнуть и сжечь. Для МК рекомендуется висящие перевести в режим входа с подтяжкой, если оставить висеть, то, вроде, ничего особо страшного не случится, но жрать будет чуть больше из-за работы схем входа, переключающихся от шума.
+1
Видимо у разных производителей разные рекомендации. Про коротнуть и сжечь актуально только для макетной стадии, а вот потребление актуально всегда.
0
но жрать будет чуть больше
Чуть? У меня в полтора раза больше жрало (tiny2313a DIP).
0
Применения бывают разные. Если оно питается от батарейки и 99.9% времени спит, то и вообще в разы может повышать, а если к нему светодиодный сегментник прицеплен…
И под «чуть» я имел в виду абсолютное значение. Вряд ли оно так велико, чтобы рассматривать в устройствах с неавтономным питанием или где есть более мощные потребители.
0
Всё верно учит! Тлько на вход. Нельзя свободные пины вешать как выход, иначе есть велик риск либо спалить пин либо при кототыше на соседку попсросту держать постоянно в том состоянии в которм свободный.
Инициализируя неиспользуемые всегда на вход, этого всего не будет проявляться. Особенно это критично в серийных патиях где на заводе которых могут зарятить без напрягов, даже не заметят. Никаких наводок вояться не стоит, так как при переводе на вход всегда есть подтяжка на землю, молее того ни кте не мешает принужденно подтянуть когда она будет на входе, но это не во всех архитектурах реализованно.
0
«Только» — слишком радикальное слово. На этапе макета/прототипа — ещё сойдёт. Про завод и коротыши — смешно. Тут либо заказчик виноват (не заказал электроконтроль) либо исполнитель (не провёл заказанный электроконтроль), в любом случае одному из них надо давать по шапке. Подтяжка на землю при настройке порта на вход — бред полный, не зря же этот режим называется High-Z. Если подтяжка и может быть — она включается отдельно, да и есть не во всех МК.
0
amx, вы наверно должны радоваться что вам с завода приходило мало забракованных плат, и это не смотря на оплаченный электроконтроль, такова наша реальность. Иногда бывает и инженера глюканёт, но все равно при инициализации на вход безопаснее. На счет подтяжки, я тоже самое сказал — это зависит от архитектуры, не во всех это есть.
0
Ну почему же, и с непротравами приходили. Но это явление не массовое — это были единичные платы. А если массовое — хороший повод что-нибудь изменить :-D
0
У меня запара с таким же, только там Мега88 стоит…
0
  • avatar
  • Jman
  • 01 февраля 2016, 15:37
дополнение:
приобрел такой же «аллюминиевый USB IPS» (пару лет назад) наебее.
так же озадачился «чем его лопать» и что это такое вообще?
нашел «родной китайский сайт» с софтом «спец для данного свистка», софт, конечно же не понравился да и прошивка свистка тоже, т.к. виделся свисток только данным прг. обеспечением, ну и все вытекающие…

решение:
прошил стандартом де факто «USBasp» от Thomas Fischl
www.fischl.de/usbasp/

avrdude — его видит, шьет все ОК

видится как:
usb 2-1.6: new low speed USB device using ehci_hcd and address 3
usb 2-1.6: New USB device found, idVendor=16c0, idProduct=05dc
usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-1.6: Product: USBasp
usb 2-1.6: Manufacturer: www.fischl.de
usb 2-1.6: configuration #1 chosen from 1 choice

main$ lsusb | grep 16c0:05dc
Bus 002 Device 003: ID 16c0:05dc Van Ooijen Technische Informatica shared ID for use with libusb

добавил правила udev
/etc/udev/rules.d/99-avr.rules

SUBSYSTEM=="usb", SYSFS{idVendor}=="16c0", SYSFS{idProduct}=="05dc", MODE="0666",GROUP="users"
SUBSYSTEM=="usb", SYSFS{idVendor}=="16c0", SYSFS{idProduct}=="05dc", SYMLINK+="usb_asp_flash flash_usb_asp"

main$ ls -l /dev/flash*
lrwxrwxrwx 1 root root 15 2016-02-05 17:58 /dev/flash_usb_asp -> bus/usb/002/003

p.s. все, естественно, на линуксе
+1
порывшись в архивах, связанных с данной темой, нашел еще пару ссылок

www.sciencetronics.com/greenphotons/wp-content/uploads/2013/02/20130212_mega8_usbisp.zip

(наверное, пересекается со статьей, но, думю пусть будет, кому ни будь пригодится)
+1
Внес свою лепту Как я решал проблему
+1
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.