On Wed, 16 Apr 2008 19:42:42 +0100
Mark Ellis <[EMAIL PROTECTED]> wrote:
> 
> Can't think off the top of my head why that would be. Sync-engine looks
> for devices with property pda.platform = pocketpc, which I know yours
> does from the hal dump you sent. And it works on mine.
> 
> Can you try putting in some prints amongst the hal startup section in
> kernel.py to see where it fails ?
> 
> Mark

Tried again this morning. Don't know why it failed yesterday, but now 
everything works OK. Sorry :-(

Now there is an issue with WM6 password protection.
Scenario: WM6 device connects to PC when sync-engine is already running. The 
following output occures:
=============================================
./sync-engine
SynCE sync-engine starting up
2008-04-17 15:10:11,254 DEBUG syncengine : running main loop
2008-04-17 15:10:11,255 DEBUG syncengine : creating SyncEngine object
2008-04-17 15:10:11,274 DEBUG syncengine : installing signal handlers
2008-04-17 15:10:27,030 INFO engine.syncengine.kernel : _CBHalDeviceConnected: 
device connected at udi /org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial
2008-04-17 15:10:27,036 INFO engine.syncengine.kernel :  device Pocket_PC 
connected
2008-04-17 15:10:27,036 INFO engine.syncengine.kernel : ProcessAuth : 
processing authorization for device 'Pocket_PC'
2008-04-17 15:10:27,038 INFO engine.syncengine.kernel : ProcessAuth: 
authorization not required for device 'Pocket_PC'
2008-04-17 15:10:27,039 DEBUG engine.syncengine.kernel : OnConnect: setting up 
RAPI session

** (process:25097): CRITICAL **: synce_info_from_hal: Failed to get a 
connection for /org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial: 
Pocket_PC: Not yet connected.

** (process:25097): WARNING **: synce_info_from_odccm: Failed to get devices: 
The name org.synce.odccm was not provided by any .service files
[synce_info_from_file:69] unable to open file: 
/home/kibab/.synce/active_connection

** (process:25097): CRITICAL **: synce_info_from_hal: Failed to get a 
connection for /org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial: 
Pocket_PC: Not yet connected.

** (process:25097): WARNING **: synce_info_from_odccm: Failed to get devices: 
The name org.synce.odccm was not provided by any .service files
[synce_info_from_file:69] unable to open file: 
/home/kibab/.synce/active_connection
[rapi_context_connect:173] Failed to get connection info
2008-04-17 15:10:27,110 ERROR dbus.connection : Exception in handler for D-Bus 
signal:
Traceback (most recent call last):
  File "/usr/local/lib/python2.5/site-packages/dbus/connection.py", line 214, 
in maybe_handle_message
    self._handler(*args, **kwargs)
  File 
"/home/kibab/etc/synce/synce-svn/trunk/sync-engine/SyncEngine/kernel.py", line 
272, in _CBHalDeviceConnected
    self.OnConnect()
  File 
"/home/kibab/etc/synce/synce-svn/trunk/sync-engine/SyncEngine/kernel.py", line 
415, in OnConnect
    self.rapi_session = rapicontext.RapiContext(pyrapi2.SYNCE_LOG_LEVEL_DEFAULT)
  File 
"/home/kibab/etc/synce/synce-svn/trunk/sync-engine/SyncEngine/rapicontext.py", 
line 29, in __init__
    pyrapi2.RAPISession.__init__(self,loglevel)
  File "pyrapi2.pyx", line 413, in pyrapi2.RAPISession.__init__
RAPIError: -2147467259

=============================================

As you remember, WM6 device requires entering password on device, so when 
Sync-engine tries to setup RAPI session (and it does immediately), device is 
NOT yet connected to PC.

I've attached a small patch to fix this problem. Now, when device is connected, 
I see the following:
=============================================
./sync-engine
SynCE sync-engine starting up
2008-04-17 15:30:01,300 DEBUG syncengine : running main loop
2008-04-17 15:30:01,301 DEBUG syncengine : creating SyncEngine object
2008-04-17 15:30:01,320 DEBUG syncengine : installing signal handlers
2008-04-17 15:30:15,144 INFO engine.syncengine.kernel : _CBHalDeviceConnected: 
device connected at udi /org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial
2008-04-17 15:30:15,149 INFO engine.syncengine.kernel :  device Pocket_PC 
connected
2008-04-17 15:30:15,150 INFO engine.syncengine.kernel : ProcessAuth : 
processing authorization for device 'Pocket_PC'
2008-04-17 15:30:15,360 INFO engine.syncengine.kernel : Failed to authorize - 
disconnect and reconnect device to try again
=============================================

On device I see password prompt at this moment.

When I enter password on device, output is:
=============================================
2008-04-17 15:32:49,133 INFO engine.syncengine.kernel : 
_CBHalDeviceAuthStateChanged: device authorization state changed: reauthorizing
2008-04-17 15:32:49,134 INFO engine.syncengine.kernel : ProcessAuth : 
processing authorization for device 'Pocket_PC'
2008-04-17 15:32:49,135 INFO engine.syncengine.kernel : ProcessAuth: 
authorization not required for device 'Pocket_PC'
2008-04-17 15:32:49,135 DEBUG engine.syncengine.kernel : OnConnect: setting up 
RAPI session
2008-04-17 15:32:49,545 DEBUG engine.syncengine.kernel : OnConnect: Attempting 
to bind partnerships
[....and as usual...]
=============================================

Please test it with WM5-devices.
-- 
Ilya Bakulin <[EMAIL PROTECTED]>
--- SyncEngine/auth.py.orig	2008-04-17 15:23:48.000000000 +0400
+++ SyncEngine/auth.py	2008-04-17 15:23:39.000000000 +0400
@@ -37,7 +37,7 @@
 def IsAuthRequired(device):
 	if re.compile('/org/freedesktop/Hal/devices/').match(device.object_path) != None:
 		flags = device.GetPropertyString("pda.pocketpc.password")
-		if flags == "provide":
+		if flags == "provide" or flags == "provide-on-device":
 			return True
 		return False
 
--- SyncEngine/kernel.py.orig	2008-04-17 15:23:48.000000000 +0400
+++ SyncEngine/kernel.py	2008-04-17 15:23:30.000000000 +0400
@@ -335,7 +335,8 @@
 			property_name, added, removed = property
 			if property_name == "pda.pocketpc.password":
 				self.logger.info("_CBHalDeviceAuthStateChanged: device authorization state changed: reauthorizing")
-				self._ProcessAuth()
+				if self._ProcessAuth():
+				    self.OnConnect()
 
 	#
 	# _CheckAndGetValidPartnership
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
SynCE-Devel mailing list
SynCE-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synce-devel

Reply via email to