Bug 86590

Summary: keyspan USB to serial converter driver corrupts serial data
Product: [Retired] Red Hat Linux Reporter: Tom Wood <woodt>
Component: kernelAssignee: Pete Zaitcev <zaitcev>
Status: CLOSED CURRENTRELEASE QA Contact: Brian Brock <bbrock>
Severity: high Docs Contact:
Priority: medium    
Version: 8.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-08-21 20:28:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tom Wood 2003-03-26 02:02:05 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003

Description of problem:
In bug 74256, I reported an oops with the keyspan.o driver when using a Keyspan
USA-49W USB to 4-port serial converter.  This oopsing been fixed, but now the
driver corrupts serial data, both incoming and outgoing.  Stock linux kernels
from at least 2.4.16 work properly.

Version-Release number of selected component (if applicable):
any red hat kernel

How reproducible:
Always

Steps to Reproduce:
1.Boot a Red Hat kernel.  Any one in the last 4 months will do.
2.Plug in a Keyspan USA-49W.
3.Attach a bidirectional serial device.
4.Watch as data is corrupted/dropped from the device.
5.Watch the device be confused at your input as your input is also
corrupted/dropped.
    

Actual Results:  Bad data both directions.

Expected Results:  Good data both directions.

Additional info:

This has been tested with a variety of motherboards, kernels, and serial
devices.  Stock kernels always work - Red Hat kernels always fail.

There is new code (to put into drivers/usb/serial) available from
http://www.keyspan.com that works with a stock kernel, even for newer models of
Keyspan products such as the USA-49WLC, which has replaced the USA-49W.  These
to my knowledge haven't made it into Linus' tree yet.

Comment 1 Tom Wood 2003-04-29 17:32:25 UTC
Any news as to when we'll see the new Keyspan code, Pete?

Comment 2 Pete Zaitcev 2003-06-03 19:28:27 UTC
Tom, I'd appreciate if you checked out the 2.4.20-18{.[789]}.
BTW, what is "the new code" you mentioned? We are getting what
we can from the upstream? Does Keyspan provide a vendor driver?


Comment 3 Tom Wood 2003-06-04 00:33:13 UTC
http://www.keyspan.com/support/linux/files/currentversion/rev2003jan31 is the
location of the most current upstream code/firmware.  What the RH kernels have
had is a mystery to me.  I can't trace it back to the stock kernel nor to older
versions of Keyspan code that I have.  I haven't checked to see if the new stuff
is in Linus' tree yet.

I'll check this with USA-49W and USA-49WLC soon (tomorrow?).

Comment 4 Tom Wood 2003-06-04 19:27:23 UTC
Here's what I've found so far.

First, the Keyspan USA-49WLC works fine now on RH 9.  I havent' tried 8.0 or 7.3
yet.  The Keyspan USA-49W doesn't work at all, particularly since there's no
line in .config to include its firmware in keyspan.o.  Putting
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
 in the RH-supplied .config files would make this work.  In fact, enabling all
the firmware for all Keyspan products (CONFIG_USB_SERIAL_KEYSPAN_whatever=Y)
probably makes sense.  A larger keyspan.o is the result, but at least it'll work
with any of the Keyspan products.

Second, the RH code seems to be a hodge-podge of several different pieces. 
First, the 2.4.20-18.9 keyspan.c file is a backport from 2.4.21-pre4.  Second,
the keyspan.h file doesn't match Linus' 2.4.20, Keyspan's latest, or Keyspan's
previous release (5/01/2002).  I'm guessing it's a backport as well.  Third, the
2.4.20-18.9 keyspan_usa49msg.h file matches stock 2.4.20, but not Keyspan's
latest nor their previous release (both current and previous Keyspan files match
each other, however).  The 2.4.20-18.9 keyspan_usa49w_fw.h file matches stock
2.4.20 and the previous Keyspan release, but not the latest Keyspan release. 
Fourth, the keyspan_usa49wlc_fw.h file matches across the board, with the
exception that it's not in the stock 2.4.20.

I'd recommend at the least cleaning up the sources to include the latest and
greatest firmware from Keyspan directly and utilizing all the backported code
from 2.4.21-rc7. 


Comment 5 Pete Zaitcev 2003-06-07 16:27:19 UTC
HEAD 2.4.20-20.1.2007+
gingin 2.4.20-18.7+