The Prolific Tech PL2303 USB to Serial port chip is used in a lot of USB connected serial-like devices, such as GPS, cellular phones and even plain serial to USB cables (for example, the IOGear or the Wiretek devices). The latest version of the MacOS X driver (1.0.6 as I write), works almost flawlessly ... except for a very frequent message on the system log:
mach_kernel: ttyioss800000x: dequeueData ret 3 mach_kernel: 00000x: dequeueData ret 3 (x can be anything)If you use the driver with a 56K modem, you end up with hundreds of messages per minute. I found the cause being a rather obvious programming mistake, which can be corrected "the hard way:"
- Unload the driver with:
% sudo kextunload /System/Library/Extensions/ProlificUsbSerial.kext
- Backup the original code with:
% cd /System/Library/Extensions/ProlificUsbSerial.kext/Contents/MacOS % sudo cp ProlificUsbSerial ProlificUsbSerial.old
- Make the driver writeable:
% chmod 0777 ProlificUsbSerial
- With a hex editor, open ProlificUsbSerial. At offset 0x2288, you find 48 00 00 08 [b *+4]. Replace it with 38 60 00 00 [li r3,0x0].
- Change back the mode of the driver with:
% sudo chmod 0555 ProlificUsbSerial
- Load the driver:
% sudo kextload -v /System/Library/Extensions/ProlificUsbSerial.kext