|
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
|