Re: belkin usb serial converter (mct_u232), break not working

From: Thomas Stewart
Date: Wed Oct 20 2004 - 22:03:55 EST


On Wednesday 20 October 2004 22:22, you wrote:
> Try replacing ioctl(fd, TCSBRK, 0) with
> ioctl(fd, TCSBRKP, duration)
> duration is in 100ms units, so try 10 or 20.
>
> Or you can use tcsendbreak(fd, duration);
> I'm not sure of the units for this function on Linux
> manpage says 'implementation defined',
> a book I have says 250ms units in Linux.

I've tyred various combinations of ioctl(fd, TCSBRKP, x) and tcsendbreak(fd,
x), where x is 2, 5, 10, 20 and 200.

One thing I did notice is that no mater what the value I use, it always
finishes very quickly, there does not appear to be any duration.

take porttest.c:
#include <sys/fcntl.h>
#include <sys/ioctl.h>
main(int argc, char ** argv) {
int fd = open(argv[1], O_RDWR|O_NOCTTY);
ioctl(fd, TCSBRKP, 20);
close(fd);
}

$ time ./porttest /dev/ttyS0
real 0m2.001s
user 0m0.001s
sys 0m0.000s

A standard serial port with a 2 second break (20*100ms), takes as expected
just over 2 seconds.

$ time ./porttest /dev/ttyUSB1
real 0m0.004s
user 0m0.000s
sys 0m0.001s

However with the USB converter instead, it takes 5 ms to complete. Much
shorter than expected.

Is it a driver issue?

Regards
--
Tom

PGP Fingerprint [DCCD 7DCB A74A 3E3B 60D5 DF4C FC1D 1ECA 68A7 0C48]
PGP Publickey [http://www.stewarts.org.uk/public-key.asc]
PGP ID [0x68A70C48]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/