Why? avrdude: can't find programmer id "null"

Digger450

Those files are supposed to be there Pat and I have WinAVR installed on my machine without it causing any problems.

Did you find the programmers.txt file?

Have you tried deleting your entire Arduino folder and downloading a fresh copy?

Looks like WinAVR isn' t causing the problem, if those files are supposed to be there.
Yes, I found the programmers.txt, and the programmers that I have are included in that txt.
Yes, I've deleted everything arduino, that I could find, and reloaded fresh arduino's at least three times. I've done the deletion part once again and will try reloading once again, but it appears to be something in my computer that won't allow arduino to work. I've been able to use Bascom-AVR and WinAVR. I will probably need to use another computer.

bAster.89

As far as I can remeber, I modified something in C:/DOCUMENTS And SETTINGS/ÑÛÍ/Application Data/PREFERENCES.txt
before tha ARDUINO began working, however, I'm not shure. And I can't remember what exactly... (((

I found "preferences" files, two of them, but not from the exact same location: C:/DOCUMENTS And SETTINGS/ÑÛÍ/Application Data/PREFERENCES.txt . One was a library file that can't be modified, the other is one that can be modified, but the mods. that I tried made no difference in the outcome. I couldn't find the /Application Data/ folder, but I will try again.

I had to let the whole arduino thing go for a while, to get away from it, with intentions of trying again.

Thanks for the help
Patrick

Sorry, I didn't read what I have written. I just copied the destination of the directory C:/DOCUMENTS And SETTINGS/ÑÛÍ/Application Data/PREFERENCES.txt . I can't translate the ÑÛÍ - It's something unreadable (this is no such a word even in Russian)). But this is some folder in Documents and Settings.


If you'll find the solution, please, post it here, because, i still can't program my AVR...

Right now, I'm trying to delete everything arduino from my computer, then I'll try reloading a fresh new arduino, and hope that it works.

Patrick

bAster.89

Sorry, I didn't read what I have written. I just copied the destination of the directory C:/DOCUMENTS And SETTINGS/ÑÛÍ/Application Data/PREFERENCES.txt . I can't translate the ÑÛÍ - It's something unreadable (this is no such a word even in Russian)). But this is some folder in Documents and Settings.


If you'll find the solution, please, post it here, because, i still can't program my AVR...

Well, it didn't work. I deleted everything arduino, then reloaded a new arduino, and gave it another try. I'm no longer getting that message: "avrdude can't find programmer id "null". This time I found the smaller Preferences.txt file in C:\Documents and Settings\Owner\Application Data\Arduino Apparently, that file was not being downloaded the first couple of times that I downloaded Arduino-0012; I don't know why, but its absence must have been the cause of the "can't find programmer" error message.

However, I'm right back to where I was in the first place. Now, I'm getting these two error messages: avrdude: STK500_get sync() not in sync: resp=0x86 AND avrdude: STK500_disable(): protocol error, expect=0x14, resp=0x86.
I have no idea what they mean, or where to look for their cause. Those errors are not mentioned in the troubleshooting pages. I've read posts by others that had the same problems, but have never read of how anyone fixed them. Of the ones that were fixed, it seems that most of them were fixed almost by accident, and nobody could explain how they were fixed..

It seems strange to me, that somebody, some software engineers, set up programs to detect errors, since these errors are detected by some software, somplace, and the engineered messages are automatically posted, but there seems to be no information on where the messages come from, what they mean or what causes them. Obviously those error detection codes are deeply buried within tons of software and long forgotten. Then I had to stumble across them.
:frowning: :cry: ::slight_smile:

Oh well, I guess I'll work on something else for a while.

Patrick

It seems strange to me, that somebody, some software engineers, set up programs to detect errors, since these errors are detected by some software, somplace, and the engineered messages are automatically posted, but there seems to be no information on where the messages come from, what they mean or what causes them. Obviously those error detection codes are deeply buried within tons of software and long forgotten. Then I had to stumble across them.
:frowning: :cry: ::slight_smile:

Oh well, I guess I'll work on something else for a while.

Patrick

I also hate it when programmers are so lazy that they can test for an error condition and then still fail to actually tell the end user anything meaningful about the error. It is now 2009 there is no excuse at all for cryptic error codes. Having said that, the error message you are getting actually is reasonably descriptive. The problem is that it could be caused by a number of things and it's impossible for the program to know the exact cause.

At any rate, the errors you are seeing now are a result of a communications problem between the RBBB and the computer. If you have a different device to test you should try that. Also, be absolutely sure that you are using the correct port. For instance, if your arduino is hooked up to COM1 but you have COM2 selected then you'll get errors. Also, be sure nothing else is in the RX/TX path. I have a project that has a biometric scanner hooked up to the RX/TX pins on the arduino and I have to turn off the scanner so that it doesn't interfere or else I cannot program the arduino. If all else fails you could use an oscilloscope or logic probe to test what is going on with the signal between the RBBB and the computer.

I got it working by using parallel programming. At least I'll be able to use Arduino that way, which ain't so bad.
I used the "Parallel Port Programmer" described by Arduino; here: [u]http://www.arduino.cc/en/Hacking/ParallelProgrammer[/u]
AND, Burning sketches to the Arduino board with an external programmer, FIND THAT HERE: [u]http://arduino.cc/en/Hacking/Programmer[/u] This is done without a bootloader, so it says in that information page.

I'm sitting here looking at that blinking light, finally
I even modified, slightly, the blink program from a one second blink to a two second blink. But , since the LED in the sketch uses the same port as the SCK port on the ATMEGA168, (one of the ports used by the parallel programmer) you will need to remove that LED before programming. You can put it back in after the program is uploaded, and it blinks :smiley: ;D.

You will need to make a couple of mods in Preferences.txt file in C:\Documents and Settings\Owner\Application Data\Arduino , which is the (per-user local version of the pref. file) as the instructions state__.(where it says: upload.using=bootloader, replace the word bootloader with the word parallel)__

Here's something else, if you should use that homemade arduino programmer that pref. file doesn't include this statement: set the parallel port defaults (used if upload.programmer=dapa). That statement is in one of the main pref., default , files. I copied it from the main pref. file, found in The "arduino-0012/lib", then inserted it in the smaller (per-user local version of the pref. file) I inserted that statement without the # in front of it.

OK, I gotta go, the LED's still blinking and I gotta get away from this computer for a while.
Patrick

Hi, everybody!

I found the solution too!!!! I made the .../Dokuments and settings/preferences.txt file myself, from the preferences.txt file, that is in the Arduino folder. Here is it http://baster.nxt.ru/preferences.txt...

I want to try some already working PREFERENCES file. Please, post it here, somebody, if it isn't a problem...

if you exit arduino, then rename your preferences file, then restart and exit arduino again, you should have a "clean" preferences file.

What is the story on all those preferences files?
I found at least three of them. Two say they aren't supposed to be changed.
One is a smaller one located in "C:\Documents and Settings\Owner\Application Data\Arduino" which is allowed to be changed. How does that smaller one come about?. That's the one I modified to get "BLINK" to work by using the parallel programmer. Which preference file does the sketch actually use? Is a new one built for every sketch? Its a little confusing, and not very well explained in the instructions or any information

Patrick

The one you mentioned by path will get generated with default values if it does not exist.

You did not mention the paths to the other ones so I don't know if they have anything to do with arduino or not. I think the one in lib is the "master copy" that is used to create the default one on application data.

Or the one in lib is just orbital debris.

I don't know of any other ones unless you have multiple arduino versions installed.

Posted by: dcb

You did not mention the paths to the other ones so I don't know if they have anything to do with arduino or not. I think the one in lib is the "master copy" that is used to create the default one on application data.

Or the one in lib is just orbital debris.

I don't know of any other ones unless you have multiple arduino versions installed

When I have the computer do a search, I find preferences.txt files
One is listed under "C:\Documents and Settings\owner\Arduino-0012\lib"
Another is listed under just "arduino/lib"
those two appear to be one and the same.

The preferences.txt file in the Applications data folder requires that I tell the computer to do an extended search including **"hidden folders"**When I do that I find several more listed in some kind of temp folders, which all appear to be the same as the pref. files in arduino/lib.

Am I correct in assuming that a new smaller pref file is created in the Applications data folder for each sketch that is used?

Patrick

**dcb:**Preferences, generated by my Arduino, is disabled, that's why I ask somebody to send m[ch1091] the working one...

ptool64ar: I think that smaller PREFERENCES is the log-book with the adjustments of your ARDUINO program.
They are generated frome the statements, that are in the preferences of ARDUINO.

My arduino is not working so good right now, either. I thought I had it worked out when I started using the Parallel programmer, but I'm still having problems. I always have to verify(compile) at least two times(avrdude:Can't determine program size), and the same with the upload, I need to upload more than once to get it working. On upload I get these messages: avrdude:verification error, first mismatch at byte 0x0000 and avrdude:verification error:content mismatch.. Sometimes it will actually upload, today it won't.
I wonder if it has anything to do with upload speed?

Posted by: bAster.89 Posted on: Today at 20:39:54
dcb:Preferences, generated by my Arduino, is disabled, that's why I ask somebody to send m[ch1091] the working one.

Patrick

My Arduino is not working excelent too... But it doesn't cause such problems, as yours...

Did you try my PREFERENCES file? Maybe they can solve your problem too :slight_smile:
Did you try to write the bootloader and write the programs via bootloader (with the standart USB). Maybe that would work better...

Did you try my PREFERENCES file? Maybe they can solve your problem too
Did you try to write the bootloader and write the programs via bootloader (with the standart USB). Maybe that would work better...

My arduino board does not use USB, it uses a TTL to RS232 converter and connects to a serial port.

My arduino board does not use USB, it uses a TTL to RS232 converter and connects to a serial port.

I don't know wat is TTL...(

Posted by: bAster.89
I don't know wat is TTL...(

I guess it stands for "transistor-transistor-logic", but its just nomenclature (names, a name to call something).

My arduino board communicates with my PC by the use of a "TTL to RS232 converter". Its a circuit and cable that connects the arduino board to the serial port on the back of my PC, rather than using the USB system that other arduino's use. The circuit converts voltages from the microcontroller to higher voltages required by the serial port, that is what I found out, anyway.

Right now I'm programming the arduino circuit by the use of a parallel programmer, which is another circuit that connects from the PC's parallel port to the Atmega microcontroller. By using this programmer, I just sidestepped the arduino bootloader, because I was having so many problems getting the thing to program.

You can find information on "Burning sketches to the Arduino board with an external programmer ", FIND THAT HERE: __*http://arduino.cc/en/Hacking/Programmer*__. This is done without a bootloader, so it says in that information page.
Patrick :slight_smile:

Thanks... Everything is clear now.

Yes. I was there (http://arduino.cc/en/Hacking/Programmer)... I burned my bootloader on ATmega with homemade parallel programmer, discribed there.

I'm was having this same problem, so I created this post to document what I did to work through it and get back to a functioning system.

I was previously running Arduino-0012 on this system with a USB serial adapter to an AVR Butterfly with no problems. I had not used it for several months and then I got a new iDuino board with on-board USB. I added Arduino-0016 and immediately got the 'can't find programmer id "null"' error from avrdude.

I took the board, cable and Arduino-0016 files to another computer where it all works exactly as it is supposed to. It's something about the environment on my system, but I wasn't sure what.

I looked at boards.txt, programmers.txt and avrdude.conf files, but they all look fine. They also work on the other system, so I can't see why they would be the problem.

I replaced avrdude.exe with a program that dumps the command line and got this:

-CC:\Program Files\arduino-0016\hardware/tools/avr/etc/avrdude.conf -q -q -pm168 -cnull -Uflash:w:C:\Program Files\arduino-0016\examples\Communication\ASCIITable\applet\ASCIITable.hex:i

This would explain why avrdude is complaining about not knowing what programmer id "null" is.

As a test I added a "null" device to the avrdude.conf file:

programmer
id = "null";
desc = "Atmel AVR ISP";
type = stk500;
;

This worked, sort of. Avrdude now complains:

avrdude: ser_open(): can't open device "com1": The system cannot find the file specified.

This is in spite of the correct COM5 setting that is selected in the IDE. So I updated the default port setting in avrdude.conf:

default_serial = "com5";

Resulting in:

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Ah ha! Now we're getting somewhere. That means it's probably trying to talk to the wrong kind of board. Since I have the correct kind selected in the IDE, something else is mucking it up.

I opened my application data preferences.txt file and scanned through it. Ah, "upload.using=butterfly". That isn't going to work. Renamed the file, restarted Arduino and it rewrites the file using upload.using=bootloader.

Now it works just like it is supposed to.

Ok, back out the other changes to the avrdude.conf file and check the avrdude.exe command line:

-CC:\Program Files\arduino-0016\hardware/tools/avr/etc/avrdude.conf -q -q -pm168 -cstk500v1 -P\.\COM5 -b19200 -D -Uflash:w:C:\Program Files\arduino-0016\examples\Communication\ASCIITable\applet\ASCIITable.hex:i

Much better!

So, the root of my problem with the "can't find programmer id "null"" error was that I had at some point adjusted settings such that the "upload.using=" setting in my user preferences file was updated to work with the AVR Butterfly. Selecting a new board in the Arduino IDE doesn't reset this. I don't remember changing it, but it's possible I did it by hand.

Moral of the story: If you get this error, try using a fresh Arduino install and don't forget to move or delete the preferences file in your user directory, the path for which you can find at the bottom the Preferences dialog.

Hope that helps someone.

I am a total nOOb at this. I hand-made the arduino-severino and i have an Atmega8 with it. when I try to burn the bootloader with a parallel ICSP programmer, it says -

initialization failed, rc=-1
invalid device signature
expected signature for ATMEGA8 is 1E 93 07
AVR device not responding

I have choosen Arduino NG or older w/atmega8 in tools | board menu
I am using Arduino 0016 IDE on windows XP.
I have tried installing the XP-polling registry found on the arduino site

Can you please tell me in detail how to go further with this?