stk500_recv(): programmer not responding // Ubuntu

Hi,

so here's my problem : "avrdude: stk500_recv(): programmer is not responding" message during upload from arduino IDE (and -of course- upload failure)

Here's what happens precisely :
1 - When I plug the Duemilanova to the PC using the USB cable, TX and RX leds blink
2 - Then the "default pgrm" on the ATMEGA328 starts : i.e. the L led blink as well as any LED connected between digital ouput 13 and digital GND.
3 - Arduino IDE is set on the proper board and Serial Port ("/dev/ttyUSB0" in my case).
4 - When I start the upload from the PC of the "blink" official example, the compilation works fine showing "Binary sketch size: 896 bytes (of a 30720 byte maximum)"
5 - Then the RX led blinks for a bit less than a sec but TX remains unpowered.
6 - Eventually, the transfer fails indicating "avrdude: stk500_recv(): programmer is not responding"

I had a look on other threads on this forum (as well as other forums) concerning similar issues and tried to test some of the solutions including :

  • using an external power supply instead of the USB power lines
  • pressing the reset button at the right time and other hacks
  • reinstalling java and such
  • removing brltty* packages
  • adding myself (and root usr) to the tty and dialout groups ; and testing after rebooting so that i'm sure that the conf has been upadated
    I also tried to make the upload using one of my friend's computer which is under WinVista where I also had an error, but not the same (seemed like the computer wasn't receiving the data it expected).

This is actually not my own board (it actually belongs to my school), so I cannot do any hardware modification on it ; and even if it was mine, I wounldn't do it either as I don't have much experience on this kind of things. Also, some other people (who i don't personnaly know) might have used it before myself, so it's hard for me to tell if the chip is dead or if the bootloader is damaged. Talking about the bootloader, i don't have the hardware required to burn it.

Concerning java, it seems openjdk is required (otherwise i get some error messages which also appear if sun-javajre is installed instead) but I don't see any change if I have both openjdkjre and sun-java*jre installed at the same time.

Here's my configuration :

  • Duemilanove with ATMEGA328
  • PC running under Ubuntu Linux 10.04 (Lucid Lynx)
  • sun-java6-jre, sun-java6-jdk, sun-java6-bin installed
  • openjdk-6-jdk, openjdk-6-jre, openjdk-6-jre-headless, openjdk-6-jre-lib installed (at the same time as sun-java*)
  • Arduino IDE v0018 (downloaded from the launchpad repo)
  • avr-gcc-c++ is not installed but all other deps are.
  • installed everything as the Ubuntu installation tutorial says : i.e. adding repo + arduino package installation
  • all brltty* packages are uninstalled

Would anyone have some hints for me before I buy a new AVR chip, please ?
Is it possible to detect whever it's a software or hardware problem ?
Is it possible to detect whever the problem comes from my computer, from the ATMEGA or from the board ?

PS : So that you know, this is the first time i'm dealing with a microcontroller

I removed the open java on my Ubuntu 10.04 and just downloaed the standard Linux version from the arduino.cc site and extracted it into my home folder. I have avr-gcc from the standard repository installed.

32 bit or 64 bit ?

Thanks for your reply,

I uninstalled openjdk*, but aptitude installed gcj* packages instead.

Packages "gcc-avr" and "avr-libc" are still installed.

I downloaded arduino 0019 from the official website (download url : http://arduino.googlecode.com/files/arduino-0019.tgz)

When i launch arduino, it returns some lines indicating it wanted to use some openjdk functions :

Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-6-openjdk/jre/lib/i386/xawt/libmawt.so
      at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1649)
      at java.lang.Runtime.load0(Runtime.java:787)
      at java.lang.System.load(System.java:1022)
      at java.lang.ClassLoader$NativeLibrary.load(Native Method)
      at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1750)
      at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1667)
      at java.lang.Runtime.loadLibrary0(Runtime.java:840)
      at java.lang.System.loadLibrary(System.java:1047)
      at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:67)
      at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:47)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.awt.Toolkit.loadLibraries(Toolkit.java:1614)
      at java.awt.Toolkit.<clinit>(Toolkit.java:1636)
      at java.awt.Component.<clinit>(Component.java:568)
      at processing.app.Base.main(Unknown Source)

I cannot install sun-java6-jre with aptitude since it returns :

no candidate version found for sun-java6-bin

Any ideas ?

By the way i'm running under a ix86 32bits version of Ubuntu

By the way my kernel is "2.6.32-24-generic" (according to uname)

In arduino.cc's instructions it says that compatibility issues have to be checked especially the ones concerning the USB FTDI driver. Until now i was considering that i wouldn't have this issue since my linux installation is recent (1 year old or so), do you think it's good enouth ?

Anyone, please ?

I bought a new ATMEGA328 that arrived today and everything works just perfectly since then !
=> SOLVED