Hello All,
I am trying to get a USB to Serial Adapter working with 4.2.22 kernel and I
have the following problem. Any help would be greatly appreciated.
Hardware:
----------
Keyspan 4-port Serial Adaptor (Part#: USA-49WLC
http://keyspan.com:16080/products/usb/USA49w/) is connected to the USB Port
on
Kontron's PC-104 MOPS/686+ board
(http://www.emjembedded.com/products/single/specmops686plus.html)
Please note that this PC-104 board uses ALI M1543/M1531 PCI Chipset
OS:
----
Linux Kernel 2.4.22
Modules loaded (All these modules are made from the Kernel source 2.4.22):
------------------------------------------------------------------------
usb-ohci.o
usbserial.o
keyspan.o
My test software & setup:
-------------------------
I wrote a small serial test program called usbtest that sends out
some ascii bytes and reads incoming bytes and displays them to stdout
Usage of the program:
usbtest <Port> <Start Ascii Char> <End Ascii Char> <Port params>
I connected Serial Port1 and Port2 using a Null Modem cable and ran
the above program twice as follows:
usbtest /dev/ttyUSB0 1 255 9600,N,8,1
usbtest /dev/ttyUSB1 1 255 9600,N,8,1
As shown below (stdout output), the program sends out ascii
chars from 1 to 255 and reads the same (\r\n are the Terminating sequence of
chars)
-->001 002 003 004 005 006 007 008 009 010 011 012 013 014
015 016 017 018 019 020
-->021 022 023 024 025 026 027 028 029 030 031 032 033 034
035 036 037 038 039 040
-->041 042 043 044 045 046 047 048 049 050 051 052 053 054
055 056 057 058 059 060
-->061 062 063 064 065 066 067 068 069 070 071 072 073 074
075 076 077 078 079 080
-->081 082 083 084 085 086 087 088 089 090 091 092 093 094
095 096 097 098 099 100
-->101 102 103 104 105 106 107 108 109 110 111 112 113 114
115 116 117 118 119 120
-->121 122 123 124 125 126 127 128 129 130 131 132 133 134
135 136 137 138 139 140
-->141 142 143 144 145 146 147 148 149 150 151 152 153 154
155 156 157 158 159 160
-->161 162 163 164 165 166 167 168 169 170 171 172 173 174
175 176 177 178 179 180
-->181 182 183 184 185 186 187 188 189 190 191 192 193 194
195 196 197 198 199 200
-->201 202 203 204 205 206 207 208 209 210 211 212 213 214
215 216 217 218 219 220
-->221 222 223 224 225 226 227 228 229 230 231 232 233 234
235 236 237 238 239 240
-->241 242 243 244 245 246 247 248 249 250 251 252 253 254
255 013 010
<--001 002 003 004 005 006 007 008 009 010 011 012 013 014
015 016 017 018 019 020
<--021 022 023 024 025 026 027 028 029 030 031 032 033 034
035 036 037 038 039 040
<--041 042 043 044 045 046 047 048 049 050 051 052 053 054
055 056 057 058 059 060
<--061 062 063 064 065 066 067 068 069 070 071 072 073 074
075 076 077 078 079 080
<--081 082 083 084 085 086 087 088 089 090 091 092 093 094
095 096 097 098 099 100
<--101 102 103 104 105 106 107 108 109 110 111 112 113 114
115 116 117 118 119 120
<--121 122 123 124 125 126 127 128 129 130 131 132 133 134
135 136 137 138 139 140
<--141 142 143 144 145 146 147 148 149 150 151 152 153 154
155 156 157 158 159 160
<--161 162 163 164 165 166 167 168 169 170 171 172 173 174
175 176 177 178 179 180
<--181 182 183 184 185 186 187 188 189 190 191 192 193 194
195 196 197 198 199 200
<--201 202 203 204 205 206 207 208 209 210 211 212 213 214
215 216 217 218 219 220
<--221 222 223 224 225 226 227 228 229 230 231 232 233 234
235 236 237 238 239 240
<--241 242 243 244 245 246 247 248 249 250 251 252 253 254
255 013 010
Problem:
--------
It works fine for approximately half-an-hour to couple of hours
before lockup. By running with strace, I noticed that the write() call that
writes the bytes is returning with success. however the bytes are never
being sent out.
What should I do to get it working again:
---------------------------------------
To get it work again, I have to remove the usb-ohci module (rmmod
usb-ohci) and insert it back (insmod usb-ohci). Again, it works only for up
to couple of hours before lock-up.
Other tests I have done:
-----------------------
1) I used USB-4COM-120V device from Byterunner (
http://www.byterunner.com/cgi-bin/cart.cgi?store=byterunner&product=name:USB
-4COM-&cart_id=5693809.45302&user-id=&password=&exchange=) instead of
Keyspan using the following Modules made from Kernel 2.4.22 Source.
usb-ohci.o
usbserial.o
ftdi_sio.o --> this module is for the above device
The results are exactly the same as described under the problem above
2) I used Kernel & modules built from 2.2.20 resulting in the same problem.
3) I used Allen Bradley's Open Controller
(http://support.rockwellautomation.com/softwareconnection/swc00_1/pentium.as
p) instead of the Kontron's PC-104 board. This one uses usb-uhci controller.
So, following are the modules used:
Testing with Keyspan:
usb-uhci.o
usbserial.o
keyspan.o
Testing with Byterunner USB-4COM
usb-uhci.o
usbserial.o
ftdi_sio.o
Both USB-Serial adaptors worked GREAT. I performed the tests more than 40
hours in each of the above 2 cases.
So, I think there must be a bug in usb-ohci module with ALI M1543/M1531 PCI
Chipset (on Kontron's PC-104 MOPS/686+ board) with both 2.4.20 as well as
2.4.22 Kernels.
Also, please note that I tried usb-uhci.o module with this chipset and it
doesn't work.
I would appreciate any help with this issue.
Thanks in advance,
Udaya Bollineni
[EMAIL PROTECTED]
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users