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

From: Paul Fulghum
Date: Thu Oct 21 2004 - 15:03:36 EST


On Thu, 2004-10-21 at 07:41, Paul Fulghum wrote:
> On Thu, 2004-10-21 at 05:06, Thomas Stewart wrote:
> > As you can see, this time there is the correct pause. However
> > it still does not send the break.
> >
> > To add the mix, I dug about and found a differnt type of USB serial
> > converter, a no-brand one that uses the pl2303 module. Both minicom
> > and porttest with either stock 2.6.8.1 or 2.6.8.1 with your patch
> > send the break fine with this different converter.
> >
> > This makes me think it is a problem with the mct_u232 driver?
>
> OK. This problem has multiple parts.
>
> The change to tty_io.c is necessary to get the proper delay
> between setting and clearing break. I will submit that
> patch for inclusion.
>
> Now it is a matter of figuring why the device is not
> sending the break. The device break_ctl() gets called,
> and the URB to set the line control is sent successfully.
>
> Maybe the comments are wrong on the line control bits
> or possibly the Belkin device requires some other setup
> to send breaks.

I looked at mct_232.h and noticed the comment:

"There seem to be two bugs in the Win98 driver:
the break does not work (bit 6 is not asserted) and the
stick parity bit is not cleared when set once."
The driver was reverse engineered from the Win98 driver.

Even though the LCR for this device is similar to
the LCR of a 16550 UART, some bits work differently.

This suggests to me that either the device does not
properly support break, or that the break is
controlled through a different USB request and not
through MCT_U232_SET_LINE_CTRL_REQUEST

The Linux and FreeBSD drivers do the same thing
for setting break, so no new info there.
I don't have access to the device or manufacturer docs.

The only thing I can suggest is if you have
access to a Windows 2000/XP machine, try and generate
a break with the manufacturer provided drivers.
If you can't, then the device does not support break.
If you can, then maybe you can use USB sniffer
software to look at the USB requests going to the device.

--
Paul Fulghum
paulkf@xxxxxxxxxxxxx

-
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/