Windows 11 Prolific USB-to-Serial driver for PL2303TA and PL2303TB chips

by Daniel Marschall, Last changed 8 March 2023

TL;DR

If you receive these error messages in your device manager:
PL2303TA DO NOT SUPPORT WINDOWS 11 OR LATER, PLEASE CONTACT YOUR SUPPLIER
or
PL2303TB DO NOT SUPPORT WINDOWS 11 OR LATER, PLEASE CONTACT YOUR SUPPLIER

Then go back to the previous driver version 3.9.0.2 or download it here:  Prolific USB-to-Serial Version 3.9.0.2

In the device manager, choose "Update device driver", choose "Browse for driver software on your computer", then "Let me pick from a list of device drivers on my computer", and then browse to the INF file.

How Prolific is lying to you

Prolific USB-to-Serial chips are built into many devices like Customer Displays, Printers, SIM card readers, etc.

The driver version 3.9.0.2 is included in Windows 11 and works perfectly with the chips PL2303TA and PL2303TB.

For Windows 11, since 2022, a new driver version 3.9.1.0 gets automatically installed via Windows Update which disables access to your devices if they have these old chips built-in.

The device name is changed like this:
PL2303TA DO NOT SUPPORT WINDOWS 11 OR LATER, PLEASE CONTACT YOUR SUPPLIER
or
PL2303TB DO NOT SUPPORT WINDOWS 11 OR LATER, PLEASE CONTACT YOUR SUPPLIER

Prolific says, that there is no driver for Windows 11 for these old chips.

This is a lie. The driver 3.9.0.2 is literally shipped with Windows 11 and works with these old chips.

Prolific says these chips don't work with Windows 11.

This is a lie. Only the new driver version does not work!

But why does the new driver version not work? Well, I have analyzed the driver and noticed that there is no technical reason for this.
This version has a built-in code that checks if the Operating System is Windows 11 and the chip is PL2303TA or PL2303TB, and then changes the device name to these error strings, rendering the device useless.

Here is the program flow of driver version 3.9.1.0:

These error flags are used here (click to enlarge):

If this check is removed (see Proof of Concept below), the driver works with these old chips. So, there is no technical reason for this "incompatibility"!
It's a dirty trick to make you throw away your devices and buy new ones. This is called planned obsolescence.
In regards to the environment, throwing away millions of working devices is just sick.

The solution: Revert to driver version 3.9.0.2

The solution is simple:  Revert the Windows Update to get back to driver version 3.9.0.2.

If you don't have access to the driver, you can also download it here:

>>> The working driver for Windows 11 :  Prolific USB-to-Serial Version 3.9.0.2 <<<

Note that there is no Setup EXE. You have to select the INF file in the device manager (choose "Browse for driver software on your computer" and then "Let me pick from a list of device drivers on my computer").

And in the future: Never buy a Prolific product again, unless you want to be fooled and throw away working devices.

Overview of the driver behaviors

PL2303TA/TB with Driver 3.8.40.0 [16 September 2021]

On Win10: Works with PL2303TA and PL2303TB chip  (Driver 3.8.40.0 is the one that is shipped with Windows 10)

On Win11: Outputs "Please install corresponding PL2303 driver to support Windows 11 and further OS"
(Weird: The strings "PL2303TA DO NOT SUPPORT WINDOWS 11 OR LATER, PLEASE CONTACT YOUR SUPPLIER" or "PL2303TB DO NOT SUPPORT WINDOWS 11 OR LATER, PLEASE CONTACT YOUR SUPPLIER" exist in the driver file but don't seem to be used)

PL2303TA/TB with Driver 3.9.0.2 [27 July 2021]

On Win10: Works with PL2303TA and PL2303TB chip (Although driver 3.9.0.2 is marked as Windows 11 only driver)

On Win11: Works with PL2303TA and PL2303TB chip

PL2303TA/TB with Driver 3.9.1.0 [18 February 2022]

On Win10: The driver does not work with Windows 10, because the Kernel-Mode Driver Framework (KMDF) of the driver (v1.33) is newer than the framework on the Windows 10 Operating system (v1.31).
There will be a a yellow warning sign with the following messages:
- Windows cannot initialize the device driver for this hardware (Code 37)
- An invalid parameter was passed to a service or function
And Windows error log shows (sorry, German messages):
- Source Wdf01000, Msg 1:  Die Nebenversion der Treiberbindung ist größer als die Nebenversion der aktuell geladenen KMDF-Bibliothek -- Versionen: Driver Version: 1.33 Kmdf Lib. Version: 1.31. :
- Source Kernel-PnP, Msg 219:  Fehler beim Laden des Treibers \Driver\ser2pl_1 für das Gerät USB\VID_067B&PID_2303\11111111.

On Win11: Outputs "PL2303TA DO NOT SUPPORT WINDOWS 11 OR LATER, PLEASE CONTACT YOUR SUPPLIER" or "PL2303TB DO NOT SUPPORT WINDOWS 11 OR LATER, PLEASE CONTACT YOUR SUPPLIER"

A small experiment: Is 3.9.1.0 really incompatible with the chips PL2303TA and PL2303TB?

Short answer: No!

Here is the Proof of Concept that they are lying to you regarding the "incompatibility":

1. Install driver version 3.9.1.0 and verify that you get the "error" device name in the device manager
PL2303TA DO NOT SUPPORT WINDOWS 11 OR LATER, PLEASE CONTACT YOUR SUPPLIER
or
PL2303TB DO NOT SUPPORT WINDOWS 11 OR LATER, PLEASE CONTACT YOUR SUPPLIER

2. Manipulate ser2pl64_1.sys by changing windows build version 22000 (0x55F0) to something higher, e.g. 65535 (0xFFFF). [Here is the program flow you are going to change]

Search:  B8 F0 55 00 00 66 39 87 50 28 00 00 72 38
Replace: B8 FF FF 00 00 66 39 87 50 28 00 00 72 38

3. Remove the AuthentiCode signature. There are many tools, e.g. FileUnsigner.

4. Allow the unsigned driver to run

Step 4.1: Click the Start button, choose the Power button, press Shift, and click Restart.

Step 4.2: After Windows enters WinRE, go to Troubleshoot > Advanced options > Startup Settings >Restart.

Step 4.3: To install drivers without digital signatures, press F7 to choose the Disable driver signature enforcement option.

5. Driver 3.9.1.0 will now work with these "unsupported" chips.

Here is the modified driver file in case you want to try it.

Note that this Proof of Concept is not intended to be used productively, because running Windows with disabled driver signature enforcement is a security risk. Just use driver version 3.9.0.2.

In this screenshot, you will see it all together: We have Windows 11, a PL-2303TA chip, and (the hacked) driver version 3.9.1.0, and the device manager does not show any error message.
Furthermore, my Customer Display works. See, the driver works with this old chip!

Side note about the chip PL2303HXA

The driver version 3.9.0.2 also contains a check for the chip PL2303HXA (independent of OS version) and outputs the following error message:
PL2303HXA PHASED OUT SINCE 2012. PLEASE CONTACT YOUR SUPPLIER

I am not sure if this is also planned obsolescence shit, or if there is a technical reason because I have no such device.

But you can install an old driver version, e.g. version 3.3.2.105, see this YouTube video.