...Both chip manufacturers should do something about it...
Or, maybe you should do something about it. It's not the 90's any more. Still using Windows in 2024?
Try Linux, and both the CH340 and the FTDI will just work. I don't recall installing any drivers for them in Linux, and don't recall them ever crashing the OS.
It will only help if I provide each client with a laptop or tablet with a pre-installed Linux system and application. But this doesn't solve the problem in general; the bug still exists. In modern world some products should be compatible with Linux, MacOS, Android AND Windows. E.g., USB microphone. A very small amount of microphone users will change their operating system and production. They will probably leave a bad review, request a refund and buy a new microphone.
I need to note that last winter I've spent almost one week to download Visual Studio and KMDF (kernel mode driver framework) example from Microsoft's GitHub and modified it to receive serial stream from STM32's USB endpoint. Figured out how to put Windows in "test mode" and everything worked with no blue screens. Of course, there should be endpoint with CTS/RTS/etc. signals and other "garbage" which I did not implement, and I have no time for this and money to sign the driver. I just want to understand, what "a piece of serial" code with complex memory management is implemented in those FTDI and CH340 Windows drivers... and why this bug should not be mentioned (I had 50 dislikes on a video with 1k views) and why the only solution is to change operating system?
I had no blue screens since Windows 10. And I was really happy with both FTDI and CH340 until I wrote a serial loopback test program last year. E.g., in this video I use 5 (five) usb-to-serial adapters:
That's when I've got few blue screens from CH340. And now FTDI too!
I'm on windows 11 too and I use a lot of CH340C's with my projects. I often disconnect them from usb ports, even during transmission and it never gave me errors. (driver installed with CH341SER.EXE)
Isn't something with your pc?
With FTDI you should perform the following:
1) Open notepad, paste all your valuable information like passwords, crypto-wallet keys, 2FA secrets, etc.. The more the better!
2) Delete all backups (to make it more fun!)
3) Start sending data from external device to serial converter. In this particular case it's [55 55] [64 bytes] [55 55] [64 bytes] and so on sent at 115200bps, default settings.
4) Open port using terminal program, in this case it was opened using Web Serial API from browser, but I think anything that activates the driver using CreateFile() and performs repeating calls to ReadFile() will be enough to experience this driver bug.
p.s. I even had a video mentioning this problem which received something like 50 dislikes and 3 likes. And everyone had an urge to share with me how everything works with on-board serial chips of Arduinos, esp32, etc. Unfortunately, I deleted that video along with comments. I don't understand why this mapped differently in human brain (the "serial" thing). Here is a thought experiment. Let's replace "serial converter" words with "usb flash drive". I can imagine an awkward situation when a Linux guy shares his USB flash drive which "gives blue screens of death". And some office workers tell stories about viruses that coming from Linux and other nonsense. You can't just install the Linux and solve all the problems. Moreover, problem is not in Linux, and not in Windows. Problem is in a buggy driver