<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://maemo.octonezd.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=62.210.148.132</id>
	<title>Maemo Wiki Mirror - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://maemo.octonezd.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=62.210.148.132"/>
	<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php/Special:Contributions/62.210.148.132"/>
	<updated>2026-04-22T10:12:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=N900_GPS_Reverse_Engineering&amp;diff=27509</id>
		<title>N900 GPS Reverse Engineering</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=N900_GPS_Reverse_Engineering&amp;diff=27509"/>
		<updated>2014-08-21T11:53:54Z</updated>

		<summary type="html">&lt;p&gt;62.210.148.132: /* Key */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;acquire packets like:&lt;br /&gt;
 strace -p $(pidof location-daemon) -e read=6 2&amp;gt;&amp;amp;1|grep &#039;| 000&#039;&lt;br /&gt;
&lt;br /&gt;
alternatively you can capture them from the network interface, but this will include other modem information:&lt;br /&gt;
 tcpdump -i phonet0 -s 0 -w phonet.cap&lt;br /&gt;
&lt;br /&gt;
== Packet Graph ==&lt;br /&gt;
&lt;br /&gt;
 | 00000  00 92 01 00 00 00 00 xx  05 00 00 00 09 03 00 10&lt;br /&gt;
          S------------------- T4  DL S-------------------&lt;br /&gt;
 | 00010  07 da 07 15 00 xx xx 00  xx xx 00 00 09 02 00 1c&lt;br /&gt;
          S------------- TL TS --        S----------------&lt;br /&gt;
 | 00020  xx xx xx xx xx xx xx xx  00 00 xx xx 00 00 08 8b&lt;br /&gt;
          DL---       DL--- TS     S----       S---- ^eph^&lt;br /&gt;
 | 00030  xx 00 xx xx xx xx xx xx  09 04 00 14 62 7e xx xx&lt;br /&gt;
             S- DL TS---    DL MS  S---------- track SS---&lt;br /&gt;
 | 00040  xx xx 00 xx xx xx 00 xx  00 xx 00 00 09 05 00 74&lt;br /&gt;
          DL--- S-    TL    S- DS  S- DS S------------- DL&lt;br /&gt;
 | 00050  09 00 00 00 00 02 xx xx  00 xx xx xx xx xx 00 00&lt;br /&gt;
          DL S---------- T4--- MS  S- TS--- I  TS MI S----&lt;br /&gt;
 | 00060  00 04 xx xx xx xx xx xx  xx xx 00 00 00 xx xx xx&lt;br /&gt;
          S- T4 T3 TS S- TL TS MS  TS MD S------- T4 TS---&lt;br /&gt;
 | 00070  00 xx xx xx xx xx 00 00  00 xx xx xx 00 03 xx xx&lt;br /&gt;
          S- TS--- I  TS MS S-------- T3 MS MS S- DL TS MS&lt;br /&gt;
 | 00080  xx xx 00 00 00 xx xx xx  00 xx xx xx xx xx 00 00&lt;br /&gt;
          TS MD S------- T3 TS MS  S- TS--- MS TS MI S----&lt;br /&gt;
 | 00090  00 xx xx xx 00 03 xx xx  xx xx 00 00 00 xx xx xx&lt;br /&gt;
          S- TS------ S- DL TS MD  TS MS S------- TS SS+TS&lt;br /&gt;
 | 000a0  00 xx xx xx xx xx 00 00  00 xx xx xx 00 xx xx xx&lt;br /&gt;
          S- TL TS MS TS MD S-------- TS------ S- TL TS MI&lt;br /&gt;
 | 000b0  xx xx 00 00 00 xx xx xx  00 xx xx xx xx xx 00 00&lt;br /&gt;
          TS--- S------- TS--- MS  S- TS--- MI TS MS S----&lt;br /&gt;
 | 000c0  09 08 00 0c xx xx xx xx  xx xx xx xx&lt;br /&gt;
          DL----------------------------------&lt;br /&gt;
&lt;br /&gt;
comment2, http://fawanbydaba.jimdo.com achat cialis allemagne,  8]]], http://peaarepelth.soup.io/ achat cialis canada,  :OOO, http://adullact.net/tracker/download.php/169/755/7506/2886/how-can-i-get-my-boyfriend-to-last-longer-in-bed-how-can-i-last-longer-during-intercourse-how-can-i-last-longer-sexually-how-can-i-make-my-boyfriend-last-longer-in-bed-how-can-i-prevent-premature-ejaculation.html how can i get my boyfriend to last longer in bed,  &amp;gt;:-PPP, http://adullact.net/tracker/download.php/169/755/7507/2888/how-do-you-make-yourself-last-longer-in-bed-how-last-longer-in-bed-naturally-how-long-average-man-last-in-bed-how-long-can-a-girl-last-in-bed-how-long-do-guys-usually-last-in-bed.html how long do guys usually last in bed,  243571, http://beaateshric.jimdo.com commander cialis 20mg,  991660, http://mineaegodrva.eklablog.com acheter cialis canada,  hjztlz, http://adullact.net/tracker/download.php/169/755/7513/2921/how-to-get-your-man-to-last-longer-how-to-help-a-man-last-longer-in-bed-how-to-help-him-last-longer-how-to-last-longer-havingsex-how-to-last-longer-in.html how to help him last longer,  8-DDD, http://odeatelotem.eklablog.com acheter cialis moins cher,  5152, http://sabargodina.eklablog.com vente cialis generique,  %-), http://adullact.net/tracker/download.php/169/755/7513/2920/how-to-combat-premature-ejaculation-how-to-control-premature-ejaculation-video-how-to-delay-ejaculation-in-men-naturally-how-to-fix-premature-ejaculation-naturally-how-to-get-him-to-last-longer.html how to combat premature ejaculation,  98738, http://gwyanhitnew.jimdo.com cialis original prix,  dxtlea, http://adullact.net/tracker/download.php/169/755/7510/2902/premature-ejaculation-program-premature-ejaculation-statistics-premature-ejaculation-stop-premature-ejaculation-test-premature-ejaculation-trainer.html premature ejaculation test,  iuqkwa, http://beaateshric.jimdo.com commander cialis achat,  tqxo, http://adullact.net/tracker/download.php/169/755/7510/2906/what-causes-premature-ejaculation-in-young-men-what-condoms-make-you-last-longer-what-is-premature-ejaculation-yahoo-what-to-eat-to-last-longer-in-bed-why-cant-i-last-longer-in-bed.html why cant i last longer in bed,  ynrytj, http://traacghtyfi.jimdo.com cialis pilule bleue,  817946, http://adullact.net/tracker/download.php/169/755/7511/2908/can-you-get-pregnant-from-premature-ejaculation-does-weed-make-you-last-longer-in-bed-does-working-out-help-you-last-longer-in-bed-does-xanax-make-you-last-longer-in-bed-don%27t-last-long-in-bed.html does working out help you last longer in bed,  vkm,&lt;br /&gt;
&lt;br /&gt;
== Packet Analysis ==&lt;br /&gt;
*??? = mode: The mode of the fix &lt;br /&gt;
*??? = fields: A bitfield representing which items of this tuple contain valid data&lt;br /&gt;
*00 = ISI sequence ID (seems to be always 0 for GPS)&lt;br /&gt;
*01 = GPS Data Opcode (0x92)&lt;br /&gt;
*10,11 = time year&lt;br /&gt;
*12 = time month&lt;br /&gt;
*13 = time day&lt;br /&gt;
*15 = time hour&lt;br /&gt;
*16 = time minute&lt;br /&gt;
*18,19 = time seconds and milliseconds (in milliseconds)&lt;br /&gt;
*1a,1b = *probably* ept: Time accuracy, but *always* 0, so no way to verify&lt;br /&gt;
*20,21,22,23 = latitude / 360 * 256*256*256*256&lt;br /&gt;
*24,25,26,27 = longitude / 360 * 256*256*256*256&lt;br /&gt;
*28 =&lt;br /&gt;
*2b,2c = 0590-12a9 (hex)&lt;br /&gt;
*2e,2f = eph (cm)&lt;br /&gt;
*30 =&lt;br /&gt;
*32,33,,36,37 = altitude; ((p32;33) - (p36;37)) / 2 = meters&lt;br /&gt;
*(34?,)35 = (double epv: Vertical position accuracy) * 2&lt;br /&gt;
*3c,3d = track: Direction of motion in hundredths of a degree&lt;br /&gt;
*3e,3f = epd: Track accuracy (in hundredths?)&lt;br /&gt;
*42,43 = speed, in centimetres per second&lt;br /&gt;
*44,45 = eps: speed accuracy, in centimetres per second&lt;br /&gt;
*46,47 = climb: Current rate of climb in cm/s&lt;br /&gt;
*48,4a = epc: Climb accuracy, in cm/s&lt;br /&gt;
&lt;br /&gt;
== Protocol Details ==&lt;br /&gt;
&lt;br /&gt;
NOTE: I am counting octets based on zero.&lt;br /&gt;
&lt;br /&gt;
The actual packets are comprised of &amp;quot;sub-packets&amp;quot;.&lt;br /&gt;
The overall packet has a 12 byte header.&lt;br /&gt;
The number of sub-packets is located at octet 8 (and possibly little-endian extended to octet 11).&lt;br /&gt;
&lt;br /&gt;
Each subpacket has a 4 byte header:&lt;br /&gt;
* Octet 0 is always 9&lt;br /&gt;
* Octet 1 is the subpacket type&lt;br /&gt;
* Octet 2 is always 0&lt;br /&gt;
* Octet 3 is the length of the subpacket (which includes the subpacket header itself)&lt;br /&gt;
&lt;br /&gt;
Subpacket 2 contains position information:&lt;br /&gt;
* Octets 0-3 are the latitude&lt;br /&gt;
* Octets 4-7 are the longitude&lt;br /&gt;
* Octets 12-15 are &amp;quot;eph&amp;quot; (in centimetres)&lt;br /&gt;
* Octets 18-23 are the altitude (and accuracy information)&lt;br /&gt;
&lt;br /&gt;
Subpacket 3 contains date and time information:&lt;br /&gt;
* Octets 0-1 are the year&lt;br /&gt;
* Octet 2 is the month&lt;br /&gt;
* Octet 3 is the day of month&lt;br /&gt;
* Octet 5 is the hour&lt;br /&gt;
* Octet 6 is the minute&lt;br /&gt;
* Octets 8-9 are milliseconds (including seconds)&lt;br /&gt;
* Octets 10-11 are the time accuracy&lt;br /&gt;
&lt;br /&gt;
Subpacket 4 contains information on track, speed, and climb:&lt;br /&gt;
* Octets 0-1 are track (direction of motion) in cm/sec&lt;br /&gt;
* Octets 2-3 are the track accuracy&lt;br /&gt;
* Octets 6-7 are the speed in cm/sec&lt;br /&gt;
* Octets 8-9 are speed accuracy&lt;br /&gt;
* Octets 8-11 are climb in cm/sec&lt;br /&gt;
* Octets 12-13 are climb accuracy&lt;br /&gt;
&lt;br /&gt;
Subpacket 5 contains satellite information:&lt;br /&gt;
* Octet 0 is the number of sats visible&lt;br /&gt;
* Beginning with octet 8, there are series of 12-octet info for each sat visible:&lt;br /&gt;
** Octet 1 is the PRN&lt;br /&gt;
** Octet 2 is 1 if the sat is being used, and 0 otherwise&lt;br /&gt;
** Octets 3-4 are the signal strength&lt;br /&gt;
** Octets 6-7 are the elevation&lt;br /&gt;
** Octets 8-9 are the azimuth&lt;br /&gt;
&lt;br /&gt;
Subpacket 7 contains information on the GSM cellular network:&lt;br /&gt;
** Octets 0-1 contain the Mobile Country Code&lt;br /&gt;
** Octets 2-3 contain the Mobile Network Code&lt;br /&gt;
** Octets 4-5 contain the Location Area Code&lt;br /&gt;
** Octets 6-7 contain the Cell ID&lt;br /&gt;
&lt;br /&gt;
Subpacket 8 contains information on the WCDMA cellular network:&lt;br /&gt;
** Octets 0-1 contain the Mobile Country Code&lt;br /&gt;
** Octets 2-3 contain the Mobile Network Code&lt;br /&gt;
** Octets 4-7 contain the UC ID&lt;br /&gt;
&lt;br /&gt;
== Wireshark ==&lt;br /&gt;
&lt;br /&gt;
[[User:sre|Sebastian Reichel]] writes a lowlevel library to access the N900&#039;s modem features and a wireshark plugin to analyze the packages. The information from above is currently only included in the Wireshark Plugin:&lt;br /&gt;
&lt;br /&gt;
* [http://elektranox.org/n900/images/wireshark/04.png Screenshot]&lt;br /&gt;
* [https://git.ring0.de/isi-wireshark-plugin/ Plugin]&lt;br /&gt;
&lt;br /&gt;
[http://maemo.org/profile/view/luke-jr Luke Dashjr] wrote small program in C which show GPS data from phonet modem stack.&lt;br /&gt;
&lt;br /&gt;
* [http://luke.dashjr.org/tmp/code/gps2.c gps2.c]&lt;br /&gt;
&lt;br /&gt;
[[Category:N900 Hardware]]&lt;/div&gt;</summary>
		<author><name>62.210.148.132</name></author>
	</entry>
</feed>