Start a new topic

About Prolific PL2303HX USB/TTL

Hey Patrick,

seeing how you mentioned the Prolific USB/TTL adapters in a different thread, I've got something I've been wanting to post about them.

You said:

"Some USBtoTTL say they are Prolific, same chip but not brandname Prolific.

If such is this kind of Prolific, their older driver is going to be needed.

Unplug and replug in the adapter is needed when such freezes.

 - can be a small pain - but trade off for less expensive USB to TTL.

Doesn't happen too often, $3 vs $70 ... yeah."

I purchased a PL2303HX USB to TTL Module from ITEAD Studio and it was impossible for me to install it on Windows. The reason for this is described on the Prolific website:

http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41

Of course, you can buy 700$ USB/TTLs but I managed to grab one for just 5$ (a CP2102) which I installed in a jiffy, so it isn't really about the cost just many "Prolific"s which are manufactured in China usually don't work.


I will make a personal opinion here, these are my thoughts, not any official stance.

There are a few technical things at play here.


Lets go back to the days of Microsoft Anti-Trust - the earlier ones (of several).

Microsoft wanted so hard to dominate, to the point they block attempts for others to play.

 - they exerted control over partition tables and boot record

   to prevent dual-booting or worse, replaced by another Operating System

 - they exerted control over settings, so their version of the web was only version

   to prevent another browser from being default

 - etc


 It was eventually decided, that when a end-user purchases hardware,

  - the user OWNs that hardware, and at their will and discretion 

    can use the hardware as they see fit.

Just because your system comes preloaded with this and that doesn't mean locked in.

  The user can choose to wipe it out and load Linux if he desires

  The user can choose to uninstall Internet Explorer and all traces of it from system


The same precedent holds true of almost all hardware.

 - Just because the PIC16F88 came inside an Alarm System

    doesn't mean the owner can not take it and repurpose and reprogram it.


A PL2303HX chip is a capable chip, the datasheet is readily available.

  - and it is this chip that is also sold as a standalone as well as inside devices


The same chip on one board from one manufacturer is the same in many Prolific adapters

But this chip is not exclusive to Prolific only, I can order 10 of on eBay for under $4

If I don't feel like building up a whole setup, a PL2303HX module can be had for $1


Now much is in the drivers, and who wrote the said drivers for such chip

 - Prolific indeed is a player and recognized more quickly than say others

 - but again they are not the only.


A partial error occurs with Microsoft, when they identify this chip and assume Prolific brandname.

Three days ago, Microsoft did a forced update, wiped out my driver and updated to latest Prolific

To me, I say this is typical behave of virus - unwanted, unasked for action, degrading my system.


I can not argue for legalities, but when the older driver was sold, it was sold without restrictions.

Newer drivers are sold with this new restriction that you speak of, but there was no such

restrictions that you speak of in the older pre-issue driver.  So I think older driver is fair game.

I also think that a driver written by someone who allows its use is also fair game.

But it is my opinion that Microsoft is overreaching to assume what conditions exist

- when they assume it is Prolific driver that should be used when they update just on identifying the chip.

- user could have certainly been on another arrangement.

This is large corporate attempting to help a buddy bully the market

 - Prolific as far as I know does not have exclusive on the chip itself.  and if they do, they sell it in

   the open and free market and as such lessens value to those they sold it too.


Now, as for installations on Windows - this is far from impossible.  Mine is indeed installed.

- but I chose a pre-issue driver.  And it becomes a 7 minute pain each forced Windows update.


Serial TTL is so old, I can not imagine any patents that can control the market - long expired.

For me, I am less likely to pay 12x extra for the exact same thing without cause

  just because Gate's buddy like to make extra bucks towards his winter vacations

  just like I probably wont ever pay $2200 for sneakers just because they have a swoosh

  no matter how many times the advertisements tell everyone to Just Do It.


Buy hey!  The morning McD's EggMcMuffin patents expired,

   Burger King clearly stated, "we got it right from their safe, our's is the same Egg McMuffin"


Of course all this is depressing and these issues are well-known to many.

The last resort would be to not use Windows at all. I just wanted to point out that Prolific2303HX cannot be installed on Windows 10 and even if it could be, you'd need to spend a lot of time digging around in the details.

For those who don't have the time for this, buying a 5$ CP2102 (or any other), plugging it in and going on their merry way is a much easier solution.


I don't mind if you delete this whole thread in case it gets blown out of proportion in the future :)

I indeed have Windows 10.  I indeed used driver 3.3.2.105. It indeed functions.

I indeed downloaded this available Driver from the Prolific website.

Details to dig around for - I have stated

Uninstall 3.8.x driver version Microsoft Installs, install version 3.3.2.105.

Update Driver, Browse my Computer, Pick from list - 3.3.2.105 [2008-10-27], Next


image


Just saying it isn't all so difficult, how will we program embedded if such too hard. ;)

There are many solutions to choose from, some are just more cost effective


And I am not above using either a non-windows solution

  or trusty older Window and MSDOS versions

  not everything new is so good LOL


Funny how the more time goes by, the harder simple tasks become

 - in embedded, we just trying to push a byte over serial


Patrick, somewhat of a personal question: what was the first computer you ever worked on?

First for something useful? 

   perhaps VAX/VMS 1984 to email a professor in California.

There were the TI-99s TRS-80s, PETs, C64s through the 80s

   but I am not sure these would necessarily count as a computer

First that was mine all mine new and shiny 80286-12 with DOS 3.3-1991


:-)

So Andrew,

 - would it be only fair for you to state your first computer.  ?

Ah yes, the FTDI chip cloning project.  This is where the new driver from FTDI will brick fake ones or complain that your chip is not genuine.  I believe this is still on going.


As long as were dating our selves my first computer I programmed on was a PDP-11 back in 1975 followed by TI-97 and IMSIA.  My first owned computer was TSR-80.  Not an apple fan.


I think I have Bills first BASIC language he wrote on paper tape somewhere....

 

It's difficult to exactly understand discussions relating to history if you don't know what generation the person you're talking to comes from (because people from different generations might mean different things when they talk about the same subject, which is what I see from the responses we've gotten).

It's much more pleasant to communicate when you have a rough picture of who you're talking to as opposed to chatting to a small avatar :)


I'm really glad to have realized that I'm communicating with ancient heroes :)


My first machine was a Nairi. I only had it for less than half a year. Then came my favorites: IBM 360, IBM 370 (I still have fond memories of them). After that I worked on a machine whose name I can't remember, maybe this'll ring a bell. It was Hungarian but rumor had it that it had a French license: 16-bit, similar to PDP-11 but I seem to recall instruction set being different. Then came a line of IBM PCs: 8086, 286, 386 and now I've got the stuff you see every day.

One great thing to me about old day nostalgia is things were bigger and less complex.  As such we could see what was happening where, and many times so slow we could almost see when.  I can recall a 20 lb Unisys 256 byte RAM module that was hand woven around poles and beads.


I think the we may have the advantage that we were around for many of the technological changes, And with each little incremental change, it was less to absorb in smaller byte sized chunks.  As such, the basic fundamentals of the (specific) MCU triggers its equivalent historic monster sized machine that did the same thing.  Perhaps hard to not think of an Edison in terms of its 2U Rackmount version. Or reflect to the Integer based Nextion in terms of the pre floating point math coprocessor days of the 80286.  In such days when there wasn't a command for everything, building a routine was common.  Much is still the case to build a desired routine - though trying to remember back to how we did t back then, perhaps can be a challenge in itself. =) 


The newer generations don't have that experience and advantage of having already built something similar to it in their past - there is no approach to even try to remember.  The slow speeds back then gave time to ponder about things, where today an hours worth of then passes within seconds or even less.  And storage space, I recall I once thought 20MB was overkill, who could ever fill it.  Thank GOD 32GB microSDs are so tiny, cause shelving 23,300 3.5" diskettes would simply be nuts (or Please insert disk 117 of 2220: - crap, what do you mean it has an error).  Now if I can only see where I dropped it.

You're right, a modern microcomputer is unbelievably more expansive by RAM, external memory and speed than the machines we used to work on back then. But here's what surprises me: both can accomplish some goals with equal success.

For example, that unknown exotic Hungarian-French machine I mentioned had 64kB RAM, 4 hard drives 7 MB each (each one looked like 4 stacked pancakes with a 16'' diameter) and a speed similar to PDP-11. We managed to program a system that automatized a clinic/hospital with 12 terminals which were used by different doctors for their separate work. Everything was coded in assembly and consisted of a virtual processor (~16kB big) which executed a program written in its own language i.e. something like an interpreter. And everything worked like a charm and the whole hospital used it.

Debugging in those days was a delight. Back then you needed to use physical switches on a CPU console to set breakpoint addresses and then check the contents of the registers and memory which was displayed on a row of lightbulbs, each representing a bit.

I remember that it was very easy for us to do and was not time consuming at all.


To solve such problems now, we tend to use 12 PCs (each of which outguns that lone machine performance-wise, hands down) which are connected by a network with a server that contains the database.

But the product didn't change, we've still only accomplished what I described above, it's just that from a programming perspective, that old machine nowadays wouldn't be enough to hold the modern software necessary to create a user manual for the hospital's system :)


It's all due to the fact that back then, we programmed the machine itself whereas now, a programmer writes programs for browsers, interpreters, various GUIs etc. The only upside is that the amount of people capable of working a computer has exponentially increased thanks to this.

I can stress your point. When I started deep into programming, the onus was different.

The responsibility was on the programmer to code within the resources at hand.

If there was a 1MB max and all had to fit within that 1MB, when it came to 1.04MB it was unacceptable.

Not only did it fail, but I could not dictate that they must drop a driver to accommodate my failure.

I would have been sent back to do it over - until it was right.  And in this, learning occurred.

A higher level of problem solving develops.


Today, code is sloppily tossed together.  And if it doesn't fit within your 2GB of RAM, the onus is transferred to the consumer to go purchase another 2GB of RAM.  Today, we give a secretary who can not input at speeds greater than 190wpm (19 keystrokes per second, 152 bits or 190bps serially) and we sit them down to the then Cray super-computer to type the dictated letter.  Such a system 1000s of times more capable than what put man on the moon.  Yet the systems new purpose is now a glorified typewriter, with a deck of playing cards to do Solitaire, and surf the Internet - which I remember doing at 300 baud.  My desktop is modest compared to what is available, 8GB ram, a quad core A8 3.5GHz, 1TB drive and a bit older than 2.5 years.  I am certain that it is more powerful than the Unix system that ran our undergrad services for the entire campus (and off campus) at my University, and I hardly stress it out.  And indeed there are probably a few cell phones out that could in theory out perform my system.  


Decreased costs have led to more tech power for the individual, and there is no longer a need to sublet time on such powerful systems to fund their maintenance and upgrades.


Now just because a programmer can program it for a web browser and make access to the far reaches of earth and space, doesn't necessarily mean that it should be.  There are so many security issues the java script kiddies have yet to learn about, and without the old school basics - I think the vastness of their resources means 95% of vulnerable space gets missed and overlooked.  But that's indeed a different conversation.

This has turned into a great veteran club where we share our experiences, I'm really digging it :)

Here's some more fuel on the fire:

What do you think about the raging war on the 'goto' statement (jumps to an address)?

People who can't even begin to imagine what a processor is will start proving to you that it's a really unhealthy thing to do. My son's studying at university and so far there hasn't been a single teacher who wouldn't try and convince him that using goto is (how they put it) evil.

And what about the surprise that they get when you start using a unsigned integer array as a char array?

They usually say that it's not acceptable and nobody does it.

I think that the way in which a 'modern' programmer uses high level languages is similar to a kid using a weapon without realizing what he's doing, but they aren't afraid to criticize others.

I wonder what they'd say if they saw some old program written in assembly and riddled with 'goto's like braid in order to shorten the code...

Login or Signup to post a comment