EmbeddedRelated.com
Forums
Memfault State of IoT Report

Serial Communication x 2 Under XP or Vista Using USB->Serial Adapters

Started by Jujitsu Lizard December 10, 2008
On Thu, 11 Dec 2008 18:24:05 +0100, Frank-Christian Kruegel
<dontmailme@news.invalid> wrote:

>On Thu, 11 Dec 2008 11:38:21 -0500, Rich Webb <bbew.ar@mapson.nozirev.ten> >wrote: > >>On Thu, 11 Dec 2008 13:37:47 +0100, Stef >><stef33d@yahooI-N-V-A-L-I-D.com.invalid> wrote: >> >>>That may be a Windows problem and happens not only with FTDI or even >>>USB stuff. Windows has always had problems when serial data comes in >>>during boot. Last time I experienced it was a year ago with W2000 and >>>a serial GPS. If the GPS was on during boot (and thus spitting out NEMA >>>sentences), it was detected as a mouse and the cursor would move >>>randomly over the screen (the serial mouse driver does little data >>>checking aparently). Have not tested this with XP or Vista, but I doubt >>>there will be much change as this behaviour has not changed since W3.1 >>>(or even earlier?). >> >>Still there as of XP embedded. We ended up isolating the serial data >>lines until XPe told the front panel controller "Hey, I'm awake," at >>which time we would allow the NMEA strings to be passed. Annoying. > >Don't you know the boot.ini switches /FASTDETECT and /NOSERIALMICE? > >http://technet.microsoft.com/en-us/sysinternals/bb963892.aspx
Yes, and I also know that those switches don't work on all machines; BIOS variations, sensitivity to initial conditions, race conditions, phase of the moon, who knows? Believe me, isolating the serial data lines was NOT our first choice but it was the only method that worked reliably. -- Rich Webb Norfolk, VA
"Mark Borgerson" <mborgerson@comcast.net> wrote in message
news:MPG.23a9fef3f8e7446b989686@news.motzarella.org...
> > I just heard once again today, of the problems that can occur if your > USB serial port is receiving data when you plug in the USB side. > Apparently, it can make the serial port act like a mouse if there > is serial data arriving when the USB side is enumerating. I > don't know if it was an FTDI-based USB-Serial converter, but I know > that happens with FTDI chips. Apparently the internal state machine > isn't able to enumerate and process incoming data at the same time.
That is not an FTDI problem but a windows problem (the infamous Crazy Mouse problem). It also happens when you start W2K and XP while serial data already comes in on *any* serial port. As a matter of fact, you can tweak the INF files of the FTDI driver to prevent this problem by disabling the serial enumerator in windows for that specific port. We do this in our products as well, which makes the USB versions of our NMEA multiplexers work better than the RS-232 versions. Meindert
"Rich Webb" <bbew.ar@mapson.nozirev.ten> wrote in message
news:p7g2k4ldat80uo76c70sd1fj1n5klfskv8@4ax.com...
> On Thu, 11 Dec 2008 13:37:47 +0100, Stef > <stef33d@yahooI-N-V-A-L-I-D.com.invalid> wrote: > > Still there as of XP embedded. We ended up isolating the serial data > lines until XPe told the front panel controller "Hey, I'm awake," at > which time we would allow the NMEA strings to be passed. Annoying.
Windows outputs a special serial enumeration sequence on the DTR and RTS lines during startup. When you block the RxD line during this activity, Windoze will not interpret incoming data as a mouse. A small PIC of some sort could be programmed to do this. This is all nicely documented in the "Plug and Play External COM Device Specification" from Microsoft. Meindert
"Frank-Christian Kruegel" <dontmailme@news.invalid> wrote in message
news:14j2k4pkr8of939e05a78j2go3kqcskogc@4ax.com...
> > Don't you know the boot.ini switches /FASTDETECT and /NOSERIALMICE? > > http://technet.microsoft.com/en-us/sysinternals/bb963892.aspx
Yes, and for some dark reason, these options do sometimes work, sometimes they don't. Meindert
In comp.arch.embedded,
Meindert Sprang <ms@NOJUNKcustomORSPAMware.nl> wrote:
> "Rich Webb" <bbew.ar@mapson.nozirev.ten> wrote in message > news:p7g2k4ldat80uo76c70sd1fj1n5klfskv8@4ax.com... >> On Thu, 11 Dec 2008 13:37:47 +0100, Stef >> <stef33d@yahooI-N-V-A-L-I-D.com.invalid> wrote: >> >> Still there as of XP embedded. We ended up isolating the serial data >> lines until XPe told the front panel controller "Hey, I'm awake," at >> which time we would allow the NMEA strings to be passed. Annoying. > > Windows outputs a special serial enumeration sequence on the DTR and RTS > lines during startup. When you block the RxD line during this activity, > Windoze will not interpret incoming data as a mouse. A small PIC of some > sort could be programmed to do this. > > This is all nicely documented in the "Plug and Play External COM Device > Specification" from Microsoft.
Nice to know that it's there, but no solution if you just have all sorts of serial stuff that may be spitting out data when you boot your PC. Why can't the serial mouse driver not at least check the incoming data and decide there is no mouse data it can sensibly use? Just invoking random cursor movements on random incoming data doesn't sound like solid design. -- Stef (remove caps, dashes and .invalid from e-mail address to reply by mail) A budget is just a method of worrying before you spend money, as well as afterward.
On Fri, 12 Dec 2008 09:17:05 +0100, "Meindert Sprang"
<ms@NOJUNKcustomORSPAMware.nl> wrote:

>"Rich Webb" <bbew.ar@mapson.nozirev.ten> wrote in message >news:p7g2k4ldat80uo76c70sd1fj1n5klfskv8@4ax.com... >> On Thu, 11 Dec 2008 13:37:47 +0100, Stef >> <stef33d@yahooI-N-V-A-L-I-D.com.invalid> wrote: >> >> Still there as of XP embedded. We ended up isolating the serial data >> lines until XPe told the front panel controller "Hey, I'm awake," at >> which time we would allow the NMEA strings to be passed. Annoying. > >Windows outputs a special serial enumeration sequence on the DTR and RTS >lines during startup. When you block the RxD line during this activity, >Windoze will not interpret incoming data as a mouse. A small PIC of some >sort could be programmed to do this. > >This is all nicely documented in the "Plug and Play External COM Device >Specification" from Microsoft.
Thanks for the info. In that specific application, we already had a "listening watch" on a serial port from the XPe for other status info and were able to use that as the port enable. Hmm... but use the dance of the DTR & RTS lines to a retriggerable used as a gate disable. -- Rich Webb Norfolk, VA

Memfault State of IoT Report