Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Синхронизация Windows Mobile 5 устройств с линуховой машиной.  (Прочитано 62143 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vivo

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Автору огромное спасибо!

Почему-то у меня ./list_partnerships.py (и вообще все, что в tools) выдает вот что:
Traceback (most recent call last):
  File "./list_partnerships.py", line 9, in <module>
    engine = dbus.Interface(dbus.SessionBus().get_object(DBUS_SYNCENGINE_BUSNAME, DBUS_SYNCENGINE_OBJPATH), DBUS_SYNCENGINE_BUSNAME)
  File "/var/lib/python-support/python2.5/dbus/bus.py", line 240, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/var/lib/python-support/python2.5/dbus/proxies.py", line 236, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/var/lib/python-support/python2.5/dbus/bus.py", line 179, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/var/lib/python-support/python2.5/dbus/bus.py", line 277, in start_service_by_name
    'su', (bus_name, flags)))
  File "/var/lib/python-support/python2.5/dbus/connection.py", line 603, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.synce.SyncEngine was not provided by any .service files

У sync-engine длинный вывод (середину вырезал):
2007-11-08 17:50:06,343 DEBUG syncengine : creating SyncEngine object
2007-11-08 17:50:06,364 INFO engine.syncengine.SyncEngine : __init__: connected device found
2007-11-08 17:50:06,364 INFO engine.syncengine.SyncEngine : _device_connected_cb: device connected at path /org/synce/odccm/Device/_6DD90D6D_3D0A_49D6_692A_EDE3EE1C5914_
2007-11-08 17:50:06,365 INFO engine.config.Config : UpdateConfig - unable to open config file - using defaults
2007-11-08 17:50:06,403 INFO engine.syncengine.SyncEngine :  device antonio connected
2007-11-08 17:50:06,404 INFO engine.syncengine.SyncEngine : ProcessAuth : processing authorization for device 'antonio'
2007-11-08 17:50:06,405 INFO engine.syncengine.SyncEngine : ProcessAuth: authorization not required for device 'antonio'
2007-11-08 17:50:06,405 DEBUG engine.syncengine.SyncEngine : OnConnect: setting up RAPI session
2007-11-08 17:50:06,428 DEBUG engine.syncengine.SyncEngine : OnConnect: initializing partnerships
2007-11-08 17:50:06,458 DEBUG engine.partnerships.Partnerships : _read_device: reading partnerships from device registry
2007-11-08 17:50:06,504 DEBUG engine.partnerships.Partnerships : _read_device: read partnership ID = 755498123, Hostname = antonio
2007-11-08 17:50:06,504 DEBUG engine.partnerships.Partnerships : _read_device: Adding entry
2007-11-08 17:50:06,525 DEBUG engine.partnerships.Partnerships : _read_device: read partnership ID = 1225018574, Hostname = ANTONIO
2007-11-08 17:50:06,525 DEBUG engine.partnerships.Partnerships : _read_device: Adding entry
2007-11-08 17:50:06,561 DEBUG engine.partnerships.Partnerships : _read_device: querying synchronization source information from device
2007-11-08 17:50:06,562 DEBUG engine.xmlutil : _config_query: CeProcessConfig request is
...
2007-11-08 17:50:09,431 DEBUG engine.partnerships.Partnerships : _read_device: read source GUID = {7453FEF8-E117-4EB3-8393-7C13F08519D4}, Hostname = ANTONIO, Description = ПК с Windows
2007-11-08 17:50:09,432 DEBUG engine.partnerships.Partnerships : _read_device: source matches partnerhip from registry.  Initializing partnership
2007-11-08 17:50:09,432 DEBUG engine.partnerships.Partnerships : _read_device: querying partnerhip synchronization items (providers)
2007-11-08 17:50:09,432 DEBUG engine.partnerships.Partnerships : _read_device: found provider Календарь
2007-11-08 17:50:09,432 DEBUG engine.partnerships.Partnerships : _read_device: provider is enabled
2007-11-08 17:50:09,433 DEBUG engine.partnerships.Partnerships : _read_device: provider ID is 0
2007-11-08 17:50:09,433 DEBUG engine.partnerships.Partnerships : _read_device: found provider Задачи
2007-11-08 17:50:09,433 DEBUG engine.partnerships.Partnerships : _read_device: provider is enabled
2007-11-08 17:50:09,434 DEBUG engine.partnerships.Partnerships : _read_device: provider ID is 7
2007-11-08 17:50:09,435 DEBUG engine.partnerships.Partnerships : _read_device: found provider Media
2007-11-08 17:50:09,435 DEBUG engine.partnerships.Partnerships : _read_device: found provider Microsoft Office OneNote
2007-11-08 17:50:09,435 DEBUG engine.partnerships.Partnerships : _read_device: provider is enabled
Traceback (most recent call last):
  File "./sync-engine", line 57, in <module>
    engine = SyncEngine()
  File "/home/anton/SynCE/trunk/sync-engine/SyncEngine/kernel.py", line 74, in __init__
    self._device_connected_cb(obj_paths[0])
  File "/home/anton/SynCE/trunk/sync-engine/SyncEngine/kernel.py", line 93, in _device_connected_cb
    self.OnConnect()
  File "/home/anton/SynCE/trunk/sync-engine/SyncEngine/kernel.py", line 174, in OnConnect
    self.partnerships = Partnerships(self)
  File "/home/anton/SynCE/trunk/sync-engine/SyncEngine/partnerships.py", line 45, in __init__
    self._read_device()
  File "/home/anton/SynCE/trunk/sync-engine/SyncEngine/partnerships.py", line 138, in _read_device
    % (provider.type, provider["Name"]))
ValueError: Unknown GUID "{90AA7488-C9D8-165D-BA88-F33D8B13CB76}" for provider with name "Microsoft Office OneNote"

Непонятно что это вообще значит  :o
Ubuntu Gutsy, WM5

Оффлайн Elf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
    Хм. Интересно. Давайте думать вместе.

    Во-первых, вопрос. Ошибка в логе sync-engine появилась после попытки просмотреть партнёрства или сама по себе. Тут просто вот какое дело. Эти ошибки мало связаны.

Traceback (most recent call last):
  File "./list_partnerships.py", line 9, in <module>
    engine = dbus.Interface(dbus.SessionBus().get_object(DBUS_SYNCENGINE_BUSNAME, DBUS_SYNCENGINE_OBJPATH), DBUS_SYNCENGINE_BUSNAME)
  File "/var/lib/python-support/python2.5/dbus/bus.py", line 240, in get_object
    follow_name_owner_changes=follow_name_owner_changes)
  File "/var/lib/python-support/python2.5/dbus/proxies.py", line 236, in __init__
    self._named_service = conn.activate_name_owner(bus_name)
  File "/var/lib/python-support/python2.5/dbus/bus.py", line 179, in activate_name_owner
    self.start_service_by_name(bus_name)
  File "/var/lib/python-support/python2.5/dbus/bus.py", line 277, in start_service_by_name
    'su', (bus_name, flags)))
  File "/var/lib/python-support/python2.5/dbus/connection.py", line 603, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name org.synce.SyncEngine was not provided by any .service files

    Эта ошибка свидетельствует о том, что он вообще не достучался до sync-engine. Одной из самых вероятных причин может быть то, что они запущены от разных пользователей, например sync-engine запущен от рута, а команду пишите от своего текущего юзера. От рута надо пускать только odccm. Однако учитывая, что в sync-engine тоже вывалилась ошибка, рискну предположить, что после неё sync-engine свалился. Это тоже может быть обьяснением, почему list-partnership.py не достучался.

    Расскажу немного о том, как работает sync-engine. Вообще-то это моя ошибка, что я так написал. Просто из мануала можно сделать вывод, что основную работу делает MultiSync, а всё остальное - просто цепочка демонов, которые постепенно передают данные между Синхронизатором и устройством. Это не совсем так. В первую очередь потому, что sync-engine не просто "proxy" между мультисинковским плагом и демоном WM5 устройства. Тут получается двойная синхронизация исключительно потому, что разработчики ещё не дописали или забили на механизм сохранения данных в те или иные форматы. Например он не умеет сохранять данные прочитанные с PDA в ресурсы KDE.  Короче, когда вы запускаете Sync-engine он вычитывает все изменения с устройства и обновляет свои данные. Для PDA синхронизация происходит именно в этом месте, а не тогда, когда вы запустите MultiSync. И когда вы на PDA нажмёте кнопку "Синхронизировать" оно таки синхронизируется, побежит прогресс бар и в конце, напишет, что синхронизация окончена, хотя в тот же KDE_PIM эти данные не попадут, они останутся достоянием Sync-Engine.
    Когда же вы потом запускаете вручную MultiSync он запрашивает данные через synce-plugin у sync-engine, который просто отдаёт свои данные. На подключенное устройство он уже не лезет. Потом, если изменений со стороны PC нет, сеанс благополучно закрывается и PDA вообще никто не трогает. В противном случае, если Мультисинку приспичит что-то записать или изменить в PDA, sync-engine инициирует новую синхронизацию с PDA и просунет в него всё, что хочет.

    В вашем случае, похоже, на то, что беда происходит тогда, когда sync-engine пытается сделать свою внутреннюю синхронизацию. Возможно на этапе подбора партнёрства, возможно позже, когда на основании этого партнёрства начинается "вытаскивание" инфы. Все дороги видут к партнёрству.

...
2007-11-08 17:50:09,431 DEBUG engine.partnerships.Partnerships : _read_device: read source GUID = {7453FEF8-E117-4EB3-8393-7C13F08519D4}, Hostname = ANTONIO, Description = ПК с Windows
2007-11-08 17:50:09,432 DEBUG engine.partnerships.Partnerships : _read_device: source matches partnerhip from registry.  Initializing partnership
2007-11-08 17:50:09,432 DEBUG engine.partnerships.Partnerships : _read_device: querying partnerhip synchronization items (providers)
2007-11-08 17:50:09,432 DEBUG engine.partnerships.Partnerships : _read_device: found provider Календарь
2007-11-08 17:50:09,432 DEBUG engine.partnerships.Partnerships : _read_device: provider is enabled
2007-11-08 17:50:09,433 DEBUG engine.partnerships.Partnerships : _read_device: provider ID is 0
2007-11-08 17:50:09,433 DEBUG engine.partnerships.Partnerships : _read_device: found provider Задачи
2007-11-08 17:50:09,433 DEBUG engine.partnerships.Partnerships : _read_device: provider is enabled
2007-11-08 17:50:09,434 DEBUG engine.partnerships.Partnerships : _read_device: provider ID is 7
2007-11-08 17:50:09,435 DEBUG engine.partnerships.Partnerships : _read_device: found provider Media
2007-11-08 17:50:09,435 DEBUG engine.partnerships.Partnerships : _read_device: found provider Microsoft Office OneNote
2007-11-08 17:50:09,435 DEBUG engine.partnerships.Partnerships : _read_device: provider is enabled
Traceback (most recent call last):
  File "./sync-engine", line 57, in <module>
    engine = SyncEngine()
  File "/home/anton/SynCE/trunk/sync-engine/SyncEngine/kernel.py", line 74, in __init__
    self._device_connected_cb(obj_paths[0])
  File "/home/anton/SynCE/trunk/sync-engine/SyncEngine/kernel.py", line 93, in _device_connected_cb
    self.OnConnect()
  File "/home/anton/SynCE/trunk/sync-engine/SyncEngine/kernel.py", line 174, in OnConnect
    self.partnerships = Partnerships(self)
  File "/home/anton/SynCE/trunk/sync-engine/SyncEngine/partnerships.py", line 45, in __init__
    self._read_device()
  File "/home/anton/SynCE/trunk/sync-engine/SyncEngine/partnerships.py", line 138, in _read_device
    % (provider.type, provider["Name"]))
ValueError: Unknown GUID "{90AA7488-C9D8-165D-BA88-F33D8B13CB76}" for provider with name "Microsoft Office OneNote"

    Первое, что бросается в глаза, это надпись Description = ПК с Windows в первой строчке. Того, что перед ней не видно, но подозреваю, что случилась сл. хрень. Вы синхронизировали своего зверька с той-же самой машиной, но из под Windows. Имя хоста совпадает и очень может быть, что sync-engine принял виндовое партнёрство за своё и принялся его использовать.  Эту проблему прийдётся решать в любом случае, т.к. пользоваться одним партнёрством для разных объёктов синхронизации нельзя. Другое дело, что это не должно было уложить Sync-Engine. В лучшем случае, вы не должны были бы вначале вообще ничего заметить, а в худшем, у вас бы пропали контакты на PDA. Тут я теряюсь в догадках. Возможно, что Sync-Engine не раздуплилась, что "Задачи" == "Tasks", а в вашем партнёрстве написано именно по-русски. Возможно в партнёрстве упомянута синхронизация заметок. ( Notes ) Как я понял, sync-engine их напрямую ещё не понимает. Хотя, опять же, падать не должен, он их знает, и игнорирует.
  Вот ещё заметил:

    _read_device: found provider Microsoft Office OneNote

    Это, помоему, не стандартные заметки. Т.е. вроде бы так и назывались бы "Заметки", как и называются у вас задачи и календарь. Возможно вы из под Windows использовали какое-то дополнение или плагин которое дописало такое недоразумение в партнёрство.
    В любом случае sync-engine надо отваживать от этого виндового партнёрства и копать надо в этом направлении. Проще всего удалить виндовое партнёрство с PDA средствами самого PDA. Его ActiveSync это умеет. Учтите, что в Windows после этого у вас синхронизация слетит и её надо будет настраивать заново. Будте готовы к этому геморою. Если вам нужно сохранить возможность синхронизироваться с Windows надо придумать что-то оригинальнее. Например сменить имя хоста. Возможно этого будет достаточно, чтоб sync-engine не путал партнёрства.


Оффлайн vivo

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
    Хм. Интересно. Давайте думать вместе.

Спасибо за обстоятельный ответ!
Все дело было действительно в партнерстве. Удалил "ПК с Windows" и sync-engine нормально запустился. После этого создал новое партнерство.
Сейчас буду разбираться непосредственно с синхронизацией.

Оффлайн jcla

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Большое спасибо за материал!!!

Строго следовал инструкциям, все шло гладко до этого момента:

./sync-engine

На что оно выдаёт такое:

Цитировать
Traceback (most recent call last):
  File "./sync-engine", line 39, in <module>
    from SyncEngine.kernel import SyncEngine
  File "/usr/src/SynCE/trunk/sync-engine/SyncEngine/kernel.py", line 24, in <module>
    import rrasyncmanager
  File "/usr/src/SynCE/trunk/sync-engine/SyncEngine/rrasyncmanager.py", line 24, in <module>
    from partnerships import Partnership
  File "/usr/src/SynCE/trunk/sync-engine/SyncEngine/partnerships.py", line 26, in <module>
    import config
  File "/usr/src/SynCE/trunk/sync-engine/SyncEngine/config.py", line 30, in <module>
    import xml2util
ImportError: No module named xml2util

как я понял не хватает xml2util. но что это такой за модуль о котором даже гугл ничего не слышал?..   :(

Оффлайн Elf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
    xml2util это их собственный модуль. Он лежит сейчас в sync-engine/SyncEngine/formats/
Но это не самое страшное. Самое страшное, что у меня в config,py, из которого у вас пытаются импортить злополучный xml2util просто нет 30-й строчки import xml2util
    Очень может быть, что разработчики, что-то поламали.

# -*- coding: utf-8 -*-
############################################################################
#    New file: Dr J A Gow 18/2/2007                                        #
#              Bundle all the config stuff in one place.                   #
#                                                                          #
#    This program is free software; you can redistribute it and#or modify  #
#    it under the terms of the GNU General Public License as published by  #
#    the Free Software Foundation; either version 2 of the License, or     #
#    (at your option) any later version.                                   #
#                                                                          #
#    This program is distributed in the hope that it will be useful,       #
#    but WITHOUT ANY WARRANTY; without even the implied warranty of        #
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
#    GNU General Public License for more details.                          #
#                                                                          #
#    You should have received a copy of the GNU General Public License     #
#    along with this program; if not, write to the                         #
#    Free Software Foundation, Inc.,                                       #
#    59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             #
############################################################################

import cPickle as pickle
import os
import os.path
import string
import logging
from xml.dom import minidom
from xmlutil import *
from formatapi import SupportedFormats,DefaultFormat

############################################################################
# ConfigObject
#
# Base configuration object. Each configuration block is handled by one
# instance of a derived class of this object
#
############################################################################

Делаю svn up.

      D    tools/do_sync.py
      D    SyncEngine/xmlutil.py
      U    SyncEngine/rapiutil.py
      U    SyncEngine/config.py
      U    SyncEngine/airsync.py
      U    SyncEngine/synchandler.py
      A    SyncEngine/characteristics.py
      U    SyncEngine/constants.py
      A    SyncEngine/xml2util.py
      U    SyncEngine/partnerships.py
      U    SyncEngine/formatapi.py
      D    SyncEngine/formats/contact.py
      D    SyncEngine/formats/xml2util.py
      D    SyncEngine/formats/event.py
      D    SyncEngine/formats/task.py
      U    SyncEngine/formats/conversions.py
      U    SyncEngine/formats/parser.py
      U    SyncEngine/formats/__init__.py
      U    SyncEngine/formats/tzconv.py
      U    SyncEngine/formats/event-from-airsync.xsl
      D    SyncEngine/formats30/conversions.py
      D    SyncEngine/formats30/contact.py
      D    SyncEngine/formats30/xml2util.py
      D    SyncEngine/formats30/event.py
      D    SyncEngine/formats30/task.py
      D    SyncEngine/formats30/tzconv.py
      A    SyncEngine/formats30/taskconv.py
      A    SyncEngine/formats30/dateutil.py
      U    SyncEngine/formats30/parser.py
      A    SyncEngine/formats30/commonconv.py
      U    SyncEngine/formats30/__init__.py
      U    SyncEngine/formats30/contact-to-airsync.xsl
      U    SyncEngine/formats30/contact-from-airsync.xsl
      A    SyncEngine/formats30/contactconv.py
      A    SyncEngine/formats30/tzdatabase.py
      U    SyncEngine/formats30/event-to-airsync.xsl
      U    SyncEngine/formats30/event-from-airsync.xsl
      U    SyncEngine/formats30/task-to-airsync.xsl
      A    SyncEngine/formats30/eventconv.py
      U    SyncEngine/formats30/task-from-airsync.xsl
      D    SyncEngine/formats30/tzutils/dateutil.py
      U    SyncEngine/formats30/tzutils/recurrence.py
      U    SyncEngine/formats30/tzutils/__init__.py
      U    SyncEngine/formats30/tzutils/tzone.py
      U    SyncEngine/formats30/tzutils/timespan.py
      U    CHANGELOG
      U    opensync-plugin-0.30later.py
      A    patches
      A    patches/opensync
      A    patches/opensync/evolution2
      A    patches/opensync/evolution2/evo2.diff
      U    setup.py
      U    opensync-plugin-0.30later.README
      Updated to revision 3059.


Вот, как много поламали. Но он у меняя после этого всё равно запускается.
В новом варианте присутствует импорт, но обратите внимание, что модуль то тоже появился и уже на правильном месте.
Начните с того, что проапдейтите всю ветку sync-engine. Весьма может быть, что вам не повезло, и вы попали как раз в момент обновления исходников и у вас концы с концами не сходятся.
Если что, будем думать.

« Последнее редактирование: 27 Ноября 2007, 16:05:53 от Elf »

Оффлайн jcla

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Elf, спасибо огромное за дельный совет! svn up решил проблему недостающего модуля.
Однако оно все равно никак не хочет работать! >:(

./sync-engine
2007-11-27 17:50:51,532 DEBUG syncengine : creating SyncEngine object
Traceback (most recent call last):
  File "./sync-engine", line 57, in <module>
    engine = SyncEngine()
  File "/usr/src/SynCE/trunk/sync-engine/SyncEngine/kernel.py", line 47, in __init__
    dbus.service.Object.__init__(self, dbus.service.BusName(DBUS_SYNCENGINE_BUSNAME, bus=dbus.SessionBus()), DBUS_SYNCENGINE_OBJPATH)
  File "/var/lib/python-support/python2.5/dbus/_dbus.py", line 218, in __new__
    mainloop=mainloop)
  File "/var/lib/python-support/python2.5/dbus/_dbus.py", line 107, in __new__
    bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
  File "/var/lib/python-support/python2.5/dbus/bus.py", line 121, in __new__
    bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Что-то не так с DBus'ом... или я что-то делаю не так? odccm сервис запущен, телефон подключен.

Оффлайн bruha

  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Спасибо за мануал, сам сейчас настраиваю и возникли проблемы на этапе патча
patch -p1 < /path/to/SynCE/patches/linux-2.6.22-rndis_host-wm5.patch
у меня в /usr/src/linux-headers-2.6.22-14-generic/drivers/usb нет ни одного исходника, вопрос - где и как их взять? (-8

да и еще небольшое дополнение к мануалу - мне понадобилось дополнительно устанавливать svn, в сборке по умолчанию его не было  :)

Оффлайн Elf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
Спасибо за мануал, сам сейчас настраиваю и возникли проблемы на этапе патча
patch -p1 < /path/to/SynCE/patches/linux-2.6.22-rndis_host-wm5.patch
у меня в /usr/src/linux-headers-2.6.22-14-generic/drivers/usb нет ни одного исходника, вопрос - где и как их взять? (-8
вы невнимательно прочли ветку. Этот вопрос уже задавали.
https://forum.ubuntu.ru/index.php?topic=14850.msg107224#msg107224

Цитировать
да и еще небольшое дополнение к мануалу - мне понадобилось дополнительно устанавливать svn, в сборке по умолчанию его не было  :)
О. Это да. Я как то не подумал, что его нет в базовом комплекте. Допишу.

Оффлайн bruha

  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
вы невнимательно прочли ветку. Этот вопрос уже задавали.
https://forum.ubuntu.ru/index.php?topic=14850.msg107224#msg107224

поставил пакеты linux-source и linux-source-2.6.22, но ни в папке /usr/src/linux-headers-2.6.22-14-generic/drivers/usb, ни в /usr/src/linux-headers-2.6.22-14/drivers/usb не появился файл rndis_host.c  :( че делать?

Оффлайн jcla

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Elf, спасибо огромное за дельный совет! svn up решил проблему недостающего модуля.
Однако оно все равно никак не хочет работать! >:(

./sync-engine
2007-11-27 17:50:51,532 DEBUG syncengine : creating SyncEngine object
Traceback (most recent call last):
  File "./sync-engine", line 57, in <module>
    engine = SyncEngine()
  File "/usr/src/SynCE/trunk/sync-engine/SyncEngine/kernel.py", line 47, in __init__
    dbus.service.Object.__init__(self, dbus.service.BusName(DBUS_SYNCENGINE_BUSNAME, bus=dbus.SessionBus()), DBUS_SYNCENGINE_OBJPATH)
  File "/var/lib/python-support/python2.5/dbus/_dbus.py", line 218, in __new__
    mainloop=mainloop)
  File "/var/lib/python-support/python2.5/dbus/_dbus.py", line 107, in __new__
    bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
  File "/var/lib/python-support/python2.5/dbus/bus.py", line 121, in __new__
    bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Что-то не так с DBus'ом... или я что-то делаю не так? odccm сервис запущен, телефон подключен.

Заработало! Проблема была в том что я пытался запускать ./sync-engine из под rootа.
В целом синхронизацией я очень доволен, хотя есть отдельные косяки, на пример почему-то evolution присваивает всем задачам время по Гринвичу. Поменяв настройки часового пояса, эта проблема вроде как решилась, НО при повторной синхронизации теперь поменялось время для всех задач на телефоне. Еще обратил внимание, что не все повторяющиеся задачи правильно синхронизируются, что в общем то понятно, учитывая сырость проги.
Спасибо еще раз огромное за мануал! Без него я бы никак!

Оффлайн alakond

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Спасибо за мануал. Начал по нему делать натолкнулся на 2 проблемы:
1) наиболее важная в данный момент:
в момент запуска sync-engine:
ImportError: librtfcomp.so.0: cannot open shared object file: No such file or directory

Цитировать
Расследование показало, что файл такой есть. Он добросовестно был установлен во время установки соответствующего пакета. Лежит он в /usr/local/lib но имеет имя librtfcomp.so.0.0.0 а также имеет две символические ссылки на себя с именами librtfcomp.so и librtfcomp.so.0 По идее на вторую ссылку должно было цепляться, но не цеплялось. В общем я переименовал librtfcomp.so.0.0.0 в librtfcomp.so.0 старые ссылки удалил и сделал 2 новые, librtfcomp.so и librtfcomp.so.0.0.0 которые ссылаются на переименованый файл.


Гугл по этому поводу не многословен
http://www.google.ru/search?num=15&complete=1&hl=ru&newwindow=1&q=ImportError%3A+librtfcomp.so.0%3A+cannot+open+shared+object+file%3A+No+such+file+or+directory+&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru
У Вас нет идей, как это можно поправить?

2) И вторая пробема. Когда цепляю КПК, большой брат его видит, по pls верно всё показывается. Но на большом брате слетают настройки сетевки. DNS и основной шлюз становятся пустыми.  Тоже не знаю, как побороть :(
« Последнее редактирование: 04 Декабря 2007, 07:48:34 от alakond »

Оффлайн Elf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
поставил пакеты linux-source и linux-source-2.6.22, но ни в папке /usr/src/linux-headers-2.6.22-14-generic/drivers/usb, ни в /usr/src/linux-headers-2.6.22-14/drivers/usb не появился файл rndis_host.c  :( че делать?

Гы. Логично. в linux-headers лежат хеадеры. Сорцы при установке с репозитариев поставляются в архиве, который должен появится в /usr/src Там єтот файл есть. Но лучше просто поставьте rndis-lite и не мучайтесь. Вы уж извините, но если звучат вопросы: "Где исходники ядра", то я представляю, сколько будет вопросов, когда вы его начнёте компилировать.

Оффлайн Elf

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
Спасибо за мануал. Начал по нему делать натолкнулся на 2 проблемы:
1) наиболее важная в данный момент:
в момент запуска sync-engine:
ImportError: librtfcomp.so.0: cannot open shared object file: No such file or directory

Гугл по этому поводу не многословен
http://www.google.ru/search?num=15&complete=1&hl=ru&newwindow=1&q=ImportError%3A+librtfcomp.so.0%3A+cannot+open+shared+object+file%3A+No+such+file+or+directory+&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru
У Вас нет идей, как это можно поправить?

2) И вторая пробема. Когда цепляю КПК, большой брат его видит, по pls верно всё показывается. Но на большом брате слетают настройки сетевки. DNS и основной шлюз становятся пустыми.  Тоже не знаю, как побороть :(

1. Можно попробовать создать сим-линк /usr/lib/librtfcomp.so.0 -> /usr/local/lib/librtfcomp.so.0  Идеологически это не правильно, но на работе под Gutsy пришлось сделать именно так.
2. Это просто сетевая настройка. Просто при подключении КПК появляется ещё один сетевой интерфейс. А у вас поднят DHClient который тут же перевешивает на него роут и прочее. Просто этот интерфейс надо прописать правильно в конфах. Навесить ему статический IP, ну и дефолт-роут прописать на eth0 или что там у вас. Фактически это настройка инета при двух сетевухах. Попытайтесь поискать на форуме, если не будет получаться. Наверняка вагон инфы.
Кстати, это могут быть происки NetworkManager'а попробуйте в нём откоректировать настройки.


Оффлайн alakond

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Elf, спасибо за ответ, симлинк помог :)
Всё супер, ждем возможности синхронизации с 2-мя машинами, без лишнего гемороя,

Цитировать
По крайней мере, по их отзывам заранее неизвестно, какое из партнёрств будет использовано при следующей синхронизации. Т.е. существует опасность того, что при очередной синхронизации линуховая система прицепится к партнёрству другого компьютера и синхронизация будет ошибочной. Можно при этом потерять данные, поэтому сами же разработчики рекомендуют пока ограничится одним партнёрством, а значит не синхронизироовать PDA больше чем с одним компьютером во избежании ошибок. Безусловно это плохая новость, потому как очень хотелось бы при помощи PDA синхронизировать базы на работе и дома, что я раньше и делал используя Windows. Постараюсь со временем разобраться в том, как именно глючит их модуль и возможно ли его использовать "на благо родины".

  и графической морды, ну или хотя-бы значка в systray :)

Ещё раз спасибо за how-to и советы )

Оффлайн Irrron

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Приветствую всех!
Так подробно данная тематика раскрыта только на вашем форуме.
Вопрос Elf'у:
У меня FC7 c апгрейдами. Пытаюсь делать по инструкции. Ядро успешно пересобрал, предварительно пропатчив. Но на этапе сборки librapi2 (make) выдает ошибку:
make[3]: Entering directory `/tmp/wm5/trunk/librapi2/tests/rapi'
/bin/sh ../../libtool --tag=CXX   --mode=link g++ -I/usr/local/include   -Wall -g -O2 /usr/local/lib  -o CeCreateDatabase CeCreateDatabase.o ../../src/librapi.la
g++ -I/usr/local/include -Wall -g -O2 /usr/local/lib -o .libs/CeCreateDatabase CeCreateDatabase.o  ../../src/.libs/librapi.so
/usr/local/lib: file not recognized: Is a directory
collect2: ld returned 1 exit status
make[3]: *** [CeCreateDatabase] Error 1
make[3]: Leaving directory `/tmp/wm5/trunk/librapi2/tests/rapi'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/wm5/trunk/librapi2/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/wm5/trunk/librapi2'
make: *** [all] Error 2

Тем не менее делая make install библиотеки устанавливаются:
ll /usr/local/lib
total 328
-rw-r--r-- 1 root root 112468 2007-12-14 13:49 librapi.a
-rwxr-xr-x 1 root root    792 2007-12-14 13:49 librapi.la
lrwxrwxrwx 1 root root     16 2007-12-14 13:49 librapi.so -> librapi.so.2.0.0
lrwxrwxrwx 1 root root     16 2007-12-14 13:49 librapi.so.2 -> librapi.so.2.0.0
-rwxr-xr-x 1 root root  82682 2007-12-14 13:49 librapi.so.2.0.0
-rw-r--r-- 1 root root  53246 2007-12-14 12:35 libsynce.a
-rwxr-xr-x 1 root root    858 2007-12-14 12:35 libsynce.la
lrwxrwxrwx 1 root root     17 2007-12-14 12:35 libsynce.so -> libsynce.so.0.0.0
lrwxrwxrwx 1 root root     17 2007-12-14 12:35 libsynce.so.0 -> libsynce.so.0.0.0
-rwxr-xr-x 1 root root  49407 2007-12-14 12:35 libsynce.so.0.0.0
drwxr-xr-x 2 root root   4096 2007-12-14 12:35 pkgconfig

Но! На этапе сборки odccm возникает таже ошибка:

make[2]: Entering directory `/tmp/wm5/trunk/odccm/src'
gcc -Wall -I/usr/local/include   -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -pthread -I/usr/include/gnet-2.0 -I/usr/lib/gnet-2.0/include/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include   -g -O2 /usr/local/lib -lgobject-2.0 -lglib-2.0   -pthread -lgnet-2.0 -lgthread-2.0 -lrt -lglib-2.0   -L/lib -ldbus-glib-1 -ldbus-1 -lgobject-2.0 -lglib-2.0   -L/lib -lhal -ldbus-1    -o odccm odccm-device-signals-marshal.o odccm-device-manager-signals-marshal.o util.o odccm-errors.o odccm-connection-broker.o odccm-device.o odccm-device-manager.o odccm.o odccm-device-legacy.o 
/usr/local/lib: file not recognized: Is a directory
collect2: ld returned 1 exit status
make[2]: *** [odccm] Error 1
make[2]: Leaving directory `/tmp/wm5/trunk/odccm/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/wm5/trunk/odccm/src'
make: *** [all-recursive] Error 1

При этом еще ./bootstrap выдавал вот, что:
src/Makefile.am:33: `%'-style pattern rules are a GNU make extension
src/Makefile.am:34: subst -,_,$*: non-POSIX variable name
src/Makefile.am:34: (probably a GNU make extension)
src/Makefile.am:36: `%'-style pattern rules are a GNU make extension
src/Makefile.am:37: subst -,_,$*: non-POSIX variable name
src/Makefile.am:37: (probably a GNU make extension)
src/Makefile.am:39: `%'-style pattern rules are a GNU make extension
src/Makefile.am:40: subst -,_,$*: non-POSIX variable name
src/Makefile.am:40: (probably a GNU make extension)

Все действия выполнял из под root'а, и вот эти sudo apt-get install libglib2.0-dev libusb-dev build-essential autoconf automake1.9 libtool libgnet-dev libhal-dev libhal-storage-dev libdbus-glib-1-dev python-sip4-dev python-pyrex python-dev зависимости не все проверял (просто не знаю как?)

 

Страница сгенерирована за 0.024 секунд. Запросов: 21.