Работа в Linux происходит в среде wine. Хотя адаптер представляет из себя UART-USB интерфейс (от FTDI) и драйвер его ставит и виртуальный COM-порт, P750PM требует для работы не COM-порт, а прямой доступ к железу адаптера (ибо это просто удобнее). В Windows это реализуется при помощи ftd2xx.dll входящей в состав драйвера FTDI. В Linux — FTDI предоставляет библиотеку libftd2xx.so, и на первый взгляд состыковать с ней ftd2xx.dll из Wine — не возможно. Но, для Wine существуют врапперы транслирующие команды из Wine в libftd2xx.so.0… Их даже два разных удалось найти — lin_ftd2xx.dll.so от ASIX, и ftd2xx.dll.so от gatopeich (по состоянию на 2016.03.21 — сайт куда-то пропал). Правда замечу что врапперы по непонятным причинам не полностью прозрачны: у первого функции имеют приставку «lin_» а у второго «FTD2XX_», так что в программе всё равно приходится учитывать это (отказаться от статической линковки, опознавать Wine, и самостоятельно загружать DLL)). Я решил использовать ftd2xx.dll.so от gatopeich, т.к. он более полный чем от ASIX. Итак, P750PM, определив что запуск произошёл в среде Wine — будет обращаться к функциям враппера, а в среде нормальной Windows — как обычно к ftd2xx.dll.
Опишу процесс установки драйвера в Ubuntu v.11.04 (более новые версии скорее всего тоже могут использоваться, просто статья эта написана во времена Ubuntu v11):
Скачиваем драйвер D2XX для Linux c сайта FTDI (зеркало). Необходима версия 0.4.16 (более новая версия не стыкуется с враппером, а более старая не понимает /dev/bus/usb). Независимо от x86 или x86_64 — драйвер нужен только x86 (т.к. враппер только с ним умеет работать, и wine тоже должна быть 32 битная). Wine должна быть версии 1.3.15 (с более древними данная версия программы работать не может, с более новыми — не известно).
Для x86 ставить так:
Распаковываем архив, оттуда нам нужен только один файл — libftd2xx.so.0.4.16
Копируем этот файл в /usr/local/lib:
sudo cp libftd2xx.so.0.4.16 /usr/local/lib
Даём ему нужные права (всем чтение и выполнение):
sudo chmod 0555 /usr/local/lib/libftd2xx.so.0.4.16
Враппер обращается к файлу libftd2xx.so.0, потому создаём такую ссылку:
sudo ln -sf /usr/local/lib/libftd2xx.so.0.4.16 /usr/local/lib/libftd2xx.so.0
Устанавливаем Wine, если он не установлен. В Ubuntu это делается при помощи Приложения — Центр приложений.
Скачиваем
с сайта gatopeich (зеркало) враппер ftd2xx. Распаковываем, оттуда берём только один файл — ftd2xx.dll.so, и копируем его в /usr/lib/wine:
sudo cp ftd2xx.dll.so /usr/lib/wine
Даём ему нужные права (всем чтение и выполнение):
sudo chmod 0555 /usr/lib/wine/ftd2xx.dll.so
Для x86_64 ставить так:
Распаковываем архив, оттуда нам нужен только один файл — libftd2xx.so.0.4.16
Копируем этот файл в /usr/lib32:
sudo cp libftd2xx.so.0.4.16 /usr/lib32
Даём ему нужные права (всем чтение и выполнение):
sudo chmod 0555 /usr/lib32/libftd2xx.so.0.4.16
Враппер обращается к файлу libftd2xx.so.0, потому создаём такую ссылку:
sudo ln -sf /usr/lib32/libftd2xx.so.0.4.16 /usr/lib32/libftd2xx.so.0
Устанавливаем Wine, если он не установлен. В Ubuntu это делается при помощи Приложения — Центр приложений.
Скачиваем
с сайта gatopeich (зеркало) враппер ftd2xx. Распаковываем, оттуда берём только один файл — ftd2xx.dll.so, и копируем его в /usr/lib32/wine:
sudo cp ftd2xx.dll.so /usr/lib32/wine
Даём ему нужные права (всем чтение и выполнение):
sudo chmod 0555 /usr/lib32/wine/ftd2xx.dll.so
Затем надо решить вопрос с правами доступа на USB устройство. Подключив адаптер, надо догадаться какой же номер ему присвоен в /dev/bus/usb… Причём, при каждом переподключении — номера бывают разные… И затем дать ему права на запись и чтение (в примере — он имеет имя 003 в папке 002):
sudo chmod 0666 /dev/bus/usb/002/003
Этот процесс тоже можно автоматизировать, при помощи udev. Создаём файл teleport1.rules:
sudo gedit /etc/udev/rules.d/teleport1.rules
и пишем в нём такую строку:
ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6006", ATTRS{serial}=="T2682281", MODE="0666"
Теперь, при добавлении устройства с PNP-ID 0403 6006 (коды USB-UART конвертера от FTDI, на базе которого сделан Телепорт) и серийным номером T2682281 (очевидно, у всех Телепортов v1 такой серийный номер, и его можно использовать для более точной привязки) — этому устройству будут сразу назначены нужные права записи и чтения.
Теперь желательно перезагрузить систему, и затем можно запускать P750PM.exe в среде Wine — всё в принципе должно работать…
Скачать “gatopeichs_ftdi_wrapper.rar” – 27,60 КБВерсия 1.0, 2008-10-21 14:44
Скачать “libftd2xx0.4.16.rar” – 931,04 КБВерсия 0.4.16, 2008-12-02 19:43