avrdude-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avrdude-dev] avrdude and usbasp - solution!


From: René Liebscher
Subject: Re: [avrdude-dev] avrdude and usbasp - solution!
Date: Sun, 28 Oct 2012 21:56:19 +0100
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:15.0) Gecko/20120907 Thunderbird/15.0.1

Hi,

the new code is included in the code in svn repository. But there was not released a new version since that, so you have to build it for yourself. Or uses someone elses precompiled svn version, this is basically what you describe below.

Kind regards

René Liebscher


Am 28.10.2012 11:09, schrieb Christoffer Jarnaker:
Joerg Wunsch <j <at> uriah.heep.sax.de> writes:

As René Liebscher wrote:

I think the patch should be modified not to include the usb ids in the
c-code.
I like that idea, too.  Unless there's some serious objection from
Thomas Fischl, I'm willing to accept a patch for that.

As far as I can see it never made it to the version that is being deployed, so
here's a writeup on how to get it in order.

Hi,
First - I've found a working solution for the issue with those Chinese USBasp
clones that doesn't work.
I was afraid that after receiving my USBasp from China (http://dx.com/p/usbasp-
usb-isp-programmer-board-kit-for-at89s52-avr-silver-black-151567?item=3 for
$9.50) that I'd never get it to work as intended, as deal extreme didn't provide
any instructions or manuals. It was also very discouraging to read on the net
from a bunch of people that I’d be better off just ordering ‘a real one’, but as
I don’t really give up that easy I couldn’t let this go by without really
trying.
When I started digging around on how to get this to work I found out that though
the programmer uses the right VID and PID, it doesn't report the right
manufacturer (it reports XWOpen ), which causes in turn causes avrdude.exe to
reject the device as he believes that it's not the right one.
Some smart people already figured out how to circumvent all of this by adding
functionality to avrdude and recompiling it which would make it distinguish from
original clones ;) and Chinese clones. Last night a saw some great code on the
net from different people basically doing just this, and apparently Christian
Moll implemented these changes into the kkflashtool.
So this is what I did:
(Note, don’t use notepad when editing the files, use like wordpad or any other
real editor that handles line breaks better than notepad)
* Downloaded the latest version of KKflashtool from
http://lazyzero.de/kkflashtool#download and extracted it.
* Backup your original AVR directory, or at least the files to be changed. If
you're using the Arduino development environment then this is located as a
subdirectory of your install, at \hardware\tools\avr.
The bin directory for the Arduino environment is located as a subdirectory at
\hardware\tools\avr\bin.
* Copy avrdude.exe, libusb0.dll and libusb0_x64.dll from your KKflash directory,
kkmulticopterflashtool_0.70beta5\lib\avrdude\windows, to your avr bin directory
and overwrite the existing files. Don’t copy avrdude.conf!!
* Open bin\avrdude.conf and find the section about USBasp and replace this:
programmer
   id    = "usbasp";
   desc  = "USBasp, http://www.fischl.de/usbasp/";;
   type  = usbasp;
;
with this:
programmer
   id    = "usbasp";
   desc  = "USBasp, http://www.fischl.de/usbasp/";;
   type  = usbasp;
   usbvid     = 0x16C0; # VOTI
   usbpid     = 0x05DC; # Obdev's free shared PID
   usbvendor  = "www.fischl.de";
   usbproduct = "USBasp";

   # following variants are autodetected for id "usbasp"

   # original usbasp from fischl.de
   # see above "usbasp"

   # old usbasp from fischl.de
   #usbvid     = 0x03EB; # ATMEL
   #usbpid     = 0xC7B4; # (unoffical) USBasp
   #usbvendor  = "www.fischl.de";
   #usbproduct = "USBasp";

   # NIBObee (only if -P nibobee is given on command line)
   # see below "nibobee"
;

programmer
   id    = "nibobee";
   desc  = "NIBObee";
   type  = usbasp;
   usbvid     = 0x16C0; # VOTI
   usbpid     = 0x092F; # NIBObee PID
   usbvendor  = "www.nicai-systems.com";
   usbproduct = "NIBObee";
;

programmer
   id    = "usbasp-clone";
   desc  = "Any usbasp clone with correct VID/PID";
   type  = usbasp;
   usbvid    = 0x16C0; # VOTI
   usbpid    = 0x05DC; # Obdev's free shared PID
   #usbvendor  = "";
   #usbproduct = "";
;

...then save the file.
* AVRdude should now be able to work with your clone as long as you speak to it
the right way, e.g. like avrdude -c USBasp-clone -p ATtiny84

To get it to work with the Arduino development environment do this:
* In your Arduino installation open \hardware\arduino\programmers.txt and under
the section usbasp add this:
usbasp-clone.name=USBasp-clone
usbasp-clone.communication=usb
usbasp-clone.protocol=usbasp-clone
* Copy your bin/avrdude.conf to the etc directory at \hardware\tools\avr\etc.
Seems like arduino.exe prefers reading it there.
You now have a new programmer available on the Tools/Programmer which you can
use, USBasp-clone.


Good luck ;)
Christoffer Jarnaker



_______________________________________________
avrdude-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/avrdude-dev




reply via email to

[Prev in Thread] Current Thread [Next in Thread]