Часть 3: Совместим несовместимое

Хотя ситуация, когда приверженец ОС Linux приобретает себе КПК с Windows Mobile, кажется мне почти нереальной, полностью исключить такой возможности я не могу. Ведь могли же линуксоиду этот PocketPC просто подарить? :) Как вы увидите дальше, настройка драйвера для PocketPC мало чем отличается от таковой для Palm.

[Александр Кузьменков (random_code AT list DOT ru)]

Совместим несовместимое

Хотя ситуация, когда приверженец ОС Linux приобретает себе КПК с Windows Mobile, кажется мне почти нереальной, полностью исключить такой возможности я не могу. Ведь могли же линуксоиду этот PocketPC просто подарить? :) Как вы увидите дальше, настройка драйвера для PocketPC мало чем отличается от таковой для Palm. Для начала необходимо проверить наличие модуля ipaq в ядре (dmesg | grep ipaq) и в директории /lib/modules/kernel/drivers/usb/serial/. Вполне возможно, что его там не будет, а это значит, что вам придется пересобрать ядро, предварительно включив опцию Device drivers -> USB Support -> USB Serial Converter Support -> USB PocketPC PDA Driver. Этот драйвер можно скомпилировать в виде модуля или встроить прямо в ядро. Интересно то, что драйвер ipaq поддерживает почти весь спектр устройств PocketPC, начиная с моделей под Windows CE 3.0 и заканчивая самыми последними моделями Windows-наладонников, таких как HP iPaq hx4700 и ASUS MyPal A730. Несмотря на это, последнее обновление ipaq.c датируется 12 декабря 2002 г (версия 0.5). Что ж, честь и хвала индийскому программисту Ganesh Varadarajan, драйвер работает отлично. На подключение PocketPC система реагирует примерно так:
usb 1-2: new full speed USB device using address 9
ipaq 1-2:1.0: USB PocketPC PDA driver v0.5
usb 1-2: PocketPC PDA converter now attached to ttyUSB0
usb 1-2: PocketPC PDA converter now attached to ttyUSB1
Разница в том, что файл устройства PocketPC присутствует в системе все время, пока наладонник подключен, и никуда не исчезает. С программным обеспечением для работы с PocketPC в Linux пока дела обстоят не очень хорошо: есть всего один стабильный комплект утилит - synce (http://synce.sourceforge.net). Впрочем, особенность файловой системы PocketPC в том, что ничего конвертировать во внутренние форматы не придется, достаточно просто скопировать данные на КПК. Вот для этого как раз и понадобится пакет synce. Он включает в себя такие утилиты как pls, pmkdir, pcp, prm, pmv (они являются "наладонными" аналогами стандартных команд ls, mkdir, cp, rm, mv). Для любителей среды KDE есть дополнение synce-kde, при помощи которого можно управлять данными в КПК, используя стандартный файловый менеджер KDE, konqueror. На первый взгляд работать с PocketPC в Linux даже проще, чем с "палмами". Но здесь есть одна трудность: если абсолютное большинство программ для PalmOS распространяется в виде заархивированных файлов prc и pdb (которые для установки достаточно просто переписать в КПК), то приложения для PocketPC чаще всего поставляются в виде инсталляционных пакетов для Windows (которые "распаковать" просто так не получится). Конечно, существует утилита orange, позволяющая добывать cab-файлы из некоторых установочных пакетов, но перечень поддерживаемых ею установщиков пока еще очень мал. Нередко для извлечения cab-файлов из исталляторов приходится пользоваться эмулятором wine.

[ опубликовано 31/08/2005 ]

Александр Кузьменков (random_code AT list DOT ru) - Часть 3: Совместим несовместимое   Версия для печати