Re: serial flow control appears broken

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Maciej W. Rozycki wrote:

On Fri, 27 Jul 2007, Lee Howard wrote:

Okay, so let's say we've got a loop around a blocking read on the modem file
descriptor...

for (;;) {
    read some data from modem
    process data from modem
    if (end-of-data detected) break;
}

Are you suggesting that the application should be using deasserting RTS after
the read and asserting it before?

It certainly could -- you were asking how it would know. ;-)


So, to test... I put this in the application before every read:

   int flags;
   ioctl(modemFd, TIOCMGET, &flags);
   flags |= TIOCM_RTS;
   ioctl(modemFd, TIOCMSET, &flags);

and this after:

   int flags;
   ioctl(modemFd, TIOCMGET, &flags);
   flags &= ~TIOCM_RTS;
   ioctl(modemFd, TIOCMSET, &flags);

Now I can see the RTS light blink on the modem (and during heavy communication it merely "dims" depending on the amount of delay in the processing.

However, it does not help.  Data still goes missing.

Thanks,

Lee.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux