Теория по КМПУ | Готовые элементы систем | Технологии и хитрости | Прочее | Магазин | Контакты | |||
Работа с драйверами для FT232RL под ОС Windows 13.01.17 Перед тем, как начать работу с микросхемой FT232RL, нам, естественно, необходимо установить для нее драйвера. Процесс этот абсолютно несложный (во всяком случае, в Windows, с другими системами я не знако́м), однако, есть тут один подводный камень. Предупреждение
Дело в том, что компания FTDI (производитель данных чипов) с сентября-октября 2014г. решила бороться с китайцами, массово подделывающими ее микросхемы. Причем, для этой борьбы не нашла ничего более подходящего, чем тупо «портить» контрафактные чипы путем перезаписи их PID’ов с правильного значения 6001 на кривое 0000. Естественно, после такой процедуры пообщаться с FT232RL обычным способом уже́ не получается (да и комп перестает ее видеть). Подробное описание проблемы и способы лечения есть здесь, здесь, здесь, да и вообще – можно просто погуглить «ft232rl драйвер pid 0000». Ну а вкратце суть проблемы была такова.
• устанавливать не самые свежие дрова с сайта FTDI, а скачивать старые и проверенные (версии не выше 2.08.14);
Всё, после этого можно спокойно работать хоть с настоящей, хоть с поддельной FT232RL и особо не беспокоиться за последствия. Общие сведения
Перед тем, как переходить к описанию собственно процесса установки дров, я бы хотел сказать несколько общих слов о них самих. Вообще говоря, драйвер для FT232RL как бы состоит из двух частей (в связи с чем он называется Combined Driver Model или просто CDM):
• драйвер виртуального COM-порта (Virtual COM Port, VCP);
Архитектура пакета 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 2000;
Обратите внимание, что на сайте FTDI есть также дрова и для Линукса, и для MacOS, и даже для Андроида. Однако, в данных ОС я с FT232RL никогда не работал, а посему сказать что-либо по этому поводу не могу – пользователям перечисленных систем предлагаю разобраться в вопросе самостоятельно. Установка драйвера
Как говорил ранее, установка драйверов для FT232RL под Windows не отличается какой-то особой сложностью. У меня на компе стои́т WinXP SP2, а у соседа – Win7, поэтому я проиллюстрирую инсталляцию дров для FT232RL именно на них. На мой взгляд, такой выбор будет вполне оправданным: во-первых, на данный момент времени эти операционки являются самыми распространенными, а во-вторых – судя по документации, инсталляция драйвера для Win8 и Win10 практически полностью аналогична таковой для Win7. Ну а если уж возникнут какие-либо сложности, на сайте FTDI есть куча оригинальных апнотов для каждой ОС с подробными инструкциями по установке (кстати, в этих документах также описаны и некоторые проблемы, которые могут возникнуть при инсталляции дров).
• от греха подальше сразу принудительно отключаем обновление дров через узел «Window Update» (особенно это актуально для жутко умных и самостоятельных Win7/8/10). Нажимаем на клавиатуре кнопки «Win» + «Pause/Break» и попадаем в окно «Свойства системы». Дальнейшие действия для разных ОС будут такими:
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!
Обсудить эту заметку можно
здесь |
Место для разного (сдается) |