Hacker News new | ask | show | jobs
by josephcsible 1487 days ago
> Prolific just doesn't have any obligations to the end-users of other manufacturers' chips

To me, this would excuse a change that was actually somehow beneficial for their own chips and just happened to break clones, but it doesn't excuse a change that does nothing for their own chips and breaks clones on purpose.

1 comments

It is beneficial for their chips: the driver will work exactly as advertised and tested. The drivers do not break clones on purpose, the drivers simply don’t enable clones to work.

Write your own driver if you want to use the clones. It is not Prolific’s job to support hardware they didn’t design, build and test.

Even more importantly it is not Prolific’s job to support competitors who are not going to respect Prolific’s IP.

But the driver doesn't work any differently for their own chips than the old one did. And this change was definitely, unambiguously, breaking clones on purpose.
How could you possibly know that?

For all we know, the new driver could have been a rewrite from scratch (say to support new products that run at higher speeds than the older driver could support), and the new driver never worked with this particular clone to begin with.

Keep in mind that the driver developer may not even be in possession of a clone of this type. Clones see new versions over time just like any other product, the only thing is that since they don't advertise their true version, it's impossible to practically support them.

The new driver detects clones, puts "THIS IS NOT PROLIFIC PL2303. PLEASE CONTACT YOUR SUPPLIER." in Device Manager, and refuses to work. What sequence of events do you see that would have led to that string existing, let alone all of that happening, unintentionally?
The string is intentional. But that doesn't mean the author had a practical way of making the driver work with any and all clones.
What I'm saying is that just "don't write code to try to detect clones, and treat every chip the same as you're currently treating official ones" would have been sufficient to make it work, and they intentionally did extra work and wrote extra code to make it not work on clones.