Bug 232053 - keyspan USB serial converter fails to allocate URBs properly
keyspan USB serial converter fails to allocate URBs properly
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
6
All Linux
medium Severity high
: ---
: ---
Assigned To: Kernel Maintainer List
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-03-13 14:48 EDT by Richard Stover
Modified: 2007-11-30 17:11 EST (History)
0 users

See Also:
Fixed In Version: 2.6.20-1.2925.fc6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-03-15 13:57:49 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Difference file between original keyspan.c and my corrected version (1.75 KB, patch)
2007-03-13 14:48 EDT, Richard Stover
no flags Details | Diff

  None (edit)
Description Richard Stover 2007-03-13 14:48:09 EDT
Description of problem:
Under FC6 Keyspan serial ports fail to read characters into the host.

Version-Release number of selected component (if applicable): keyspan.c
with last change 2003sep04. (this is the version distributed with
FC6 kernel-2.6.18).


How reproducible: Always


Steps to Reproduce:
1. Attach Keyspan serial port (I have a Keyspan USA-49WLC)
2. Attach some sort of serial device (believe it or not, for testing I still
have a VT100, if you are old enough to know what that is!)
3. Attempt to read characters (use minicom or any convenient software).
  
Actual results: Output works. Input fails.


Expected results: Both should work


Additional info:
The problem is that in keyspan.c ALL endpoints are being treated as BULK OUT.
This obviously can't be correct because at least some have to be IN. If one
looks at /proc/bus/usb/devices you will see that the IN endpoints are actually
INTERRUPT style endpoints. I have modified keyspan.c to take this into account.
My modified keyspan.c fixes the problem and both reading and writing of
characters works.

I have attempted to communicate via email with the apparent author, Hugh
Blemings, but have had no response. Perhaps Keyspan should be notified,
but I'm not sure how to do that.

I have attached a diff file to show the changes I have made.
Comment 1 Richard Stover 2007-03-13 14:48:10 EDT
Created attachment 149973 [details]
Difference file between original keyspan.c and my corrected version
Comment 2 Richard Stover 2007-03-13 15:06:43 EDT
I just noticed that I introduced a bug in my comments seen in the diff file.
It says the Keyspan has BULK IN and INTERRUPT OUT endpoints. It really has BULK
OUT and INTERRUPT IN endpoints, as the actual C code shows.
Comment 3 Chuck Ebbert 2007-03-14 17:45:01 EDT
This may have been fixed in kernel 2.6.20-1.2925.fc6. Please test.
Comment 4 Richard Stover 2007-03-15 13:34:52 EDT
I just tested kernel 2.6.20-1.2925.fc6. My Keyspan serial adapters seem to be
working OK.

Thanks.

Note You need to log in before you can comment on or make changes to this bug.