The auto-reset feature of the Arduino can be a bit of a design flaw. When a serial port is opened the DTR state is undefined :-/... different hardware and drivers may or may not bring the DTR line low. The FTDI chip in most Arduinos will bring DTR low on OSX and Linux, but not in Windows
This has been a problem for awhile. http://www.codeguru.com/forum/showthread.php?s=&threadid=291244
What is the best way to deal with this?
- Physically disable the auto-reset feature
- Somehow disable the auto-reset in software
- Open the serial-port and forward it to a virtual serial port that won't play with DTR when it's opened
- Any other ideas?
To use an Arduino as a AVR programmer(a.k.a. AVR-ISP) the Arduino needs to communicate immediately after having it's serial port opened. Avrdude supports communicating with TCP ports, but forwarding a serial port to a TCP port has proved tricky. http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1241977800/0
It seems like this is a fundamental enough problem that someone has to have a good solution.