Подключение и работа с PalmOS наладонниками в Linux (palm linux hardware usb)
Ключевые слова: palm, linux, hardware, usb, (найти похожие документы)
From: Сергей Индлин <indlin на abc92 тчк ru>
Date: Mon, 2 Aug 2004 14:31:37 +0000 (UTC)
Subject: Подключение и работа с PalmOS наладонниками в Linux
Оригинал: http://www.abc92.ru/articles/palm/synclinux
Подключение и работа с PalmOS наладонниками в Linux
Сергей Индлин
<[10]indlin на abc92 тчк ru>
JID: serj на abc92 тчк ru
История переиздания
Издание 0.3 04 Dec 2002
Добавлена лицензия FDL
Издание 0.2 20 Nov 2002
Добавлен снимок экрана
Издание 0.1 16 Nov 2002
Начальный вариант
Аннотация
В этой статье я хочу рассказать о подключение и работе с наладонными
компьютерами под PalmOS в Linux.
Содержание
* Введение
* Драйвер
* Программы синхронизации
* Другие программы
* Разработчикам
Введение
--------
Эта статья ориентированна на пользователей дистрибутивов ALT Linux
Team. Предполагается что apt-get настроен на репозитарий Sisyphus.
Пользователи других дистрибутивов могут скачать нужные пакеты из
интернет, используя например http://rpmfind.net. Пользователи не rpm-based
дистрибутивов, я думаю, сами разберуться ;-)
Подключение наладонников семейства PalmOS к Linux не представляет
особых проблем. В старых версиях программ были сложности с последними
моделями, подключаемыми через USB-интерфейс. Так, только в версии ядра
2.4.19 появилась поддержка устройств Palm m515, Sony Clie S-360. Пакет
программ для связи с Palm - pilot-link, начиная с версии 0.11
полностью поддерживает USB устройства. С предыдущими моделями,
подключаемыми по com-порту, проблем вообще нет.
Драйвер
-------
Если у вас usb модель Palm, стоит убедиться, что корректно работает
поддержка вашего устройства на уровне ядра. Для этого переключитесь на
консоль системных сообщений (Ctrl+Alt+F12), установите Palm в кроватку
и нажмите кнопку синхронизации на кроватке. Должно появиться что-то
типа этого:
Jul 1 12:53:26 serj kernel: visor.c:
Palm 4.0: Number of ports: 2
Jul 1 12:53:26 serj kernel: visor.c: Palm 4.0:
port 1, is for Generic use and is bound to ttyUSB0
Jul 1 12:53:26 serj kernel: visor.c: Palm 4.0: port 2,
is for HotSync use and is bound to ttyUSB1
Jul 1 12:53:26 serj kernel: usbserial.c: Palm 4.0 converter
now attached to ttyUSB0 (or usb/tts/0 for devfs)
Jul 1 12:53:26 serj kernel: usbserial.c: Palm 4.0 converter
now attached to ttyUSB1 (or usb/tts/1 for devfs)
Замечание
P.S. Что-бы вернуться в графическую консоль, нажмите Alt+F7.
Если вы не видете сообщения, типа Palm 4.0 converter now attached to
ttyUSB1, значит ядро не распознало ваш Palm. В этом случае стоит
поискать в интернете поддержку именно вашей модели.
Большинство программного обеспечения, по умолчанию использует название
устройства /dev/pilot или /dev/palm. Поэтому, для удобства, следует
сразу настроить соответствующие линки.
USB Palm занимает два порта. Для синхронизации используется
/dev/ttyUSB1. Поэтому создаем такие линки (эту операцию надо выполнять
с правами root):
ln -s /dev/ttyUSB1 /dev/pilot - по умолчанию использует pilot-link
ln -s /dev/ttyUSB1 /dev/palm - по умолчанию использует coldsync
Если кроватка подключается по com порту (/dev/ttyS0 соответствует
com1, /dev/ttyS1 - com2), делаем так:
ln -s /dev/ttyS1 /dev/pilot - по умолчанию использует pilot-link
ln -s /dev/ttyS1 /dev/palm - по умолчанию использует coldsync
Всех пользователей, которые будут синхронизировать Palm, необходимо
добавить в группу uucp, например с помощью программы userdrake.
Программы синхронизации
-----------------------
В стиле Linux, программы делятся на консольные утилиты и графические
front-end, которые предоставляют дружеский, графический интерфейс, но
при этом используют консольные программы для работы. Наиболее простой
графической программой, использующей интерфейс, близкий к Palm,
является JPilot. Для ее установки надо дать команду (с правами root):
apt-get install jpilot
Так-как jpilot использует набор консольных программ pilot-link,
автоматически будут установлены пакеты pilot-link и libpilot-link.
Большим плюсом JPilot для русскоязычных пользователей является
автоматическая перекодировка koi8-r -- win1251. Если на Linux вы
используете koi8-r, а на Palm - win1251, то необходимо включить
перекодировку в меню JPilot Файл/Настройка поле Кодировка.
На закладке "Установки" убедитесь, что порт указан верно (по умолчанию
/dev/pilot). Для USB устройств можно выставить скорость H230400. На
закладке "Кондуиты" отметьте нужные кондуиты. Если вы используете
программу AvantGo для чтения новостей на Palm, включите кондуит
SyncMAL.
Для синхронизации нажмите кнопку "Синхронизация" и кнопку на кроватке
Palm. Кроме того, можно сделать полную архивацию Palm, нажав кнопку
"Архив". Для установки новых программ на Palm используется пункт меню
Файл/Установить. При следующей синхронизации, программы установятся на
Palm.
В некоторых случаях, удобнее пользоваться консольными утилитами. В
пакет pilot-link входит очень удобная программа pilot-xfer. С ее
помощью можно архивировать, устанавливать новые программы, считывать
из Palm заданную программу или базу. Помощь по ключам можно получить
по команде pilot-xfer --help. Например, для установки всех файлов с
расширением .prc в текущем каталоге надо дать команду:
pilot-xfer -i *.prc
По умолчанию pilot-xfer использует порт /dev/pilot и скорость связи
9600. Если вы часто будете использовать pilot-xfer стоит задать
скорость побольше. Для этого надо задать переменную среды PILOTRATE.
Добавьте в файл ~/.bash_profile строчку export PILOTRATE=230400 для
USB устройств (для com-устройств больше 115200 задавать не стоит).
Для USB устройств есть одна тонкость. Дело в том, что пока вы не
нажмете кнопку синхронизации, порт не будет создан, и pilot-xfer
вылетит с ошибкой "нет такого порта". Поэтому надо сначала нажимать
кнопку на кроватке, а потом запускать pilot-xfer.
Кроме pilot-link есть еще один интересный проект - ColdSync. Мне он
показался не очень удобным, но если кто-то захочет посмотреть, можно
его установить:
apt-get install coldsync
Для USB устройств, в качестве протокола общения нужно указывать не
simple, как указано в мане, а net. Таким образом в файле
/etc/coldsync.conf надо указать:
listen serial {
device: "/dev/palm";
speed: 230400;
protocol: net;
transient;
}
После этого coldsync заработает. Можно делать backup, install, и т.д.
Другие программы
----------------
К сожалению, поддержка перекодировки koi8-r -- win1251 есть только у
JPilot. Однако, если вы используете совпадающие кодировки на Palm и
Linux, то можете посмотреть:
* gnome-pilot - в связи с переходом на gnome2 в запущенном
состоянии. С usb у меня не заработал. Имеет хороший набор
кондуитов, включая синхронизацию с пакетом evolution (пакет
evolution-pilot);
* kpilot - kde программа синхронизации с Palm. Ничего не могу
сказать, т.к. не использую kde;
В общем, если есть желание поэкспериментировать, apt-get вам в руки и
вперед!
Разработчикам
-------------
Для разработки программ под PalmOS в Linux есть все необходимое.
Кратко перечислю пакеты, которые можно поставить с помощью apt-get.
* prc-tools - gcc и другие инструменты для компиляции и сборки
программ под palmos. Входят такие программы, как build-prc,
m68k-palmos-gcc, m68k-palmos-gdb. Последнюю версию можно скачать
на http://prc-tools.sourceforge.net/install/rpm.html (пока в
сизифе нет);
* pose - эмулятор Palm. Позволяет отлаживать программы с помощью
m68k-palmos-gdb, без риска потерять все данные на реальном
устройстве;
* pilrc - компилятор ресурсов для PalmOS. Преобразует rcp
(текстовый файл описания ресурсов) в бинарные файлы формата
PalmOS;
* guikachu - графический редактор ресурсов PalmOS (на базе gtk).
Позволяет "рисовать" интерфейс приложений PalmOS;
Для отладки удобно использовать ddd - графический front-end к gdb. Для
работы с m68k-palmos-gdb, его надо вызывать так:
ddd --debugger m68k-palmos-gdb
В качестве среды разработки можно использовать привычные программы:
gvim, emacs, anjuta, kdevelope.
Подробнее о разработке программ можно прочитать в статье
"Разработка программ для PalmOS под Linux" (http://www.abc92.ru/articles/palm/linuxdev).
Примечания
----------
Обсудить эту статью вы можете на форуме
(http://forum.abc92.ru/phpBB2/viewforum.php?f=7).
Данная статья распространяется под лицензией GNU Free Documentation License
версии 1.2 (http://www.gnu.org/copyleft/fdl.html). Исходный текст в формате
docbook доступен для загрузки (http://www.abc92.ru/articles/palm/synclinux/synclinux.docbook).
© "A.B.C.-92" 2002