Превращаем китайский программатор USBISP в 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, и его можно легко в него превратить, просто перешив микроконтроллер в нём, что и было мною сделано.
Итак, последовательность действий такова:
- Разбираем этот «свисток»(со стороны usb разъёма выковыриваем пластиковую заглушку, вытаскиваем алюминиевый корпус)
- На плате есть два переходных отверстия, помеченные словом «UP», их нужно замкнуть(включаем возможность самопрограммиирования)
- Подключаем к этому свистку другой программатор(я использовал свой старый добрый usbasp) и заливаем в неё прошивку от usbasp-а из приложенного архива
После заливки прошивки, вместо красного светодиода, загорится синий, всё, на этом процесс преобразования завершён. Убираем перемычку с «UP» и далее работаем с ним, как с обычным usbasp-ом :)
P.S. Во вложении находится архив с прошивкой(в папке default лежит уже собранный hex). Также этот архив можно скачать на страничке www.sciencetronics.com/greenphotons/?p=938
- +5
- 07 октября 2013, 21:21
- xterro
- 3
китайского «непонятно что»А что именно такое это «непонятно что» ты так и не выяснил? Китайцы не дали никакой инфы или ссылки на программатор?
Быть может, это модификация USBASP c HID-интерфейсом и ему нужен соответствующе пропатченная дудка?
И каким классом представляется нормальный USBASP?
У меня была мысль спросить это у продавца на ali, что же это такое, но решил оставить этот вариант на случай если «ничего не поможет». Но как раз наткнулся на статью и переделал, надобность в спрашивании отпала, хотя ради интереса можно посмотреть что ответят. Из программаторов с HID интерфейсом, меня подтолкнули разве что на AVR-Doper, но моя дудка не умела с ним работать, нужно было её патчить(что я тоже оставил на потом).
На ebay некоторые продавцы прилагают ссылку на софт, примеры, схемы к продаваемой продукции.
На aliexpress такое не практикуется. Хотя товары везде одинаковые.
Вот здесь продавец предложил ссылку на софт для этого usbisp-переходника.
Используется libusb+KhazamaAVRProgrammer162 или libusb+progisp.
libusb стартует как SERVICE_DEMAND_START, т.е. при запуске progisp.
"zhifengsoft представляет..." )
На aliexpress такое не практикуется. Хотя товары везде одинаковые.
Вот здесь продавец предложил ссылку на софт для этого usbisp-переходника.
Используется libusb+KhazamaAVRProgrammer162 или libusb+progisp.
libusb стартует как SERVICE_DEMAND_START, т.е. при запуске progisp.
"zhifengsoft представляет..." )
Похоже что это вот этот программатор habrahabr.ru/post/128939/ :)
Респект автору оригинальной статьи за реверсинг. Единственный у меня вопрос возник: он учит студентов не делать выходами свободные ноги, чем он это обосновывает? ИМХО, надо делать выходами свободные ноги, иначе входах наводится мусор.
Ваши варианты?
Ваши варианты?
Вероятно, можно коротнуть и сжечь. Для МК рекомендуется висящие перевести в режим входа с подтяжкой, если оставить висеть, то, вроде, ничего особо страшного не случится, но жрать будет чуть больше из-за работы схем входа, переключающихся от шума.
Применения бывают разные. Если оно питается от батарейки и 99.9% времени спит, то и вообще в разы может повышать, а если к нему светодиодный сегментник прицеплен…
И под «чуть» я имел в виду абсолютное значение. Вряд ли оно так велико, чтобы рассматривать в устройствах с неавтономным питанием или где есть более мощные потребители.
И под «чуть» я имел в виду абсолютное значение. Вряд ли оно так велико, чтобы рассматривать в устройствах с неавтономным питанием или где есть более мощные потребители.
Всё верно учит! Тлько на вход. Нельзя свободные пины вешать как выход, иначе есть велик риск либо спалить пин либо при кототыше на соседку попсросту держать постоянно в том состоянии в которм свободный.
Инициализируя неиспользуемые всегда на вход, этого всего не будет проявляться. Особенно это критично в серийных патиях где на заводе которых могут зарятить без напрягов, даже не заметят. Никаких наводок вояться не стоит, так как при переводе на вход всегда есть подтяжка на землю, молее того ни кте не мешает принужденно подтянуть когда она будет на входе, но это не во всех архитектурах реализованно.
Инициализируя неиспользуемые всегда на вход, этого всего не будет проявляться. Особенно это критично в серийных патиях где на заводе которых могут зарятить без напрягов, даже не заметят. Никаких наводок вояться не стоит, так как при переводе на вход всегда есть подтяжка на землю, молее того ни кте не мешает принужденно подтянуть когда она будет на входе, но это не во всех архитектурах реализованно.
«Только» — слишком радикальное слово. На этапе макета/прототипа — ещё сойдёт. Про завод и коротыши — смешно. Тут либо заказчик виноват (не заказал электроконтроль) либо исполнитель (не провёл заказанный электроконтроль), в любом случае одному из них надо давать по шапке. Подтяжка на землю при настройке порта на вход — бред полный, не зря же этот режим называется High-Z. Если подтяжка и может быть — она включается отдельно, да и есть не во всех МК.
amx, вы наверно должны радоваться что вам с завода приходило мало забракованных плат, и это не смотря на оплаченный электроконтроль, такова наша реальность. Иногда бывает и инженера глюканёт, но все равно при инициализации на вход безопаснее. На счет подтяжки, я тоже самое сказал — это зависит от архитектуры, не во всех это есть.
дополнение:
приобрел такой же «аллюминиевый 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
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. все, естественно, на линуксе
приобрел такой же «аллюминиевый 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. все, естественно, на линуксе
порывшись в архивах, связанных с данной темой, нашел еще пару ссылок
www.sciencetronics.com/greenphotons/wp-content/uploads/2013/02/20130212_mega8_usbisp.zip
(наверное, пересекается со статьей, но, думю пусть будет, кому ни будь пригодится)
www.sciencetronics.com/greenphotons/wp-content/uploads/2013/02/20130212_mega8_usbisp.zip
(наверное, пересекается со статьей, но, думю пусть будет, кому ни будь пригодится)
Комментарии (21)
RSS свернуть / развернуть