On 08/23/2010 08:13 PM, Eloy Paris wrote:

> Hello,
>
> I am having the exact same problem described here (with no resolution):
>
> http://www.mail-archive.com/[email protected]/msg06165.html
>
>
> Brand new LinkUSB with custom-built 2.6.35.3 on Ubuntu 10.04.
>
> An strace shows select() timing out:
>
> open("/dev/ttyUSB1", O_RDWR|O_NOCTTY|O_NONBLOCK|O_LARGEFILE) = 3
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon
> -echo ...}) = 0
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon
> -echo ...}) = 0
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon
> -echo ...}) = 0
> ioctl(3, SNDCTL_TMR_CONTINUE or TCSETSF, {B9600 -opost -isig -icanon
> -echo ...}) = 0
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon
> -echo ...}) = 0
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon
> -echo ...}) = 0
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon
> -echo ...}) = 0
> ioctl(3, SNDCTL_TMR_CONTINUE or TCSETSF, {B9600 -opost -isig -icanon
> -echo ...}) = 0
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon
> -echo ...}) = 0
> ioctl(3, TCFLSH, 0x2) = 0
> ioctl(3, TCSBRK, 0) = 0
> select(4, [3], NULL, NULL, {0, 1000}) = 0 (Timeout)
> nanosleep({0, 100000000}, 0xbfe24350) = 0
> select(4, NULL, [3], NULL, {5, 0}) = 1 (out [3], left {4, 999993})
> gettimeofday({1282605720, 350203}, NULL) = 0
> gettimeofday({1282605720, 350246}, NULL) = 0
> write(3, " ", 1) = 1
> ioctl(3, TCSBRK, 0x1) = 0
> gettimeofday({1282605720, 350873}, NULL) = 0
> select(4, [3], NULL, NULL, {5, 0}) = 0 (Timeout) <----- OUCH!
> write(2, "CONNECT: ow_com_read.c:COM_read("..., 82CONNECT:
> ow_com_read.c:COM_read(72) Timeout error (read) serial port:
> /dev/ttyUSB1) = 82
> write(2, "\n", 1
> ) = 1
> ioctl(3, TCFLSH, 0x2) = 0
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon
> -echo ...}) = 0
> ioctl(3, SNDCTL_TMR_START or TCSETS, {B9600 -opost -isig -icanon -echo
> ...}) = 0
> ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon
> -echo ...}) = 0
> close(3) = 0
>
> I can access the LinkUSB with no problems using minicom.

Well, this is getting a bit more puzzling... turns out that minicom uses 
select() too, and it works fine there:

open("/dev/ttyUSB1", O_RDWR|O_NOCTTY|O_NONBLOCK) = 3
[...]
write(3, " ", 1)                        = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon 
-echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0})    = 1 (in [3], left {0, 993295})
read(3, "Link", 127)                    = 4
write(1, "Link", 4)                     = 4
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon 
-echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0})    = 1 (in [3], left {0, 999983})
read(3, "US", 127)                      = 2
write(1, "US", 2)                       = 2
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon 
-echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0})    = 1 (in [3], left {0, 999984})
read(3, "B", 127)                       = 1
write(1, "B", 1)                        = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon 
-echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0})    = 1 (in [3], left {0, 999984})
read(3, " ", 127)                       = 1
write(1, " ", 1)                        = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon 
-echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0})    = 1 (in [3], left {0, 999984})
read(3, "V", 127)                       = 1
write(1, "V", 1)                        = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon 
-echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0})    = 1 (in [3], left {0, 999984})
read(3, "1", 127)                       = 1
write(1, "1", 1)                        = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon 
-echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0})    = 1 (in [3], left {0, 999984})
read(3, ".", 127)                       = 1
write(1, ".", 1)                        = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon 
-echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0})    = 1 (in [3], left {0, 999984})
read(3, "4", 127)                       = 1
write(1, "4", 1)                        = 1
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS|TIOCM_CTS]) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B9600 -opost -isig -icanon 
-echo ...}) = 0
select(4, [0 3], NULL, NULL, {1, 0})    = 1 (in [3], left {0, 996324})
read(3, "\r\n", 127)                    = 2

Any ideas?

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

Reply via email to