Roger Binns
2005-04-18 05:53:48 UTC
Joe,
In order to do LG phone detect I need one of two things:
- Some way of tying together the modem and diagnostics
ports which show up as different com ports or even
completely different device drivers. This would reqiure
heroic platform specific effort
- Be able to send a LG phonebook command - this is not
the Brew protocol but similar and sent while in Brew mode
The first would be nice since the other AT commands are then
available (eg battery level) but way too hard most of the time.
In order to do the second, please make the following changes:
- Include the comscan information with the dict passed to
detectphone
- Ideally only pass the phone module ports that it considers
ok (ie comdiagnose.islikelyport returns true)
- Run the detectphone function in the worker thread not the
main thead
The last bit is needed because I will change the LG phone modules
to send the phonebook init command and record it against each
passed in port in the phonedetect dict if it isn't already there.
The key added will be something like 'lgphonebookinit' and will
be binary data.
This is what it looks like to give an idea. The 4 bytes preceding
the 'LG-VX...' are the ESN and the actual location of the text
identifier varies by model.
BTW please make sure we don't actually store the ESN anywhere.
It is a relatively private and useful piece of information.
(Imagine there is some spyware that comes along and extracts
it out of where BitPim was keeping it - we'd have done nothing
wrong but still get blamed). We should always make an effort
to obfuscate it, with my preference being to SHA-1 it. That
way you can always tell if you have seen it before, but can't
tell by inspection what it is.
19:57:09.358 LG-VX8000: lg phonebook request Data - 10 bytes
<#! p_lg.pbinforequest !#>
000 ff 15 01 01 00 00 00 00 00 00 ..........
19:57:09.358 LG-VX8000: lg phonebook response Data - 402 bytes
<#! p_lg.pbinforesponse !#>
000 ff 15 01 00 00 00 00 00 58 00 01 01 00 00 01 00 ........X.......
010 00 00 c6 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
020 00 00 00 00 00 00 00 00 f4 01 2c 01 00 00 00 00 ..........,.....
030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4a bc ..............J.
040 20 23 4c 47 2d 56 58 38 30 30 30 43 6f 6e 6e 65 #LG-VX8000Conne
050 63 74 6f 72 00 00 00 00 00 00 00 00 00 00 00 00 ctor............
060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
190 67 00 g.
Roger
In order to do LG phone detect I need one of two things:
- Some way of tying together the modem and diagnostics
ports which show up as different com ports or even
completely different device drivers. This would reqiure
heroic platform specific effort
- Be able to send a LG phonebook command - this is not
the Brew protocol but similar and sent while in Brew mode
The first would be nice since the other AT commands are then
available (eg battery level) but way too hard most of the time.
In order to do the second, please make the following changes:
- Include the comscan information with the dict passed to
detectphone
- Ideally only pass the phone module ports that it considers
ok (ie comdiagnose.islikelyport returns true)
- Run the detectphone function in the worker thread not the
main thead
The last bit is needed because I will change the LG phone modules
to send the phonebook init command and record it against each
passed in port in the phonedetect dict if it isn't already there.
The key added will be something like 'lgphonebookinit' and will
be binary data.
This is what it looks like to give an idea. The 4 bytes preceding
the 'LG-VX...' are the ESN and the actual location of the text
identifier varies by model.
BTW please make sure we don't actually store the ESN anywhere.
It is a relatively private and useful piece of information.
(Imagine there is some spyware that comes along and extracts
it out of where BitPim was keeping it - we'd have done nothing
wrong but still get blamed). We should always make an effort
to obfuscate it, with my preference being to SHA-1 it. That
way you can always tell if you have seen it before, but can't
tell by inspection what it is.
19:57:09.358 LG-VX8000: lg phonebook request Data - 10 bytes
<#! p_lg.pbinforequest !#>
000 ff 15 01 01 00 00 00 00 00 00 ..........
19:57:09.358 LG-VX8000: lg phonebook response Data - 402 bytes
<#! p_lg.pbinforesponse !#>
000 ff 15 01 00 00 00 00 00 58 00 01 01 00 00 01 00 ........X.......
010 00 00 c6 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
020 00 00 00 00 00 00 00 00 f4 01 2c 01 00 00 00 00 ..........,.....
030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4a bc ..............J.
040 20 23 4c 47 2d 56 58 38 30 30 30 43 6f 6e 6e 65 #LG-VX8000Conne
050 63 74 6f 72 00 00 00 00 00 00 00 00 00 00 00 00 ctor............
060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
190 67 00 g.
Roger