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