From: Martin S. <mar...@hi...> - 2006-06-20 22:02:05
|
I tried to get the very same phone working with Opensync some time ago. After introducing a lot of hacks, I got some communication working but I couldn't proceed due to lack of time. There are several issues with the SGH-D600: 1) Like Stefan reported, an AT-Command has to be sent before a syncml-session can be started ("AT+CPROT=0\r" did the job for me). 2) The Teleca client (which the SGH-D600 is using internally) has some non-standard behaviour in the OBEX protocol. If I remember correctly, it requires an empty put final OBEX packet which is incompatible with e.g. with Nokia mobile phones. My solution was to add an empty OBEX header (type OBEX_HDR_EMPTY) to the OBEX packet in function smlTransportObexClientSend(). 3) Only syncml version 1.1 is supported. That means that the syncronization cannot be triggered by sending a SAN-Notification. Instead, a server alert (type SML_ALERT_TWO_WAY_BY_SERVER) needs to be sent in client_connect() (syncml-plugin.c). I don't know the current status of the code base, but back in February I needed to change the whole logic of how a sycml session is started in opensync. 4) Furthermore, there are some weird restrictions in the xml protocol. Some headers are needed or forbidden - I don't remember the details and gave up somewhere at that point. I'm sorry that I never managed to get a patch ready. The problem is that basically all the changes are work-arounds for this obscure OBEX/syncml-client. As such they must only get active if this client is identified. In order to avoid contamination of the codebase with a bunch of hacks, opensync needs some mechanisms to guess the sycml client and to activate such workarounds on demand. Regards, Martin Am Dienstag, den 20.06.2006, 22:41 +0200 schrieb Stefan Schmidt: > Hallo, > > lately I did some experiments on using opensync with the Samsung SGH-D500, > which I suppose uses the same syncml protocol as your mobile. > > According to http://www.traud.de/gsm/samsung.htm , the device is capable of > SyncML over Obex, but as I understood you can't use Obex over Bluetooth > directly to talk syncml. Rather you need to start a syncml-session via the > Bluetooth Dialup-Profile (maybe also IRDA or cable connection possible) by > giving the AT-Command > AT+CPROT=0 > > > I tried hacking the necessary changes for such a connection into libsyncml and > the syncml-plugin of opensync, but I did not succeed in exchanging data. I > got a CONNECT message from the phone and then some obex failures (which I > have not been able to interpret so far). > > Due to lack of time I have not yet continued to try some harder, but I'm still > very interested in getting the phone synchronized... Let me know if you'd > like my piece of code as a starting point. > > With kind regards, > Stefan Schmidt > > Am Dienstag, 20. Juni 2006 20:01 schrieb Markus Wagner: > > Hi List, hi devs! > > > > I just followed the http://www.opensync.org/wiki/syncml-guide SyncML Guide > > and I am trying to sync the phone via the syncml-obex-client plugin. > > > > When trying to sync, I get the following: > > > > markus@swordfish ~/opensync/log $ msynctool --sync syncmlfile > > Synchronizing group "syncmlfile" > > The previous synchronization was unclean. Slow-syncing > > Member 1 of type file-sync just connected > > Member 2 of type syncml-obex-client had an error while connecting: Request > > not successfull: 83 > > Member 1 of type file-sync just disconnected > > All clients have disconnected > > The sync failed: Unable to connect one of the members > > Error synchronizing: Unable to connect one of the members > [...] > > > _______________________________________________ > Opensync-users mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opensync-users |