Go Down

Topic: Ubuntu - Serial problem [SOLVED] (Read 1 time) previous topic - next topic


May 11, 2011, 08:11 pm Last Edit: May 12, 2011, 08:10 pm by RawthiL Reason: 1
Hello, I recently migrated to Ubuntu 11.04 and I installed Arduino via Synaptic, it seems to work fine but it wont upload.

I have a self-made breaduino with an Atmega168, under windowsOS it works perfectly, selecting the arduino board: "diecimila w/168", so I upload a serial test program to test my ubuntu drivers. Wen I open the Serial Monitor on ubuntu I can comunicate with it just fine at 9600 bd.

The problem is uploading in ubuntu OS, I selected the same board and the correct port, but it says "avrdude: stk500_getsync(): not in sync: resp=0x20" (I have tested all the "reset" options, while, before, after pressing upload)

verbose output:
Code: [Select]
Binary sketch size: 990 bytes (of a 14336 byte maximum)
/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega168 -carduino -P/dev/ttyS4 -b19200 -D -Uflash:w:/tmp/build6136871358548744634.tmp/Blink.cpp.hex:i

avrdude: Version 5.10, compiled on Jun 29 2010 at 03:44:14
        Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
        Copyright (c) 2007-2009 Joerg Wunsch

        System wide configuration file is "/usr/share/arduino/hardware/tools/avrdude.conf"
        User configuration file is "/home/rawthil/.avrduderc"
        User configuration file does not exist or is not a regular file, skipping

        Using Port                    : /dev/ttyS4
        Using Programmer              : arduino
        Overriding Baud Rate          : 19200
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Recv:   [20]
avrdude: stk500_getsync(): not in sync: resp=0x20

avrdude done.  Thank you.

And I also tried via command line with
Code: [Select]
/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega168 -carduino -P/dev/ttyS4 -b9600 -D -Uflash:w:/tmp/build6136871358548744634.tmp/Blink.cpp.hex:i

(note "-b9600" istead of "-b19200")
but it makes no diference.

Im using a PCI-Serial board based on a WCH352L



Well after a week looking I found out what was the problem.

It looks like my pci-serial card drivers for Linux (ch35x_80x86) wont do the whole work, so I found out that my setserial output has something wrong:

Code: [Select]
rawthil@Smaug:~$ setserial -g /dev/ttyS[04]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS4, UART: undefined, Port: 0x9010, IRQ: 21

So I googled it and found out this realy helpfull page out there:

with this simple command (where "ttyS4" is your serial port) I fixed it
Code: [Select]

sudo setserial /dev/ttyS4 uart 16550A

And now its working wonderfully!

Hope this help someone!

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131