Using Prolific PL-2303HXA USB to TTL chipset on Windows 8
To avoid using the MAX232 level converter and a USB to serial adapter on my Mac Mini every time I needed to debug the PIC micro-controller via UART, I purchased a few USB to TTL modules from eBay, hoping that the PIC will simply appear as a serial port under Windows ready for use with any terminal program.
The module looks neat with output pins for GND, TX, RX, 3.3.V and 5.0V:
Although Windows 8 automatically installed the driver for the module, the installation was not successful with an error message "A device which does not exist was specified." shown inside Device Manager. The module works fine on Windows XP or Windows 7 and my other USB to RS232 adapter works fine under Windows 8.
Further research reveals that the module is using the PL-2303HXA chipset, which is not supported under Windows 8, as indicated on the manufacturer's driver download page:
Windows 8/8.1 are NOT supported in PL-2303HXA and PL-2303X (End-of-Life) chip versions.
What is so special about Windows 8 that prevents the PL-2303HXA/PL-2303X from working, while other variants in the PL2303 family work just fine? For all I know the only major difference is that Windows 8 requires the use of signed drivers, which is irrelevant since the Prolific driver is signed. In any case, the requirements of signed drivers on Windows 8 can be disabled by using the following BCDEDIT commands:
bcdedit.exe -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNINGON
With some research I found a suggestion here
Apparently it is a driver problem that prevents the PL-2303HXA chipset from working on Windows 8, and not a chipset problem.
The solution is to use an older driver file (attached to this post) (not the driver installer provided by Prolific) downloadable from here
and choose to install the driver manually.
When prompted, click "Browse my computer for driver software", select the driver's INF file, choose "Let me pick from a list of device drivers on my computer", and select the Prolific driver version 3.3.2 which was created in 2008 (not the latest version):