Problem: Agilent Technologies U1173A Compatibility with Windows 10

For Christmas in 2014, I decided to get myself a decent multimeter which could do data logging. This turned out to be the Agilent U1241B, along with a U1173A for USB to IR connectivity.

At the time, the cable was already “discontinued” but it was cheaper than the U1173B which changed the colour to bright orange. Little did I know that the colour was not the only change – it now says Support [for] Windows 10.

Having run my main workstation on Windows 7 until my recent upgrade, I was unaware that the U1173A would come to cause trouble.

The Problem

I plugged the U1173A cable into my new Windows 10 box, expecting it to just “work” as it used to. Alas, I was wrong.

Instead, it decided to throw up a Code 10 error. Normally that would appear for counterfeit Prolific chips, but this was an Agilent Technologies product, so I was sure it was fine. I downloaded the latest driver (v1.19.0) and installed it, to no avail. Thinking the cable may be suspect, I grabbed the U1173B which came with the U1461A kit, and that worked just fine.

After a closer look at Prolific’s site, I came across this EOL Notification which includes the following text:

Due to EOL (End-of-Life) policy, please note that PL-2303HX (Chip Rev A) and PL-2303X (Chip Rev A) will not have compulsory driver support for the coming Windows 8 operating system as it is not a supported OS mentioned in the chip datasheet. So it is advisable to switch to the new PL2303TA chip which will include support for Windows 8.

The notification was not that strongly worded, so I got the impression that while they won’t be assured driver support, they wouldn’t be doing anything deliberate to stop it from working on Windows 8 (and presumably, Windows 10).

However, this proved to be an incorrect interpretation, as reading the Release Notes in the latest driver package, it says:

NOTE:
PL2303HXA/XA EOL chip versions (discontinued) will NOT be supported in Windows 8/8.1/Server2012/Server2012R2 and Windows 10 onwards.
– Download latest PL2303 CheckChipVersion tool program to check chip version in Windows 7. (Or contact your cable vendor)
– Prolific recommends cables with PL2303HXD or PL2303TA chip.

[…]

=======================
Counterfeit Warning!!!
=======================
Please be warned that counterfeit/fake PL-2303HX Chip Rev A (or PL-2303HXA) USB to Serial Controller ICs using Prolific’s trademark logo, brandname, and device drivers, are being sold in the China market. Counterfeit IC products show exactly the same outside chip markings but generally are of poor quality and causes Windows driver compatibility issues (Yellow Mark Error Code 10 in Windows 7 Device Manager). We issue this warning to all our customers and consumers to avoid confusion and false purchase. Only purchase branded cables that provide technical support and warranty service. Prolific does not manufacture nor sell end-product cables.

Based on this information, the driver will not support PL2303HXA or PL2303XA chips under Windows 8 and above. Coincidentally, the warning placed later in the document identifies these chips as the target of counterfeiting. This is true, as I had been a victim of this in the past. However, the warning about the Error Code 10 is deliberately worded to shift the blame away from Prolific. Those who have had fake chips in their hands know that there is absolutely no problem when running them using much older drivers which do not check for it and do not cause BSODs. Thus, it’s likely that this is caused by their deliberate choice to code the driver to only work with their own devices. I think that locking out counterfeits is fair in some sense due to their R&D investment and the need to maintain their competitive advantage. However, causing problems for those with older genuine chips is inexcusable. Maybe they found some clones they couldn’t disable/detect, and thus rendering all chips of that type unusable in Windows 8 and above was their solution.

The same cable had absolutely no issues with the latest drivers under Windows 7, so at least it was surely not a counterfeit.

It identified with VID 067B and PID 2303.

Unfortunately, as the chip check tool only works up to COM15, I had to reallocate the COM port number. Ultimately, it delivered me the bad news – this was one of the chips affected by the discontinuation.

The Solution

I’m pretty late to the party when it comes to this issue, since it was already around when Windows 8 started going mainstream. As a result, I could count on others having met the same issue and finding some solutions.

A quick search online seems to show that an older version of the driver is necessary. Removing the driver and replacing the ser2pl.sys or ser2pl64.sys files from an older driver would do the trick, although, sometimes files would be replaced automatically by Windows. There were a few sites offering older drivers for download, although I’m not sure how reliable they are. As for how old the driver has to be, it seems that there are differing opinions – some say any 3.3.x.x series driver should work, however it is known that 3.3.2.102 and 3.3.3.114 work. All reports seem to state that 3.4.x.x series drivers fail.

As a result, I wanted to know how far forward I could go before things would break, and I wanted to grab the drivers from a trustworthy source. As a result, I visited the Internet Archive’s trove of (more trustworthy) archived data from Prolific’s own site:

From what I can see, it seems that v1417 is the most preferable package to install, as it has the last v3.3.x.x series driver. After installing the package, manually updating the drivers allows the choice of driver version.

Once the older version is installed …

… the port becomes workable. Unfortunately, it seems that Windows likes to try and update the drivers to the latest version at any unplug/reboot opportunity. One way around it is to use a registry file/group policy entry to prevent installation for that particular type of device, but then, you can only use the adapter on whichever port you have already installed it on. Plugging it into another USB port will result in a new device for which you are disallowed to install drivers for due to the group policy entry. To undo, you will need to remove the device IDs from HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions\DenyDeviceIDs.

Conclusion

It’s amazing how competition in the USB to Serial bridge chip market has resulted in a number of stupid shenanigans. When FTDI started to brick counterfeit chips, I was concerned. The main alternative, Prolific, were not guilt free either as their drivers would frequently BSOD when encountering counterfeit chips, potentially causing data loss and more panic than absolutely necessary. Over time, this mellowed to a more “gentle” Code 10 error, but now, the code is being invoked to cause their older chips to be unusable under the latest OS. This is a form of forced obsolescence which is wasteful, and forcefully encourages consumers to fork out money to buy a new device. I suppose this may be a way of limiting any “undetectable” fakes.

Of course, this is merely a software restriction, as it can be bypassed by running older drivers. Unfortunately, this also causes problems – older drivers like to be automatically replaced with newer ones, meaning manual intervention may be necessary to keep things working through a reboot or unplug/replug cycle. But worse still, older drivers can contain bugs and lack support for some baud rates and newer chips (in case there is a mixed environment of new and old chips). Such restrictions are not an issue for Linux, and running an older OS inside a VM.

I’m disappointed. I own a number of older Prolific devices, all of which are genuine. They’re still perfectly physically functional. To leave me out in the cold for your own commercial interests wastes my time and effort to work-around. Your excuse that Windows 10 compatibility was not promised does not hold water when an older version of your own driver works absolutely fine for the most part, and under Linux, there has never been an issue per-se. The hardware didn’t suddenly become impossible to work under Windows 10 – you just chose to make the latest drivers “fail” to work with it.

But I suppose we aren’t left with many options. Winchiphead CH341-type chips are fairly cheap, but they’re not that reliable. The Silicon Labs CP210x is another alternative, but I haven’t had much experience with them. One that I haven’t seen is the Moschip MCS7720, although these are probably hit and miss too. There were formerly other alternatives, but I suppose they’re too expensive for the “cheap-as-chips” market of today.

About lui_gough

I'm a bit of a nut for electronics, computing, photography, radio, satellite and other technical hobbies. Click for more about me!
This entry was posted in Computing and tagged , , , . Bookmark the permalink.

5 Responses to Problem: Agilent Technologies U1173A Compatibility with Windows 10

  1. darius says:

    Hi,
    due you really need IrDA cable for galvanic seperation ?
    Direct USB-USB cable is not correct ?

    • lui_gough says:

      The Agilent unit is designed for IR communications – not IrDA in the sense it doesn’t comply with IrDA’s protocols, it’s merely a representation of RS-232 using IR LED/photodiode. There are other ways to achieve galvanic separation – you could, perhaps, use isolation transformers like how Ethernet does, or you could incorporate an optoisolator in one end. Another alternative is to use a hall-effect sensor to sense magnetic fields sent from an induction coil, or for pure AC signals, a capacitor could be used for DC-blocking.

      That being said, quite a few lower-end instruments use direct-USB connections with a *big warning* that the ground is not isolated from USB ground which can cause danger by inadvertently shorting things to ground (i.e. where PC ground is connected to mains earth, and USB ground is the PC ground). The other risk is that high voltages which exceed the input capability of the device will probably arc-over and cause damage to your PC (at least, the USB ports). That’s how the “USB Killer” thing works – purely by injecting high voltages through your USB port.

      – Gough

  2. Tesla1856 says:

    I have a couple of old external USB-3 HDD that use Prolific chipset. They seem to work fine, even after upgrading machines to Windows-10/64bit.

    As for drivers, have you tried installing the latest/final working Win-7/8 64bit driver in Compatibility-Mode into Windows-10? That usually works.

    I have a couple of FTDI devices that I use for my drones and Arduino Projects. Luckily, no fakes here. Now that you mention it, the old workbench-laptop might have been still running Windows-7 the last time I used them, so I should check that they still work on Windows-10/64bit.

    • lui_gough says:

      Prolific hard drive chipsets are unaffected, e.g. the beloved PL-3507 still works just fine for me.

      The issue is strictly with PL-2303HX or PL-2303HXA chips which saw counterfeiting and are deliberately discontinued and unsupported. An older driver of the 3.3 series works, although Windows 10 loves to try and update to the latest driver which has the coded “Code 10” issue. Newer PL-2303HXD, PL-2303SA, PL-2303TB, PL-2303EA, PL-2303RA and PL-2303TA (e.g. used in the revised U1173B) are unaffected, so it can be unfortunate say if you own a GPS device with a PL-2303HX/HXA in it (as I also do) and wish to use it on Windows 10 with no issues.

      As far as I know, FTDI stuff is still working well as long as it’s genuine …

      – Gough

  3. required says:

    Tl;dr, for digital hoarders:

    You might be interested in this:

    http://www.oneping.com.tw/fileDownload.htm

    Some chinese demo:

    https://www.youtube.com/watch?v=XZD3mCYBnwM

    All started from googling for .. pl2303 test program .. and .. pl2303 CableTest ..

    Best regards

Leave a Reply to requiredCancel reply