Pull to refresh

FTDI наносит ответный удар

Reading time 3 min
Views 303K
Иногда борьба корпораций с конечными пользователями приобретает гротескную форму, что и побудило меня написать этот пост. Коротко: я перестал беспокоиться любить FTDI.

Если вы используете устройство с подключением через конвертер USB2COM на чипе FTDI под Windows — берегитесь. В рамках борьбы с пользователями за интеллектуальную собственность FTDI ломает контрафактные чипы программными средствами.

Анамнез


Долго выбирал и, наконец, купил несколько плат Arduino с лучшим конвертером USB2COM всех времен и народов FTDI FT232RL. Предполагал использовать их в учебном процессе из-за простоты и уже разведенного набора датчиков, светодиодов и динамика.



Хабражители предупреждали о подделках, но зачем отличать подделку от оригинала, если все работает. В начале октября 2014 года вышла серия обновлений Windows 7. Через какое-то время установленные драйверы стали выдавать ошибку «COM port is busy». Впоследствии не значит вследствие. Злые языки утверждают, что в драйверах был time bomb на 01.10.14. Не берусь судить, ибо именно эти платы я не перепрошивал долгое время.
Помня, что были обновления, я немедленно установил самые лучшие свежие драйверы «CDM v2.12.00 WHQL Certified». После чего ошибка сменилась на «Can't find driver for this device».

Диагностика


Гугление выявило что с подобной проблемой столкнулось не только сообщество любителей Arduino, но и автолюбители использующие FT232 в OBD адаптерах, и многие другие, использующие этот чип в своей жизни. Обычно проблему решали заменой кабеля на чипах CH340, CP2102, PL2303 и т.п. Но я не мог заменить кабель, поскольку чип запаян на плате
У меня прописался нулевой идентификатор PID FTDIBUS\COMPORT&VID_0403&PID_0000.



Процесс выхода чипа FTDI из строя состоял из двух стадий. Сначала происходит автоматическое обновление драйверов FTDI через Windows update. Эти драйверы не изменяют PID, а просто отказываются работать с неправильным с их точки зрения устройством.



Пользователь, скачивает свежие драйвера, не читает и соглашается с лицензионным соглашением, после чего драйверы изменяют PID на 0000. Рекомендованное лечение: поставить старые драйверы 2.8.14 (или ранние), прописать правильный PID (по возможности заблокировав его на запись), в дальнейшем не обновлять драйверы FTDI.

Лечение


На основной компьютер под W7-64 старые драйверы не ставились. Утилита MProg устройство не видела. Виртуалка устройство с PID0000 тоже не видела. На древнем компе с WXP удалось поставить старые драйверы, заменив в inf файлах PID_6001 на PID_0000. Потом поставить фирменную утилиту MProg для прописывания PID (скачанную с официального сайта). Прошить чип FTDI FT232RL заново, используя прошивки с arduino.cc.
UPD 23.10.14: makaroff опубликовал комикс о лечении.

Выводы


Замечательная компания FTDI сменила тактику борьбы с поддельными чипами. Ее решение изящно, легально и позволяет контролировать рынок. Вот только устраивает ли оно конечных пользователей? Если ранее, вы просто устанавливали драйверы штатными средствами Windows, то теперь, новые драйверы поставляются в виде exe и при инсталляции вы принимаете лицензионное соглашение, в котором есть такие слова:

1.5 Use of the Software as a driver for, or installation of the Software onto, a component that is not a Genuine FTDI Component, including without limitation counterfeit components, MAY IRRETRIEVABLY DAMAGE THAT COMPONENT
В вольном переводе звучит так: использование этого программного обеспечения с поддельными компонентами может привести к повреждению этих компонентов.

Что ж, если у меня будет выбор, то я больше никогда не куплю продукт содержащий компоненты FTDI. Неважно, какие это будут компоненты — поддельные или настоящие. Жена не разрешает покупать электронный микроскоп, чтобы отличить подделку от оригинала.
Tags:
Hubs:
+107
Comments 98
Comments Comments 98

Articles