Connecting Due to OS X 10.8.2

Aloha!

I few days ago I got my new, shiny Due (wohoo). However I'm having problems uploading sketches using the Arduino development environment to the Due.

When I connect the board using USB-cable the HW Growler (http://growl.info/documentation/hardwaregrowler.php) shows that the "Arduino Due Prog. Port" has been connected, so it seems that the board is recognized by the system. Also, when the board is connected, /dev is populated with a tty.usbmodem1421 device.

I've downloaded the beta version of the Arduino development environment (version 1.5.1) and I can select Arduino Due (Programming Port). I can also select the tty.usbmodem1421. There is also a cu.usbmodem1421 port that I can select. But no matter what port I select, I get "No device found on tty.usbmodem1421" when trying to upload a sketch.

My machine is a mid 2012, Ivy Bridge Air running 10.8.2.

Any suggestions, pointers and help solving this problem greatly appreciated.

(Replying to myself.)

I've tested running the Arduino SDK 1.5.1r2 in Windows 8 Pro in a Parallels VM with the same OSX 10.8.2 as host OS. Arduino in Windows is able to talk and upload sketches to Due without any problems (after disabling drivers signatures in Win8). So, the problems seems really to be with how OSX handles serial ports and how the Arduino SDK expects them to work.

Anybody have any ideas how to resolve this?

Turn on verbose output in the preferences and post the results.

I don't want to hijack this thread but I'm having the exact same problem on a 2012 i7 MacBook Pro OSX 10.8.2, so I thought I'd post up the output from my IDE as it may be of help.

Binary sketch size: 20,296 bytes (of a 524,288 byte maximum)
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/bossac --port=tty.usbmodem1421 -U false -e -w -v -b /var/folders/jd/t9w7mzq515dgsrbs4ny_w_mc0000gn/T/build3113536218983090531.tmp/Fade.cpp.bin -R 
No device found on tty.usbmodem1421

As an aside, it's a 2.7GHz machine full of RAM and the IDE takes 30+ seconds to start even if it's the only program running. I normally try and start it when I need a coffee so that I've got something else to do. :slight_smile:

There's something strange about how the lock file gets used.

Try doing the following on a terminal:

sudo mkdir /var/lock
sudo chmod 777 /var/lock

I tried that a couple of days ago but it didn't change things. I get a couple of flashes on the RX LED and then nothing.

I had the same problem on OS X 10.7.5. I just fixed it by pressing the "ERASE" button (I actually held it for a few seconds), then I pressed the "RESET" button. I did this with the Arduino IDE 1.5.2 open. I then tried uploading example sketch "Blink" and it uploaded this time instead of giving me the "No device found on tty.usbmodemfd121" error like it was giving me. I hope that helps.

I can confirm that the trick Amicus posted about does work (for me). Pressing erase and then reset makes it possible to write a sketch to the Due. This has to be done every time a sketch is to be written/downloaded to the Due. As a work around it is ok, but points to something fishy.

James: The verbose mode does not provide a lot of more info:

Binary sketch size: 9,660 bytes (of a 524,288 byte maximum) - 1% used
Forcing reset using 1200bps open/close on port /dev/tty.usbmodem40111
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/bossac --port=tty.usbmodem40111 -U false -e -w -v -b /var/folders/k0/mqm50s8x4j7gqz4kmqr7_grh0000gn/T/build2490498570280047889.tmp/Blink.cpp.bin -R
No device found on tty.usbmodem40111

James C4S: Tried the /var/lock trick, but it does not work.

Creating a /var/lock looks like a weird, non-correct solution too OSX uses /var/run.

Pressing "erase" is the only thing needed, no need for "reset" too. Not a pretty workaround, but it works. :wink:

Here's a utility I wrote to do an erase without pressing the button.

due-reset

See the readme for the explanation.

stty -f /dev/cu.usbmodemFD121 raw speed 1200

does the same.