It also as a "Linux driver" on the download page, that is a driver written a million years ago by prolific. I think (although I'm not sure) that the original drivers for Linux were written based on the one from prolific, but Greg can tell you for sure.
Yes, I'm interested in that information too, as I've got some weird things with pl2303 driver too (with a GPS receiver). It worked at the begining, and since I plugged and configured a GPRS phone USB connexion (via usbserial), it is not working anymore.
Actually, the connexion of the GPS device is ok, and after that I was making a cat on /dev/usb/tts/0 and I had a kernel log :
usb/tts/0: 1 input overrun(s)
So I thought it was because GPS was always sending data. I turned on the debug when loading usbserial and pl2303 modules, and the logs seem OK (no input overrun anymore, status is TTY_FRAME see below). But the cat of /dev/usb/tts/0 outputs nothing and any map software that tries to read from /dev/usb/tts/0 tells the GPS is not connected.
Any idea ?
Thanks
Bruno
uhci.c: d800: wakeup_hc uhci.c: root-hub INT complete: port1: 480 port2: 493 data: 4 hub.c: port 1, portstatus 100, change 0, 12 Mb/s hub.c: port 2, portstatus 101, change 1, 12 Mb/s hub.c: port 2 connection change hub.c: port 2, portstatus 101, change 1, 12 Mb/s hub.c: port 2, portstatus 101, change 0, 12 Mb/s hub.c: port 2, portstatus 101, change 0, 12 Mb/s hub.c: port 2, portstatus 101, change 0, 12 Mb/s hub.c: port 2, portstatus 101, change 0, 12 Mb/s hub.c: port 2, portstatus 103, change 0, 12 Mb/s hub.c: new USB device 00:10.1-2, assigned address 6 usb.c: kmalloc IF c718d8e0, numif 1 usb.c: new device strings: Mfr=0, Product=0, SerialNumber=0 usbserial.c: descriptor matches usbserial.c: found interrupt in usbserial.c: found bulk out usbserial.c: found bulk in usbserial.c: PL-2303 converter detected usbserial.c: get_free_serial 1 usbserial.c: get_free_serial - minor base = 0 usbserial.c: usb_serial_probe - setting up 1 port structures for this device usbserial.c: PL-2303 converter now attached to ttyUSB0 (or usb/tts/0 for devfs) usb.c: serial driver claimed interface c718d8e0 usb.c: kusbd: /sbin/hotplug add 6 usb.c: kusbd policy returned 0xfffffffe
pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 9e pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 98 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 2, data = 06 06 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - length = 10, data = a1 20 00 00 00 00 02 00 10 00 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 0c pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 2, data = e0 86 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = e0 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 86 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 00 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - length = 10, data = a1 20 00 00 00 00 02 00 10 00 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 18 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 30 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - length = 10, data = a1 20 00 00 00 00 02 00 10 00 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = c0 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 18 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - length = 10, data = a1 20 00 00 00 00 02 00 10 00 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 70 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 0c pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - length = 10, data = a1 20 00 00 00 00 02 00 10 00 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = f0 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 18 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - length = 10, data = a1 20 00 00 00 00 02 00 10 00 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = e6 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 18 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - length = 10, data = a1 20 00 00 00 00 02 00 10 00 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 9e pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 18 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - length = 10, data = a1 20 00 00 00 00 02 00 10 00 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 3c pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 18 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - length = 10, data = a1 20 00 00 00 00 02 00 10 00 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 66 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 4c pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - length = 10, data = a1 20 00 00 00 00 02 00 10 00 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = f0 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = cc pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - length = 10, data = a1 20 00 00 00 00 02 00 10 00 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 2, data = e0 98 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 1e pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 18 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - length = 10, data = a1 20 00 00 00 00 02 00 10 00 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = 33 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - length = 1, data = f0 pl2303.c: pl2303_read_bulk_callback - tty_flag = 2 usbserial.c: serial_close - port 0 pl2303.c: pl2303_close - port 0 pl2303.c: set_control_lines - value = 0, retval = 0 pl2303.c: pl2303_close - shutting down urbs pl2303.c: pl2303_close - usb_unlink_urb (write_urb) failed with reason: -19 pl2303.c: pl2303_read_bulk_callback - port 0 pl2303.c: pl2303_read_bulk_callback - urb->status = -2 pl2303.c: pl2303_read_bulk_callback - port is closed, exiting. pl2303.c: pl2303_read_int_callback (0) pl2303.c: pl2303_read_int_callback - urb shutting down with status: -2