Mega 2560 no serial under Linux 64bit.

My 8u2 patched Mega 2560 does not produce any serial output at all under linux 64 bit. Works fine under windows.

Before the 8u2 patch it gave garbage serial responses under both windows and linux. After the 8u2 flashing it's fine under windows but completely silent under linux. I have tried flashing in windows with flip and dfu-programmer under linux with no change in behavior, but tools report successful flashing.

Uploading blink example works under both OSs, uploading ascii table example only works under windows. Under linux the tx/rx lights do not flash at all while running the ascii table example.

I have an arduino mini which works fine on this computer. I have tried 0018 and 0022 IDEs.

Any suggestions?

A successful flash requires a serial connection - have you tried connecting with a different program? (cat /dev/ttyACM0 should work).

What are you using to see the serial output? The serial monitor?

In Linux, you might try screen, e.g. "screen /dev/ttyACM0 9600" from the command line. (Use Control-a followed by k to quit.)

I've tried cat and a small script written with PySerial library and the serial monitor from arduino IDE. I have reboot many times, made sure IDE was not running, etc. etc. The tx/rx lights do not flash when running the ASCII table demo under linux. I guess I could make it look forever, upload it in windows, then reboot and see when it stops running exactly.

When I download a sketch under Windows, I can connect to the device under Linux and see the output.

screen /dev/ttyACM0 115200 works on 32 bit linux (I modified ascii table source to use 115200). It also works on linux 64 bit.

I just can't seem to download any programs to the device under linux 64 bit. I've tried using avrdude on the command line that comes with arduino-0022 and it runs, doesn't report any errors, but the uploaded hex doesn't seem to run, at least any serial portions - led blinking still works.

I have an arduino mini that I used on this same machine with the same kernel using 0018 and that works fine with serial.

./avrdude -C./avrdude.conf  -pm2560 -cstk500v2 -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/build4036003935059628043.tmp/ASCIITable2.cpp.hex -v -v   

avrdude: Version 5.4-arduino, compiled on Feb 16 2011 at 20:52:19
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         System wide configuration file is "./avrdude.conf"
         User configuration file is "/home/mark/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port            : /dev/ttyACM0
         Using Programmer      : stk500v2
         Overriding Baud Rate  : 115200
         AVR Part              : ATMEGA2560
         Chip Erase delay      : 9000 us
         PAGEL                 : PD7
         BS2                   : PA0
         RESET disposition     : dedicated
         RETRY pulse           : SCK
         serial program mode   : yes
         parallel program mode : yes
         Timeout               : 200
         StabDelay             : 100
         CmdexeDelay           : 25
         SyncLoops             : 32
         ByteDelay             : 0
         PollIndex             : 3
         PollValue             : 0x53
         Memory Detail         :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10     8    0 no       4096    8      0  9000  9000 0x00 0x00
           flash         65    10   256    0 yes    262144  256   1024  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500V2
         Description     : Atmel STK500 Version 2.x firmware
         Programmer Model: AVRISP
         Hardware Version: 15
         Firmware Version: 2.10
         Vtarget         : 0.0 V
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9801
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: reading input file "/tmp/build4036003935059628043.tmp/ASCIITable2.cpp.hex"
avrdude: input file /tmp/build4036003935059628043.tmp/ASCIITable2.cpp.hex auto detected as Intel Hex
avrdude: writing flash (3074 bytes):

Writing | ################################################## | 100% 0.46s

avrdude: 3074 bytes of flash written
avrdude: verifying flash memory against /tmp/build4036003935059628043.tmp/ASCIITable2.cpp.hex:
avrdude: load data flash data from input file /tmp/build4036003935059628043.tmp/ASCIITable2.cpp.hex:
avrdude: input file /tmp/build4036003935059628043.tmp/ASCIITable2.cpp.hex auto detected as Intel Hex
avrdude: input file /tmp/build4036003935059628043.tmp/ASCIITable2.cpp.hex contains 3074 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.35s

avrdude: verifying ...
avrdude: 3074 bytes of flash verified

avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK

avrdude done.  Thank you.