Messages in this thread | | | Date | Mon, 16 Feb 2009 19:14:43 -0800 | From | Greg KH <> | Subject | Re: ttyUSB sendbreak problem |
| |
On Mon, Feb 16, 2009 at 01:29:12PM -1000, Jean-Denis Girard wrote: > Hi list, > > I'm writing a program which communicates via modem with an embedded > device (electrical network monitoring). The frames are terminated by a > BREAK. > > My program works fine when I use a Cyclades 8Yo multiports card, but > fails using USB to serial adapters (tried with pl2303 and FTDI > converters). I suspect that the BREAK are not passed correctly, but I > don't have equipment to check.
Odd, pl2303 should support break just fine.
> I've tried with: > tcsendbreak(modem,0); > ioctl(modem, TCSBRK,0); > ioctl(modem, TCSBRKP, 0); > > From pl2303 debug mode, I see that pl2303_break_ctl is called: > drivers/usb/serial/pl2303.c: pl2303_break_ctl - port 0 > drivers/usb/serial/pl2303.c: pl2303_break_ctl - turning break on > drivers/usb/serial/pl2303.c: pl2303_write_bulk_callback - port 0 > drivers/usb/serial/pl2303.c: pl2303_send - port 0 > drivers/usb/serial/pl2303.c: pl2303_break_ctl - port 0 > drivers/usb/serial/pl2303.c: pl2303_break_ctl - turning break off > > I found a few references of similar problems in the past, but it was for > older kernels (I'm using 2.6.28.4), so the question remains: should it > work or is there a known problem sending BREAK using ttyUSB?
It should work, but your specific device might not support the break control (some seem to and others don't.) It's a very cheap device.
You might want to try a more expensive device, like the io networks devices, break on them should work just fine as they have a "real" uart device within them.
good luck,
greg k-h
| |