HOWTO. WM5/6 & SynCE.
Есть у меня коммуникатор Symbol MC35 на Windows Mobile 5, и мне, логично, захотелось синхронизировать записную книгу и календарь с Kontact или Evolution. Все мануалы, которые я нашёл в сети, были нерабочие. Ниже я описал процесс для Ubuntu 7.10.
1. Устанавливаем SynCE. Для этого добавим репозитарий:
deb http://ppa.launchpad.net/synce/ubuntu gutsy main deb-src http://ppa.launchpad.net/synce/ubuntu gutsy main
Устанавливаем (автоматически пропатчится ядро):
sudo apt-get install usb-rndis-source cdbs sudo module-assistant auto-install usb-rndis
sudo apt-get install odccm librra0-tools librapi2-tools
2. Проверяем, что у нас всё заработало. Запускаем демона:
sudo odccm -f
Проверяем, что связь есть командой:
pls
Вы должны увидеть листинг корня ФС устройства.
3. Займёмся синхронизацией. Для начала нам нужно собрать pywbxml из проекта SynCE. Из svn брать смысла не имеет — оно там нерабочее. Качаем тарбол:
wget http://downloads.sourceforge.net/synce/pywbxml-0.1.tar.gz
Нужно доставить нужные пакеты:
sudo apt-get install python-rapi2 python-rra python-rtfcomp \
libmcrypt-dev python-pyrex libwbxml2-dev libwbxml2-0 python-dev
Собираем pywbxml:
tar xvzf pywbxml-0.1.tar.gz
cd pywbxml-0.1
./configure
make && sudo make install
4. Устанавливаем opensync. Добавляем репозитарий (пусть вас не смущает feisty. Под gutsy всё отлично работает):
deb http://opensync.gforge.punktart.de/repo/opensync-0.21/ feisty main
deb-src http://opensync.gforge.punktart.de/repo/opensync-0.21/ feisty main
Устанавливаем:
sudo apt-get install libopensync-plugin-evolution2 \
libopensync-plugin-python msynctool \
libopensync-plugin-kdepim
5. Теперь нам нужно установить плагин synce для opensync. Это дело работает через sync-engine из проекта synce. Качаем его с сайта:
wget http://kent.dl.sourceforge.net/sourceforge/synce/sync-engine-0.11.tar.gz
Распаковываем и сохраняем в /opt
tar xvzf sync-engine-0.11.tar.gz
sudo mv ./sync-engine-0.11 /opt/sync-engine
Нужно прописать несколько вещей:
sudo apt-get install python-libxslt1
sudo ln -fs /opt/sync-engine/plugins/synce-opensync-plugin-2x.py \
/usr/lib/opensync/python-plugins/synce.py
sudo ln -fs /opt/sync-engine/SyncEngine /usr/lib/python2.5/SyncEngine
Проверяем, что opensync видит плагин:
msynctool --listplugins
Вы должны увидеть что-то вроде:
Available plugins:
synce-opensync-plugin
testmodule
kdepim-sync
evo2-sync
Запускаем sync-engine (из-под себя, а не из-под рута):
cd /opt/sync-engine
./sync-engine
6. Теперь нам нужно установить партнёрство с между компьютером и устройством:
cd /opt/sync-engine/tools/
Смотрим имеющиеся партнёрства на устройстве:
./list_partnerships.py
Удаляем все (index берём из выводы предыдущей программы):
delete_partnership.py index
Создаём новое партнёрство:
./create_partnership.py «SynCEP» «Contacts,Calendar,Tasks»
7. Теперь нам нужно настроить opensync.
msynctool --addgroup WM5
msynctool --addmember WM5 synce-opensync-plugin
msynctool --addmember WM5 kdepim-sync
Если вы используете Evolution, то вместо последней строки с kdepim-sync укажите:
msynctool --addmember WM5 evo2-sync
Так же можно воспользоваться графической утилитой multisync-gui для вышеприведённых действий:
sudo apt-get install multisync-gui
8. Всё. Теперь можно запустить синхронизацию:
msynctool --sync WM5
Учтите, что процесс запуска такой:
sudo odccm
Подключаете устройство.
sync-engine
И в конце:
msynctool --sync.
Если что-то не работает, то попробуйте для начала перезагрузить устройство и демонов.
У меня эта конструкция работать отлично. Все данные синхронизируются, включая фотографии контактов.
Ещё. Если у вас GNOME, то рекомендую установить пакет libsyncefs:
sudo apt-get install libsyncefs
Тогда из Nautilus, набрав в адресной строке:
synce:///
Вы сможете работать с содержимым файловой системы КПК.
Удачи. Коментарии приветствуются.
PS: отдельное спасибо Марковичу за тестирование и нахождение ошибок
февраля 19, 2008 at 14:47
[...] В дополнение к этой статье [...]
марта 9, 2008 at 2:12
всё работает только схема почему то только в одном направлении(((
данные только с кпк на пс перегоняться,
а с пс на кпк не идут(((
это косяк? или так и должно быть?
марта 9, 2008 at 15:58
fzhulitov@fzhulitov-laptop:~$ sudo odccm -f
sudo: odccm: command not found
fzhulitov@fzhulitov-laptop:~$
Вот такая картинка, все делал по порядку.
марта 11, 2008 at 9:41
2samiraii. По идее должны идти данные в обоих направлениях. По крайней мере с такими косяками не сталкивался. Попробуй удалить с кпк все имеющиеся спаривания и заного спарить.
марта 11, 2008 at 9:42
2Fedor. Скорее всего у тебя в профиле не прописано нужных путей.
odccm находится в /usr/sbin
Попробуй запустить sudo /usr/sbin/odccm -f
апреля 1, 2008 at 14:11
делал по порядку. при шаге 3, на ./configure выдает:
Package libxml-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml-2.0.pc’
to the PKG_CONFIG_PATH environment variable
Package ‘libxml-2.0′, required by ‘libwbxml2′, not found
Что можно сделать?
апреля 1, 2008 at 14:30
Boris, попробуй сделать
sudo apt-get install python-libxml2
апреля 1, 2008 at 15:33
Говорит, что уже установлен. Обидно, что перестала работать gprs через usb (которое идеально настроилось по соседнему howto)
апреля 1, 2008 at 15:40
Попробуй ещё установить
libxml2-dev libxml-devВот всё, что у меня есть про libxml на компьютере:
libxml++2.6c2a
libxml-dev
libxml-libxml-common-perl
libxml-libxml-perl
libxml-namespacesupport-perl
libxml-parser-perl
libxml-sax-perl
libxml-simple-perl
libxml-twig-perl
libxml1
libxml2
libxml2-dev
libxml2-utils
python-libxml2
апреля 1, 2008 at 15:42
Boris, кстати второй пункт тебе не нужно было делать. Восстанови модуль по тому howto.
августа 14, 2008 at 9:28
[...] обновился пакет synce. Теперь танцы с бубном, описаные раннее не [...]