Go Down

Topic: Problems with avrdude from Sheevaplug [SOLVED] (Read 2471 times) previous topic - next topic


Oct 27, 2010, 08:00 pm Last Edit: Oct 27, 2010, 10:32 pm by marlar Reason: 1

I am working on a project where my Arduino Duemilanove is connected to my Sheevaplug, accessed via SSH.

Since I would like to develop locally and upload directly from Sheevaplug, I simply copy the hex file to the plug and then runs these commands:
Code: [Select]

#reset the board
perl -MDevice::SerialPort -e 'Device::SerialPort->new("/dev/ttyUSB0")->pulse_dtr_on(1000)';

#upload with avrdude
avrdude -V -F -C avrdude.conf -p atmega328p -P /dev/ttyUSB0 -c stk500v1 -b 57600 -U flash:w:Blink.cpp.hex

But unfortunately it doesn't work. I get these errors:

avrdude: parallel port access not available in this configuration
avrdude: error at avrdude.conf:531: programmer type not specified

I have installed avrdude using apt-get and then copied avrdude.conf from the arduino/hardware/tools folder.

I can't figure out why it complains about the parallel port.

I have checked that /dev/ttyUSB0 is present.

What is wrong here? I should perhaps note that the same procedure works perfectly from my desktop linux box.



Are there any other /dev/ttyUSB* devices present?

IIRC the sheevaplug has a serial console, with a built-in USB/rs232 adapter.  If that is the case, I'd expect the arduino to be /dev/ttyUSB1.



I just checked and it is /dev/ttyUSB0. If I remove the board, the port disappears.

Besides, I just tried writing some rubbish for the serial port in the avrdude command line and I still get the error. So obviously it never comes so far as to address the port.

To me it looks like a configuration problem, I just can't figure out how and why it complains about the parallel port. I use the same config file that works on my desktop pc.

Also, I tried with my Uno instead. Now the port is /dev/ttyACM0, but the error is unchanged.


Got it working!!!

It is explained here:

Incidently, I already found that page before asking here, but I did not fully understanding the implications.

I realized that the config files contained a lot of pre-configured board types of which many of them was of type parallel, having this line:

Code: [Select]
type  = par;

Now, what was certainly not obvious to me was that avrdude failed when reading these config lines because of the missing system parallel port, even though I did not specify any of the programmers in question!

I think this behaviour is downright silly, but well, I replaced all occurences of par; with serbb; and then it worked.

I have even found that I don't need the reset line which is necessary on my desktop pc.

Thanks for your reply,  kg4wsv; even though your suggestion did not help in itself, you made me look once again at the problem with fresh eyes  ;)

Go Up