Ticket #771 (assigned defect)

Opened 3 months ago

Last modified 1 month ago

Unable to sync with Nokia E65 (software 2.0633.65.01)

Reported by: mathieu Assigned to: bellmich (accepted)
Priority: normal Milestone:
Component: Plugin: syncml Version: 0.22
Severity: blocker Keywords: nokia e65 2.0633.65.01
Cc: julian@mehnle.net

Description

Hi

I can't sync my Nokia E65 with opensync. I've tried lots of versions of opensync but it's always the same : unable to sync.

Everytime I tried I got an error:

Received an transport error: Forbidden (0x43)

I'm using Debian, here is the installed version:

libopensync0                                   0.22-2
libsyncml-utils                                0.4.6-3
libsyncml0                                     0.4.6-3
multisync-tools                                0.92.0~svn355-1
opensync-plugin-file                           0.22-2
opensync-plugin-syncml                         0.22-2

Here is a trace of the "syncml-obex-client" command:

syncml-obex-client -b XX:XX:XX:XX:XX:XX 14 --dumpinfo --slow-sync text/x-vcard Contacts --wbxml --identifier "PC Suite" --useStringTable
connection with device succeeded
Received an Alert for the DS Server at Contacts: Type: 201, Last , Next 20080704T085502Z
Slowsyncing
Just received a new session with ID 1
Received the DevInf
Session 1 reported final. flushing
Received an transport error: Forbidden (0x43)
Send the output below to the libsyncml developers

========================================
Man: NOKIA
Mod: E65
FirmwareVersion:
SoftwareVersion: 2.0633.65.01
HardwareVersion:

ReceiveLimit: 0
MaxObjSize: 0
Connection used: OBEX Client
Identifier: PC Suite

Databases:
DB Locations: Contacts
DB Type: text/x-vcard
DB Slow: 1

Bluetooth: Yes
Wbxml: Yes
SyncML Version: 1.1
SupportsNumberofChanges: Yes
SupportsLargeObjects: Yes

What can I do? I've tried with unstable version of Debian (0.36), it's the same.

I think Nokia Software version is too up-to-date for opensync...

Attachments

Thread1082132816-10106.log (161.4 kB) - added by mathieu on 07/09/08 11:58:54.
trace of a non working sync (2008-07-09) first part
Thread47186696545504-10106.log (41.4 kB) - added by mathieu on 07/09/08 11:59:45.
trace of a non working sync (2008-07-09) second part
Thread3079605136-3370.log.1 (159.5 kB) - added by mathieu on 07/10/08 11:31:41.
Trace of a non working sync with --recvLimit 4096 and --maxObjSize 3000000
Thread3079608096-3370.log.1 (43.4 kB) - added by mathieu on 07/10/08 11:32:19.
Trace of a non working sync with --recvLimit 4096 and --maxObjSize 3000000 (part two)

Change History

07/06/08 18:55:15 changed by Julian Mehnle

  • cc set to julian@mehnle.net.

(follow-up: ↓ 3 ) 07/07/08 15:01:49 changed by bellmich

  • owner changed from dgollub to bellmich.
  • status changed from new to assigned.

I think that the E65 has the same symbian software like the E51 and E9500 (even if this is a S80). So the bug should be fixed in SVN.

libsyncml v463+

(in reply to: ↑ 2 ) 07/08/08 12:00:20 changed by mathieu

Replying to bellmich:

I think that the E65 has the same symbian software like the E51 and E9500 (even if this is a S80). So the bug should be fixed in SVN. libsyncml v463+

It seems that the symbian software of E65 is S60.

I've check out the libsyncml svn repository to get the last version (rev 482). I've build it with libsoup2.4 (by default in Debian it's 2.2)

When I test with the syncml-obex-client tool in the tools directory it does the same as before :

$ ./syncml-obex-client -b XX:XX:XX:XX:XX:XX 14 --dumpinfo --slow-sync text/x-vcard Contacts --wbxml --identifier "PC Suite" --useStringTable
connection with device succeeded
Received an Alert for the DS Server at Contacts: Type: 201, Last , Next 20080708T092615Z
Just received a new session with ID 1
Received the DevInf
Session 1 reported final. flushing
Received an transport error: Forbidden (0x43)
Send the output below to the libsyncml developers

========================================
Man: NOKIA
Mod: E65
FirmwareVersion:
SoftwareVersion: 2.0633.65.01
HardwareVersion:

ReceiveLimit: 0
MaxObjSize: 0
Connection used: OBEX Client
Identifier: PC Suite

Databases:
DB Locations: Contacts
DB Type: text/x-vcard
DB Slow: 1

Bluetooth: Yes
Wbxml: Yes
SyncML Version: 1.1
SupportsNumberofChanges: Yes
SupportsLargeObjects: Yes

syncml-obex-client is linked against the good libsyncml :

$ ldd syncml-obex-client
        linux-gate.so.1 =>  (0xffffe000)
        libsyncml.so.2 => /home/mathieu/sync/source/libsyncml_svn/build/libsyncml/libsyncml.so.2 (0xb7ec8000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7e03000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7dfe000)
        libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7dfa000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7df6000)
        librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb7ded000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7cce000)
        libbluetooth.so.2 => /usr/lib/libbluetooth.so.2 (0xb7cbb000)
        libwbxml2.so.0 => /usr/lib/libwbxml2.so.0 (0xb7c9c000)
        libsoup-2.4.so.1 => /usr/lib/libsoup-2.4.so.1 (0xb7c66000)
        libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0xb7c06000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7bca000)
        libopenobex.so.1 => /usr/lib/libopenobex.so.1 (0xb7bc1000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7a73000)
        libpcre.so.3 => /usr/lib/libpcre.so.3 (0xb7a4b000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb7a32000)
        /lib/ld-linux.so.2 (0xb7f23000)
        libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7a1a000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7a05000)
        libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb79e0000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb79bf000)
        libpopt.so.0 => /lib/libpopt.so.0 (0xb79b6000)
        libnsl.so.1 => /lib/i686/cmov/libnsl.so.1 (0xb799e000)
        libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0xb7901000)
        libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb7899000)
        libusb-0.1.so.4 => /lib/libusb-0.1.so.4 (0xb7890000)
        libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0xb7880000)
        libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb787c000)

07/08/08 15:01:02 changed by bellmich

The E51 and the E65 are both S60 devices.

Can you please run syncml-obex-client with traces enabled?

mkdir /tmp/syncml
SYNCML_TRACE=/tmp/syncml syncml-obex-client ...
ls /tmp/syncml

Please check the logs for IMEI data etc. before you submit the traces to the ticket system.

(follow-up: ↓ 6 ) 07/08/08 16:51:55 changed by bellmich

Did you try it with --useLargeObjs and --useNumberOfChanges?

(in reply to: ↑ 5 ; follow-up: ↓ 8 ) 07/09/08 11:45:57 changed by mathieu

Replying to bellmich:

Did you try it with --useLargeObjs and --useNumberOfChanges?

these options aren't available, the commande tells me that they are enabled by default (I can only use --disableNumberOfChanges and --disableLargeObjs)

Whatever the configuration is set (enabled or disabled), the result is the same.

I'll send traces in my next message.

07/09/08 11:58:54 changed by mathieu

  • attachment Thread1082132816-10106.log added.

trace of a non working sync (2008-07-09) first part

07/09/08 11:59:45 changed by mathieu

  • attachment Thread47186696545504-10106.log added.

trace of a non working sync (2008-07-09) second part

07/09/08 12:06:16 changed by mathieu

Ok, I've upload traces (Thread1082132816-10106.log and Thread47186696545504-10106.log). I've delete IMEI and Mac addr in the logs.

Thanks for your help.

(in reply to: ↑ 6 ) 07/10/08 10:24:18 changed by bellmich

Replying to mathieu:

Replying to bellmich:

Did you try it with --useLargeObjs and --useNumberOfChanges?

these options aren't available, the commande tells me that they are enabled by default (I can only use --disableNumberOfChanges and --disableLargeObjs)

I changed the default behavior in the meantime. The most new phones need NumperOfChanges and large object support and therefore I enabled it by default.

(follow-up: ↓ 10 ) 07/10/08 10:36:04 changed by bellmich

Can you please set --recvLimit (e.g. 4096) and --maxObjSize (e.g. 3000000)?

07/10/08 11:31:41 changed by mathieu

  • attachment Thread3079605136-3370.log.1 added.

Trace of a non working sync with --recvLimit 4096 and --maxObjSize 3000000

07/10/08 11:32:19 changed by mathieu

  • attachment Thread3079608096-3370.log.1 added.

Trace of a non working sync with --recvLimit 4096 and --maxObjSize 3000000 (part two)

(in reply to: ↑ 9 ) 07/10/08 11:35:21 changed by mathieu

Replying to bellmich:

Can you please set --recvLimit (e.g. 4096) and --maxObjSize (e.g. 3000000)?

ok, I've attached the files, the result is the same :

SYNCML_TRACE=/tmp/syncml ./tools/syncml-obex-client -b 00:17:E6:9E:DB:20 14 --dumpinfo --slow-sync text/x-vcard Contacts --wbxml --identifier "PC Suite" --useStringTable --recvLimit 4096 --maxObjSize 3000000
connection with device succeeded
Received an Alert for the DS Server at Contacts: Type: 201, Last , Next 20080710T090319Z
Just received a new session with ID 1
Received the DevInf
Session 1 reported final. flushing
Received an transport error: Forbidden (0x43)
Send the output below to the libsyncml developers

========================================
Man: NOKIA
Mod: E65
FirmwareVersion:
SoftwareVersion: 2.0633.65.01
HardwareVersion:

ReceiveLimit: 65535
MaxObjSize: 3000000
Connection used: OBEX Client
Identifier: PC Suite

Databases:
DB Locations: Contacts
DB Type: text/x-vcard
DB Slow: 1

Bluetooth: Yes
Wbxml: Yes
SyncML Version: 1.1
SupportsNumberofChanges: Yes
SupportsLargeObjects: Yes

You can notice that the receive limit is set to 65535 instead of the 4096 on the command line...

07/10/08 18:05:47 changed by bellmich

I commited libsyncml v486 some minutes ago to fix some large object support issues. Please wait until tomorrow. I have to adapt the SyncML plugin too and perhaps I find some additional bugs.

The wrong limit is still an open issue.

07/10/08 18:07:45 changed by bellmich

BTW looks like libsyncml v486 fixes the MaxMsgSize? problem too.

(follow-up: ↓ 15 ) 07/20/08 04:19:42 changed by r3dskull

Same result testing with svn and other versions, this is a E61i same software version as the E65 that mathieu has tested.

Just received a new session with ID 1838511472086609552
connection with device succeeded
Received an Alert for the DS Server at Contacts: Type: 201, Last , Next 20080720T020420Z
Just received a new session with ID 54
Received the DevInf
Session 54 reported final. flushing
Received an transport error: Forbidden (0x43)
Send the output below to the libsyncml developers

========================================
Man: NOKIA
Mod: E61i
FirmwareVersion: 
SoftwareVersion: 2.0633.65.01
HardwareVersion: 

ReceiveLimit: 4037
MaxObjSize: 3000000
Connection used: OBEX Client
Identifier: PC Suite

Databases:
DB Locations: Contacts
DB Type: text/x-vcard
DB Slow: 0

Bluetooth: Yes
Wbxml: Yes
SyncML Version: 1.1
SupportsNumberOfChanges: Yes
SupportsLargeObjects: Yes

Something else testing with svn version I realize that if I use --recvLimit less than 4037 I get no dumpinfo and devinf is not received:

Just received a new session with ID 9242222292922209215
connection with device succeeded
Received an transport error: Forbidden (0x43)
Didnt receive the devinf though it was requested

(follow-up: ↓ 16 ) 07/21/08 09:11:24 changed by bellmich

Ok, two questions:

1. How many datastores are configured in the mobile for the profile "PC Suite"?

2. Can you please create a new sync profile in the phone and use this profile instead of "PC Suite"? Please enable only the contact synchronization first.

(in reply to: ↑ 13 ) 07/21/08 09:15:52 changed by bellmich

Replying to r3dskull:

Something else testing with svn version I realize that if I use --recvLimit less than 4037 I get no dumpinfo and devinf is not received:

This can happen because devinf is perhaps too large for 4037 bytes. Large object handling is usually only specified and supported for sync items.

(in reply to: ↑ 14 ) 07/21/08 16:09:02 changed by r3dskull

Replying to bellmich:

1. How many datastores are configured in the mobile for the profile "PC Suite"?

There are 6 in the PC Suite profile

2. Can you please create a new sync profile in the phone and use this profile instead of "PC Suite"? Please enable only the contact synchronization first.

Already tried and didn't work, same result. I have tested with a USB cable and seems to work but the msynctool fails after the 185 contacts.

07/24/08 10:45:32 changed by mathieu

Ok, I've created a new sync profile on the phone named "test" only for the database "contacts" and with the address "a"

But no changes on the sync :

$ ./tools/syncml-obex-client -b XX:XX:XX:XX:XX:XX 14 --dumpinfo --slow-sync text/x-vcard contacts --wbxml --identifier "a" --useStringTable --recvLimit 4096
Just received a new session with ID 4382584640399344014
connection with device succeeded
Received an Alert for the DS Server at contacts: Type: 201, Last , Next 20080724T083847Z
Just received a new session with ID 4
session incl. authentication successfully established
Received the DevInf
Session 4 reported final. flushing
Received an transport error: Forbidden (0x43)
Send the output below to the libsyncml developers

========================================
Man: NOKIA
Mod: E65
FirmwareVersion:
SoftwareVersion: 2.0633.65.01
HardwareVersion:

ReceiveLimit: 4096
MaxObjSize: 3000000
Connection used: OBEX Client
Identifier: a

Databases:
DB Locations: contacts
DB Type: text/x-vcard
DB Slow: 1

Bluetooth: Yes
Wbxml: Yes
SyncML Version: 1.1
SupportsNumberOfChanges: Yes
SupportsLargeObjects: Yes

07/30/08 20:31:43 changed by jernst

Same problem with Nokia E65 on Ubuntu Intrepid. I have a newer firmware than you though (3.x).

07/31/08 11:29:33 changed by bellmich

The final result of this bug and several other discussions is that I actually move a lot of the plugin code into libsyncml. The timeline is as follows:

  1. new release of libsyncml without high level api
  2. integration of high level api
  3. syncml-ds-tool with support for obex client, http server and client transport
  4. plugin migration to new high level code
  5. implement several test scenarios with **make test**
  6. new release of libsyncml with high level api

I know that this is no shortl< available solution but everything else is only wokring on symptoms.

08/11/08 11:53:06 changed by bellmich

BTW which OS do you use? libwbxml must sometimes be patched. Debian released a new package version 0.9.2-5 to fix the issues with syncml (thanks to Michael Banck).

08/17/08 23:14:33 changed by tuju

  • component changed from OpenSync to Plugin: syncml.

08/17/08 23:25:02 changed by tuju

  • milestone changed from 0.40 to 0.38.

08/24/08 15:57:44 changed by dgollub

  • milestone deleted.

Couldn't this be an issue with the identifier String? http://libsyncml.opensync.org/wiki/obex-guide#Troubleshooting

Could you please try instead of "PC Suite" -> "PC Suite Data Sync"?

syncml-obex-client ...... --identifier "PC Suite Data Sync"