USB Developers (et al),
--------------------
Quick top-level summary:
The RS-232 'break' signal is not working when sent from a host which uses
either the Belkin F5U109 or F5U409 USB/RS-232 adapters (which both use the
'mct_u232' module/driver).
I also tested with my IOGear GUC232A USB/RS-232 adapter (which uses the
'pl2303' module/driver). It handles RS-232 'break' signals just fine with
newer kernels (2.4.26 and 2.6.7).
--------------------
Mark,
I've added the Linux-USB-Devel mailing list to this reply because this is just
as much of a developers' issue as it is a users' issue.
Aside: Sorry for the very delayed reply -- I've been busy with other things
but I wanted to test this properly and thoroughly.
With regard to (Mark's) Belkin F5U409 (which seems identical in virtually all
respects to my Belkin F5U109):
On Tuesday 29 June 2004 02:12pm, Mark Drummond wrote:
> Does it make sense that I can no longer send a BREAK signal since I started
> using this laptop and the USB-to-Serial adapter?
My initial reply which indicated that the RS-232 'break' signal wasn't working
on my Belkin F5U109 adapter was confirmed by some more-detailed tests I ran.
--------------------
Testing Methodology:
The following tests were run on various hardware with various kernels -- a
Slackware 9.1 system (with the 2.4.22 kernel) and a Slackware 10.0 system
(with both the the 2.4.26 and the 2.6.7 kernel) and a third system with
Slackware 9.1 but updated to the 2.4.27-rc1 kernel.
I first confirmed (using a null-modem adapter cable linking 2 PCs) that I
could "see" a valid break signal (sent from the "source" [Linux] PC) on the
"target" PC (running a crude, test-only Windows app which shows the Line
Status Register and hence the 'Break' signal).
This was initially done with the native RS-232 serial ports on both ends, i.e.
not using any USB/RS-232 adapter.
Next, I'd replace the native RS-232 port on the source PC with each of the
USB/RS-232 adapters in turn (Belkin F5U109 then IOGear GUC232A).
I'd verify that the source PC could both send and receive RS-232 data over the
USB adapter first. Only when that was confirmed to work would I then send an
RS-232 'break' signal from the source PC to the target PC.
--------------------
Testing Results:
Note that the 'FAILS!' / 'works' indication _only_ applies to the sending of
an RS-232 'break' signal. (Normal RS-232 data was working in all cases shown
below.)
Kernel 2.4.22:
Belkin F5U109: FAILS!
IOGear GUC232A: FAILS!
Kernel 2.4.26:
Belkin F5U109: FAILS!
IOGear GUC232A: works
2.4.27-rc1
Belkin F5U109: FAILS!
IOGear GUC232A: works
2.6.7
Belkin F5U109: FAILS!
IOGear GUC232A: works
--------------------
Some 'Aside' Info:
(#1) For the 'pl2303' module driving the IOGear GUC232A, there were clearly
some changes between 2.4.22 and 2.4.26 which made RS-232 'break' start
working.
(#2) As a final test, I ran Windows (W98se) on 2 machines and repeated the
test with just the Belkin F5U109 adapter. The 'break' signal wasn't working
under that test either. In fact, unlike with my Linux setup testing, I tried
sending a 'break' in each direction and the source PC (the one with the
Belkin F5U109) would stop receiving _any_ RS-232 data after the target PC
sent it a 'break' signal. That's another issue entirely, but it's
illustrative of other issues with the Belkin adapter and/or the MCT-supplied
(Magic Control Technology) Windows driver.
Actually, after having looked in the comments for the source code for the
'mct_u232' driver, I saw this (in 'mct_u232.h'):
--------------------
* SniffUSB observations: Bit 7 seems not to be used.
There seem to be two bugs
* in the Win98 driver: the break does not work
(bit 6 is not asserted) and
(snip)
--------------------
Given this comment, it's no surprise that it doesn't work under Windows
either.
(#3) Patch Issues
> > > On June 22, 2004 02:51 pm, Marr wrote:
> > Many thanks for confirming this info. It looks like no change to the
> > 'mct_u232' driver is needed. I just need to update the 'usb.ids' file to
> > reflect the fact that both Belkin devices report the same USB Product ID.
> > I also want to update the 'Configure.help' file at some point to reflect
> > the fact that both of our Belkin adapters work with the 'mct_u232' kernel
> > module.
Aside: Since we first discussed the issue of similarity between the F5U109 and
the F5U409 adapters, I've submitted the above-mentioned patches to the
appropriate people.
--------------------
Conclusion / Recommendation:
I have not dug into the 'mct_u232' driver code in quite a while, so I don't
know what it takes to fix it (or even if I've got the expertise [and time] to
fix it). In fact, since the 'break' doesn't even work with the W98se driver
it might be tough to fix this, since it won't be practical to use a USB
sniffer on the Windows side.
*** If anyone else on the USB-Devel list knows how to address this, please
chime in. Otherwise, it may take me a while to get around to examining this
issue any further.
Mark, my recommendation for now would be to purchase an IOGear GUC232A USB/
RS-232 adapter. (Mine cost US$30 back in March 2004 at a local 'Best Buy'
store.)
Let me know if there are any other issues or tests I should try.
Bill Marr
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel