Лечим FTDI в картинках

Лечим FTDI в картинках

Борьба корпораций с контрафактом и конечными пользователями

                Иногда борьба больших корпораций с контрафактными версиями своих продуктов приобретает чудовищные формы. Такое несчастье случилось и с горячо любимой многими электронщиками FTDI. Если вы используете устройство с конвертером USB <> UART на чипе выше обозначенной кампании (например, неоправданно дорогостоящий, во многом избыточный, но от того не менее народный FT232RL) – будьте осторожны. С сентября 2014 FTDI ломает контрафактные чипы программными средствами.

Анамнез

                В последнее время участились жалобы владельцев Arduino и Arduino-подобных плат на внезапные поломки. Симптомы одни и те же: операционная система отказывается корректно устанавливать драйвер, и наше устройство лишается связи с компьютером, однако сохраняя при этом работоспособность на основе уже записанного скетча. Такой болезни подвержены только модели, интерфейс USB у которых спроектирован на чипе FT232RL.

                Процесс поломки чипа FTDI состоит из двух этапов: первым делом происходит автоматическое обновление драйверов через службу Windows Update. Эти драйверы отказываются работать с неправильным, как они думают, устройством.  Затем пользователь скачивает новые драйвера и, не читая, соглашается с лицензионным соглашением. После этого новые драйверы изменяют PID нашего чипа.   

                Итак, если Вы установили очередные обновления Windows и Вас постигла сия участь, а из опуса UnknownType вы мало что поняли, тогда продолжаем читать эту статью.

 

 

 

 

 

 

 

 

 

 

 

 

Диагностика

                Самый первый шаг, который следует сделать, это зайти в Список устройств (прав.кн.мыши на ярлыке Мой Компьютер > Свойства > Диспетчер устройств). Если там такая картина:

                то в свойствах скорее всего будет полное отсутствие информации о драйверах, а само устройство внезапно получило PID равным 0000:

                Это значит, что с самой Arduino все в порядке!! Теперь скорее скачиваем драйвера версии 2.8.14 или более ранние. Устанавливаем на устройство сначала ftdibus, затем ftdiport. Если установка не проходит, поправим файл ftdibus.inf. Открываем его блокнотом и вместо PID_6001 вставляем PID_0000, сохраняем.

                 Устанавливаем драйвера. Теперь в системе есть два конвертера, но работает только один. Так и должно быть, всё идёт по плану. Скачиваем утилиту FTDI MProg 3.5.

                Запускаем, находим в меню Tools > Read and Parse. Утилита сама прочитает всю информацию из чипа и распишет её по ячейкам.

                Теперь можно и (и нужно!) ввести в окошке Product ID «6001» (для FT232R(L)). Теперь заходим в меню, находим пункт File > Save As… и сохраняем файл конфигурации EEPROM на жёсткий диск. Без этой процедуры программа не позволит прошить чип. После чего комбинацией клавиш Сtrl+P ловко прошиваем нашу микросхему. 

                Две – три секунды, и у нас снова рабочая микросхема! Теперь и прочитать данные можно.

Вместо заключения 

                Теперь главное проследите, чтобы на устройстве стояли правильные драйвера! Иначе очень скоро придётся заново повторять все приведённые действия.

Статья в формате PDF 

Лечим FTDI в картинках.PDF
pdf, 497 КБ