This is all a smoke screen to keep you off of the most important aspect of this case, and that is that *someone* inside of FTDI gave the order to write and distribute ILLEGAL MALWARE to damage [otherwise] innocent end-users products.
On their website there is relase date of this useless Windows driver-is it correct date?
Windows* 2014-09-29
2.12.00 WHQL Certified
Available as setup executable
However, it might not be date when included to autoupdates in Micro$soft?
Downloaded one of the Linux versions from
http://www.ftdichip.com/Drivers/VCP/Linux/ftdi_sio.tar.gz to see what they do in this driver during module initiation, but it looks like latest release date is: Linux
2009-05-14 version 1.5.0 .
Is it latest official version of this driver or somewhere exists newer versions, eg. included in latest kernel sources?
In this from their website moduel init looks like this:
static int __init ftdi_init (void)
{
int retval;
dbg("%s", __FUNCTION__);
if (vendor > 0 && product > 0) {
/* Add user specified VID/PID to reserved element of table. */
int i;
for (i = 0; id_table_combined[i].idVendor; i++)
;
id_table_combined[i].match_flags = USB_DEVICE_ID_MATCH_DEVICE;
id_table_combined[i].idVendor = vendor;
id_table_combined[i].idProduct = product;
}
retval = usb_serial_register(&ftdi_sio_device);
if (retval)
goto failed_sio_register;
retval = usb_register(&ftdi_driver);
if (retval)
goto failed_usb_register;
info(DRIVER_VERSION ":" DRIVER_DESC);
return 0;
failed_usb_register:
usb_serial_deregister(&ftdi_sio_device);
failed_sio_register:
return retval;
}
Is this part of the driver code which forced to stop working those competitors USB dongles even under strong Linux?
if (vendor > 0 && product > 0) {
/* Add user specified VID/PID to reserved element of table. */
int i;
for (i = 0; id_table_combined.idVendor; i++)
;
id_table_combined.match_flags = USB_DEVICE_ID_MATCH_DEVICE;
id_table_combined.idVendor = vendor;
id_table_combined.idProduct = product;
}
Anyway it looks like this Linux driver on his webpage is old and only simply overides vendor and product id's, but ONLY when BOTH module parameters are > 0 and hopefully only PC memory.
But, where are those patched versions of this
ftdi_sio.c Linux driver module which reprogram back those product Id's I guess to correct value to be able use bricked products even under Windows with good old drivers ?
Downloading latest Linux kernel 3.17.1 from
http://kernel.org for SIL CP2104 , so will also take a look what is inside
ftdi_sio.c , while it looks like on kernel.org there is no patches for this file
Just in the case if one of friends of mine bought any product bricked by FTDI to give it second life... under Linux