Dear all,
Recently I submitted a fix to allow pl2303 usb/serial converters to send
break signals. There was a typo in the original driver and greg KH
posted a patch to the list.
Since then, I've discovered some curious behavior if a small number of
these devices are connected to a usb hub. I have a small number of suns
which I want to control with serial bridge converters. On receipt of a
break signal sun boxes go into a paused state (they drop to their
OpenBoot environment). Individually the devices can turn on the break
signal however when you get up to about 5-7 devices all connected via
the same usb hub break signaling sometimes appears to be ineffective.
i.e. it works sometimes but mostly doesn't.
The only solution I have found for this so far is to hack the driver to
send many break on usb_control_msg's to the device. Which is a bit
horrible but appears to work. i.e put something like this in
pl2303_break_ctl:
if (state==BREAK_ON) {
for(i=0;i<10;i++) {
result = usb_control_msg (serial->dev, usb_sndctrlpipe
(serial->dev, 0), BREAK_REQUEST, BREAK_REQUEST_TYPE,
state, 0, NULL, 0, 5*HZ);
if (result) printk("%s - send break error from usb_control_msg
(attempt %d)= %d", __FUNCTION__, i, result);
}
} else {
result = usb_control_msg (serial->dev,
usb_sndctrlpipe (serial->dev, 0),
BREAK_REQUEST, BREAK_REQUEST_TYPE, state,
0, NULL, 0, 5*HZ);
if (result) printk("%s - send break error from usb_control_msg = %d",
__FUNCTION__, result);
There are no timeout or other error messages from the usb_control_msg
statement in the driver. As far as I can tell, the function returns
normally with a zero exit status.
Is there a problem with the device/the linux usb subsystem or usb here?
I'm happy enough to use that hack on my machines but I'm not happy to
submit it as a proper fix for the driver.
Regards,
Martin.
--
-- Dr MDT Evans, Computing Services, Queen Mary, University of London
-------------------------------------------------------
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel