Hello,
On 08/24/2010 02:11 PM, Eloy Paris wrote:
[...]
> Well, this is getting a bit more puzzling... turns out that minicom uses
> select() too, and it works fine there:
[...]
Sorry being a pest, but I thought someone would eventually run into the
same problem I and at least another person ran into, so I thought I'd
post my findings here:
Turns out that the reason why things worked with minicom when talking to
the LinkUSB and not with digitemp or owfs is that I had minicom
configured for hardware flow control, and neither digitemp or owfs
enable hardware flow control when they open the serial port. As soon as
I disabled hardware flow control in minicom (as a test), select() timed
out just as it is timing out with both digitemp and owfs.
I tweaked things in owfs' module/owlib/src/c/ow_com.c as follows to see
if things got any better and it worked!
--- module/owlib/src/c/ow_com.c.orig 2010-08-24 15:35:13.177812544 -0400
+++ module/owlib/src/c/ow_com.c 2010-08-24 15:35:22.621699330 -0400
@@ -60,8 +60,8 @@
newSerialTio.c_iflag &= ~(BRKINT | ICRNL | IGNCR | INLCR | INPCK |
ISTRIP | IXON | IXOFF | PARMRK);
newSerialTio.c_iflag |= IGNBRK | IGNPAR;
newSerialTio.c_oflag &= ~(OPOST);
- newSerialTio.c_cflag &= ~(CRTSCTS | CSIZE | HUPCL | PARENB);
- newSerialTio.c_cflag |= (CLOCAL | CS8 | CREAD);
+ newSerialTio.c_cflag &= ~(CSIZE | HUPCL | PARENB);
+ newSerialTio.c_cflag |= (CRTSCTS | CLOCAL | CS8 | CREAD);
newSerialTio.c_lflag &= ~(ECHO | ECHOE | ECHOK | ECHONL | ICANON |
IEXTEN | ISIG);
newSerialTio.c_cc[VMIN] = 0;
newSerialTio.c_cc[VTIME] = 3;
I have no idea who is being picky here (the LinkUSB, the FTDI USB to
serial converter, the Linux driver) but I guess that someone requires
the computer to assert the RTS line or something like that for things to
work properly.
I don't know how to best address this in a permanent way in the owfs
code. Would it make sense to at least make hardware flow control a
configurable option instead of hardcoding it to off like it is being
done today?
Hope this helps.
Cheers,
Eloy Paris.-
------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers