Hello,

I have a Prolific PL-2303 serial converter connected to my laptop. It 
basically works, but I have 3 problems which I am not able to solve:

1. After open()-ing the device /dev/ttyUSB0, the first character received on 
the serial does not come through.

2. I can not change the baud rate of the converter. It stays on 9600 Baud.

3. cp or cat to /dev/ttyUSB0 does not work (hangs forever)

I found this with an application program which bootloads a program to a 
68LC302 microcontroller which has a special serial bootload mode which works 
as follows:

1. Enable serial bootload mode. This switches the serial port on the 68LC302 
to 9600 baud.

2. Send exactly 576 bytes bootloader binary code to the 68LC302. These bytes 
are stored in an internal RAM and after rececption of the last byte, it is 
started. The 68LC302 echoes the received bytes for error checking. Here I 
found the "missing first byte" bug.

3. The bootloader expects the application program in S-record format with 
115200 Baud. The host switches to 115200 and sends the S-record file with a 
cp <file> /dev/ttyUSB0. Here I found the bugs 2 and 3.

This procedure works without problems with a standard serial port.

System:

SuSE 7.3 with SuSE kernel 2.4.16-4GB

cat /proc/usb/devices
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=111/900 us (12%), #Int=  2, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=fce0
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=045e ProdID=0039 Rev= 1.21
S:  Manufacturer=Microsoft
S:  Product=Microsoft IntelliMouse® Optical
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usb_mouse
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl= 10ms
T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=067b ProdID=2303 Rev= 2.00
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=serial
E:  Ad=81(I) Atr=03(Int.) MxPS=  10 Ivl=  1ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
E:  Ad=83(I) Atr=02(Bulk) MxPS=  64 Ivl=  0ms

lsmod
snd-pcm-oss            18272   0  (autoclean)
snd-pcm-plugin         14480   0  (autoclean) [snd-pcm-oss]
snd-mixer-oss           4672   0  (autoclean) [snd-pcm-oss]
ipv6                  124480  -1  (autoclean)
snd-card-maestro3      12896   0
snd-pcm                28928   0  [snd-pcm-oss snd-pcm-plugin 
snd-card-maestro3]snd-timer               8128   0  [snd-pcm]
snd-ac97-codec         23456   0  [snd-card-maestro3]
snd-mixer              22536   0  [snd-mixer-oss snd-ac97-codec]
snd                    31072   1  [snd-pcm-oss snd-pcm-plugin snd-mixer-oss 
snd-card-maestro3 snd-pcm snd-timer snd-ac97-codec snd-mixer]
soundcore               3268   2  [snd]
nfsd                   64992   4  (autoclean)
autofs                  8964   1  (autoclean)
af_packet              11560   0  (autoclean)
tulip_cb               32416   2
cb_enabler              2688   2  [tulip_cb]
ds                      6816   2  [cb_enabler]
i82365                 23312   2
mousedev                3872   1
pcmcia_core            43008   0  [cb_enabler ds i82365]
hid                    17696   0  (unused)
pl2303                 10628   1
usbmouse                1760   0  (unused)
usbserial              17920   0  [pl2303]
evdev                   3904   0  (unused)
input                   3072   0  [mousedev hid usbmouse evdev]
usb-uhci               20900   0  (unused)
usbcore                47584   1  [hid pl2303 usbmouse usbserial usb-uhci]
iptable_nat            12564   0  (autoclean) (unused)
ip_conntrack           12652   1  (autoclean) [iptable_nat]
iptable_filter          1728   0  (autoclean) (unused)
ip_tables              10304   4  [iptable_nat iptable_filter]

I did some strace-ing and debugging which gave me error messages about 
unsupported ioctls in the pl2303 module. If useful, I will post it here.
I also looked at the pl2303 source code and found that it has not changed 
significantly up to 2.5.

If anybody has experience with this beast please contact me. I would be glad 
to help testing, debugging etc.

Wolfgang

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to