wire 2 on the mega2560 needs to contact the left side of the capacitor immediately above the two pads labelled RESET-EN. This in just above the righthand of the two 47uF capacitors, not in the centre as shown on the Uno. You know if the 8u2 is ready to program if it does not appear as ID 2340:0010 when you run lsusb - it appears under an Atmel ID
Also, if you have the problem of ttyACM0 not appearing in the serial port list, you can make ttyS7 be a symlink to it, and then it works...
No, I don't use WINE for the Arduino software - I use the arduino-0021.tgz to get the IDE.
Please remember if you want to use the mega2560, you also need the patched version of avr-gcc. Not sure if the windows software includes the patch. On linux you have to build avr-gcc yourself (or find a pre-compiled copy somewhere)
got it also working on my mega2560 after some trouble:
on my debian in standard repository was only dfu-programmer Version 0.4.3. The at90usb82 device was not recognized (dfu-programmer: no device present) , although the device is listed when dfu-programmer is called with no options.
svn co https://dfu-programmer.svn.sourceforge.net/svnroot/dfu-programmer dfu-programmer
cd dfu-programmer/trunk/dfu-programmer/
./bootstrap.sh
./configure
make
sudo make install
dfu-programmer now recognizes the at90usb82
erased with no error message
when trying to flash got the message: Something went wrong with creating the memory image
after some time of troubleshooting I found that the downloaded .hex file was wrong. I don't know why, but it was not possible to download the raw file with epiphany
downloaded the .hex file with wget, flashed it and it works perfectly.
Reinhard
w00t! Thank you stimmer! ;D
I 'bricked' my Uno with one of those example sketches and, following your instructions, I managed to upload the new firmware!
The fixed firmwares are now in the latest release of the IDE. So anyone having trouble downloading them from the git repository website should download the 0022 IDE and look in the arduino-0022/hardware/arduino/firmwares/arduino-usbserial directory, the firmwares are in there.
I have the same problems with serial.println in linux.
Can anybody translate post 34 for someone who has about 40 flight hours with Linux. It is not very clear what I need to do.
actualy twice but it still behaves like before, unable to upload anything to arduino uno.
checksum of Arduino-usbserial-uno.hex is 8e01ee236e70bbea43f7eb4e11c9688a
this is how i did it with messages from my system opensuse 11.3
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0951:1606 Kingston Technology
Bus 001 Device 004: ID 05e3:0505 Genesys Logic, Inc.
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 2341:0001
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
OK, good news - 2341:0001 is an arduino uno or mega2560, so the flash has worked
Now the 8u2 based arduini use the USB modem driver, not the FTDI serial. Run dmesg just after you plug in the uno, and you should see something like
usb 3-1.2: new full speed USB device using uhci_hcd and address 18
cdc_acm 3-1.2:1.0: ttyACM0: USB ACM device
and /dev/ttyACM0 should now exist. If the acm line is missing, run lsmod and look for cdc_acm (the modem driver). If it's not present, you need to build the USB modem driver in your kernel. Try
modprobe -v cdc_acm
anyway, just to check if you have the modules.
One other possibility is the java serial library not looking for ttyACM devices. See reply #56 to make /dev/ttyS7 a symlink to /dev/ttyACM0
In the IDE, with the uno plugged in, what serial ports does it offer you?
I had failures due to a run-away avrdude. Shut down the IDE, and run
ps -ax | fgrep avrdude
Kill all the avrdudes you see, and restart the IDE. Now check the serial ports, and that you've set the board type to Uno. Upload might now work
i tried your tips on two diffrent pc's.
And i'm much closer now. Thx man !
one with opensuse 11.2 and one with opensuse 11.3
opensuse 11.3:
had to make a symlink to ttyS8 like this:
ln -s /dev/ttyACM0 /dev/ttyS8
was able tl select a com port then.
But i get this message:
Binary sketch size: 450 bytes (of a 32256 byte maximum)
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
opensuse 11.2:
no symlink needed, but i needed to rub arduino as root.
but i get this error:
avrdude: stk500_recv(): programmer is not responding
Reply #34 fixed this for me too. Uno board running 32bit Ubuntu 9.10 Karmic.
Sooo glad I found this thread as I realised that my serial output was blocking upload of new sketch. Had to register on the forum first to be able to access the explanation about grounding pins, but that's great as I wanted to join.
Have now completed my first robot, based on my kid's old "Wacky Wiggler" toy. One motor and one servo, two contact switches. Basic obstacle avoidance. Now working and uploaded sketch, thanks again!!!
fired up an old pc and installed winxp today>:(
Worked fine to upload sketches then so my arudino uno is working fine.
probably try ubuntu again later on.
For now i will play with my arudino
got it also working on my mega2560 after some trouble:
on my debian in standard repository was only dfu-programmer Version 0.4.3. The at90usb82 device was not recognized (dfu-programmer: no device present) , although the device is listed when dfu-programmer is called with no options.
upgraded to dfu-programmer 0.5.2 from source
reference: [removed - see original post]
Code:
svn co [removed - see original post]
/dfu-programmer dfu-programmer
cd dfu-programmer/trunk/dfu-programmer/
./bootstrap.sh
./configure
make
sudo make install
dfu-programmer now recognizes the at90usb82
erased with no error message
when trying to flash got the message: Something went wrong with creating the memory image
after some time of troubleshooting I found that the downloaded .hex file was wrong. I don't know why, but it was not possible to download the raw file with epiphany
downloaded the .hex file with wget, flashed it and it works perfectly.
Smiley Reinhard
I'm using an Uno with Ubuntu 10.04. The USB IDs indicate normal and DFU modes.
I'm experiencing this same problem with dfu-programmer not recognizing the device. I tried downloading the SVN code for v0.5.2 but when I run make, it fails. From the best I can tell, it is not finding usb.h in the src/ directory.
Any ideas? The output of make is below:
jmazikowski@maz-notebook:~/dfu-programmer/trunk/dfu-programmer$ make
make all-recursive
make[1]: Entering directory `/home/jmazikowski/dfu-programmer/trunk/dfu-programmer'
Making all in src
make[2]: Entering directory `/home/jmazikowski/dfu-programmer/trunk/dfu-programmer/src'
gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
main.c:29:17: error: usb.h: No such file or directory
main.c: In function 'main':
main.c:62: warning: implicit declaration of function 'usb_init'
main.c:81: warning: implicit declaration of function 'usb_set_debug'
main.c:110: warning: implicit declaration of function 'usb_release_interface'
main.c:123: warning: implicit declaration of function 'usb_close'
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/home/jmazikowski/dfu-programmer/trunk/dfu-programmer/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jmazikowski/dfu-programmer/trunk/dfu-programmer'
make: *** [all] Error 2
jmazikowski@maz-notebook:~/dfu-programmer/trunk/dfu-programmer$
Problem solved. Installed libusb-dev (sudo apt-get install libusb-dev) and dfu-programmer v0.5.2 compiled just fine. Flashed the firmware and the serial monitor is working like a charm!