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

Reply via email to