Теория по КМПУ Готовые элементы систем Технологии и хитрости Прочее Магазин Контакты
 

Работа с драйверами для FT232RL под ОС Windows


Перед тем, как начать работу с микросхемой FT232RL, нам, естественно, необходимо установить для нее драйвера. Процесс этот абсолютно несложный (во всяком случае, в Windows, с другими системами я не знако́м), однако, есть тут один подводный камень.

Предупреждение

Дело в том, что компания FTDI (производитель данных чипов) с сентября-октября 2014г. решила бороться с китайцами, массово подделывающими ее микросхемы. Причем, для этой борьбы не нашла ничего более подходящего, чем тупо «портить» контрафактные чипы путем перезаписи их PID’ов с правильного значения 6001 на кривое 0000. Естественно, после такой процедуры пообщаться с FT232RL обычным способом уже́ не получается (да и комп перестает ее видеть). Подробное описание проблемы и способы лечения есть здесь, здесь, здесь, да и вообще – можно просто погуглить «ft232rl драйвер pid 0000». Ну а вкратце суть проблемы была такова.

Windows 7 (за другие ОС не скажу – не знаю) в определенный момент автоматически обновлялся, причем данное обновление затрагивало и драйвер для чипов FTDI. Этот новый драйвер, в отличие от старого, отказывался работать с поддельной микросхемой FT232RL, поскольку считал, что это некое «неправильное устройство». Обращаю внимание – автоматическое обновление не трогало чип, ибо это, по-ходу, противоречит каким-то там законам. Однако, поскольку ни хера не работало, новые дрова вынуждали пользователя лезть на сайт FTDI и скачивать самую свежую версию драйверов (мы ведь все уверены, что новое – гораздо лучше старого, да?). Новые дрова поставлялись не в виде набора отдельных файлов (как раньше), а в виде единого экзешника. Ну и при его запуске пользователь, как обычно, тупо нажимал «Принимаю», не читая лицензионное соглашение, которое прямо говорило: «Данный софт может убить ваш чип наглухо». Ну и всё, после этого свежие дрова с чистой совестью заменяли PID микросхемы с 6001 на 0000, и она вообще переставала видеться в системе.

Справедливости ради нужно отметить, что 24.10.14 компания FTDI выпустила официальное заявление (видать, совсем их задрали вопросами типа «Вы там в конец, что ли, охуели?»). В данном заявлении говорится, что мол, мы вас, уважаемые потребители нашей продукции, очень ценим и любим. Однако, ничего такого мы не делаем (типа, посмотрите вокруг – все производители электроники защищают свои продукты). Правда, да – мы вынуждены признать, что в последний раз получилось совсем уж как-то не очень хорошо, хотя наши намерения и были чистыми и честными (честными, да). Поэтому мы убрали нехороший драйвер из пакета обновлений Windows и впредь решили быть похитрее и не ломать внаглую аппаратуру конечных пользователей – мы просто будем гадить вам по-мелочи. Как уж они там исхитрились, я не знаю (и проверять это у меня нет ни времени, ни желания), только в сети до сих пор появляются недовольные отзывы, например, о том, что FT232RL не принимает посланную в нее информацию.

Прочитав всё вышесказанное, можно, конечно, воскликнуть «ужоснах, плохой чип, он мне не нужен!». Однако, не всё так страшно (во всяком случае, не настолько, чтобы сразу же отказываться от довольно неплохой микросхемы). Насколько я понял, чтобы избежать конфликтов драйвера с поддельным чипом, достаточно сделать всего две вещи:

•  устанавливать не самые свежие дрова с сайта FTDI, а скачивать старые и проверенные (версии не выше 2.08.14);

•  перед установкой дров принудительно отключить обновление драйверов (см. далее).

Всё, после этого можно спокойно работать хоть с настоящей, хоть с поддельной FT232RL и особо не беспокоиться за последствия.

Надо сказать, что драйвер версии 2.08.14 был выпущен аж в 2011 году, и предназначен был для работы со следующими системами: Windows 2000, XP, Server 2003, Vista, Server 2008, Windows 7 и Server 2008 R2, при этом «разрядность ОС» может быть как 32, так и 64 бита. Однако, данные дрова нормально работают и под Win8, и под Win10. И таким образом получаем, что предлагаемая версия драйвера хотя и старая, но совместимая со всеми широко распространенными на данный момент форточками, а посему никаких допиливаний и танцев с бубнами вам с ним совершать не придется.


Общие сведения

Перед тем, как переходить к описанию собственно процесса установки дров, я бы хотел сказать несколько общих слов о них самих. Вообще говоря, драйвер для FT232RL как бы состоит из двух частей (в связи с чем он называется Combined Driver Model или просто CDM):

•  драйвер виртуального COM-порта (Virtual COM Port, VCP);

•  драйвер «прямого» доступа (Direct Driver, D2XX).

Архитектура пакета CDM для операционок Windows выглядит так:



Дрова VCP создают в компе виртуальный COM-порт, через который можно общаться с микросхемой FT232RL как с обычным устройством RS-232. Данная фича весьма и весьма удобна: не надо переписывать «старые» программы, которые были написаны под аппаратный COM-порт. К тому же, написание даже «нового» софта зачастую реализуют на том же COM-порте. Причина как всегда банальна – он очень прост с точки зрения программирования. Ну а если функционала COM’а недостаточно, тогда вступают в бой дрова D2XX. Они позволяют софту со стороны компа достучаться до FT232RL напрямую через функции DLL, т.е. работать с микросхемой, как с полноценным USB-устройством. Отмечу, что при использовании D2XX программисту доступны такие фичи, которые никогда не предоставило бы ему API COM-порта (например, перевод USB-устройства в различные режимы работы, запись данных в EEPROM микросхемы и т.д.). Подробное описание функций DLL и примеры соответствующих проектов есть на сайте компании FTDI. Обратите внимание, что хотя дрова VCP и D2XX поставляются в одном пакете CDM, приложение со стороны компа не может использовать оба этих интерфейса одновременно (т.е. в один момент времени может быть задействован либо прямой доступ к чипу, либо доступ через COM-порт).

Перечень операционных систем Windows (как 32-х, так и 64-х битных), поддерживающих предлагаемую версию CDM-драйвера:

•  Windows 2000;

•  Windows XP;

•  Windows Server 2003;

•  Windows Vista;

•  Windows Server 2008;

•  Windows 7;

•  Windows Server 2008 R2;

•  Windows 8;

•  Windows 8.1;

•  Windows 10*.


* - вживую не проверялся, но должен работать

Обратите внимание, что на сайте FTDI есть также дрова и для Линукса, и для MacOS, и даже для Андроида. Однако, в данных ОС я с FT232RL никогда не работал, а посему сказать что-либо по этому поводу не могу – пользователям перечисленных систем предлагаю разобраться в вопросе самостоятельно.


Установка драйвера

Как говорил ранее, установка драйверов для FT232RL под Windows не отличается какой-то особой сложностью. У меня на компе стои́т WinXP SP2, а у соседа – Win7, поэтому я проиллюстрирую инсталляцию дров для FT232RL именно на них. На мой взгляд, такой выбор будет вполне оправданным: во-первых, на данный момент времени эти операционки являются самыми распространенными, а во-вторых – судя по документации, инсталляция драйвера для Win8 и Win10 практически полностью аналогична таковой для Win7. Ну а если уж возникнут какие-либо сложности, на сайте FTDI есть куча оригинальных апнотов для каждой ОС с подробными инструкциями по установке (кстати, в этих документах также описаны и некоторые проблемы, которые могут возникнуть при инсталляции дров).

Итак, для установки дров чипа FT232RL нам необходимо будет выполнить следующие действия (на примере Windows XP SP2 и Windows 7):

•  от греха подальше сразу принудительно отключаем обновление дров через узел «Window Update» (особенно это актуально для жутко умных и самостоятельных Win7/8/10). Нажимаем на клавиатуре кнопки «Win» + «Pause/Break» и попадаем в окно «Свойства системы». Дальнейшие действия для разных ОС будут такими:

WinXP: Вкладка «Оборудование» > Кнопка «Узел Windows Update» > Пункт «Никогда не использовать Windows Update для поиска драйверов» > Кнопка «ОК»:



Win7/8/10: Ссылка «Дополнительные параметры системы» > Вкладка «Оборудование» > Кнопка «Параметры установки устройств» > Пункт «Нет, предоставить возможность выбора» > Пункт «Никогда не устанавливать драйверы из Центра обновления Windows» > Кнопка «Сохранить»:



Обратите внимание: окно «Свойства системы» пока закрывать не надо.

• далее я бы еще порекомендовал на всякий случай вообще отключить комп от Интернета (выдернуть шнур или хотя бы отключить сетевую карту), но это, наверное, совсем уж паранойя. А вот что точно не помешает, так это попробовать удалить ранее установленные драйвера от FTDI. Продукцию данной конторы используют многие производители, и далеко не факт, что какая-нибудь железка, которую втыкали в комп несколько лет назад, не установила соответствующие дрова;

• скачиваем CDM-драйвер версии 2.08.14, если этого не было сделано раньше;

• распаковываем скачанный архив в какую-нибудь папку. Пусть для примера адрес папки с дровами будет таким: D:\DRV\FTDI_Driver_2.08.14;

• перед установкой драйвера заходим в «Диспетчер устройств» (соответствующая кнопка на вкладке «Оборудование» в ранее открытом окне «Свойства системы») и смотрим список установленного оборудования в разделах «Контроллеры универсальной последовательной шины USB» и «Порты (COM и LPT)» (если таковой вообще имеется):



(здесь и далее: если картинка двойная, то слева показан WinXP, справа – Win7).

• втыкаем устройство с чипом FT232RL в USB-порт компа. Возможно (возможно) сразу же вылезет какой-нибудь «Мастер автоматической установки нового оборудования». В этом случае твердой рукой отправляем его спать – жмем «Отмена». Ну а далее вновь обращаем свой взор на «Диспетчер устройств»: в разделе «Другие устройства» у нас должен появиться неизведанный дывайс «FT232R USB UART» (ну, или что-то подобное):



• щелкаем по неопознанному устройству правой кнопкой мыши и в вывалившемся меню выбираем пункт «Обновить драйвер»:



• у нас должен запуститься «Мастер обновления оборудования». Выбираем «Установка из указанного места» (WinXP) или «Выполнить поиск драйверов на этом компьютере» (Win7). В случае Windows XP потребуется еще нажать кнопку «Далее»:



• в открывшемся окне указываем мастеру место нахождения дровяных файлов (напомню, в нашем случае это D:\DRV\FTDI_Driver_2.08.14) и нажимаем «Далее»:



• если система начнет лаяться на то, что устанавливаемые дрова не имеют сертификации WHQL, жмем «Все равно продолжить»;

• наблюдаем, как красиво устанавливаются необходимые файлы драйвера D2XX. При этом в папке «\WINDOWS\inf» создаются соответствующие файлы *.inf и *.pnf, в папку «\WINDOWS\system32» копируются библиотеки «ftd2xx.dll», «ftbusui.dll» и «FTLang.dll», а в папку «\WINDOWS\system32\drivers» – драйвер шины «ftdibus.sys»:



• ну и в окне завершения работы мастера обновления оборудования жмем кнопку «Готово» или «Закрыть»:



• если после этого вдруг опять сам по себе запустится мастер установки нового оборудования, жмем «Отмена» – любую самодеятельность ОС нужно жестко пресекать. Ну а дальше снова смотрим в «Диспетчер устройств»:



Как видим, драйвер для «прямой» работы с FT232RL встал нормально (см. «USB Serial Converter») и появилось новое неопознанное устройство «USB Serial Port». Это виртуальный COM-порт, и для него нам надо установить драйвер VCP (обратите внимание: при установке CDM-драйвера всегда первым делом устанавливаются дрова прямого доступа (D2XX), и только пото́м – дрова виртуального COM-порта (VCP)). Проделываем еще раз вышеописанные действия:

• щелкаем по неопознанному устройству правой кнопкой мыши и в вывалившемся меню выбираем пункт «Обновить драйвер»:



• выбираем «Установка из указанного места» (WinXP) или «Выполнить поиск драйверов на этом компьютере» (Win7), жмем кнопку «Далее» (если нужно):



• в открывшемся окне указываем мастеру место нахождения драйвера (должен остаться правильный путь) и нажимаем «Далее»:



• наблюдаем установку необходимых файлов драйвера VCP. При этом в папке «\WINDOWS\inf» создаются соответствующие файлы *.inf и *.pnf, в папку «\WINDOWS\system32» копируются библиотеки «ftcserco.dll» и «ftserui2.dll», а в папку «\WINDOWS\system32\drivers» – драйвер виртуального COM-порта «ftser2k.sys»:



• в окне завершения работы мастера обновления оборудования жмем кнопку «Готово» или «Закрыть»:



Смотрим в «Диспетчер устройств» – виртуальный COM-порт установился нормально, а неизвестных устройств не осталось:



Обратите внимание на то, что по умолчанию виртуальному COM-порту присвоился номер 3 (в общем случае присваивается первый свободный номер из реестра компа). Однако, конечного пользователя это может совершенно не устраивать (например, я вообще номера́ больше 4-х никогда не использую – многие терминальные программы на это лаются). Поменять номер COM-порта, присвоенный по умолчанию, довольно просто. Для этого надо щелкнуть по нему в «Диспетчере устройств» правой кнопкой мыши и в вывалившемся меню выбрать «Свойства». После этого будет выведено окно свойств COM-порта, в котором нужно выбрать вкладку «Параметры порта»:



Как видим, здесь можно установить основные параметры режима работы COM’а (по умолчанию ставится знаменитое 9600/8-N-1), но нам сейчас надо нажать на кнопку «Дополнительно». В открывшемся окне дополнительных параметров щелкаем напротив надписи «Номер COM-порта», в вывалившемся списке выбираем требуемый номер и жмем «ОК»:



Всё, после этого номер COM-порта сменится на выбранный нами (для того, чтобы в этом убедиться, можно зайти в «Диспетчер устройств»). Ну а мы можем себя поздравить – установка драйверов для микросхемы FT232RL прошла успешно! Теперь можно приступать к работе с чипом.


Удаление драйвера

Довольно редко, но всё же бывают случаи, когда дрова от FT232RL надо удалить. Для этого лучше всего подходит утилита CDMUninstaller_v1.4 от той же конторы FTDI. Программа мало весит, поддерживается всеми версиями Windows (вплоть до десятки), проста в использовании и не требует установки. Оригинальное описание работы с утилитой CDMUninstaller_v1.4 приведено здесь. Ну а я приведу лишь основные действия, которые потребуется выполнить для деинсталляции драйвера микросхемы FT232RL:

• скачиваем утилиту CDMUninstaller_v1.4 (если это не было сделано ранее), распаковываем и запускаем файл «CDMuninstallerGUI.exe»;

• проверяем, чтобы в окне «Vendor ID» было значение «0403», а в окне «Product ID» – значение «6001»;

• жмем кнопку «Add»;

• если мы хотим подробно изучить все действия, которые программа будет выполнять при деинсталляции дров, ставим галку напротив «Generate uninstall log file»;

• жмем кнопку «Remove Devices» и ждем появления окна с сообщением «Device removed from system» (если программе не удастся обнаружить в системе дров для FT232RL, взамен этого окна выведется сообщение «This device could not be found on the system!»);

• просматриваем логи работы программы, если ранее поставили соответствующую галку. Файл генерится в той же папке, откуда запускается экзешник CDMUninstaller_v1.4;

• поздравляем, драйвер FT232RL удален с вашего компьютера.

Вот так вот двумя-тремя щелчками мыши можно остаться без дров для FT232RL. Ну а на сегодня всё! Желаю удачи при работе с драйверами от FTDI!

Обсудить эту заметку можно здесь



Место для разного (сдается)

 




Создание, "дизайн", содержание "сайта": podkassetnik
Для писем и газет: Почта России электрическая

Место для © (копирайта, понятно, нет, но ссылайтесь хотя бы на первоисточник)

Since 2013 и до наших дней