Search Microcontrollers

Tuesday, October 28, 2014

FTDI - was it a good move?

We are all using FTDI products.
They had a great idea to bring together the MCU world with modern computers.

Back few years ago we all had serial ports on our computers and we used to interface microcontrollers and other stuff with them.
They worked ok, but they had limitations (speed, number of devices connected...) so USB was introduced.

Cool, but then all those uart based devices became hard to be connected to PCs.

FTDI invented a sort of bridge between serial and usb standards, packed in a tiny chip, not difficult to use.
Those chips are present in Arduino boards, in Launchpads, basically in most MCU or FPGA jtag programmers... which is great, well done FTDI.

Issue is that their prices are typically quite high, sometimes exceeding the cost of the MCU you need to program, which is kind of a nonsense.
Because of this a number of counterfeit chips invaded the market, damaging FTDI who rightfully holds the copyright for that technology.

FTDI then decided they had to protect their IP and investments, which is understandable and took actions.

Dave @EEVBlog explains it in detail in this video

Now the issue is that FTDI decided to BRICK -render inoperative- all products that are using counterfeit chips.
They posted a driver update for windows that sets to zero the productId stored in the flash rom of the chip, making it unrecognizable by the operating system.

Obviously the reaction of the user community was not nice to the company and they are probably going to lose several customers.
Apparently the "aggressive" driver was removed from windows update, but several products were rendered useless already.

This makes me wonder few things :

1) Am I ok for an OS like Windows to publish drivers that can potentially cause harm to whatever in my PC, without having the company responsible for the OS reviewing the source code and detecting eventual issues? This would not easily happen with Linux since drivers -excluding proprietary ones, which are by default disabled- are available in source code for the community to inspect.

2) Isn't a bit dangerous that most of the devices we use can be easily bricked via software?
Shouldn't we have some kind of repository of the config data stored in our usb devices roms, so that we could eventually re-program it if it gets damaged by malware?
Shouldn't  such data be writable only via an alternate interface, which is not connected to the PC?

3) Is maybe the time to start pushing more USB enabled MCUs and steer away from the old uart interface? Granted, usb libraries are a bit more complex to use, maybe they should be improved... but then we would not need FTDI chips anymore.

4) Shouldn't we push more for open source/hardware technology, also to protect ourselves from damages that greed (of the companies that cloned the chips and from the IP owner company as well) could damage us?

No comments: