From: Ulrich B. <ubr...@t-...> - 2009-08-19 13:22:00
|
Am Montag, den 10.08.2009, 11:47 +0200 schrieb Michael Bell: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Ulrich Brammer wrote: > > I compiled libsyncml from svn libsyncml 0.5.x branch on a Debian Lenny > > system. I tested it with syncml-ds-tool with my Samsung SGH E250i > > mobile. I got the following error message: > > ** Message: ERROR: An internal I/O error occured. Unknown response > > (0x46) > > > > I made traces, see https://libsyncml.opensync.org/ticket/246 > > > > I do not have any knowledge about syncml and do not know how to debug > > further. Is there someone to help? > > Samsung uses 5 different SyncML stacks and no one is fully standard > compliant. So there are two questions. First does your mobile really > supports SyncML? Second which implementation is used? Here is a good > impression: > > http://www.traud.de/gsm/samsung.htm > > Best regards > > Michael I looked into the details of the problem to sync with a Samsung SGH E250: The phone understands the AT+CPROT=0 and answers with the message CONNECT. The phone also respond to the obex connect command. The problem is: syncml-ds-tool does not send a initialization package which contains the target and sourceURI and the authentification. So the commandline arguments to provide these information are not usable in this case. I analyzed the initialization package from the windows software with the wbxml2xml tool. This is the xml-version of the initialization packet: <?xml version="1.0"?> <!DOCTYPE SyncML PUBLIC "-//SYNCML//DTD SyncML 1.1//EN" "http://www.syncml.org/docs/syncml_represent_v11_20020213.dtd"> <SyncML xmlns="SYNCML:SYNCML1.1"> <SyncHdr> <VerDTD>1.1</VerDTD> <VerProto>SyncML/1.1</VerProto> <SessionID>0</SessionID> <MsgID>1</MsgID> <Target> <LocURI>AT$CGSN XXXXXX 01 XXXXXX 0</LocURI> </Target> <Source> <LocURI>Teleca Desktop Synchronisation Server</LocURI> </Source> <Cred> <Meta> <Format xmlns="syncml:metinf">b64</Format> <Type xmlns="syncml:metinf">syncml:auth-basic</Type> </Meta> <Data>c2N0czpzY3Rz</Data> </Cred> </SyncHdr> <SyncBody> <Alert> <CmdID>0</CmdID> <Data>206</Data> <Item> <Target> <LocURI>CONTACTS</LocURI> </Target> <Source> <LocURI>CONTACTS</LocURI> </Source> <Meta> <Type xmlns="syncml:metinf">text/x-vcard</Type> </Meta> </Item> </Alert> <Final/> </SyncBody> </SyncML> The phone answers after a obex get command containing "application/vnd.syncml+wbxml" with: <?xml version="1.0"?> <!DOCTYPE SyncML PUBLIC "-//SYNCML//DTD SyncML 1.1//EN" "http://www.syncml.org/docs/syncml_represent_v11_20020213.dtd"> <SyncML xmlns="SYNCML:SYNCML1.1"> <SyncHdr> <VerDTD>1.1</VerDTD> <VerProto>SyncML/1.1</VerProto> <SessionID>0</SessionID> <MsgID>1</MsgID> <Target> <LocURI>Teleca Desktop Synchronisation Server</LocURI> </Target> <Source> <LocURI>XXXXXX 01 XXXXXX 0</LocURI> <LocName/> </Source> <Meta> <MaxMsgSize xmlns="syncml:metinf">3100</MaxMsgSize> </Meta> </SyncHdr> <SyncBody> <Status> <CmdID>1</CmdID> <MsgRef>1</MsgRef> <CmdRef>0</CmdRef> <Cmd>SyncHdr</Cmd> <TargetRef>AT$CGSN XXXXXX 01 XXXXXX 0</TargetRef> <SourceRef>Teleca Desktop Synchronisation Server</SourceRef> <Data>200</Data> </Status> <Status> <CmdID>2</CmdID> <MsgRef>1</MsgRef> <CmdRef>0</CmdRef> <Cmd>Alert</Cmd> <Data>200</Data> </Status> <Put> <CmdID>3</CmdID> <Meta> <Type xmlns="syncml:metinf">application/vnd.syncml-devinf+xml</Type> </Meta> <Item> <Source> <LocURI>./devinf11</LocURI> </Source> <Data> <DevInf xmlns="syncml:devinf"> <VerDTD>1.1</VerDTD> <Man>Teleca Software Solutions AB</Man> <Mod>Teleca SyncML Client</Mod> <OEM>Teleca Software Solutions AB</OEM> <FwV>1.0</FwV> <SwV>1.0</SwV> <HwV>1.0</HwV> <DevID>XXXXXX 01 XXXXXX 0</DevID> <DevTyp>smartphone</DevTyp> <SupportNumberOfChanges/> <SupportLargeObjs/> <DataStore> <SourceRef>CONTACTS</SourceRef> <MaxGUIDSize>40</MaxGUIDSize> <Rx-Pref> <CTType>text/x-vcard</CTType> <VerCT>2.1</VerCT> </Rx-Pref> <Tx-Pref> <CTType>text/x-vcard</CTType> <VerCT>2.1</VerCT> </Tx-Pref> <DSMem> <MaxMem>0</MaxMem> <MaxID>1000</MaxID> </DSMem> <SyncCap> <SyncType>1</SyncType> <SyncType>2</SyncType> <SyncType>7</SyncType> </SyncCap> </DataStore> <CTCap> <CTType>text/x-vcard</CTType> <PropName>BEGIN</PropName> <ValEnum>VCARD</ValEnum> <PropName>VERSION</PropName> <ValEnum>2.1</ValEnum> <PropName>N</PropName> <PropName>TEL</PropName> <ParamName>WORK</ParamName> <ParamName>HOME</ParamName> <ParamName>CELL</ParamName> <ParamName>FAX</ParamName> <ParamName>PAGER</ParamName> <ParamName>PREF</ParamName> <PropName>EMAIL</PropName> <PropName>NOTE</PropName> <PropName>END</PropName> <ValEnum>VCARD</ValEnum> </CTCap> </DevInf> </Data> </Item> </Put> <Alert> <CmdID>4</CmdID> <Data>200</Data> <Item> <Target> <LocURI>CONTACTS</LocURI> </Target> <Source> <LocURI>CONTACTS</LocURI> </Source> <Meta> <Anchor xmlns="syncml:metinf"> <Last>1</Last> <Next>2</Next> </Anchor> <MaxObjSize xmlns="syncml:metinf">3000</MaxObjSize> </Meta> </Item> </Alert> <Final/> </SyncBody> </SyncML> Best regards Ulrich |