0
votes

This issue is driving me nuts. I am working on a project with some other guys who built the electronics. We have custom boards with an atmega 1284p. For USB cummunication with the 1284p we use a FTDI FT230X USB Bridge. This doesn't have DTR; RTS is used to reset the board using a capacitor (pretty much like with off the shelf arduinos).

The arduino bootloader is used, and we use mighty-1284p to upload. The board selected is "Original Mighty 1284p 8MHz". After installing the right FTDI drivers from http://www.ftdichip.com/Drivers/VCP.htm I can upload to the board from a mac. Linux has these drivers built into the kernel. However, I cannot upload to the board. AVR gives the following error:

avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: Send: 0 [30]   [20]

dmesg gives the following:

...
[   51.299964] usbcore: registered new interface driver ftdi_sio
[   51.300088] ftdi_sio 1-1.2:1.0: FTDI USB Serial Device converter detected
...

and lspci:

...
Bus 001 Device 006: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)
...

The settings for the mac and linux machine are identical. On both I use arduino 1.0.5. Both do see the correct serial port.

I've seen many posts in this forum with similar problems, but have yet to find one with a solution that works for me. Holding reset, or clicking it just before uploading does not work. As suggested in some forums I have tried with removing brltty to no avail. I have tried uploading with the Arduino IDE, Eclipse with AVR plugin and AVR via command-line. None will work. I've tried it on different machines as well with different versions of ubuntu, and uploading works in none of them. Adding -c arduino to avrdude command doesn't do the trick either. Any ideas on how to fix this?

My user is part of the dialout group, and I can upload to other arduino boards (like duemilanove) without problems.

This question was originally asked here: http://forum.arduino.cc/index.php?topic=244363

1
Have you considered getting a ISP programmer? The cheap ones work perfectly under Linux.Ignacio Vazquez-Abrams
The thing is that the boards are integrated into a housing where we only have access to the microusb port. Opening up the housing for each upload is not an option so I would really like to fix the issue at hand.SeeDoubleYou

1 Answers

0
votes

You mentioned Ubuntu; are you doing this as a normal user?

If so, you may need to add your account to the correct group, the serial port device belongs to.

You can do that like this:

sudo usermod -a -G dialout yourself

then (easiest) logout and log back in again.

However, it is possible that it is called something other than dialout in the latest Ubuntu, I haven't checked. I can confirm it is still dialout here on Debian Wheezy.

(this is a little odd, though, if it works; usually you get a permission error instead...)