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.
Any news as to when we'll see the new Keyspan code, Pete?
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?
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?).
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.
HEAD 2.4.20-20.1.2007+ gingin 2.4.20-18.7+