From: Ulrich B. <ubr...@t-...> - 2009-08-19 15:31:51
|
Am Mittwoch, den 19.08.2009, 17:02 +0200 schrieb Michael Bell: > I think it is possible to do implement this but first I have to > understand why the message is not send. > OK, you are right, a short Put sequence was send. but it was quite different from the one in windows with the authentication enclosed. I looked into the communication of libsyncml and my phone with strace --ff. I got the following sequence: The bytes are in octal. write(10, "ATZ\r"..., 4) = 4 select(11, [10], NULL, NULL, {1, 0}) = 1 (in [10], left {0, 852000}) read(10, "ATZ\r"..., 100) = 4 select(11, [10], NULL, NULL, {1, 0}) = 1 (in [10], left {0, 996000}) read(10, "\r\nOK\r\n"..., 96) = 6 write(10, "AT+CGMI\r"..., 8) = 8 select(11, [10], NULL, NULL, {1, 0}) = 1 (in [10], left {0, 996000}) read(10, "AT+CGMI\r"..., 100) = 8 select(11, [10], NULL, NULL, {1, 0}) = 1 (in [10], left {1, 0}) read(10, "\r\nSAMSUNG\r\n"..., 92) = 11 select(11, [10], NULL, NULL, {1, 0}) = 1 (in [10], left {1, 0}) read(10, "\r\nOK\r\n"..., 81) = 6 write(10, "AT+CGMM\r"..., 8) = 8 select(11, [10], NULL, NULL, {1, 0}) = 1 (in [10], left {0, 996000}) read(10, "AT+CGMM\r"..., 100) = 8 select(11, [10], NULL, NULL, {1, 0}) = 1 (in [10], left {0, 996000}) read(10, "\r\nE250i\r\n"..., 92) = 9 select(11, [10], NULL, NULL, {1, 0}) = 1 (in [10], left {1, 0}) read(10, "\r\nOK\r\n"..., 83) = 6 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 11 fstat64(11, {st_mode=S_IFREG|0644, st_size=25700, ...}) = 0 mmap2(NULL, 25700, PROT_READ, MAP_SHARED, 11, 0) = 0xb7e07000 close(11) = 0 futex(0xb7b8ea6c, FUTEX_WAKE_PRIVATE, 2147483647) = 0 write(2, "\n** (process:5310): WARNING **: U"..., 96) = 96 write(10, "AT$TSSPCSW=1\r"..., 13) = 13 // I changed the normal AAT+CPROT=0 to this command, as it was used in the windows software. select(11, [10], NULL, NULL, {1, 0}) = 1 (in [10], left {0, 996000}) read(10, "AT$TSSPCSW=1\r"..., 100) = 13 select(11, [10], NULL, NULL, {1, 0}) = 1 (in [10], left {1, 0}) read(10, "\r\nCONNECT\r\n"..., 87) = 11 write(10, "\200\0\25\20\0\4\0F\0\16SYNCML-SYNC"..., 21) = 21 select(11, [10], NULL, NULL, {20, 0}) = 1 (in [10], left {19, 936000}) read(10, "\240\0\32\20\0\4\0\313\0\0\0\2J\0\16SYNCML-SYNC"..., 512) = 26 // OK you are right, here is a PUT sequence. The windows software contains here the authentication sequence from the server. write(10, "\202\0\337\313\0\0\0\2B\0 application/vnd.syncml"..., 223) = 223 select(11, [10], NULL, NULL, {20, 0}) = 1 (in [10], left {20, 0}) read(10, "\240\0\3"..., 512) = 3 write(10, "\203\0(\313\0\0\0\2B\0 application/vnd.syncml"..., 40) = 40 select(11, [10], NULL, NULL, {20, 0}) = 1 (in [10], left {19, 952000}) // the phone E250i does not accept here. A phone E250 does not answer at all at this place. read(10, "\306\0\3"..., 512) = 3 poll([{fd=5, events=POLLIN}], 1, 1) = 0 (Timeout) poll([{fd=5, events=POLLIN}], 1, 1) = 0 (Timeout) poll([{fd=5, events=POLLIN}], 1, 1) = 0 (Timeout) poll([{fd=5, events=POLLIN}], 1, 1) = 0 (Timeout) poll([{fd=5, events=POLLIN}], 1, 1) = 0 (Timeout) poll([{fd=5, events=POLLIN}], 1, 1) = ? ERESTART_RESTARTBLOCK (To be restarted) Regards Ulrich |