http://wiki.openmoko.org/api.php?action=feedcontributions&user=Sagacis&feedformat=atomOpenmoko - User contributions [en]2024-03-19T13:18:55ZUser contributionsMediaWiki 1.19.24http://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-03-08T02:35:46Z<p>Sagacis: /* The Executable */ New version 13, which runs</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS STARTED (in Ottawa)'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and is being shipped around North America and the results will be posted here as they are gathered.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
==Test Locations in USA==<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Bands: 850/1900<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Steve S<br />
**** Area: Greater Orlando Area up to North Central Florida<br />
**** Provider: Cingular/ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: Cingular SIM from the GAIT/GSM roll out & New ATT USIM<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Bands: [http://www.gsmworld.com/cgi-bin/ni_map.pl?x=17&y=14&z=3&cc=us&net=b2 850] / [http://www.gsmworld.com/cgi-bin/ni_map.pl?x=17&y=14&z=3&cc=us&net=be 1900]<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
*** OpenMoko Team<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: WORKS<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
<br />
**New Jersey http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** GSM Area: 850Mhz Only<br />
**** Result: Works <br />
**** Test Call: Successful <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
***Chris E.<br />
**** Area: Columbus/Dayton <br />
**** GSM Area: 850Mhz Only<br />
**** Provider Tested: AT&T<br />
**** Result: Works<br />
**** Test Call: Successful<br />
**** SIM Model #:Non-3G Model number worn off<br />
<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Josh T.<br />
**** Area: Hillsboro, will test other areas in greater Portland<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Pennsylvania http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley<br />
**** Provider Tested: AT&T<br />
**** GSM Area: 850Mhz Only<br />
**** Result: Works <br />
**** Test Call: Successful <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** GSM Area: 850/1900<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** GSM Area/Band: 850Mhz Only.<br />
**** Result: Works<br />
**** Test Call: Successful <br />
**** SIM Model #: 89007xxxxxxxxxxx<br />
<br />
==Test Locations in Canada'==<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Gerald A<br />
**** Area: Greater Toronto and Corridors around Ontario<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers and Fido<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Bands: 850/1900 (It may be possible to find some 850MHz only locations if going outside the urban area. When looking at the transmitters map, there are some 850MHz only towers)<br />
**** Provider Tested: Rogers<br />
**** Result: '''Test In Progress'''<br />
**** Test Call: Successful<br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
Was useless and I deleted it<br />
See app below, its great<br />
and now shows cell tower info<br />
--KrisAbsinthe<br />
<br />
== The Executable ==<br />
<br />
I've created a native openmoko gui application to display the gsm and gps information and log to a file.<br />
<br />
[[Image:Dashboard-1.png]]<br />
<br />
gsmd only gives us operator name, signal strength and connection status. We cannot currently get band, but the app now shows Cell ID so we might be able to tell when we switch towers. gpsd didn't give me what I needed, so the program watches /dev/nmeaNP instead. You will need to launch gllin manually.<br />
<br />
Give it a shot and give me feedback. Version 0.13 is available as [http://sagacis.doesntexist.com/projects/openmoko-dashboard_0.13_src.tar.gz source tarball] and as [http://sagacis.doesntexist.com/projects/openmoko-dashboard_0.13_armv4t.ipk ipk installer]. --[[User:Sagacis|Sagacis]] 03:35, 8 March 2008 (CET)<br />
Version 0.13 reminds you to start gllin and doesn't segfault.<br />
<br />
I added a git repository for the code at http://sagacis.doesntexist.com/projects/mokoprojects.git --[[User:Sagacis|Sagacis]] 06:19, 6 March 2008 (CET)<br />
<br />
Usage notes:<br />
* gllin MUST be started manually (execute "gllin" from terminal)<br />
* Log file is /home/root/dashboard.log<br />
--[[User:Jmichel|Jmichel]] 17:51, 5 March 2008 (CET)<br />
<br />
[[Category:Neo1973 Phase 1 related]]</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-03-07T02:11:38Z<p>Sagacis: /* The Executable */ updated version available.</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS STARTED (in Ottawa)'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and is being shipped around North America and the results will be posted here as they are gathered.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
==Test Locations in USA==<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Bands: 850/1900<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Steve S<br />
**** Area: Greater Orlando Area up to North Central Florida<br />
**** Provider: Cingular/ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: Cingular SIM from the GAIT/GSM roll out & New ATT USIM<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Bands: [http://www.gsmworld.com/cgi-bin/ni_map.pl?x=17&y=14&z=3&cc=us&net=b2 850] / [http://www.gsmworld.com/cgi-bin/ni_map.pl?x=17&y=14&z=3&cc=us&net=be 1900]<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
*** OpenMoko Team<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: WORKS<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
<br />
**New Jersey http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** GSM Area: 850Mhz Only<br />
**** Result: Works <br />
**** Test Call: Successful <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
***Chris E.<br />
**** Area: Columbus/Dayton <br />
**** GSM Area: 850Mhz Only<br />
**** Provider Tested: AT&T<br />
**** Result: Works<br />
**** Test Call: Successful<br />
**** SIM Model #:Non-3G Model number worn off<br />
<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Josh T.<br />
**** Area: Hillsboro, will test other areas in greater Portland<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Pennsylvania http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley<br />
**** Provider Tested: AT&T<br />
**** GSM Area: 850Mhz Only<br />
**** Result: Works <br />
**** Test Call: Successful <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** GSM Area: 850/1900<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** GSM Area/Band: 850Mhz Only.<br />
**** Result: Works<br />
**** Test Call: Successful <br />
**** SIM Model #: 89007xxxxxxxxxxx<br />
<br />
==Test Locations in Canada'==<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Gerald A<br />
**** Area: Greater Toronto and Corridors around Ontario<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers and Fido<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Bands: 850/1900 (It may be possible to find some 850MHz only locations if going outside the urban area. When looking at the transmitters map, there are some 850MHz only towers)<br />
**** Provider Tested: Rogers<br />
**** Result: '''Test In Progress'''<br />
**** Test Call: Successful<br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
Was useless and I deleted it<br />
See app below, its great<br />
and now shows cell tower info<br />
--KrisAbsinthe<br />
<br />
== The Executable ==<br />
<br />
I've created a native openmoko gui application to display the gsm and gps information and log to a file.<br />
<br />
[[Image:Dashboard-1.png]]<br />
<br />
gsmd only gives us operator name, signal strength and connection status. We cannot currently get band, but the app now shows Cell ID so we might be able to tell when we switch towers. gpsd didn't give me what I needed, so the program watches /dev/nmeaNP instead. You will need to launch gllin manually.<br />
<br />
Give it a shot and give me feedback. Version 0.12 is available as [http://sagacis.doesntexist.com/projects/openmoko-dashboard_0.12_src.tar.gz source tarball] and as [http://sagacis.doesntexist.com/projects/openmoko-dashboard_0.12_armv4t.ipk ipk installer]. --[[User:Sagacis|Sagacis]] 03:11, 7 March 2008 (CET)<br />
Version 0.12 reminds you to start gllin and doesn't segfault.<br />
<br />
I added a git repository for the code at http://sagacis.doesntexist.com/projects/mokoprojects.git --[[User:Sagacis|Sagacis]] 06:19, 6 March 2008 (CET)<br />
<br />
Usage notes:<br />
* gllin MUST be started otherwise openmoko-dashboard will segfault (execute "gllin" from terminal)<br />
* Log file is /home/root/dashboard.log<br />
--[[User:Jmichel|Jmichel]] 17:51, 5 March 2008 (CET)<br />
<br />
[[Category:Neo1973 Phase 1 related]]</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-03-06T05:19:52Z<p>Sagacis: /* The Executable */</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS STARTED (in Ottawa)'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and is being shipped around North America and the results will be posted here as they are gathered.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
==Test Locations in USA==<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Bands: 850/1900<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Steve S<br />
**** Area: Greater Orlando Area up to North Central Florida<br />
**** Provider: Cingular/ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: Cingular SIM from the GAIT/GSM roll out & New ATT USIM<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Bands: [http://www.gsmworld.com/cgi-bin/ni_map.pl?x=17&y=14&z=3&cc=us&net=b2 850] / [http://www.gsmworld.com/cgi-bin/ni_map.pl?x=17&y=14&z=3&cc=us&net=be 1900]<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
*** OpenMoko Team<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: WORKS<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
<br />
**New Jersey http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** GSM Area: 850Mhz Only<br />
**** Result: Works <br />
**** Test Call: Successful <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
***Chris E.<br />
**** Area: Columbus/Dayton <br />
**** GSM Area: 850Mhz Only<br />
**** Provider Tested: AT&T<br />
**** Result: Works<br />
**** Test Call: Successful<br />
**** SIM Model #:Non-3G Model number worn off<br />
<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Josh T.<br />
**** Area: Hillsboro, will test other areas in greater Portland<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Pennsylvania http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley<br />
**** Provider Tested: AT&T<br />
**** GSM Area: 850Mhz Only<br />
**** Result: Works <br />
**** Test Call: Successful <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** GSM Area: 850/1900<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** GSM Area/Band: 850Mhz Only.<br />
**** Result: Works<br />
**** Test Call: Successful <br />
**** SIM Model #: 89007xxxxxxxxxxx<br />
<br />
==Test Locations in Canada'==<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Gerald A<br />
**** Area: Greater Toronto and Corridors around Ontario<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers and Fido<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Bands: 850/1900 (It may be possible to find some 850MHz only locations if going outside the urban area. When looking at the transmitters map, there are some 850MHz only towers)<br />
**** Provider Tested: Rogers<br />
**** Result: '''Test In Progress'''<br />
**** Test Call: Successful<br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
Was useless and I deleted it<br />
See app below, its great<br />
and now shows cell tower info<br />
--KrisAbsinthe<br />
<br />
== The Executable ==<br />
<br />
I've created a native openmoko gui application to display the gsm and gps information and log to a file.<br />
<br />
[[Image:Dashboard-1.png]]<br />
<br />
gsmd only gives us operator name, signal strength and connection status. We cannot currently get band, but the app now shows Cell ID so we might be able to tell when we switch towers. gpsd didn't give me what I needed, so the program watches /dev/nmeaNP instead. You will need to launch gllin manually.<br />
<br />
Give it a shot and give me feedback. Version 0.11 is available as [http://sagacis.doesntexist.com/projects/openmoko-dashboard_0.11_src.tar.gz source tarball] and as [http://sagacis.doesntexist.com/projects/openmoko-dashboard_0.11_armv4t.ipk ipk installer]. --[[User:Sagacis|Sagacis]] 06:52, 28 January 2008 (CET)<br />
<br />
I added a git repository for the code at http://sagacis.doesntexist.com/projects/mokoprojects.git --[[User:Sagacis|Sagacis]] 06:19, 6 March 2008 (CET)<br />
<br />
Usage notes:<br />
* gllin MUST be started otherwise openmoko-dashboard will segfault (execute "gllin" from terminal)<br />
* Log file is /home/root/dashboard.log<br />
--[[User:Jmichel|Jmichel]] 17:51, 5 March 2008 (CET)<br />
<br />
[[Category:Neo1973 Phase 1 related]]</div>Sagacishttp://wiki.openmoko.org/wiki/Neo_1973_and_Neo_FreeRunner_gsm_modemNeo 1973 and Neo FreeRunner gsm modem2008-03-06T03:40:43Z<p>Sagacis: /* Serving Cell Information (2,1) */ - fix typo</p>
<hr />
<div>This page is about the [[Neo1973]] GTA01 (and GTA02) GSM Modem, based on the Ti Calypso chipset.<br />
<br />
== [[Hardware:AT Commands|AT command]] interface ==<br />
<br />
=== Sending Commands ===<br />
To send commands to the GSM modem, you may use <br />
cu -l /dev/ttySAC0<br />
or use gsmd and libgsmd-tool for a less direct method.<br />
<br />
If you connect directly (via cu) you must `chown uucp.uucp /dev/ttySAC0` first since cu is picky about permissions.<br />
<br />
libgsmd-tool is less functional than the direct raw connection to the modem.<br />
<br />
{| <br />
Note: If you use cu -l /dev/ttySAC0 to enter commands, type "~." to quit <br />
|}<br />
<br />
=== Standard AT commands ===<br />
The GSM modem follows GSM TS07.05, 07.07 and 07.10 very closely.<br />
<br />
FIXME: Describe how those documents can be obtained.<br />
<br />
=== TI proprietary AT commands ===<br />
<br />
there are a few of them, but none of them are really required for regular operation of the device. Due to NDA issues, OpenMoko cannot provide a reference documentation to those commands. Using the standards-compliant '''AT+CLAC''', you will notice that the non-standard commands also show up in the command listing.<br />
<br />
You will also notice that those non-standard commands are prefixed with '''AT%''' rather than '''AT+''' for the standards-compliant commands.<br />
<br />
Thus, we welcome our user and developer community to play with those commands and document them here. Since we never have released any NDA documentation to our community, there is no legal issue.<br />
<br />
Note that the syntax and the interpretation of the output of the commands listed here are only educated guesses and should not be relied on. Part of the proprietary command set has identical or similar usage as on other modems in the market, some of which have fully opened specifications and information about these commands can be taken from their datasheets (some known similar modems with open specs: ''BenQ M22A'' and ''M23A'', ''Enfora Enabler-G II/III'' and ''SPT 1834'').<br />
<br />
==== AT%VER ====<br />
Prints the firmware component versions.<br />
<br />
The modem's response looks like this on an un-updated phase-0 [[Neo1973_Hardware#GTA01Bv4|GTA01Bv4]] phone:<br />
<br />
%VER: aci sean non_clearcase 15:11:24 17/04/07<br />
%VER: cc a086 ** NONE ** 10:16:39 28/03/07<br />
%VER: dl a086 ** NONE ** 10:17:34 28/03/07<br />
%VER: mm a086 ** NONE ** 10:23:09 28/03/07<br />
%VER: rr a086 ** NONE ** 10:25:37 28/03/07<br />
%VER: sim a086 ** NONE ** 10:26:45 28/03/07<br />
%VER: sms a086 ** NONE ** 10:27:21 28/03/07<br />
%VER: ss a086 ** NONE ** 10:28:52 28/03/07<br />
%VER: alr a086 ** NONE ** 10:15:48 28/03/07<br />
%VER: l2r a086 ** NONE ** 10:21:37 28/03/07<br />
%VER: ra a086 ** NONE ** 10:25:01 28/03/07<br />
%VER: rlp a086 ** NONE ** 10:25:12 28/03/07<br />
%VER: fad a086 ** NONE ** 10:18:09 28/03/07<br />
%VER: t30 a086 ** NONE ** 10:29:01 28/03/07<br />
<br />
For a [[Neo1973_Hardware#GTA01Bv4|GTA01Bv4]] phase 1 phone, produced start of september:<br />
<br />
%VER: aci sean non_clearcase 12:32:56 24/08/07<br />
%VER: cc a086 ** NONE ** 14:07:10 08/06/07<br />
%VER: dl a086 ** NONE ** 14:07:46 08/06/07<br />
%VER: mm a086 ** NONE ** 14:11:52 08/06/07<br />
%VER: rr a086 ** NONE ** 14:13:01 08/06/07<br />
%VER: sim a086 ** NONE ** 14:13:54 08/06/07<br />
%VER: sms a086 ** NONE ** 14:14:20 08/06/07<br />
%VER: ss a086 ** NONE ** 14:15:52 08/06/07<br />
%VER: alr a086 ** NONE ** 14:06:38 08/06/07<br />
%VER: l2r a086 ** NONE ** 14:10:36 08/06/07<br />
%VER: ra a086 ** NONE ** 14:12:32 08/06/07<br />
%VER: rlp a086 ** NONE ** 14:12:40 08/06/07<br />
%VER: fad a086 ** NONE ** 14:08:06 08/06/07<br />
<br />
For a [[Neo1973_Hardware#GTA01Bv3|GTA01Bv3]] phase 0 phone:<br />
<br />
%VER: aci sean non_clearcase 10:46:06 29/08/06<br />
%VER: cc a086 non_clearcase 14:53:59 28/08/06<br />
%VER: dl a086 non_clearcase 14:54:40 28/08/06<br />
%VER: mm a086 non_clearcase 14:59:25 28/08/06<br />
%VER: rr a086 non_clearcase 15:00:11 28/08/06<br />
%VER: sim a086 non_clearcase 15:00:57 28/08/06<br />
%VER: sms a086 non_clearcase 15:01:23 28/08/06<br />
%VER: ss a086 non_clearcase 15:02:22 28/08/06<br />
%VER: alr a086 non_clearcase 14:53:19 28/08/06<br />
%VER: l2r a086 non_clearcase 14:58:02 28/08/06<br />
%VER: ra a086 non_clearcase 14:59:50 28/08/06<br />
%VER: rlp a086 non_clearcase 14:59:56 28/08/06<br />
%VER: fad a086 non_clearcase 14:55:04 28/08/06<br />
%VER: t30 a086 non_clearcase 15:02:27 28/08/06<br />
<br />
The second column lists firmware component names (e.g. aci = AT Command Interface). The third column is the user name of the engineer who last modified given component. The rightmost column is probably the last time someone worked on it (Please note that the name 'sean' here is not Sean Moss-Pultz :) while a086 is an anonymous TI engineer's nick, meaning that the component has not been modified at FIC).<br />
<br />
==== AT%A ====<br />
Print values from an ADC.<br />
<br />
This command is not listed in AT+CLAC output but it is triggered by any input that starts with AT%A except AT%ALS (''Alternative Line Service'') and AT%ATR, which are other proprietary AT commands. So for example AT%ABCD,HELLO will also run this commands. On my Neo modem it prints a line containing nine values of the form ADC <number> = <value>:<br />
<br />
AT%A<br />
EXT: I<br />
ADC 0 = e19, ADC 1 = 0, ADC 2 = d, ADC 3 = 6ea, ADC 4 = a25, ADC 5 = 9fc, ADC 6 = 96d, ADC 7 = 0, ADC 8 = 6<br />
<br />
It would seem there's an ADC (analog-to-digital converter) module in the modem with nine input lines connected to it and the values on these lines are reported by this command in hexadecimal format. The values change over time. Inputs 1 and 7 always show zero on my modem, input 1 value changes slightly (+/- 20), while values on inputs 3, 4, 5, 6 and 8 change seemingly randomly in the range 0x000 - 0xfff (it would seem the chip is 12-bit).<br />
<br />
==== AT%NRG ====<br />
The AT%NRG (''Network registration and service selection'') is an expansion of the AT+COPS command. It allows specifying the service state of the registration, in addition to AT+COPS functionality. It doesn't however allow listing all present operators (use AT+COPS for this).<br />
<br />
==== AT%EM ====<br />
Execution of ''Engineering Mode'' commands. Allows viewing the information accessible to the modem but not available through standard GSM AT commands set such as detailed information on the current Serving Cell (the one we're registered with), its neighbouring cells, the GPRS/EDGE availability and SIM card data.<br />
<br />
Citing Enfora Inc. Application Note EDG0108TN01:<br />
''The purpose of Engineering Mode (EM) is to provide means to observe the behavior of the mobile station and the settings of the network as counterpart and therefore defines a lot of possibilities to analyze the network. The EM can be used for observation of a defined data set during functional test and field test.''<br />
<br />
''Warning: The display of certain parameters is dependent on the wireless network sending the correct information in the System Information Packets. There is no guaranty that the information is always forwarded from the network. At times data may not be present to display in the Engineering Mode responses.''<br />
<br />
Syntax:<br />
AT%EM=<mode>,<command><br />
Allowed <mode> values:<br />
* 2 - AT command mode<br />
* 3 - PCO mode<br />
I only describe the AT mode commands here. Commands are in range 1 to 13:<br />
AT%EM=2,1 Serving Cell Information<br />
AT%EM=2,2 Serving Cell GPRS Information<br />
AT%EM=2,3 Neighbour Cell Information<br />
AT%EM=2,4 Location and Paging Parameters<br />
AT%EM=2,5 PLMN Parameters<br />
AT%EM=2,6 Ciphering, Hopping, DTX Parameters<br />
AT%EM=2,7 Power Parameters<br />
AT%EM=2,8 Identity Parameters<br />
AT%EM=2,9 Firmware components versions<br />
AT%EM=2,10 GMM Information<br />
AT%EM=2,11 GRLC Information<br />
AT%EM=2,12 AMR Configuration Information<br />
AT%EM=2,13 PDP Information<br />
<br />
===== Serving Cell Information (2,1) =====<br />
Response format:<br />
%EM: <afrcn>,<c1>,<c2>,<rxlev>,<bsic>,<cell_id>,<dsc>,<txlev>,<tn>,<rlt>,<tav>,<rxlev_f>,<rxlev_s>,<rxqual_f>,<rxqual_s>,<lac>,<cba>,<cbq>,<cell_type_ind>,<vocoder><br />
{|<br />
! Parameter no. !! Name !! Meaning !! Remarks<br />
|-<br />
|1 || arfcn || Current Channel Number ||<br />
|-<br />
|2 || c1 || Path Loss Criterion C1 ||<br />
|-<br />
|3 || c2 || Cell-reselection Criterion C2 ||<br />
|-<br />
|4 || rxlev || Received Field Strength || (rxlev/2)+2 gives the AT+CSQ response value<br />
|-<br />
|5 || bsic || Base Station ID Code ||<br />
|-<br />
|6 || cell_id || Cell Indentifier ||<br />
|-<br />
|7 || dsc || Downlink Signaling Counter || current counter value<br />
|-<br />
|8 || txlev || Transmit Power Level ||<br />
|-<br />
|9 || tn || Timeslot Number ||<br />
|-<br />
|10 || rlt || Radio Link Timeout Counter ||<br />
|-<br />
|11 || tav || Timing Advance ||<br />
|-<br />
|12 || rxlev_f || Received Field Strength full ||<br />
|-<br />
|13 || rxlev_s || Received Field Strength sub ||<br />
|-<br />
|14 || rxqual_f || Received Quality full ||<br />
|-<br />
|15 || rxqual_s || Received Quality sub ||<br />
|-<br />
|16 || lac || Location Area Code ||<br />
|-<br />
|17 || cba || Cell Bar Access ||<br />
|-<br />
|18 || cbq || Cell Bar Qualifier ||<br />
|-<br />
|19 || Cell_type_ind || Cell Type Indicator || NA/GSM/GPRS<br />
|-<br />
|20 || vocoder || Vocoder || Sig/speech/efr/amr/14.4/9.6/4.8/2.4<br />
|}<br />
<br />
According to http://www.qrctech.com/freq_chart_24x36.pdf, frequencies can be calculated using the arfcn field like this:<br />
if 172 < arfcn < 252 then freq = 869 + (arfcn -127) x 0.2 MHz # 850 band <br />
if 511 < arfcn < 811 then freq = 1930 + (arfcn - 511) x 0.2 MHz # 1900 band<br />
if 1 < arfcn < 124 then freq = 935 + (arfcn * 0.2) MHz # 900 band (original alloc)<br />
if 974 < arfcn < 1023 then freq = 925 + (arfcn - 974) x 0.2 MHz # 900 band E-GSM<br />
if 511 < arfcn < 886 then freq = 1805 + (arfcn - 511) x 0.2 MHz # 1800 band<br />
<br />
Notice the 1800 and 1900 bands have the same channel ids and nearly the same algorithm with a different starting point.<br />
<br />
===== Serving Cell GPRS Information (2,2) =====<br />
Response format:<br />
%EM: <nts>,<nmo>,<spgc_ccch_sup>,<priority_access_thr>,<cba>,<rac>,<tav>,<dsc>,<c31>,<c32>,<band_ind>,<pfc_supp_n_w>,<ccn_mode_sts>,<Psi_sts_suppt>,<edge_support>,<epcr_support>,<bep_period>,<bss_paging_coord><br />
{|<br />
! Parameter no. !! Name !! Meaning !! Remarks<br />
|-<br />
|1 || nts || PCCCH_TIMESLOT || Number of downlink timeslots<br />
|-<br />
|2 || nmo || Network Mode of Operation ||<br />
|-<br />
|3 || spgc_ccch_sup || Network Control-spgc_ccch_sup || Network support for split paging<br />
|-<br />
|4 || priority_access_thr || Network Control-Priority_Access_Threshold || packet access to the NW according to priority level<br />
|-<br />
|5 || cba || Cell Bar Access ||<br />
|-<br />
|6 || rac || Routing Area Code ||<br />
|-<br />
|7 || tav || Timing Advance ||<br />
|-<br />
|8 || dsc || Downlink Signal Counter ||<br />
|-<br />
|9 || c31 || Cell-reselect Criterion C31 ||<br />
|-<br />
|10 || c32 || Cell-reselect Criterion C32 ||<br />
|-<br />
|11 || band_ind || Band Indicator ||<br />
|-<br />
|12 || pfc_supp_n_w || PFC Support ||<br />
|-<br />
|13 || ccn_mode_sts || CCN Mode ||<br />
|-<br />
|14 || Psi_sts_suppt || PSI Support ||<br />
|-<br />
|15 || edge_support || EDGE Support ||<br />
|-<br />
|16 || epcr_support || EPCR Support ||<br />
|-<br />
|17 || bep_period || BEP Period ||<br />
|-<br />
|18 || bss_paging_coord || BSS Paging ||<br />
|}<br />
<br />
===== Neighbour Cell Information (2,3) =====<br />
The first line of response is of the format %EM: <number of cells listed>, where the maximum seems to be 6, one cell for each channel. The next sixteen lines list the values of each of the parameters for each of the cells.<br />
{|<br />
! Parameter no. !! Short name !! Meaning !! Remarks<br />
|-<br />
|1 || arfcn || BCCH channel ||<br />
|-<br />
|2 || c1 || Path Loss Criterion C1 ||<br />
|-<br />
|3 || c2 || Cell-reselection Criterion C2 ||<br />
|-<br />
|4 || rxlev || Received Field Strength || (rxlev/2)+2 gives the AT+CSQ response value<br />
|-<br />
|5 || bsic || Base Station ID Code ||<br />
|-<br />
|6 || cell_id || Cell Indentity ||<br />
|-<br />
|7 || lac || Location Area Code ||<br />
|-<br />
|8 || frame_offset || Frame Offset ||<br />
|-<br />
|9 || time_alignmnt || Time Alignment ||<br />
|-<br />
|10 || cba || Cell Bar Access ||<br />
|-<br />
|11 || cbq || Cell Bar Qualifier ||<br />
|-<br />
|12 || cell_type_ind || Cell Type Indicator || NA/GSM/GPRS<br />
|-<br />
|13 || rac || Routing Area Code ||<br />
|-<br />
|14 || cell_resel_offset || Cell-reselection Offset ||<br />
|-<br />
|15 || temp_offset || Temporary Offset ||<br />
|-<br />
|16 || rxlev_acc_min || Rxlen access min ||<br />
|}<br />
My Neo1973 reports:<br />
AT%EM=2,3<br />
%EM: 6<br />
763,766,771,778,780,773<br />
20,8,14,18,17,8<br />
20,8,14,18,17,8<br />
73,46,54,51,13,12<br />
6753,10951,3531,0,1933,1924<br />
100,100,300,300,300,100<br />
80229,961995,0,1166923,0,2715553<br />
3504,724,0,3724,4,1112<br />
0,0,0,0,0,0<br />
0,0,0,0,0,0<br />
2,2,2,2,2,2<br />
0,0,0,0,0,0<br />
0,0,0,0,0,0<br />
0,0,0,0,0,0<br />
10,10,10,10,10,10<br />
<br />
OK<br />
<br />
===== Location and Paging Parameters (2,4) =====<br />
Response format:<br />
%EM: <bs_pa_mfrms>,<t3212>,<mcc[0]><mcc[1]><mcc[2]>,<mnc[0]><mnc[1]><mnc[2]>,<tmsi><br />
{|<br />
! Parameter no. !! Name !! Meaning<br />
|-<br />
|1 || bs_pa_mfrms || BS PA MFRMS paging repeat period<br />
|-<br />
|2 || t3212 || Periodic location updating interval<br />
|-<br />
|3 || mcc || [http://en.wikipedia.org/wiki/Mobile_country_code Mobile Country Code]<br />
|-<br />
|4 || mnc || [http://en.wikipedia.org/wiki/Mobile_Network_Code Mobile Network Code]<br />
|-<br />
|5 || tmsi || [http://en.wikipedia.org/wiki/TMSI Temporary Mobile Subscriber Identity] (in binary)<br />
|}<br />
The MCC and MNC values are the same values that are used to form the Mobile Operator names used by the standard AT+COPS and AT+COPN commands in numeric format. The TMSI is the same number that [http://wiki.openmoko.org/wiki/GTA01_gsm_modem#Identity_Parameters_.282.2C8.29 AT%EM=2,8] gives, just in a different format.<br />
<br />
===== PLMN Parameters (2,5) =====<br />
Response format:<br />
%EM: <no_creq_max>,<reest_flag>,<txpwr_max>,<rxlev_min>,<rel_cs>,<sgsnr_rel>,<mscr_rel>,<net_rel><br />
{|<br />
! Parameter no. !! Name !! Meaning<br />
|-<br />
|1 || no_creq_max || Max. number or retries for channel requests<br />
|-<br />
|2 || reest_flag || Re-establishment Flag<br />
|-<br />
|3 || txpwr_max || MS TXPWR MAX CCCH<br />
|-<br />
|4 || rxlev_min || Rxlev_access_min<br />
|-<br />
|5 || rel_cs || Release Cause (only the last release cause is remembered)<br />
|-<br />
|6 || sgsnr_rel || SGSNR Release<br />
|-<br />
|7 || mscr_rel || MSCR Release<br />
|-<br />
|8 || net_rel || Network Release Info<br />
|}<br />
===== Ciphering, Hopping, DTX Parameters (2,6) =====<br />
{{todo|Fill in}}<br />
===== Power Parameters (2,7) =====<br />
The output consits of two lines, first line containing 12 comma-separated values and the second line 18 comma-separated values, such as:<br />
AT%EM=2,7<br />
%EM: 1,1,0,0,0,1,1,0,0,0,1,0<br />
6,0,0,0,0,1,1,1,4,0,0,0,0,1,0,0,0,0<br />
<br />
OK<br />
On the first line (called Classmark 2) we have:<br />
{|<br />
! Value no. !! Meaning !! Remarks<br />
|-<br />
|1 || Revision Level ||<br />
|-<br />
|2 || Controlled Early Classmark Sending || 1 means enabled<br />
|-<br />
|3 || A5/1 Encryption algorithm || 0 means available<br />
|-<br />
|4 || RF Power capability ||<br />
|-<br />
|5 || Pseudo-synchronisation capability || 1 means present<br />
|-<br />
|6 || SS Screening Indicator ||<br />
|-<br />
|7 || SMS capability ||<br />
|-<br />
|8 || Frequency capability ||<br />
|-<br />
|9 || Classmark 3 options || 1 means supported<br />
|-<br />
|10 || CM Service Prompt || 1 means supported<br />
|-<br />
|11 || A5/3 Encryption algorithm || 1 means available<br />
|-<br />
|12 || A5/2 Encryption algorithm || 1 means available<br />
|}<br />
On the second line (called Classmark 3) we have:<br />
{|<br />
! Value no. !! Meaning !! Remarks<br />
|-<br />
|1 || Multiband support ||<br />
|-<br />
|2 || A5/7 Encryption algorithm || 1 means available<br />
|-<br />
|3 || A5/6 Encryption algorithm || 1 means available<br />
|-<br />
|4 || A5/5 Encryption algorithm || 1 means available<br />
|-<br />
|5 || A5/4 Encryption algorithm || 1 means available<br />
|-<br />
|6 || Valid Radio capability 2 || ??<br />
|-<br />
|7 || Associated Radio capability 2 ||<br />
|-<br />
|8 || Valid Radio capability 1 || ??<br />
|-<br />
|9 || Associated Radio capability 1 ||<br />
|-<br />
|10 || Valid R Support || ??<br />
|-<br />
|11 || R Support || R-GSM Class<br />
|-<br />
|12 || Valid Multi-slot Class || ??<br />
|-<br />
|13 || Multi-slot Class ||<br />
|-<br />
|14 || Unicode 2 treatment ||<br />
|-<br />
|15 || Extended Measurement capability || 1 means supported<br />
|-<br />
|16 || Valid Switch-measure-value || ??<br />
|-<br />
|17 || Switch-measure-value ||<br />
|-<br />
|18 || Switch-measure-switch-value ||<br />
|}<br />
<br />
===== Identity Parameters (2,8) =====<br />
Response format:<br />
%EM: <imeisv><br />
<imsi><br />
<tmsi><br />
<br />
OK<br />
The IMEISV line contains 20 numbers separated by commas, the numbers on positions 5 to 18 are the digits of the [http://en.wikipedia.org/wiki/IMEI IMEI] number as returned by AT+CGSN. The second line contains another 20 numbers and the numbers on positions 5 to 19 form the digits of your SIM card's [http://en.wikipedia.org/wiki/IMSI IMSI] number, as returned by the AT+CIMI command. The last line contains the [http://en.wikipedia.org/wiki/TMSI Temporary Mobile Subscriber Identity] number in plain format (ten digits).<br />
<br />
===== Firmware components versions (2,9) =====<br />
Prints version information for different components of the modem's firmware. The format and the scope of the information presented is identical to that in [[#AT%VER|AT%VER]] output with the exception that only a subset of all of the components are listed:<br />
AT%EM=2,9<br />
%VER: alr a086 ** NONE ** 10:15:48 28/03/07<br />
%VER: dl a086 ** NONE ** 10:17:34 28/03/07<br />
%VER: rr a086 ** NONE ** 10:25:37 28/03/07<br />
%VER: mm a086 ** NONE ** 10:23:09 28/03/07<br />
%VER: cc a086 ** NONE ** 10:16:39 28/03/07<br />
%VER: ss a086 ** NONE ** 10:28:52 28/03/07<br />
%VER: sim a086 ** NONE ** 10:26:45 28/03/07<br />
%VER: sms a086 ** NONE ** 10:27:21 28/03/07<br />
<br />
OK<br />
===== GMM Information (2,10) =====<br />
{{todo|Fill in}}<br />
===== GRLC Information (2,11) =====<br />
{{todo|Fill in}}<br />
===== AMR Configuration Information (2,12) =====<br />
{{todo|Fill in}}<br />
===== PDP Information (2,13) =====<br />
{{todo|Fill in}}<br />
<br />
=== GSM Modem OpenMoko commands ===<br />
<br />
The Ti calypso GSM Modem firmware has been extended by OpenMoko specific AT<br />
commands. This page documents those commands.<br />
<br />
==== AT@POFF ====<br />
<br />
Powers off the GSM Modem. No parameters/options. <br />
<br />
==== AT@ST ====<br />
<br />
configure the sidetone level for voice calls generated inside the GSM Modem. This should normally be off, since the sidetone in GTA01/GTA02 is generated inside the the [[WM8753|wolfson audio codec]].<br />
<br />
AT@ST?<br />
+ST: -5<br />
OK<br />
AT@ST=?<br />
@ST: (-26,-23,-20,-17,-14,-11,-8,-5,-2,1)<br />
OK<br />
AT@ST="-26"<br />
OK<br />
<br />
-26 means turn off the sidetone totally.<br />
<br />
==== AT@AUL ====<br />
<br />
audio table load.<br />
<br />
AT@AUL="0"<br />
OK<br />
AT@AUL=?<br />
@AUL:(0)<br />
<br />
<br />
This audio table is a collection of audio parameters for GSM calibrated by hardware engineers,<br />
<br />
Mode of microphone<br />
Gain of microphone<br />
FM PGA gain setting<br />
Bias setting for microphone<br />
FIR coefficients<br />
ANR parameters<br />
Level of side tone<br />
AEC parameters<br />
Echo suppressor<br />
Mode of speaker<br />
Gain of speaker<br />
Extra gain for AUDIO_SPEAKER_HANDSET and AUDIO_SPEAKER_HANDFREE modes<br />
Enable/Disable filter<br />
Enable/Disable high-pass filter<br />
FIR coefficients<br />
IIR uplink/downlink coefficients<br />
Limiter parameters<br />
Level of speaker<br />
Mode of speaker<br />
State of speaker<br />
Sampling frequency<br />
Level of volume <br />
AGC parameters<br />
DRC parameters<br />
<br />
The audio table will be stored in the flash file system within GSM modem, you can load it through this command. <br />
<br />
For now, we only provide one configuration, that is "0". <br />
<br />
If AT@AUL="0" responds with ERROR, it means there's no audio table existing and the GSM firmware will use default values.<br />
<br />
== Wakeup of CPU from GSM Modem ==<br />
<br />
=== Problem description ===<br />
<br />
For power management reasons, it is absolutely neccessary that only the minimal <br />
required parts of the device are powered at any given time. If you carry your<br />
Neo in your pocket, then all it should do is stay online with the GSM network, <br />
and notify you in case there's an incoming call/sms (like other phones).<br />
<br />
During that time, the Neo1973 Application Processor (s3c24xx) is suspended,<br />
i.e. not powered at all. The SDRAM is in self-refresh mode.<br />
<br />
In this suspend mode (which Samsung calls by the funny name of POWER_OFF), the<br />
processor is not able to receive any data from the GSM Modem. Nor is it able<br />
to detect incoming characters and wake up the CPU. The only wake up sources<br />
are a certain set of external interrupts (EINT).<br />
<br />
Thus, the GSM Modem GPIO line IO1 was connected with the Samsung EINT1, and<br />
the GSM Modem firmware contains some special logic to generate an interrupt<br />
(and thus wake-up event) to the CPU.<br />
<br />
=== Logic for problem solution ===<br />
<br />
Preconditions<br />
# The default state of GSM Modem output IO1 is logical LOW. <br />
<br />
Anytime the modem has pending data on the MODEM-UART channel, it<br />
# checks if CTS_MODEM permits sending of data<br />
## if CTS_MODEM permits sending of UART data, go to '4.2'<br />
# [implicit: CTS_MODEM does not permit sending of UART data]<br />
## set IO1 line to logical HIGH level<br />
## buffer modem data [until buffer is full, after which data gets discarded]<br />
# wait until CTS_MODEM permits sending of UART data <br />
# as soon as CTS_MODEM permits sending of UART data,<br />
## set IO1 back to logical LOW level<br />
## start sending of UART data<br />
# once all data is transmitted, return to idle state. When next data item is to be transmitted, start again from '1'<br />
<br />
=== Software implementation ===<br />
<br />
{{note|This is the plan, it has not been fully implemented yet}}<br />
<br />
# a firmware post may-16-2007 needs to be present in the gsm modem. This is true for all phones bought during phase 1 in the online shop. However, I currently don't really know what firmware version was present in the GTA01Bv4 that we sent to phase 0.<br />
# the suspend code probably still needs to correctly configure the RTS/CTS lines (i.e. put them in GPIO mode, and set them to their desired "don't send any more characters" level)<br />
<br />
So in this case, any data from the GSM modem will wake up the cpu for processing of that data. The GSM modem has some internal buffer (I don't know how big right now) that should be sufficient for buffering the data until the CPU is alive.<br />
<br />
This also means that gsmd will eventually have to re-program the GSM modem to make sure only relevant unsolicited response codes are sent during suspend. You usually don't want a signal level change to cause a CPU wake up, only things like incoming message / call.<br />
<br />
Upgrading the modem's firmware is technically possible but no proper software is currently legally available to users outside OpenMoko staff.<br />
<br />
== Power On, Power Off, and Reset of the GTA01 GSM Modem ==<br />
<br />
=== GSM Modem Connections ===<br />
<br />
The GTA01 GSM modem communicates via a standard serial port to the host system. The port operates at 115200 baud, 8 bits, no parity, and requires hardware flow control (RTSCTS) to operate. Due to the fact that the host CPU has only a pair of serial ports but there are three devices that wish to use them, the GSM modem port is actually shared with the serial console (the third device is the GPS chip, which has exclusive use of the second serial port).<br />
<br />
A GPIO (General Purpose IO) pin controls the switching of the serial port between the console and the GSM modem. Another GPIO is used to turn on the power to the GSM modem. On older versions of the GTA01 a third GPIO could be used to reset the GSM modem; this signal proved to cause difficulties with the modem, and on all the GTA01 units sold this GPIO line is not connected. The driver combines the the switching of the serial port to the GSM modem and the power-on signal to the modem into a single operation; the two cannot be controlled independently from user-space (at the time of this writing).<br />
<br />
It is important to note that the GPIO controlling the power-on of the GSM modem can only signal to the modem to turn itself on -- turning this GPIO off does not power off the GSM modem. Instead, the '''AT@POFF''' sequence must be sent to the modem in order to perform a power off.<br />
<br />
Further complicating power control of the GTA01 GSM modem is the fact that the modem draws power from the battery/charger side of the power management circuitry -- this means that turning off the power to the host CPU on the GTA01 does not turn off the power to the modem. In real-world operation, this means that unless the shutdown procedure for the host cpu's operating system issues the '''AT@POFF''' command to power off the GSM modem, the modem will remain turned on, drawing power from the battery even thought the host CPU is completely powered off.<br />
<br />
=== The Power-On Sequence ===<br />
<br />
The sharing of the serial port between the console and the GSM modem results in the need for a very specific power-on and power-off sequence. Two major problems exist that must be avoided: infinite echos, and RTSCTS lockup.<br />
<br />
==== Avoiding Infinite Echos ====<br />
<br />
By default, the serial port is initialized in "echo" mode -- meaning that any characters sent to the serial port from the console will be echoed back to the console. Upon power-up or reset, the GSM modem also echos back characters it receives. So unless action is taken to disable the serial port's echo before the GSM modem is powered on, an infinite echo will result. The modem will print the standard "Interpretor Ready" message, which will be echoed back to it by the serial port driver, the modem will echo that back to the serial port again (adding some error text to the message), the serial port will echo that again, and this continues until buffers in either or both the serial port and the modem fill up, and one of them ceases to transmit.<br />
<br />
Once in this situation, it is difficult for software (such as gsmd) to gain synchronization of commands and responses.<br />
<br />
The best solution is to avoid the problem to begin with. Simply ensure that the serial port is set to "no-echo" mode before the GSM modem is enabled and powered up. This sequence illustrates how this is normally done:<br />
<br />
stty -F /dev/ttySAC0 -echo<br />
echo "1" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
<br />
(Note that the stty command argument syntax is somewhat unusual: "-echo" means "disable echo", while "echo" means "enable echo".)<br />
<br />
==== Avoiding RTSCTS Lockup ====<br />
<br />
Hardware flow control uses additional signals in addition to the serial data in and out signals on the serial port to control the flow of the data. Specifically, when hardware flow control is enabled, a given endpoint is expected to assert its RTS (Request To Send) line when it has data to transmit, and not transit that data until it sees a CTS (Clear TO Send) signal from the other end. In this fashion, buffer overruns and data loss are avoided.<br />
<br />
The GSM modem requires that hardware flow control be enabled in order to communicate with the host. However, the console lacks the RTS and CTS signals and thus is unable to communicate if hardware flow control is enabled. But what really makes this problem serious is that if hardware flow control is enabled while the serial port is switched to the console, and the (small) transmit buffer for the port fills (such as a kernel log message), the Linux kernel will lock up, and become completely non-responsive. There is no recovery mechanism for this other than to disconnect the device from its USB port or charger, and remove the battery.<br />
<br />
One solution to this is to disable the use of the serial port as a console for the kernel. However, this is greatly inconvenient - the knowledgeable user with a debug board will usually wish to have a console available, and the novice user will probably wish to avoid changing the u-boot variables in order to disable the console. So, a better approach is to avoid this situation by taking great care when powering-up, resetting, or powering-down the modem. The following sequence illustrates how to switch the serial port back to the console mode safely:<br />
<br />
stty -F /dev/ttySAC0 -crtscts<br />
echo "0" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
<br />
=== Resetting the GSM Modem ===<br />
<br />
The GSM modem can be effectively reset by changing the state of the Power-On GPIO from off to on -- in other words, just disable the GSM modem and re-enable it. The safe way to accomplish this is to combine the two sequences above:<br />
<br />
stty -F /dev/ttySAC0 -crtscts<br />
echo "0" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
stty -F /dev/ttySAC0 -echo<br />
echo "1" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
<br />
It should be noted that this reset sequence will also power up the modem if it is not enabled and powered up to begin with. For this reason, the reset sequence above should be used for both power-up and reset purposes.<br />
<br />
=== Powering Off the GSM Modem ===<br />
<br />
Powering off the GSM modem on the GTA01 can only be done by issuing the '''AT@POFF''' command to the device. In order to issue this command, it is usually necessary to return it to a known state. So the normal mechanism is to issue the reset operation (above), wait for a short period of time (1 second seems to be sufficient), and send the '''AT@POFF''' command. This should be followed by an additional short delay (to allow the text to be transmitted), and then the serial port can be switched back to the console. The following script accomplishes this:<br />
<br />
### Reset the modem to place it in a known state<br />
stty -F /dev/ttySAC0 -crtscts<br />
echo "0" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
stty -F /dev/ttySAC0 -echo<br />
echo "1" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
<br />
### Now enable hardware flow control, and transmit the sequence<br />
stty -F /dev/ttySAC0 crtscts<br />
sleep 1<br />
echo -e "AT@POFF\r" >/dev/ttySAC0<br />
sleep 1<br />
<br />
### Finally, we disable flow control, and switch back the port<br />
stty -F /dev/ttySAC0 -crtscts<br />
echo "0" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
<br />
=== Eliminating echo on the non-neo end of phone calls ===<br />
Here is the modified /etc/gsmhandset.state that eliminates echo during calls (at least for [[User:Wurp]]): http://drivehq.com/file/df.aspx/publish/sagacis/PublicFolder/handset.sagacis.state<br />
[[Category:Hardware ]]<br />
[[Category:Supported Phone| ]]<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:GSM]]</div>Sagacishttp://wiki.openmoko.org/wiki/Neo_1973_and_Neo_FreeRunner_gsm_modemNeo 1973 and Neo FreeRunner gsm modem2008-03-06T03:39:20Z<p>Sagacis: /* Serving Cell Information (2,1) */</p>
<hr />
<div>This page is about the [[Neo1973]] GTA01 (and GTA02) GSM Modem, based on the Ti Calypso chipset.<br />
<br />
== [[Hardware:AT Commands|AT command]] interface ==<br />
<br />
=== Sending Commands ===<br />
To send commands to the GSM modem, you may use <br />
cu -l /dev/ttySAC0<br />
or use gsmd and libgsmd-tool for a less direct method.<br />
<br />
If you connect directly (via cu) you must `chown uucp.uucp /dev/ttySAC0` first since cu is picky about permissions.<br />
<br />
libgsmd-tool is less functional than the direct raw connection to the modem.<br />
<br />
{| <br />
Note: If you use cu -l /dev/ttySAC0 to enter commands, type "~." to quit <br />
|}<br />
<br />
=== Standard AT commands ===<br />
The GSM modem follows GSM TS07.05, 07.07 and 07.10 very closely.<br />
<br />
FIXME: Describe how those documents can be obtained.<br />
<br />
=== TI proprietary AT commands ===<br />
<br />
there are a few of them, but none of them are really required for regular operation of the device. Due to NDA issues, OpenMoko cannot provide a reference documentation to those commands. Using the standards-compliant '''AT+CLAC''', you will notice that the non-standard commands also show up in the command listing.<br />
<br />
You will also notice that those non-standard commands are prefixed with '''AT%''' rather than '''AT+''' for the standards-compliant commands.<br />
<br />
Thus, we welcome our user and developer community to play with those commands and document them here. Since we never have released any NDA documentation to our community, there is no legal issue.<br />
<br />
Note that the syntax and the interpretation of the output of the commands listed here are only educated guesses and should not be relied on. Part of the proprietary command set has identical or similar usage as on other modems in the market, some of which have fully opened specifications and information about these commands can be taken from their datasheets (some known similar modems with open specs: ''BenQ M22A'' and ''M23A'', ''Enfora Enabler-G II/III'' and ''SPT 1834'').<br />
<br />
==== AT%VER ====<br />
Prints the firmware component versions.<br />
<br />
The modem's response looks like this on an un-updated phase-0 [[Neo1973_Hardware#GTA01Bv4|GTA01Bv4]] phone:<br />
<br />
%VER: aci sean non_clearcase 15:11:24 17/04/07<br />
%VER: cc a086 ** NONE ** 10:16:39 28/03/07<br />
%VER: dl a086 ** NONE ** 10:17:34 28/03/07<br />
%VER: mm a086 ** NONE ** 10:23:09 28/03/07<br />
%VER: rr a086 ** NONE ** 10:25:37 28/03/07<br />
%VER: sim a086 ** NONE ** 10:26:45 28/03/07<br />
%VER: sms a086 ** NONE ** 10:27:21 28/03/07<br />
%VER: ss a086 ** NONE ** 10:28:52 28/03/07<br />
%VER: alr a086 ** NONE ** 10:15:48 28/03/07<br />
%VER: l2r a086 ** NONE ** 10:21:37 28/03/07<br />
%VER: ra a086 ** NONE ** 10:25:01 28/03/07<br />
%VER: rlp a086 ** NONE ** 10:25:12 28/03/07<br />
%VER: fad a086 ** NONE ** 10:18:09 28/03/07<br />
%VER: t30 a086 ** NONE ** 10:29:01 28/03/07<br />
<br />
For a [[Neo1973_Hardware#GTA01Bv4|GTA01Bv4]] phase 1 phone, produced start of september:<br />
<br />
%VER: aci sean non_clearcase 12:32:56 24/08/07<br />
%VER: cc a086 ** NONE ** 14:07:10 08/06/07<br />
%VER: dl a086 ** NONE ** 14:07:46 08/06/07<br />
%VER: mm a086 ** NONE ** 14:11:52 08/06/07<br />
%VER: rr a086 ** NONE ** 14:13:01 08/06/07<br />
%VER: sim a086 ** NONE ** 14:13:54 08/06/07<br />
%VER: sms a086 ** NONE ** 14:14:20 08/06/07<br />
%VER: ss a086 ** NONE ** 14:15:52 08/06/07<br />
%VER: alr a086 ** NONE ** 14:06:38 08/06/07<br />
%VER: l2r a086 ** NONE ** 14:10:36 08/06/07<br />
%VER: ra a086 ** NONE ** 14:12:32 08/06/07<br />
%VER: rlp a086 ** NONE ** 14:12:40 08/06/07<br />
%VER: fad a086 ** NONE ** 14:08:06 08/06/07<br />
<br />
For a [[Neo1973_Hardware#GTA01Bv3|GTA01Bv3]] phase 0 phone:<br />
<br />
%VER: aci sean non_clearcase 10:46:06 29/08/06<br />
%VER: cc a086 non_clearcase 14:53:59 28/08/06<br />
%VER: dl a086 non_clearcase 14:54:40 28/08/06<br />
%VER: mm a086 non_clearcase 14:59:25 28/08/06<br />
%VER: rr a086 non_clearcase 15:00:11 28/08/06<br />
%VER: sim a086 non_clearcase 15:00:57 28/08/06<br />
%VER: sms a086 non_clearcase 15:01:23 28/08/06<br />
%VER: ss a086 non_clearcase 15:02:22 28/08/06<br />
%VER: alr a086 non_clearcase 14:53:19 28/08/06<br />
%VER: l2r a086 non_clearcase 14:58:02 28/08/06<br />
%VER: ra a086 non_clearcase 14:59:50 28/08/06<br />
%VER: rlp a086 non_clearcase 14:59:56 28/08/06<br />
%VER: fad a086 non_clearcase 14:55:04 28/08/06<br />
%VER: t30 a086 non_clearcase 15:02:27 28/08/06<br />
<br />
The second column lists firmware component names (e.g. aci = AT Command Interface). The third column is the user name of the engineer who last modified given component. The rightmost column is probably the last time someone worked on it (Please note that the name 'sean' here is not Sean Moss-Pultz :) while a086 is an anonymous TI engineer's nick, meaning that the component has not been modified at FIC).<br />
<br />
==== AT%A ====<br />
Print values from an ADC.<br />
<br />
This command is not listed in AT+CLAC output but it is triggered by any input that starts with AT%A except AT%ALS (''Alternative Line Service'') and AT%ATR, which are other proprietary AT commands. So for example AT%ABCD,HELLO will also run this commands. On my Neo modem it prints a line containing nine values of the form ADC <number> = <value>:<br />
<br />
AT%A<br />
EXT: I<br />
ADC 0 = e19, ADC 1 = 0, ADC 2 = d, ADC 3 = 6ea, ADC 4 = a25, ADC 5 = 9fc, ADC 6 = 96d, ADC 7 = 0, ADC 8 = 6<br />
<br />
It would seem there's an ADC (analog-to-digital converter) module in the modem with nine input lines connected to it and the values on these lines are reported by this command in hexadecimal format. The values change over time. Inputs 1 and 7 always show zero on my modem, input 1 value changes slightly (+/- 20), while values on inputs 3, 4, 5, 6 and 8 change seemingly randomly in the range 0x000 - 0xfff (it would seem the chip is 12-bit).<br />
<br />
==== AT%NRG ====<br />
The AT%NRG (''Network registration and service selection'') is an expansion of the AT+COPS command. It allows specifying the service state of the registration, in addition to AT+COPS functionality. It doesn't however allow listing all present operators (use AT+COPS for this).<br />
<br />
==== AT%EM ====<br />
Execution of ''Engineering Mode'' commands. Allows viewing the information accessible to the modem but not available through standard GSM AT commands set such as detailed information on the current Serving Cell (the one we're registered with), its neighbouring cells, the GPRS/EDGE availability and SIM card data.<br />
<br />
Citing Enfora Inc. Application Note EDG0108TN01:<br />
''The purpose of Engineering Mode (EM) is to provide means to observe the behavior of the mobile station and the settings of the network as counterpart and therefore defines a lot of possibilities to analyze the network. The EM can be used for observation of a defined data set during functional test and field test.''<br />
<br />
''Warning: The display of certain parameters is dependent on the wireless network sending the correct information in the System Information Packets. There is no guaranty that the information is always forwarded from the network. At times data may not be present to display in the Engineering Mode responses.''<br />
<br />
Syntax:<br />
AT%EM=<mode>,<command><br />
Allowed <mode> values:<br />
* 2 - AT command mode<br />
* 3 - PCO mode<br />
I only describe the AT mode commands here. Commands are in range 1 to 13:<br />
AT%EM=2,1 Serving Cell Information<br />
AT%EM=2,2 Serving Cell GPRS Information<br />
AT%EM=2,3 Neighbour Cell Information<br />
AT%EM=2,4 Location and Paging Parameters<br />
AT%EM=2,5 PLMN Parameters<br />
AT%EM=2,6 Ciphering, Hopping, DTX Parameters<br />
AT%EM=2,7 Power Parameters<br />
AT%EM=2,8 Identity Parameters<br />
AT%EM=2,9 Firmware components versions<br />
AT%EM=2,10 GMM Information<br />
AT%EM=2,11 GRLC Information<br />
AT%EM=2,12 AMR Configuration Information<br />
AT%EM=2,13 PDP Information<br />
<br />
===== Serving Cell Information (2,1) =====<br />
Response format:<br />
%EM: <afrcn>,<c1>,<c2>,<rxlev>,<bsic>,<cell_id>,<dsc>,<txlev>,<tn>,<rlt>,<tav>,<rxlev_f>,<rxlev_s>,<rxqual_f>,<rxqual_s>,<lac>,<cba>,<cbq>,<cell_type_ind>,<vocoder><br />
{|<br />
! Parameter no. !! Name !! Meaning !! Remarks<br />
|-<br />
|1 || arfcn || Current Channel Number ||<br />
|-<br />
|2 || c1 || Path Loss Criterion C1 ||<br />
|-<br />
|3 || c2 || Cell-reselection Criterion C2 ||<br />
|-<br />
|4 || rxlev || Received Field Strength || (rxlev/2)+2 gives the AT+CSQ response value<br />
|-<br />
|5 || bsic || Base Station ID Code ||<br />
|-<br />
|6 || cell_id || Cell Indentifier ||<br />
|-<br />
|7 || dsc || Downlink Signaling Counter || current counter value<br />
|-<br />
|8 || txlev || Transmit Power Level ||<br />
|-<br />
|9 || tn || Timeslot Number ||<br />
|-<br />
|10 || rlt || Radio Link Timeout Counter ||<br />
|-<br />
|11 || tav || Timing Advance ||<br />
|-<br />
|12 || rxlev_f || Received Field Strength full ||<br />
|-<br />
|13 || rxlev_s || Received Field Strength sub ||<br />
|-<br />
|14 || rxqual_f || Received Quality full ||<br />
|-<br />
|15 || rxqual_s || Received Quality sub ||<br />
|-<br />
|16 || lac || Location Area Code ||<br />
|-<br />
|17 || cba || Cell Bar Access ||<br />
|-<br />
|18 || cbq || Cell Bar Qualifier ||<br />
|-<br />
|19 || Cell_type_ind || Cell Type Indicator || NA/GSM/GPRS<br />
|-<br />
|20 || vocoder || Vocoder || Sig/speech/efr/amr/14.4/9.6/4.8/2.4<br />
|}<br />
<br />
According to http://www.qrctech.com/freq_chart_24x36.pdf, frequencies can be calculated using the arfcn field like this:<br />
if 172 < arfcn < 252 then freq = 869 + (arfcn -127) x 0.2 MHz # 850 band <br />
if 511 < arfcn < 811 then freq = 1930 + (arfcn - 511) x 0.2 MHz # 1900 band<br />
if 1 < arfcn < 124 then freq = 935 + (arfcn * 0.2) MHz # 900 band (original alloc)<br />
if 974 < arfcn < 1023 then freq = 925 + (arfcn - 974) x 0.2 MHz # 900 band E-GSM<br />
if 811 < arfcn < 886 then freq = 1805 + (arfcn - 511) x 0.2 MHz # 1800 band<br />
<br />
Notice the 1800 and 1900 bands have the same channel ids and nearly the same algorithm with a different starting point.<br />
<br />
===== Serving Cell GPRS Information (2,2) =====<br />
Response format:<br />
%EM: <nts>,<nmo>,<spgc_ccch_sup>,<priority_access_thr>,<cba>,<rac>,<tav>,<dsc>,<c31>,<c32>,<band_ind>,<pfc_supp_n_w>,<ccn_mode_sts>,<Psi_sts_suppt>,<edge_support>,<epcr_support>,<bep_period>,<bss_paging_coord><br />
{|<br />
! Parameter no. !! Name !! Meaning !! Remarks<br />
|-<br />
|1 || nts || PCCCH_TIMESLOT || Number of downlink timeslots<br />
|-<br />
|2 || nmo || Network Mode of Operation ||<br />
|-<br />
|3 || spgc_ccch_sup || Network Control-spgc_ccch_sup || Network support for split paging<br />
|-<br />
|4 || priority_access_thr || Network Control-Priority_Access_Threshold || packet access to the NW according to priority level<br />
|-<br />
|5 || cba || Cell Bar Access ||<br />
|-<br />
|6 || rac || Routing Area Code ||<br />
|-<br />
|7 || tav || Timing Advance ||<br />
|-<br />
|8 || dsc || Downlink Signal Counter ||<br />
|-<br />
|9 || c31 || Cell-reselect Criterion C31 ||<br />
|-<br />
|10 || c32 || Cell-reselect Criterion C32 ||<br />
|-<br />
|11 || band_ind || Band Indicator ||<br />
|-<br />
|12 || pfc_supp_n_w || PFC Support ||<br />
|-<br />
|13 || ccn_mode_sts || CCN Mode ||<br />
|-<br />
|14 || Psi_sts_suppt || PSI Support ||<br />
|-<br />
|15 || edge_support || EDGE Support ||<br />
|-<br />
|16 || epcr_support || EPCR Support ||<br />
|-<br />
|17 || bep_period || BEP Period ||<br />
|-<br />
|18 || bss_paging_coord || BSS Paging ||<br />
|}<br />
<br />
===== Neighbour Cell Information (2,3) =====<br />
The first line of response is of the format %EM: <number of cells listed>, where the maximum seems to be 6, one cell for each channel. The next sixteen lines list the values of each of the parameters for each of the cells.<br />
{|<br />
! Parameter no. !! Short name !! Meaning !! Remarks<br />
|-<br />
|1 || arfcn || BCCH channel ||<br />
|-<br />
|2 || c1 || Path Loss Criterion C1 ||<br />
|-<br />
|3 || c2 || Cell-reselection Criterion C2 ||<br />
|-<br />
|4 || rxlev || Received Field Strength || (rxlev/2)+2 gives the AT+CSQ response value<br />
|-<br />
|5 || bsic || Base Station ID Code ||<br />
|-<br />
|6 || cell_id || Cell Indentity ||<br />
|-<br />
|7 || lac || Location Area Code ||<br />
|-<br />
|8 || frame_offset || Frame Offset ||<br />
|-<br />
|9 || time_alignmnt || Time Alignment ||<br />
|-<br />
|10 || cba || Cell Bar Access ||<br />
|-<br />
|11 || cbq || Cell Bar Qualifier ||<br />
|-<br />
|12 || cell_type_ind || Cell Type Indicator || NA/GSM/GPRS<br />
|-<br />
|13 || rac || Routing Area Code ||<br />
|-<br />
|14 || cell_resel_offset || Cell-reselection Offset ||<br />
|-<br />
|15 || temp_offset || Temporary Offset ||<br />
|-<br />
|16 || rxlev_acc_min || Rxlen access min ||<br />
|}<br />
My Neo1973 reports:<br />
AT%EM=2,3<br />
%EM: 6<br />
763,766,771,778,780,773<br />
20,8,14,18,17,8<br />
20,8,14,18,17,8<br />
73,46,54,51,13,12<br />
6753,10951,3531,0,1933,1924<br />
100,100,300,300,300,100<br />
80229,961995,0,1166923,0,2715553<br />
3504,724,0,3724,4,1112<br />
0,0,0,0,0,0<br />
0,0,0,0,0,0<br />
2,2,2,2,2,2<br />
0,0,0,0,0,0<br />
0,0,0,0,0,0<br />
0,0,0,0,0,0<br />
10,10,10,10,10,10<br />
<br />
OK<br />
<br />
===== Location and Paging Parameters (2,4) =====<br />
Response format:<br />
%EM: <bs_pa_mfrms>,<t3212>,<mcc[0]><mcc[1]><mcc[2]>,<mnc[0]><mnc[1]><mnc[2]>,<tmsi><br />
{|<br />
! Parameter no. !! Name !! Meaning<br />
|-<br />
|1 || bs_pa_mfrms || BS PA MFRMS paging repeat period<br />
|-<br />
|2 || t3212 || Periodic location updating interval<br />
|-<br />
|3 || mcc || [http://en.wikipedia.org/wiki/Mobile_country_code Mobile Country Code]<br />
|-<br />
|4 || mnc || [http://en.wikipedia.org/wiki/Mobile_Network_Code Mobile Network Code]<br />
|-<br />
|5 || tmsi || [http://en.wikipedia.org/wiki/TMSI Temporary Mobile Subscriber Identity] (in binary)<br />
|}<br />
The MCC and MNC values are the same values that are used to form the Mobile Operator names used by the standard AT+COPS and AT+COPN commands in numeric format. The TMSI is the same number that [http://wiki.openmoko.org/wiki/GTA01_gsm_modem#Identity_Parameters_.282.2C8.29 AT%EM=2,8] gives, just in a different format.<br />
<br />
===== PLMN Parameters (2,5) =====<br />
Response format:<br />
%EM: <no_creq_max>,<reest_flag>,<txpwr_max>,<rxlev_min>,<rel_cs>,<sgsnr_rel>,<mscr_rel>,<net_rel><br />
{|<br />
! Parameter no. !! Name !! Meaning<br />
|-<br />
|1 || no_creq_max || Max. number or retries for channel requests<br />
|-<br />
|2 || reest_flag || Re-establishment Flag<br />
|-<br />
|3 || txpwr_max || MS TXPWR MAX CCCH<br />
|-<br />
|4 || rxlev_min || Rxlev_access_min<br />
|-<br />
|5 || rel_cs || Release Cause (only the last release cause is remembered)<br />
|-<br />
|6 || sgsnr_rel || SGSNR Release<br />
|-<br />
|7 || mscr_rel || MSCR Release<br />
|-<br />
|8 || net_rel || Network Release Info<br />
|}<br />
===== Ciphering, Hopping, DTX Parameters (2,6) =====<br />
{{todo|Fill in}}<br />
===== Power Parameters (2,7) =====<br />
The output consits of two lines, first line containing 12 comma-separated values and the second line 18 comma-separated values, such as:<br />
AT%EM=2,7<br />
%EM: 1,1,0,0,0,1,1,0,0,0,1,0<br />
6,0,0,0,0,1,1,1,4,0,0,0,0,1,0,0,0,0<br />
<br />
OK<br />
On the first line (called Classmark 2) we have:<br />
{|<br />
! Value no. !! Meaning !! Remarks<br />
|-<br />
|1 || Revision Level ||<br />
|-<br />
|2 || Controlled Early Classmark Sending || 1 means enabled<br />
|-<br />
|3 || A5/1 Encryption algorithm || 0 means available<br />
|-<br />
|4 || RF Power capability ||<br />
|-<br />
|5 || Pseudo-synchronisation capability || 1 means present<br />
|-<br />
|6 || SS Screening Indicator ||<br />
|-<br />
|7 || SMS capability ||<br />
|-<br />
|8 || Frequency capability ||<br />
|-<br />
|9 || Classmark 3 options || 1 means supported<br />
|-<br />
|10 || CM Service Prompt || 1 means supported<br />
|-<br />
|11 || A5/3 Encryption algorithm || 1 means available<br />
|-<br />
|12 || A5/2 Encryption algorithm || 1 means available<br />
|}<br />
On the second line (called Classmark 3) we have:<br />
{|<br />
! Value no. !! Meaning !! Remarks<br />
|-<br />
|1 || Multiband support ||<br />
|-<br />
|2 || A5/7 Encryption algorithm || 1 means available<br />
|-<br />
|3 || A5/6 Encryption algorithm || 1 means available<br />
|-<br />
|4 || A5/5 Encryption algorithm || 1 means available<br />
|-<br />
|5 || A5/4 Encryption algorithm || 1 means available<br />
|-<br />
|6 || Valid Radio capability 2 || ??<br />
|-<br />
|7 || Associated Radio capability 2 ||<br />
|-<br />
|8 || Valid Radio capability 1 || ??<br />
|-<br />
|9 || Associated Radio capability 1 ||<br />
|-<br />
|10 || Valid R Support || ??<br />
|-<br />
|11 || R Support || R-GSM Class<br />
|-<br />
|12 || Valid Multi-slot Class || ??<br />
|-<br />
|13 || Multi-slot Class ||<br />
|-<br />
|14 || Unicode 2 treatment ||<br />
|-<br />
|15 || Extended Measurement capability || 1 means supported<br />
|-<br />
|16 || Valid Switch-measure-value || ??<br />
|-<br />
|17 || Switch-measure-value ||<br />
|-<br />
|18 || Switch-measure-switch-value ||<br />
|}<br />
<br />
===== Identity Parameters (2,8) =====<br />
Response format:<br />
%EM: <imeisv><br />
<imsi><br />
<tmsi><br />
<br />
OK<br />
The IMEISV line contains 20 numbers separated by commas, the numbers on positions 5 to 18 are the digits of the [http://en.wikipedia.org/wiki/IMEI IMEI] number as returned by AT+CGSN. The second line contains another 20 numbers and the numbers on positions 5 to 19 form the digits of your SIM card's [http://en.wikipedia.org/wiki/IMSI IMSI] number, as returned by the AT+CIMI command. The last line contains the [http://en.wikipedia.org/wiki/TMSI Temporary Mobile Subscriber Identity] number in plain format (ten digits).<br />
<br />
===== Firmware components versions (2,9) =====<br />
Prints version information for different components of the modem's firmware. The format and the scope of the information presented is identical to that in [[#AT%VER|AT%VER]] output with the exception that only a subset of all of the components are listed:<br />
AT%EM=2,9<br />
%VER: alr a086 ** NONE ** 10:15:48 28/03/07<br />
%VER: dl a086 ** NONE ** 10:17:34 28/03/07<br />
%VER: rr a086 ** NONE ** 10:25:37 28/03/07<br />
%VER: mm a086 ** NONE ** 10:23:09 28/03/07<br />
%VER: cc a086 ** NONE ** 10:16:39 28/03/07<br />
%VER: ss a086 ** NONE ** 10:28:52 28/03/07<br />
%VER: sim a086 ** NONE ** 10:26:45 28/03/07<br />
%VER: sms a086 ** NONE ** 10:27:21 28/03/07<br />
<br />
OK<br />
===== GMM Information (2,10) =====<br />
{{todo|Fill in}}<br />
===== GRLC Information (2,11) =====<br />
{{todo|Fill in}}<br />
===== AMR Configuration Information (2,12) =====<br />
{{todo|Fill in}}<br />
===== PDP Information (2,13) =====<br />
{{todo|Fill in}}<br />
<br />
=== GSM Modem OpenMoko commands ===<br />
<br />
The Ti calypso GSM Modem firmware has been extended by OpenMoko specific AT<br />
commands. This page documents those commands.<br />
<br />
==== AT@POFF ====<br />
<br />
Powers off the GSM Modem. No parameters/options. <br />
<br />
==== AT@ST ====<br />
<br />
configure the sidetone level for voice calls generated inside the GSM Modem. This should normally be off, since the sidetone in GTA01/GTA02 is generated inside the the [[WM8753|wolfson audio codec]].<br />
<br />
AT@ST?<br />
+ST: -5<br />
OK<br />
AT@ST=?<br />
@ST: (-26,-23,-20,-17,-14,-11,-8,-5,-2,1)<br />
OK<br />
AT@ST="-26"<br />
OK<br />
<br />
-26 means turn off the sidetone totally.<br />
<br />
==== AT@AUL ====<br />
<br />
audio table load.<br />
<br />
AT@AUL="0"<br />
OK<br />
AT@AUL=?<br />
@AUL:(0)<br />
<br />
<br />
This audio table is a collection of audio parameters for GSM calibrated by hardware engineers,<br />
<br />
Mode of microphone<br />
Gain of microphone<br />
FM PGA gain setting<br />
Bias setting for microphone<br />
FIR coefficients<br />
ANR parameters<br />
Level of side tone<br />
AEC parameters<br />
Echo suppressor<br />
Mode of speaker<br />
Gain of speaker<br />
Extra gain for AUDIO_SPEAKER_HANDSET and AUDIO_SPEAKER_HANDFREE modes<br />
Enable/Disable filter<br />
Enable/Disable high-pass filter<br />
FIR coefficients<br />
IIR uplink/downlink coefficients<br />
Limiter parameters<br />
Level of speaker<br />
Mode of speaker<br />
State of speaker<br />
Sampling frequency<br />
Level of volume <br />
AGC parameters<br />
DRC parameters<br />
<br />
The audio table will be stored in the flash file system within GSM modem, you can load it through this command. <br />
<br />
For now, we only provide one configuration, that is "0". <br />
<br />
If AT@AUL="0" responds with ERROR, it means there's no audio table existing and the GSM firmware will use default values.<br />
<br />
== Wakeup of CPU from GSM Modem ==<br />
<br />
=== Problem description ===<br />
<br />
For power management reasons, it is absolutely neccessary that only the minimal <br />
required parts of the device are powered at any given time. If you carry your<br />
Neo in your pocket, then all it should do is stay online with the GSM network, <br />
and notify you in case there's an incoming call/sms (like other phones).<br />
<br />
During that time, the Neo1973 Application Processor (s3c24xx) is suspended,<br />
i.e. not powered at all. The SDRAM is in self-refresh mode.<br />
<br />
In this suspend mode (which Samsung calls by the funny name of POWER_OFF), the<br />
processor is not able to receive any data from the GSM Modem. Nor is it able<br />
to detect incoming characters and wake up the CPU. The only wake up sources<br />
are a certain set of external interrupts (EINT).<br />
<br />
Thus, the GSM Modem GPIO line IO1 was connected with the Samsung EINT1, and<br />
the GSM Modem firmware contains some special logic to generate an interrupt<br />
(and thus wake-up event) to the CPU.<br />
<br />
=== Logic for problem solution ===<br />
<br />
Preconditions<br />
# The default state of GSM Modem output IO1 is logical LOW. <br />
<br />
Anytime the modem has pending data on the MODEM-UART channel, it<br />
# checks if CTS_MODEM permits sending of data<br />
## if CTS_MODEM permits sending of UART data, go to '4.2'<br />
# [implicit: CTS_MODEM does not permit sending of UART data]<br />
## set IO1 line to logical HIGH level<br />
## buffer modem data [until buffer is full, after which data gets discarded]<br />
# wait until CTS_MODEM permits sending of UART data <br />
# as soon as CTS_MODEM permits sending of UART data,<br />
## set IO1 back to logical LOW level<br />
## start sending of UART data<br />
# once all data is transmitted, return to idle state. When next data item is to be transmitted, start again from '1'<br />
<br />
=== Software implementation ===<br />
<br />
{{note|This is the plan, it has not been fully implemented yet}}<br />
<br />
# a firmware post may-16-2007 needs to be present in the gsm modem. This is true for all phones bought during phase 1 in the online shop. However, I currently don't really know what firmware version was present in the GTA01Bv4 that we sent to phase 0.<br />
# the suspend code probably still needs to correctly configure the RTS/CTS lines (i.e. put them in GPIO mode, and set them to their desired "don't send any more characters" level)<br />
<br />
So in this case, any data from the GSM modem will wake up the cpu for processing of that data. The GSM modem has some internal buffer (I don't know how big right now) that should be sufficient for buffering the data until the CPU is alive.<br />
<br />
This also means that gsmd will eventually have to re-program the GSM modem to make sure only relevant unsolicited response codes are sent during suspend. You usually don't want a signal level change to cause a CPU wake up, only things like incoming message / call.<br />
<br />
Upgrading the modem's firmware is technically possible but no proper software is currently legally available to users outside OpenMoko staff.<br />
<br />
== Power On, Power Off, and Reset of the GTA01 GSM Modem ==<br />
<br />
=== GSM Modem Connections ===<br />
<br />
The GTA01 GSM modem communicates via a standard serial port to the host system. The port operates at 115200 baud, 8 bits, no parity, and requires hardware flow control (RTSCTS) to operate. Due to the fact that the host CPU has only a pair of serial ports but there are three devices that wish to use them, the GSM modem port is actually shared with the serial console (the third device is the GPS chip, which has exclusive use of the second serial port).<br />
<br />
A GPIO (General Purpose IO) pin controls the switching of the serial port between the console and the GSM modem. Another GPIO is used to turn on the power to the GSM modem. On older versions of the GTA01 a third GPIO could be used to reset the GSM modem; this signal proved to cause difficulties with the modem, and on all the GTA01 units sold this GPIO line is not connected. The driver combines the the switching of the serial port to the GSM modem and the power-on signal to the modem into a single operation; the two cannot be controlled independently from user-space (at the time of this writing).<br />
<br />
It is important to note that the GPIO controlling the power-on of the GSM modem can only signal to the modem to turn itself on -- turning this GPIO off does not power off the GSM modem. Instead, the '''AT@POFF''' sequence must be sent to the modem in order to perform a power off.<br />
<br />
Further complicating power control of the GTA01 GSM modem is the fact that the modem draws power from the battery/charger side of the power management circuitry -- this means that turning off the power to the host CPU on the GTA01 does not turn off the power to the modem. In real-world operation, this means that unless the shutdown procedure for the host cpu's operating system issues the '''AT@POFF''' command to power off the GSM modem, the modem will remain turned on, drawing power from the battery even thought the host CPU is completely powered off.<br />
<br />
=== The Power-On Sequence ===<br />
<br />
The sharing of the serial port between the console and the GSM modem results in the need for a very specific power-on and power-off sequence. Two major problems exist that must be avoided: infinite echos, and RTSCTS lockup.<br />
<br />
==== Avoiding Infinite Echos ====<br />
<br />
By default, the serial port is initialized in "echo" mode -- meaning that any characters sent to the serial port from the console will be echoed back to the console. Upon power-up or reset, the GSM modem also echos back characters it receives. So unless action is taken to disable the serial port's echo before the GSM modem is powered on, an infinite echo will result. The modem will print the standard "Interpretor Ready" message, which will be echoed back to it by the serial port driver, the modem will echo that back to the serial port again (adding some error text to the message), the serial port will echo that again, and this continues until buffers in either or both the serial port and the modem fill up, and one of them ceases to transmit.<br />
<br />
Once in this situation, it is difficult for software (such as gsmd) to gain synchronization of commands and responses.<br />
<br />
The best solution is to avoid the problem to begin with. Simply ensure that the serial port is set to "no-echo" mode before the GSM modem is enabled and powered up. This sequence illustrates how this is normally done:<br />
<br />
stty -F /dev/ttySAC0 -echo<br />
echo "1" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
<br />
(Note that the stty command argument syntax is somewhat unusual: "-echo" means "disable echo", while "echo" means "enable echo".)<br />
<br />
==== Avoiding RTSCTS Lockup ====<br />
<br />
Hardware flow control uses additional signals in addition to the serial data in and out signals on the serial port to control the flow of the data. Specifically, when hardware flow control is enabled, a given endpoint is expected to assert its RTS (Request To Send) line when it has data to transmit, and not transit that data until it sees a CTS (Clear TO Send) signal from the other end. In this fashion, buffer overruns and data loss are avoided.<br />
<br />
The GSM modem requires that hardware flow control be enabled in order to communicate with the host. However, the console lacks the RTS and CTS signals and thus is unable to communicate if hardware flow control is enabled. But what really makes this problem serious is that if hardware flow control is enabled while the serial port is switched to the console, and the (small) transmit buffer for the port fills (such as a kernel log message), the Linux kernel will lock up, and become completely non-responsive. There is no recovery mechanism for this other than to disconnect the device from its USB port or charger, and remove the battery.<br />
<br />
One solution to this is to disable the use of the serial port as a console for the kernel. However, this is greatly inconvenient - the knowledgeable user with a debug board will usually wish to have a console available, and the novice user will probably wish to avoid changing the u-boot variables in order to disable the console. So, a better approach is to avoid this situation by taking great care when powering-up, resetting, or powering-down the modem. The following sequence illustrates how to switch the serial port back to the console mode safely:<br />
<br />
stty -F /dev/ttySAC0 -crtscts<br />
echo "0" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
<br />
=== Resetting the GSM Modem ===<br />
<br />
The GSM modem can be effectively reset by changing the state of the Power-On GPIO from off to on -- in other words, just disable the GSM modem and re-enable it. The safe way to accomplish this is to combine the two sequences above:<br />
<br />
stty -F /dev/ttySAC0 -crtscts<br />
echo "0" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
stty -F /dev/ttySAC0 -echo<br />
echo "1" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
<br />
It should be noted that this reset sequence will also power up the modem if it is not enabled and powered up to begin with. For this reason, the reset sequence above should be used for both power-up and reset purposes.<br />
<br />
=== Powering Off the GSM Modem ===<br />
<br />
Powering off the GSM modem on the GTA01 can only be done by issuing the '''AT@POFF''' command to the device. In order to issue this command, it is usually necessary to return it to a known state. So the normal mechanism is to issue the reset operation (above), wait for a short period of time (1 second seems to be sufficient), and send the '''AT@POFF''' command. This should be followed by an additional short delay (to allow the text to be transmitted), and then the serial port can be switched back to the console. The following script accomplishes this:<br />
<br />
### Reset the modem to place it in a known state<br />
stty -F /dev/ttySAC0 -crtscts<br />
echo "0" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
stty -F /dev/ttySAC0 -echo<br />
echo "1" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
<br />
### Now enable hardware flow control, and transmit the sequence<br />
stty -F /dev/ttySAC0 crtscts<br />
sleep 1<br />
echo -e "AT@POFF\r" >/dev/ttySAC0<br />
sleep 1<br />
<br />
### Finally, we disable flow control, and switch back the port<br />
stty -F /dev/ttySAC0 -crtscts<br />
echo "0" >/sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
<br />
=== Eliminating echo on the non-neo end of phone calls ===<br />
Here is the modified /etc/gsmhandset.state that eliminates echo during calls (at least for [[User:Wurp]]): http://drivehq.com/file/df.aspx/publish/sagacis/PublicFolder/handset.sagacis.state<br />
[[Category:Hardware ]]<br />
[[Category:Supported Phone| ]]<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:GSM]]</div>Sagacishttp://wiki.openmoko.org/wiki/Users_RepositoriesUsers Repositories2008-03-06T02:16:20Z<p>Sagacis: Removed nslu2-linux, which seems to be gone</p>
<hr />
<div>=== Repositories ===<br />
here you can find prebuilt kernels and root file systems.<br />
<br />
* '''Official downloads'''<br />
:* Recent/latest builds<br />
::* OM2007.2 <br />
:::http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/images/neo1973/?C=M;O=D<br />
::* OM2007.1 (Obsolete)<br />
:::http://buildhost.openmoko.org/OM2007.1/tmp/deploy/images/?C=M;O=D<br />
<br />
:* Snapshots [http://downloads.openmoko.org/snapshots/]<br />
::* 2007.11 - the latest (2nd Dec) snapshot ([http://lists.openmoko.org/pipermail/community/2007-December/011980.html from Mickey])<br />
:::http://downloads.openmoko.org/snapshots/2007.11/images/<br />
::* 2007.08 snapshot, as announced by Sean on August 19<br />
:::http://downloads.openmoko.org/snapshots/2007.08/images/<br />
<br />
:* Daily <br />
::* Unstable Daily-builds<br />
:::http://buildhost.openmoko.org/daily/neo1973/deploy/glibc/images/neo1973/?C=M;O=D<br />
* '''Unofficial builds'''<br />
:* '''[[User:ChooseOpen|ChooseOpen]]'''<br />
::http://chooseopen.com:81/openmoko/build/2007.2/?M=D<br />
::http://chooseopen.com:81/openmoko/build/qtopia/?M=D (Qtopia)<br />
<br />
:* '''[[User:ScaredyCat|ScaredyCat]]'''<br />
::http://buildhost.automated.it/OM2007.2/?M=D<br />
<br />
::ScaredyCat also has a ipkg repository for 2007.2 where e.g. gpe-filemanager and a lot more (e.g. ntpd) can be installed from. On the Neo do:<br />
<br />
cd /etc/ipkg<br />
wget http://buildhost.automated.it/OM2007.2/packages/scaredycat.conf <br />
ipkg update<br />
ipkg install gpe-filemanager<br />
ipkg install gpe-timesheet<br />
ipkg install gpe-todo<br />
ipkg install mysql<br />
ipkg install mtpaint<br />
ipkg install sqlite<br />
ipkg install ntp<br />
#(you get the idea)<br />
/etc/init.d/xserver-nodm restart # to make the new applications appear in the menu<br />
<br />
:* '''mwester''' unofficial builds<br />
::http://moko.mwester.net/<br />
<br />
:* - (2007.2)<br />
::http://www.totalueberwachung.de/~alphaone/openmoko-build/glibc/images/fic-gta01/?C=M;O=D<br />
<br />
:* '''celtune''' unofficial builds<br />
::http://celtune.morb-design.com/images/fic-gta01/?C=M;O=D<br />
::http://celtune.morb-design.com/ipk/<br />
::Celtune offers Standard-Builds (.jffs2, .tar, .bin, .ipk) and several special-images with additional packages (e.g. monster-images,navigation-images,...)<br />
::For more info take a look at http://celtune.morb-design.com/images/fic-gta01/1-NEWS-WARNING-INFO <br />
<br />
cd /etc/ipkg && wget http://celtune.morb-design.com/celtune.conf<br />
<br />
If you want to add a link, it would be nice to enforce a standard format of these feeds so that they can be browsed automatically.<br />
<br />
=== Angstrom Repository ===<br />
If there's a package you need that is missing from the feeds listed above you can search the Angstrom repo [http://www.angstrom-distribution.org/repo/ here].<br />
<br />
To add the unstable Angstrom feed, update your /etc/ipkg/base-feeds.conf to include a line:<br />
<br />
src/gz base http://www.angstrom-distribution.org/unstable/feed/armv4t/base/<br />
<br />
<br />
[[Category:OpenMoko]]</div>Sagacishttp://wiki.openmoko.org/wiki/Contacts/2007.2Contacts/2007.22008-01-30T04:15:14Z<p>Sagacis: add sim card information</p>
<hr />
<div>This is the second revision of the design for the Contacts application.<br />
<br />
<br />
== Overview ==<br />
This article defines the Contact Application, an extensible application designed for the OpenMoko platform. The Contacts Application is the central location to store all address related information. <br />
<br />
<br />
== Use Cases ==<br />
<br />
<br />
* I want to add a few contacts which I have on paper<br />
* I want to add a few contacts from my PC<br />
* I want to call an existing contact<br />
* I want to correct the address of an existing contact<br />
* I want to send an existing contact via a Bluetooth connection to a nearby device (Neo or other) via a standard protocol<br />
* I want to display and manage contacts from my SIM card<br />
<br />
== Core Functionality ==<br />
<br />
('''Bold''' = In progress or incomplete)<br />
<br />
* View list of contacts<br />
* Search for contact on fullname<br />
* Filter contact list by groups<br />
<br />
* Launch Dial contact<br />
* '''Launch Message contact'''<br />
<br />
* Create contact<br />
* Delete contact<br />
<br />
* Edit Fullname<br />
* Edit Organisation<br />
* Add telephone number<br />
* Delete e-mail address<br />
* Edit telephone number<br />
* Change telephone group (e.g. work/mobile/home)<br />
* Add e-mail address<br />
* Delete e-mail address<br />
* Edit e-mail address<br />
* Change e-mail address group<br />
* View contact communication history<br />
<br />
* View contact groups<br />
* Remove contact from a group<br />
* Add contact to a group<br />
* Add new groups<br />
<br />
== Extra Functionality ==<br />
<br />
''to be added sometime in the future''<br />
<br />
* Edit Ringtone<br />
* Send contact over Bluetooth or text message<br />
<br />
== Layout ==<br />
<br />
=== Navigation ===<br />
<br />
The Navigation pane allows the user to locate existing contacts, either by filtering on a particular group of contacts, or by a text search on the contact name. The Navigation pane also allows quick access to common functions such as dial, SMS and new. The dial and SMS functions would use the preferred number of the contact unless otherwise specified.<br />
<br />
[[Image:contacts-main-double-height.png]] <br />
<br />
<br />
[[Image:contacts-search-keyboard.png]]<br />
<br />
=== Details ===<br />
<br />
The Details pane display the attributes of the selected contact. It has two modes: View and Edit. In view mode, tapping the attributes gives a list of possible actions. For example, tapping a phone number will display a menu with "Dial" and "Message" options.<br />
<br />
In Edit mode, tapping the attributes allows the user to edit or remove the attribute. An extra row is also available to allow the user to add a new attribute.<br />
<br />
[[Image:contacts-info.png]] [[Image:contacts-edit.png]]<br />
<br />
<br />
=== History ===<br />
<br />
This pane shows a list of the communication history with the currently selected contact.<br />
<br />
[[Image:contacts-history.png]]<br />
<br />
=== Groups ===<br />
<br />
This pane allows the user to manage the groups the contact is associated with. It also allows for adding and removing groups.<br />
<br />
[[Image:contacts-groups.png]]<br />
<br />
[[Category:OpenMoko2007.2]]<br />
[[Category:Finger based]]<br />
[[Category:Implemented]]</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-28T05:52:15Z<p>Sagacis: Updated to version with cell ID</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS STARTED (In route to Ohio)'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and is being shipped around North America and the results will be posted here as they are gathered.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Bands: 850/1900<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Steve S<br />
**** Area: Greater Orlando Area up to North Central Florida<br />
**** Provider: Cingular/ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: Cingular SIM from the GAIT/GSM roll out & New ATT USIM<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Bands: [http://www.gsmworld.com/cgi-bin/ni_map.pl?x=17&y=14&z=3&cc=us&net=b2 850] / [http://www.gsmworld.com/cgi-bin/ni_map.pl?x=17&y=14&z=3&cc=us&net=be 1900]<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
*** OpenMoko Team<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: WORKS<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** GSM Area: 850Mhz Only<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** GSM Area: 850/1900<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton <br />
**** GSM Area: 850Mhz Only<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley<br />
**** Provider Tested: AT&T<br />
**** GSM Area: 850Mhz Only<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** GSM Area: 850/1900<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** GSM Area/Band: 850Mhz Only.<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 89007xxxxxxxxxxx <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Bands: 850/1900 (It may be possible to find some 850MHz only locations if going outside the urban area. When looking at the transmitters map, there are some 850MHz only towers)<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /media/card/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
:When running, gllin creates a log file already, so nmeaNP doesn't need to be reflected to /home/root. Also, running for about two hours will fill the available memory. We need to record the log files on flash if we want to run for more than a few minutes. I do not know how to turn off the logging of the nmea0183 messages from gllin. On my device, I linked /home/root/gllin/logs to a logs directory on my removable flash. --[[User:Sagacis|Sagacis]] 08:52, 12 January 2008 (CET)<br />
<br />
:I think the logging should contain more information than just raw data. Something like the following, perhaps. --[[User:Sagacis|Sagacis]] 08:54, 12 January 2008 (CET)<br />
LAT. LON, SIGNAL_STRENGTH, CARRIER NAME, TIME<br />
<br />
== The Executable ==<br />
<br />
I've created a native openmoko gui application to display the gsm and gps information and log to a file.<br />
<br />
[[Image:Dashboard-1.png]]<br />
<br />
gsmd only gives us operator name, signal strength and connection status. We cannot currently get band, but the app now shows Cell ID so we might be able to tell when we switch towers. gpsd didn't give me what I needed, so the program watches /dev/nmeaNP instead. You will need to launch gllin manually.<br />
<br />
Give it a shot and give me feedback. Version 0.9 is available as [http://sagacis.doesntexist.com/projects/openmoko-dashboard_0.11_src.tar.gz source tarball] and as [http://sagacis.doesntexist.com/projects/openmoko-dashboard_0.11_armv4t.ipk ipk installer]. --[[User:Sagacis|Sagacis]] 06:52, 28 January 2008 (CET)</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-27T18:18:08Z<p>Sagacis: updated the executable version</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS STARTED (In route to Ohio)'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and is being shipped around North America and the results will be posted here as they are gathered.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Bands: 850/1900<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Steve S<br />
**** Area: Greater Orlando Area up to North Central Florida<br />
**** Provider: Cingular/ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: Cingular SIM from the GAIT/GSM roll out & New ATT USIM<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Bands: [http://www.gsmworld.com/cgi-bin/ni_map.pl?x=17&y=14&z=3&cc=us&net=b2 850] / [http://www.gsmworld.com/cgi-bin/ni_map.pl?x=17&y=14&z=3&cc=us&net=be 1900]<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif<br />
*** OpenMoko Team<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: WORKS<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** GSM Area: 850Mhz Only<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** GSM Area: 850/1900<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton <br />
**** GSM Area: 850Mhz Only<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley<br />
**** Provider Tested: AT&T<br />
**** GSM Area: 850Mhz Only<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** GSM Area: 850/1900<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** GSM Area/Band: 850Mhz Only.<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 89007xxxxxxxxxxx <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Bands: 850/1900 (It may be possible to find some 850MHz only locations if going outside the urban area. When looking at the transmitters map, there are some 850MHz only towers)<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /media/card/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
:When running, gllin creates a log file already, so nmeaNP doesn't need to be reflected to /home/root. Also, running for about two hours will fill the available memory. We need to record the log files on flash if we want to run for more than a few minutes. I do not know how to turn off the logging of the nmea0183 messages from gllin. On my device, I linked /home/root/gllin/logs to a logs directory on my removable flash. --[[User:Sagacis|Sagacis]] 08:52, 12 January 2008 (CET)<br />
<br />
:I think the logging should contain more information than just raw data. Something like the following, perhaps. --[[User:Sagacis|Sagacis]] 08:54, 12 January 2008 (CET)<br />
LAT. LON, SIGNAL_STRENGTH, CARRIER NAME, TIME<br />
<br />
== The Executable ==<br />
<br />
I've created a native openmoko gui application to display the gsm and gps information and log to a file.<br />
<br />
[[Image:Dashboard-1.png]]<br />
<br />
gsmd only gives us operator name, signal strength and connection status. We cannot currently get band or cell ID (to tell when switching towers). Likewise, gpsd didn't give me what I needed, so the program watches /dev/nmeaNP instead. You will need to launch gllin manually.<br />
<br />
Give it a shot and give me feedback. Version 0.9 is available as [http://sagacis.doesntexist.com/projects/openmoko-dashboard_0.10_src.tar.gz source tarball] and as [http://sagacis.doesntexist.com/projects/openmoko-dashboard_0.10_armv4t.ipk ipk installer]. --[[User:Sagacis|Sagacis]] 19:18, 27 January 2008 (CET)</div>Sagacishttp://wiki.openmoko.org/wiki/GllinGllin2008-01-22T03:53:59Z<p>Sagacis: /* Some notes: */</p>
<hr />
<div>gllin is an userpsace driver for a hammerhead [[GPS]] chip. It was distributed on phase1 openmokos.<br />
<br />
Thanks to a tremendous amount of hard work by many people, we have ready<br />
a release of gllin, the GPS drives. Here is how you can get it:<br />
<br />
http://3rdparty.downloads.openmoko.org/gllin/<br />
<br />
Instructions, how to use the driver, are give at:<br />
<br />
http://lists.openmoko.org/pipermail/community/2007-November/011916.html. <br />
<br />
The similar instructions are described in more details at [[getting GPS console output with gllin]].<br />
<br />
== gllin options ==<br />
<br />
The /home/root/gllin/gllin file installed by the new (legitimate!) .ipk package is really just a shell script. You can modify the options passed to gllin.real by editing that script. Here are the options:<br />
<pre><br />
Usage:<br />
<br />
-help Help<br />
-board <type> Defines board type Ex: '-board matchbox'<br />
supported: matchbox, trident<br />
-com <com port> GPS com port; Ex: '-com com6'<br />
-baud <baud rate> Set baud rate; Ex: '-baud 115200'<br />
-rft <RF type> Set RF type; Ex: '-rft RF_LN22OUT'<br />
-freq <freq plan> | ? set frequency plan for GPS or show the list of all available plans<br />
Ex: '-freq FRQ_PLAN_OCXO_10000'<br />
Ex: '-freq ?' -- Show all available plans<br />
-g <URL> SUPL Server URL or IP address;<br />
Ex: '-g 216.15.9.46'<br />
-p <port> SUPL Server port number;<br />
Ex: '-p 9118'<br />
-udp <port> Local UDP port to send NMEA to.<br />
'-udp 6000' [default]<br />
-gsm_cell <cell ID> set GSM Cell ID information<br />
cell ID has the following format: '<MCC>.<MNC>.<LAC>.<CI>'<br />
Where:<br />
MCC - Mobile Country Code<br />
MNC - Mobile Network Code<br />
LAC - Location Area Code<br />
CI - Cell Identification<br />
Ex: '-gsm_cell 310.170.367.25732'<br />
-set_assisted_off disable SET assisted capability<br />
-set_based_off disable SET based capability<br />
-msisdn <MSISDN> set value for MSISDN (international phone number) as SET id<br />
Ex: '-msisdn 14081234567'<br />
-nai <nai> specify Network Access Identifier as SET id<br />
Ex: '-nai 12345@mywebsite.com'<br />
-periodic <s> make periodic request every s second (-1 to 64)<br />
-1 single shot: perform one fix, then quit<br />
0 native: perform fixes as fast as possible<br />
<s> timed: report a position every <s> seconds<br />
where <s> is 1 to 64<br />
-recover recover GLLIN after signaled exit<br />
-low [<count>] low level test. Default <count> is 1<br />
-low_debug Low level debug ON<br />
+low_debug Low level debug OFF<br />
-train <count> Send train data <count> times<br />
+pty | -pty Enable or disable NMEA output to pty "/tmp/nmeaPTY"<br />
Default is off [-pty]<br />
+np | -np Enable or disable NMEA output to named pipe "/tmp/nmeaNP"<br />
Default is on [-np]<br />
+nmea | -nmea Enable or disable NMEA output to log file<br />
Default is off [-nmea]<br />
+daemon | -daemon Become a daemon (or not)<br />
Default is -daemon<br />
-a2 | -a3 | -a0 Select a GTA01 board revision. Default is a3<br />
-batch <st> <n> <fix> perform batch test of <n> starts of type <st><br />
<st> is hot, warm, cold, or SNR.<br />
Each start has <fix> fixes.<br />
-i start GLLIN command line<br />
+pnd optimize for PND<br />
-pnd look for low signal strength signals<br />
+sim using simulator so don't use almanac<br />
-sim not using simulator<br />
SNR manufacturing SNR test mode<br />
hot hot start [default]<br />
warm warm start<br />
cold cold start<br />
-v[n] Report GLLIN version string.<br />
n is 1234 to report selected versions.<br />
version 1.1.7<br />
</pre><br />
<br />
== Using gpsd with gllin ==<br />
<br />
edit /etc/default/gpsd and set the GPS_DEV to /tmp/nmeaNP start gpsd before gllin.<br />
<br />
== Some notes: ==<br />
<br />
The listed defaults don't seem to be correct. By default it DOES generate NMEA data in log files. These log files are on your flash (/home/root/gllin/log/*) and are written to once every second. Ridiculous!<br />
<br />
To stop this, add the option "-nmea" to the second of the two gllin.real commands in the startup script.<br />
<br />
But note further that the startup script also spawns a command to 'cat' the output of the /tmp/nmeaNP named pipe to a gzipped file in /home/root. If you want this to stop, you can do one of two things:<br />
<br />
* cat to /dev/null instead of | gzip >> file<br />
<br />
* add "-np" to the second gllin.real command<br />
<br />
You can't just take the 'cat' command out of the script, because with the named pipe activated, gllin will QUIT if it doesn't see anybody taking the output from the pipe. To keep it going, either open that pipe or turn it off.<br />
<br />
You can use this [http://obri.sygroup.ch/gllin gllin initscript] to start and stop gllin.<br />
<br />
Another option:<br />
#!/bin/sh<br />
echo "Starting gllin..."<br />
<br />
killall cat<br />
killall gllin.real<br />
<br />
mknod /tmp/nmeaNP p<br />
cat /tmp/nmeaNP > /dev/null &<br />
cd /home/root/gllin<br />
lib/ld-linux.so.2 --library-path /home/root/gllin/lib:/home/root/gllin/usr/lib /home/root/gllin/gllin.real -low 5<br />
lib/ld-linux.so.2 --library-path /home/root/gllin/lib:/home/root/gllin/usr/lib /home/root/gllin/gllin.real -periodic 1 -nmea<br />
<br />
== More Initscripts ==<br />
<br />
The gllin package doesn't come with a very good set of initscripts, and gpsd is flexible enough to use gllin or some other source of GPS coordinates.<br />
<br />
For gpsd and gllin to run together well, upon boot, the following scripts have worked well for me:<br />
<br />
/etc/init.d/gpsd:<br />
<pre><br />
#!/bin/sh<br />
#<br />
# gpsd This shell script starts and stops gpsd.<br />
#<br />
# chkconfig: 345 90 40<br />
# description: Gpsd manages access to a serial- or USB-connected GPS<br />
# processname: gpsd<br />
<br />
# Source function library.<br />
#. /etc/rc.d/init.d/functions<br />
<br />
RETVAL=0<br />
prog="gpsd"<br />
<br />
test -f /etc/default/${prog} && . /etc/default/${prog}<br />
<br />
start() {<br />
# Start daemons.<br />
echo -n "Starting ${prog}: "<br />
# We don't use the daemon function here because of a known bug<br />
# in initlog -- it spuriously returns a nonzero status when <br />
# starting daemons that fork themselves. See<br />
# http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=130629<br />
# for discussion. Fortunately:<br />
#<br />
# 1. gpsd startup can't fail, or at least not in the absence of<br />
# much larger resource-exhaustion problems that would be very obvious.<br />
#<br />
# 2. We don't need all the logging crud that daemon/initlog sets<br />
# up -- gpsd does its own syslog calls.<br />
#<br />
<br />
if [ -e "${GPS_DEV}" ]<br />
then<br />
${prog} -n ${GPSD_OPTS} ${GPS_DEV}<br />
RETVAL=$?<br />
echo "success"<br />
else<br />
# User needs to symlink ${GPS_DEV} to the right thing<br />
# Do it automatically if the name contains "NP"<br />
if echo ${GPS_DEV} | grep -q NP<br />
then<br />
mknod ${GPS_DEV} p<br />
${prog} -n ${GPSD_OPTS} ${GPS_DEV}<br />
RETVAL=$?<br />
echo "success"<br />
else<br />
RETVAL=$?<br />
echo "No ${GPS_DEV} GPS device, aborting gpsd startup. Check /etc/default/${prog}"<br />
fi<br />
fi<br />
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/gpsd<br />
return $RETVAL<br />
}<br />
<br />
stop() {<br />
# Stop daemons.<br />
echo -n "Shutting down ${prog}: "<br />
killall ${prog}<br />
RETVAL=$?<br />
echo<br />
if [ $RETVAL -eq 0 ]<br />
then<br />
test -e /var/lock/subsys/gpsd && rm -f /var/lock/subsys/gpsd;<br />
fi<br />
return $RETVAL<br />
}<br />
<br />
# See how we were called.<br />
case "$1" in<br />
start)<br />
start<br />
;;<br />
stop)<br />
stop<br />
;;<br />
restart|reload)<br />
stop<br />
start<br />
RETVAL=$?<br />
;;<br />
condrestart)<br />
if [ -f /var/lock/subsys/gpsd ]; then<br />
stop<br />
start<br />
RETVAL=$?<br />
fi<br />
;;<br />
status)<br />
# status gpsd<br />
# RETVAL=$?<br />
;;<br />
*)<br />
echo "Usage: $0 {start|stop|restart|condrestart|status}"<br />
exit 1<br />
esac<br />
<br />
exit $RETVAL<br />
</pre><br />
<br />
/etc/init.d/gllin:<br />
<pre><br />
#!/bin/sh<br />
#<br />
# This shell script starts and stops gllin.<br />
#<br />
<br />
RETVAL=0<br />
prog="gllin"<br />
GLLIN_PATH=/home/root/gllin<br />
<br />
test -f /etc/default/${prog} && . /etc/default/${prog}<br />
<br />
start() {<br />
# Make fifo if it doesn't already exist<br />
if [ ! -p /tmp/nmeaNP ]<br />
then<br />
mknod /tmp/nmeaNP p<br />
fi<br />
<br />
# Check for gpsd ready (max 5 seconds)<br />
echo -n "Waiting for gpsd . . . "<br />
sleep 1<br />
if [ ! "$(pidof gpsd)" ]<br />
then<br />
sleep 4<br />
if [ ! "$(pidof gpsd)" ]<br />
then<br />
RETVAL=1<br />
echo "failure."<br />
return $RETVAL<br />
fi<br />
fi<br />
<br />
# Start daemons.<br />
echo -n "starting ${prog}: "<br />
cd $GLLIN_PATH<br />
sleep 1<br />
if [ -e $GLLIN_PATH/${prog}.real ]<br />
then<br />
$GLLIN_PATH/lib/ld-linux.so.2 --library-path $GLLIN_PATH/lib $GLLIN_PATH/${prog}.real -low 5 > /dev/null<br />
$GLLIN_PATH/lib/ld-linux.so.2 --library-path $GLLIN_PATH/lib $GLLIN_PATH/${prog}.real -periodic 1 +daemon<br />
else<br />
$GLLIN_PATH/lib/ld-linux.so.2 --library-path $GLLIN_PATH/lib $GLLIN_PATH/${prog} -low 5 > /dev/null<br />
$GLLIN_PATH/lib/ld-linux.so.2 --library-path $GLLIN_PATH/lib $GLLIN_PATH/${prog} -periodic 1 +daemon<br />
fi<br />
echo "success."<br />
RETVAL=$?<br />
echo<br />
return $RETVAL<br />
}<br />
<br />
stop() {<br />
# Stop daemons.<br />
echo -n "Shutting down ${prog}: "<br />
pkill ld-linux.so.2 <br />
RETVAL=$?<br />
echo "success."<br />
return $RETVAL<br />
}<br />
<br />
# See how we were called.<br />
case "$1" in<br />
start)<br />
start<br />
;;<br />
stop)<br />
stop<br />
;;<br />
restart|reload)<br />
stop<br />
start<br />
RETVAL=$?<br />
;;<br />
status)<br />
# RETVAL=$?<br />
;;<br />
*)<br />
echo "Usage: $0 {start|stop|restart|condrestart|status}"<br />
exit 1<br />
esac<br />
<br />
exit $RETVAL<br />
</pre><br />
<br />
These scripts allow you (or init, if you have them numbered in rcX.d appropriately) to start gpsd *before* gllin. This way, gpsd starts listening on /tmp/nmeaNP immediately, and gllin doesn't need to send output to /dev/null in order to stay alive.<br />
<br />
This version of the gpsd script will create the named pipe (if the device name includes "NP" in the filename) if it doesn't exist.</div>Sagacishttp://wiki.openmoko.org/wiki/Neo_1973_GPSNeo 1973 GPS2008-01-22T03:51:33Z<p>Sagacis: Removed duplicate information</p>
<hr />
<div>The Neo1973 device contains an integrated GPS. The particular device<br />
is marketed as an AGPS, and there is some [[Hardware:AGPS |<br />
discussion]] available as to what significance that "A" might have.<br />
<br />
Note that the GTA02 device (not yet available) contains a different GPS chip (see http://www.u-blox.com/products/atr0635.html and/or http://www.atmel.com/dyn/products/product_card.asp?part_id=3932 for specs).<br />
<br />
All purchased phones do not include the GPS binary driver. [http://lists.openmoko.org/pipermail/community/2007-July/008466.html]<br />
<br />
=== GTA01 GPS driver (gllin) ===<br />
''Main article - [[gllin]]''<br />
<br />
The GPS driver is available here: [http://3rdparty.downloads.openmoko.org/gllin/ http://3rdparty.downloads.openmoko.org/gllin/]. It is a command line tool that after starting writes the positioning data so that they can be read as if they were written to the file.<br />
<br />
And here the Mail from Michael Shiloh [http://lists.openmoko.org/pipermail/community/2007-November/011916.html http://lists.openmoko.org/pipermail/community/2007-November/011916.html]<br />
<br />
<br />
In the very early shipment to 50 Phase 1 developers, a binary-only program for talking to the the GPS was accidentally included <br />
in /home/root/DM2/gps, (and presumably, the same binary would function on a P0 device).<br />
This binary is called gllin and it is a oabi binary, i.e. it will only work in the 2007.1 OpenMoko environment. There is now a eabi binary, which works with 2007.2. <br />
<br />
There is an ongoing effort to write a Free Software<br />
program that could be used instead of this binary-only program. <br />
<br />
See [[Hammerhead/Protocol]] for details and the latest status.<br />
<br />
Some scripts for those with the binary are on [[Manually_using_GPS]]<br />
<br />
Please see the important information on [[Gllin]]!<br />
<br />
=== Possible GPS programs ===<br />
<br />
As people develop more sophisticated GPS applications, please note them here.<br />
<br />
Here are some ideas for possibilities:<br />
<br />
* Cairo-based mapping<br />
* Routing<br />
* [[Openstreetmap]] a map viewer, annotation, and editing system.<br />
* [http://wiki.openstreetmap.org/index.php/Pyroute Pyroute] is a routing program written in Python by Ojw, and a mobile phone GUI for maps, GPS, and routing.<br />
* [[GPS-Trail]] a simple trail logger.<br />
* [[GPS_Navigation#roadmap|roadmap]] mapping system using freely available maps (US census TIGER, DGLib, shapefiles).<br />
* [[Geocaching]] paper chase for advanced users<br />
* Set Profile (Mute, etc.) to coordinates (ex. At work)<br />
* [[qpegps]] qtopia (arm PDA) based map viewer with gps features<br />
* [[Navit]] a car navigation system with routing engine.<br />
* [[QMapControl]] Qtopia based mapping widget. Displays maps and custom data, also other widgets can be bound to coordinates. GPS parser for the gllin output included.<br />
* [http://lists.openmoko.org/pipermail/community/2007-July/007252.html collection of ideas]<br />
<br />
== Using the Neo's GPS on a Laptop ==<br />
<br />
*First be sure you have gllin installed on the Neo.<br />
*On host type: '''nc -vvn -l -p 5000 > /tmp/nmeaNP'''<br />
*On the Neo type: '''nc 192.168.0.200 5000 < /tmp/nmeaNP'''<br />
*<br />
*On the host PC install GPSD, your GPS is attached as /tmp/nmeaNP <br />
*start gpsd on host with: '''gpsd -p /tmp/nmeaNP'''<br />
*run your application! I used gpsdrive and it works better than my stand-alone GPS. <br />
*Tested with RoadNav.Works great!<br />
*<br />
*With this in mind if you have an unlimited data package you could export this over the internet.<br />
*the possibilities are limitless. <br />
<br />
<br />
[[Category:GPS]]</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-15T03:17:13Z<p>Sagacis: /* The Executable */</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS NOT STARTED'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and will be shipped around North America and the results will be posted here.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: UNKNOWN<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton <br />
**** GSM Area: 850Mhz Only<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley/Philadelphia<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** GSM Area/Band: 850Mhz Only<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 2 Standard UNICEL SIMS dating from 2006 and 2007. <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Bands: 850/1900<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /media/card/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
:When running, gllin creates a log file already, so nmeaNP doesn't need to be reflected to /home/root. Also, running for about two hours will fill the available memory. We need to record the log files on flash if we want to run for more than a few minutes. I do not know how to turn off the logging of the nmea0183 messages from gllin. On my device, I linked /home/root/gllin/logs to a logs directory on my removable flash. --[[User:Sagacis|Sagacis]] 08:52, 12 January 2008 (CET)<br />
<br />
:I think the logging should contain more information than just raw data. Something like the following, perhaps. --[[User:Sagacis|Sagacis]] 08:54, 12 January 2008 (CET)<br />
LAT. LON, SIGNAL_STRENGTH, CARRIER NAME, TIME<br />
<br />
== The Executable ==<br />
<br />
I've created a native openmoko gui application to display the gsm and gps information and log to a file.<br />
<br />
[[Image:Dashboard-1.png]]<br />
<br />
gsmd only gives us operator name, signal strength and connection status. We cannot currently get band or cell ID (to tell when switching towers). Likewise, gpsd didn't give me what I needed, so the program watches /dev/nmeaNP instead. You will need to launch gllin manually before running openmoko-dashboard.<br />
<br />
Give it a shot and give me feedback. Version 0.9 is available as [http://sagacis.doesntexist.com/openmoko-dashboard_0.9_src.tar.gz source tarball] and as [http://sagacis.doesntexist.com/openmoko-dashboard_0.9_armv4t.ipk ipk installer]. --[[User:Sagacis|Sagacis]] 01:13, 14 January 2008 (CET)</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-14T00:13:34Z<p>Sagacis: /* The Executable */</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS NOT STARTED'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and will be shipped around North America and the results will be posted here.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: UNKNOWN<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley/Philadelphia<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 2 Standard UNICEL SIMS dating from 2006 and 2007. <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /media/card/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
:When running, gllin creates a log file already, so nmeaNP doesn't need to be reflected to /home/root. Also, running for about two hours will fill the available memory. We need to record the log files on flash if we want to run for more than a few minutes. I do not know how to turn off the logging of the nmea0183 messages from gllin. On my device, I linked /home/root/gllin/logs to a logs directory on my removable flash. --[[User:Sagacis|Sagacis]] 08:52, 12 January 2008 (CET)<br />
<br />
:I think the logging should contain more information than just raw data. Something like the following, perhaps. --[[User:Sagacis|Sagacis]] 08:54, 12 January 2008 (CET)<br />
LAT. LON, SIGNAL_STRENGTH, CARRIER NAME, TIME<br />
<br />
== The Executable ==<br />
<br />
I've begun work on an openmoko gui application to display the information and log to a file. I may be done with it by 15 Jan 2008 if all goes well.<br />
<br />
[[Image:Dashboard-1.png]]<br />
<br />
gsmd only gives us operator name, signal strength and connection status. We cannot currently get band or cell ID (to tell when switching towers). <br />
<br />
Give it a shot and give me feedback. If anybody else wants to help out, I can make a project and share the code. --[[User:Sagacis|Sagacis]] 21:52, 12 January 2008 (CET)<br />
<br />
Version 0.9 is available as [http://sagacis.doesntexist.com/openmoko-dashboard_0.9_src.tar.gz source tarball] and as [http://sagacis.doesntexist.com/openmoko-dashboard_0.9_armv4t.ipk ipk installer]. --[[User:Sagacis|Sagacis]] 01:13, 14 January 2008 (CET)</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-14T00:13:05Z<p>Sagacis: /* The Executable */</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS NOT STARTED'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and will be shipped around North America and the results will be posted here.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: UNKNOWN<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley/Philadelphia<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 2 Standard UNICEL SIMS dating from 2006 and 2007. <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /media/card/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
:When running, gllin creates a log file already, so nmeaNP doesn't need to be reflected to /home/root. Also, running for about two hours will fill the available memory. We need to record the log files on flash if we want to run for more than a few minutes. I do not know how to turn off the logging of the nmea0183 messages from gllin. On my device, I linked /home/root/gllin/logs to a logs directory on my removable flash. --[[User:Sagacis|Sagacis]] 08:52, 12 January 2008 (CET)<br />
<br />
:I think the logging should contain more information than just raw data. Something like the following, perhaps. --[[User:Sagacis|Sagacis]] 08:54, 12 January 2008 (CET)<br />
LAT. LON, SIGNAL_STRENGTH, CARRIER NAME, TIME<br />
<br />
== The Executable ==<br />
<br />
I've begun work on an openmoko gui application to display the information and log to a file. I may be done with it by 15 Jan 2008 if all goes well.<br />
<br />
[[Image:Dashboard-1.png]]<br />
<br />
<br />
alpha one executable, available at [http://sagacis.doesntexist.com/openmoko-dashboard.tar.gz http://sagacis.doesntexist.com/openmoko-dashboard.tar.gz] uses gsmd for information, not connected to gps yet. Logs to dashboard.log in the executable directory.<br />
<br />
gsmd only gives us operator name, signal strength and connection status. We cannot currently get band or cell ID (to tell when switching towers). <br />
<br />
Give it a shot and give me feedback. If anybody else wants to help out, I can make a project and share the code. --[[User:Sagacis|Sagacis]] 21:52, 12 January 2008 (CET)<br />
<br />
Version 0.9 is available as [http://sagacis.doesntexist.com/openmoko-dashboard_0.9_src.tar.gz source tarball] and as [http://sagacis.doesntexist.com/openmoko-dashboard_0.9_armv4t.ipk ipk installer]. --[[User:Sagacis|Sagacis]] 01:13, 14 January 2008 (CET)</div>Sagacishttp://wiki.openmoko.org/wiki/Getting_GPS_console_output_with_gllinGetting GPS console output with gllin2008-01-13T20:08:23Z<p>Sagacis: </p>
<hr />
<div>This article describes the "quick start" procedure allowing to see the first output and actually use the GPS device in the command line mode, using the [[gllin]] driver.<br />
<br />
After you download, scp and install the gllin_1.0+r350-r0_fic-gta01.ipk (or similar), it creates the folder 'gllin' in the root home. This folder contains the executable with the same name which starts the driver.<br />
<br />
To get the output of this driver, read the file /tmp/nmeaNP (it is actually a pipe, not a file). The simplest way is to open another ssh connection to the phone and use cat:<br />
cat /tmp/nmeaNP<br />
Type cat ''after'' you start the gllin, not before. The output from the GPS driver looks like<br />
$GPRMC,235946.99,V,,,,,,,120180,,,N*78<br />
$GPGSA,A,1,,,,,,,,,,,,,11.2,5.0,10.0*36<br />
$GPGGA,235946.99,,,,,00,00,5.0,,M,0.0001999,M,0.0020199,*57<br />
(and so on). <br />
<br />
The data are presented in [http://gpsinformation.org/dale/nmea.htm NMEA format] which gives a lot of data. The coordinates themselves are reported with the two messages (GPRMC and GPGGA) that are described below. Both messages occur in the normal output (also in conditions when the the device does not see any satellites and cannot give actually report the coordinates). They consist of multiple comma separated fields. Even numeric fields like coordinates under some circumstances are empty. Empty fields are easy to recognize because commas are included anyway. <br />
<br />
Below we discuss both messages, giving the real examples that were taken in surroundings of Zurich (official coordinates 47°22′N, 8°33′E with approximate elevation about 408 m) early morning (about 6:44 UTC), in the 8th of January 2008.<br />
<br />
== GPRMC message ==<br />
GPRMC tels the latitude, longitude, speed, time and date. Hence the proper signal could also be used to set up the clock. If the device can see the satellites, the message looks like<br />
<br />
GPRMC,064459.00,A,4723.078551,N,00831.004788,E,000.0,000.0,080108,,,A*50<br />
<br />
Where:<br />
*'''064459.00''' Fix taken at 6:44:59.00 UTC (early morning)<br />
*'''A''' '''A''' for the normal (active) message or '''V''' for the void message. Void messages are described below.<br />
*'''4723.078551,N''' Latitude 47 degrees 23.078551 minutes North.<br />
*'''00831.004788,E''' Longitude 8 degrees 31.004788 minutes East<br />
*'''000.0''' Ground speed in knots (we are just standing in place). Multiply by 1.852 to get kilometers per hour.<br />
*'''000.0''' Track angle in degrees<br />
*'''080108''' Date - 8th of January 2008 (year goes last, 240307 is 24th of March 2007)<br />
*'''(empty)''' Would be magnetic variation<br />
*'''<nowiki>*</nowiki>50''' The checksum, begins with *<br />
<br />
If the device cannot see the satellites properly (it usually does not work indoors unless very close to the window), it puts 'V' (void) at the output. In this case the GPRMC messages look like<br />
<br />
GPRMC,114031.52,V,,,,,,,120108,,,N*76<br />
<br />
In this case it is necessary to go to the more open place. It may take several minutes before device reports the correct location.<br />
<br />
== GPGGA message ==<br />
This message does not tell the speed but it tells the number of satellites, estimates the quality and gives the altitude. The message looks like <br />
<br />
GPGGA,064458.00,4723.078480,N,00831.004426,E,1,06,1.0,464.0,M,0.271000,M,0.0100505,*42 <br />
<br />
Here<br />
*'''064458.00''' Current time is 06:44:54 UTC (the test was done early morning)<br />
*'''4723.078480,N''' Latitude 47 degrees 23.078480 seconds North<br />
*'''00831.004426''' Longitude 8 deg 31.004426 seconds East<br />
*'''1''' Fix quality: 0 = invalid, 1 = GPS fix (SPS), 2 = DGPS fix, 3 = PPS fix, 4 = Real Time Kinematic, 5 = Float RTK, 6 = estimated, 7 = manual input, 8 = simulation mode<br />
*'''06''' Number of satellites being tracked (six are seen)<br />
*'''1.0''' Horizontal dilution of position<br />
*'''464.0,M''' Altitude (in meters) above mean sea level. <br />
*'''0.271000, M''' Height of geoid (mean sea level) above WGS84 ellipsoid<br />
*'''0.0100505''' time in seconds since last DGPS update<br />
* Following the spec, next should go the DGPS station ID number but seems missing.<br />
* '''<nowiki>*</nowiki>42''' the checksum, always begins with *<br />
<br />
If the device cannot see the satellites properly it reports the zero quality. The number of satellites can also be checked. For instance, the device indoors may report:<br />
<br />
GPGGA,120213.58,,,,,00,00,1.0,,M,0.0001999,M,0.0020599,*56<br />
<br />
Which means that the UTM time is 12:02:13.58 (correct), the quality is 0 and no any satellites can be seen. This explains why the coordinate fields are empty.<br />
<br />
== Using grep ==<br />
The trivial way to concentrate on one type of the GPL messages is to use grep which is installed in the phone:<br />
cat /tmp/nmeaNP | grep GPRMC<br />
<br />
From other interesting messages, device emits GPGSV (detailed information about satellites and where they are in the sky). See [http://gpsinformation.org/dale/nmea.htm NMEA documenation] for details.<br />
[[Category:GPS]]<br />
<br />
<br />
== Using awk ==<br />
The awk tool provides some more elegant parsing capabilities. For example, find your current location with<br />
awk -F, '/\$GPGGA/ {print (substr($3,0,2) + (substr($3,3) / 60.0)) $4, (substr($5,0,3) + (substr($5,4) / 60.0)) $6}' /tmp/nmeaNP</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-12T23:39:10Z<p>Sagacis: /* The Script */</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS NOT STARTED'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and will be shipped around North America and the results will be posted here.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: UNKNOWN<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley/Philadelphia<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 2 Standard UNICEL SIMS dating from 2006 and 2007. <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal-East<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /media/card/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
:When running, gllin creates a log file already, so nmeaNP doesn't need to be reflected to /home/root. Also, running for about two hours will fill the available memory. We need to record the log files on flash if we want to run for more than a few minutes. I do not know how to turn off the logging of the nmea0183 messages from gllin. On my device, I linked /home/root/gllin/logs to a logs directory on my removable flash. --[[User:Sagacis|Sagacis]] 08:52, 12 January 2008 (CET)<br />
<br />
:I think the logging should contain more information than just raw data. Something like the following, perhaps. --[[User:Sagacis|Sagacis]] 08:54, 12 January 2008 (CET)<br />
LAT. LON, SIGNAL_STRENGTH, CARRIER NAME, TIME<br />
<br />
== The Executable ==<br />
<br />
I've begun work on an openmoko gui application to display the information and log to a file. I may be done with it by 15 Jan 2008 if all goes well.<br />
<br />
[[Image:Dashboard-1.png]]<br />
<br />
<br />
alpha one executable, available at [http://sagacis.doesntexist.com/openmoko-dashboard.tar.gz http://sagacis.doesntexist.com/openmoko-dashboard.tar.gz] uses gsmd for information, not connected to gps yet. Logs to dashboard.log in the executable directory.<br />
<br />
gsmd only gives us operator name, signal strength and connection status. We cannot currently get band or cell ID (to tell when switching towers). <br />
<br />
Give it a shot and give me feedback. If anybody else wants to help out, I can make a project and share the code. --[[User:Sagacis|Sagacis]] 21:52, 12 January 2008 (CET)</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-12T23:25:34Z<p>Sagacis: /* The Executable */</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS NOT STARTED'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and will be shipped around North America and the results will be posted here.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: UNKNOWN<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley/Philadelphia<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 2 Standard UNICEL SIMS dating from 2006 and 2007. <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal-East<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /media/card/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
:When running, gllin creates a log file already, so nmeaNP doesn't need to be reflected to /home/root. Also, running for about two hours will fill the available memory. We need to record the log files on flash if we want to run for more than a few minutes. I do not know how to turn off the logging of the nmea0183 messages from gllin. On my device, I linked /home/root/gllin/logs to a logs directory on my removable flash. --[[User:Sagacis|Sagacis]] 08:52, 12 January 2008 (CET)<br />
<br />
:I think the logging should contain more information than just raw data. Something like the following, perhaps. --[[User:Sagacis|Sagacis]] 08:54, 12 January 2008 (CET)<br />
TIME LAT LON SIGNAL_STRENGTH CARRIER NAME (BAND?)<br />
<br />
== The Executable ==<br />
<br />
I've begun work on an openmoko gui application to display the information and log to a file. I may be done with it by 15 Jan 2008 if all goes well.<br />
<br />
[[Image:Dashboard-1.png]]<br />
<br />
<br />
alpha one executable, available at [http://sagacis.doesntexist.com/openmoko-dashboard.tar.gz http://sagacis.doesntexist.com/openmoko-dashboard.tar.gz] uses gsmd for information, not connected to gps yet. Logs to dashboard.log in the executable directory.<br />
<br />
gsmd only gives us operator name, signal strength and connection status. We cannot currently get band or cell ID (to tell when switching towers). <br />
<br />
Give it a shot and give me feedback. If anybody else wants to help out, I can make a project and share the code. --[[User:Sagacis|Sagacis]] 21:52, 12 January 2008 (CET)</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-12T20:52:57Z<p>Sagacis: /* The Executable */</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS NOT STARTED'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and will be shipped around North America and the results will be posted here.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: UNKNOWN<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley/Philadelphia<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 2 Standard UNICEL SIMS dating from 2006 and 2007. <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal-East<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /media/card/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
:When running, gllin creates a log file already, so nmeaNP doesn't need to be reflected to /home/root. Also, running for about two hours will fill the available memory. We need to record the log files on flash if we want to run for more than a few minutes. I do not know how to turn off the logging of the nmea0183 messages from gllin. On my device, I linked /home/root/gllin/logs to a logs directory on my removable flash. --[[User:Sagacis|Sagacis]] 08:52, 12 January 2008 (CET)<br />
<br />
:I think the logging should contain more information than just raw data. Something like the following, perhaps. --[[User:Sagacis|Sagacis]] 08:54, 12 January 2008 (CET)<br />
TIME LAT LON SIGNAL_STRENGTH CARRIER NAME (BAND?)<br />
<br />
== The Executable ==<br />
<br />
I've begun work on an openmoko gui application to display the information and log to a file. I may be done with it by 15 Jan 2008 if all goes well. So far I have a gui (fake data):<br />
<br />
[[Image:Dashboard-1.png]]<br />
<br />
<br />
alpha one executable, available at [http://sagacis.doesntexist.com/openmoko-dashboard.tar.gz http://sagacis.doesntexist.com/openmoko-dashboard.tar.gz] uses gsmd for information, not connected to gps yet. Logs to dashboard.log in the executable directory.<br />
<br />
gsmd only gives us operator name, signal strength and connection status. We cannot currently get band or cell ID (to tell when switching towers). <br />
<br />
Give it a shot and give me feedback. If anybody else wants to help out, I can make a project and share the code. --[[User:Sagacis|Sagacis]] 21:52, 12 January 2008 (CET)</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-12T20:49:55Z<p>Sagacis: /* The Executable */</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS NOT STARTED'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and will be shipped around North America and the results will be posted here.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: UNKNOWN<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley/Philadelphia<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 2 Standard UNICEL SIMS dating from 2006 and 2007. <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal-East<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /media/card/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
:When running, gllin creates a log file already, so nmeaNP doesn't need to be reflected to /home/root. Also, running for about two hours will fill the available memory. We need to record the log files on flash if we want to run for more than a few minutes. I do not know how to turn off the logging of the nmea0183 messages from gllin. On my device, I linked /home/root/gllin/logs to a logs directory on my removable flash. --[[User:Sagacis|Sagacis]] 08:52, 12 January 2008 (CET)<br />
<br />
:I think the logging should contain more information than just raw data. Something like the following, perhaps. --[[User:Sagacis|Sagacis]] 08:54, 12 January 2008 (CET)<br />
TIME LAT LON SIGNAL_STRENGTH CARRIER NAME (BAND?)<br />
<br />
== The Executable ==<br />
<br />
I've begun work on an openmoko gui application to display the information and log to a file. I may be done with it by 15 Jan 2008 if all goes well. So far I have a gui (fake data):<br />
<br />
[[Image:Dashboard-1.png]]<br />
<br />
alpha one executable: [http://sagacis.doesntexist.com/openmoko-dashboard.tar.gz]</div>Sagacishttp://wiki.openmoko.org/wiki/File:Dashboard-1.pngFile:Dashboard-1.png2008-01-12T17:36:56Z<p>Sagacis: </p>
<hr />
<div></div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-12T17:36:41Z<p>Sagacis: /* The Executable */</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS NOT STARTED'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and will be shipped around North America and the results will be posted here.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: UNKNOWN<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley/Philadelphia<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 2 Standard UNICEL SIMS dating from 2006 and 2007. <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal-East<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /media/card/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
:When running, gllin creates a log file already, so nmeaNP doesn't need to be reflected to /home/root. Also, running for about two hours will fill the available memory. We need to record the log files on flash if we want to run for more than a few minutes. I do not know how to turn off the logging of the nmea0183 messages from gllin. On my device, I linked /home/root/gllin/logs to a logs directory on my removable flash. --[[User:Sagacis|Sagacis]] 08:52, 12 January 2008 (CET)<br />
<br />
:I think the logging should contain more information than just raw data. Something like the following, perhaps. --[[User:Sagacis|Sagacis]] 08:54, 12 January 2008 (CET)<br />
TIME LAT LON SIGNAL_STRENGTH CARRIER NAME (BAND?)<br />
<br />
== The Executable ==<br />
<br />
I've begun work on an openmoko gui application to display the information and log to a file. I may be done with it by 15 Jan 2008 if all goes well. So far I have a gui (fake data):<br />
<br />
[[Image:Dashboard-1.png]]</div>Sagacishttp://wiki.openmoko.org/wiki/ToolchainToolchain2008-01-12T17:34:23Z<p>Sagacis: /* Advanced topics */</p>
<hr />
<div>= Introduction =<br />
<br />
A toolchain is a set of tools that allows you to compile code. For OpenMoko, we have to differenciate the following use-cases:<br />
<br />
* Developing a single application<br />
<br />
For this, you should use a prebuilt toolchain from the OpenMoko project. Here you can find a recipe to get started with this toolchain leading you through a series of steps to compile a project and run it on your target device. You might have heard about [[OpenEmbedded]], however as an application programmer, you should '''not''' be using [[OpenEmbedded]].<br />
<br />
* System Integration and customizing a distribution<br />
<br />
For this task, you should use [[OpenEmbedded]] which builds its own cross compiler during the bootstrapping/build process. System Integration and customizing a distribution is out of scope of this page.<br />
<br />
=Basic toolchain usage=<br />
<br />
==Prerequisites==<br />
<br />
You should be reasonably familiar with Linux and its command line tools, have an x86-compatible computer with at least 1G of free disk space. You should have experience with compiling programs from source using your local compiler. The remainder of this document will also assume you have write access in your home directory (~) and <tt>/usr/local/</tt>. If this is not the case, please call your local administrator for help.<br />
<br />
Last but not least you should have a working setup that allows you to compile native software packages using the autotools build system (the triade of '''./configure, make, make install''').<br />
<br />
* A (partial) list of required packages -- please append as necessary:<br />
** autoconf, automake<br />
** binutils, gcc, gcc-c++<br />
** libtool<br />
** ccache<br />
<br />
==Downloading and installing==<br />
<br />
The prebuilt toolchain can be downloaded from [[http://downloads.openmoko.org/toolchains downloads.openmoko.org]]:<br />
<br />
mkdir ~/sources<br />
cd ~/sources<br />
wget http://downloads.openmoko.org/toolchains/openmoko-x86_64-arm-linux-gnueabi-toolchain.tar.bz2<br />
<br />
or<br />
<br />
wget http://downloads.openmoko.org/toolchains/openmoko-i686-arm-linux-gnueabi-toolchain.tar.bz2<br />
<br />
Next, you want to extract it on your filesystem. This toolchain is ''not'' relocatable, it needs to be installed into <tt>/usr/local/openmoko/</tt>:<br />
<br />
cd /<br />
tar xjvf ~/sources/openmoko-XYZ-arm-linux-gnueabi-toolchain.tar.bz2<br />
<br />
The prebuilt toolchain is for x86_64 or i686. If you wanted, you could build it on your own with OE:<br />
<br />
bitbake meta-toolchain-openmoko<br />
<br />
Finally, everytime you want to use this toolchain, you need to alter some environment variables, so that your tools will be found. The toolchain provides a script to do that, so the only thing you need to do is to source it:<br />
<br />
source /usr/local/openmoko/arm/setup-env<br />
<br />
On Debian-based systems, you can use alien(+fakeroot) to create an easy-to-uninstall package from this .tar.bz2 (install with dpkg -i <package.deb>):<br />
<br />
bunzip2 openmoko-x86_64-arm-linux-gnueabi-toolchain.tar.bz2<br />
gzip openmoko-x86_64-arm-linux-gnueabi-toolchain.tar<br />
fakeroot alien -d openmoko-x86_64-arm-linux-gnueabi-toolchain.tar.gz<br />
<br />
==Building a sample project==<br />
<br />
In your home directory:<br />
<br />
cp -r /usr/local/openmoko/source/openmoko-sample2 ~/<br />
. /usr/local/openmoko/arm/setup-env<br />
om-conf openmoko-sample2<br />
<modify it if you want and make><br />
<br />
If you want to install this project on host for staging usage later, a shared library, for example, you can then call <tt>make install</tt> to install it into the configured prefix.<br />
<br />
om-conf --prefix=/usr/local/openmoko openmoko-sample2<br />
make install<br />
<br />
==Packaging your application==<br />
<br />
We have included a script to make an ipkg out of your application. Note that this is not needed to test your application on the Neo (for that you can just scp the resulting binary and data over), however it's very handy if you want to distribute your application to others.<br />
<br />
om-make-ipkg openmoko-sample2<br />
<br />
Now you got openmoko-sample2_0.1_armv4t.ipk , you can `scp' it to your<br />
Neo and install it:<br />
<br />
scp openmoko-sample2_0.1_armv4t.ipk root@192.168.0.202:<br />
ssh root@192.168.0.202 ipkg install openmoko-sample2_0.1_armv4t.ipk<br />
<br />
Note that while you can redistribute the generated ipkg, be aware that this is a bare-bones ipk that contains no further information, i.e. you will lack library dependencies. See below how to fix this.<br />
<br />
You can also supply the version number, a description, and an author / contacts string in a control file:<br />
<br />
om-make-ipkg myapp myapp_control<br />
<br />
A template of myapp_control:<br />
<br />
Package: $appname<br />
Version: 0.1<br />
Description: package built by openmoko toolchain<br />
Section: openmoko/applications<br />
Priority: optional<br />
Maintainer: $USER<br />
Architecture: armv4t<br />
Homepage: http://www.openmoko.org/<br />
Depends: <br />
Source: ${SRC}<br />
<br />
==Where to go from here==<br />
<br />
Using the external toolchain is an easy way to build applications for your Neo. If you are familiar with this procedure, you might also want to look into<br />
* Using [[Qemu]] to test your applications in an emulated environment<br />
* Using [[Host-based_development_with_Xoo_and_Xephyr|host-based development]] to improve your efficiency<br />
* Using [[OpenEmbedded]] to customize your OpenMoko distribution image<br />
<br />
=Advanced topics=<br />
==Using toolchain provided libraries==<br />
Add the necessary libraries to the _LDADD field in src/Makefile.am, for example:<br />
openmoko_sample2_LDADD = @DEPENDENCIES_LIBS@ -lmokogsmd2<br />
<br />
make sure to run om-conf again after this.<br />
<br />
==Installing additional libraries into the toolchain==<br />
<br />
Sooner or later you will want to compile an application that has dependencies which can't be fulfilled by the precompiled toolchain, e.g. some obscure libraries.<br />
<br />
In that case, feel free to request the inclusion of additional libraries into the next release of the OpenMoko toolchain. Until then, here is how you enhance your already installed toolchain. Say, we want to add the library called liburiparse:<br />
<br />
cd ~/source<br />
wget http://downloads.sourceforge.net/uriparser/uriparser-0.6.0.tar.bz2<br />
./configure --host=arm-angstrom-linux-gnueabi --prefix=/usr/local/openmoko/arm<br />
make<br />
make install<br />
<br />
That's it.<br />
<br />
==Getting your application packaged by OE==<br />
<br />
If you have written a cool application which you want to share with others, the best way to do that is to<br />
<br />
# upload your application source code to a public location<br />
# submit a [[BitBake]] recipe to [[OpenEmbedded]], preferably via the [http://bugs.openembedded.org OpenEmbedded bugtracker].<br />
<br />
See also [[Customizing your OpenMoko distribution]].<br />
<br />
==Troubleshooting==<br />
<br />
* Please use the [http://lists.openmoko.org/mailman/listinfo/openmoko-devel OpenMoko-Devel] mailing list.<br />
<br />
{{Languages|Toolchain}}<br />
<br />
[[Category:OpenMoko]]</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-12T07:54:02Z<p>Sagacis: /* The Script */</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS NOT STARTED'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and will be shipped around North America and the results will be posted here.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: UNKNOWN<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley/Philadelphia<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 2 Standard UNICEL SIMS dating from 2006 and 2007. <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal-East<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /home/root/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
:When running, gllin creates a log file already, so nmeaNP doesn't need to be reflected to /home/root. Also, running for about two hours will fill the available memory. We need to record the log files on flash if we want to run for more than a few minutes. I do not know how to turn off the logging of the nmea0183 messages from gllin. On my device, I linked /home/root/gllin/logs to a logs directory on my removable flash. --[[User:Sagacis|Sagacis]] 08:52, 12 January 2008 (CET)<br />
<br />
:I think the logging should contain more information than just raw data. Something like the following, perhaps. --[[User:Sagacis|Sagacis]] 08:54, 12 January 2008 (CET)<br />
TIME LAT LON SIGNAL_STRENGTH CARRIER NAME (BAND?)<br />
<br />
== The Executable ==<br />
<br />
I've begun work on an openmoko gui application to display the information and log to a file. I may be done with it by 15 Jan 2008 if all goes well. So far I have a gui (fake data):<br />
<br />
[[Image:Receptor-1.png]]</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-12T07:52:09Z<p>Sagacis: /* The Script */</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS NOT STARTED'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and will be shipped around North America and the results will be posted here.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: UNKNOWN<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley/Philadelphia<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 2 Standard UNICEL SIMS dating from 2006 and 2007. <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal-East<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /home/root/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
:When running, gllin creates a log file already, so nmeaNP doesn't need to be reflected to /home/root. Also, running for about two hours will fill the available memory. We need to record the log files on flash if we want to run for more than a few minutes. I do not know how to turn off the logging of the nmea0183 messages from gllin. On my device, I linked /home/root/gllin/logs to a logs directory on my removable flash. --[[User:Sagacis|Sagacis]] 08:52, 12 January 2008 (CET)<br />
<br />
== The Executable ==<br />
<br />
I've begun work on an openmoko gui application to display the information and log to a file. I may be done with it by 15 Jan 2008 if all goes well. So far I have a gui (fake data):<br />
<br />
[[Image:Receptor-1.png]]</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-12T07:48:19Z<p>Sagacis: </p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS NOT STARTED'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and will be shipped around North America and the results will be posted here.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: UNKNOWN<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley/Philadelphia<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 2 Standard UNICEL SIMS dating from 2006 and 2007. <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal-East<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /home/root/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)<br />
<br />
== The Executable ==<br />
<br />
I've begun work on an openmoko gui application to display the information and log to a file. I may be done with it by 15 Jan 2008 if all goes well. So far I have a gui (fake data):<br />
<br />
[[Image:Receptor-1.png]]</div>Sagacishttp://wiki.openmoko.org/wiki/GSM_850_testGSM 850 test2008-01-12T07:44:59Z<p>Sagacis: Added myself</p>
<hr />
<div>== GSM 850 Field Test Results ==<br />
<br />
'''TEST HAS NOT STARTED'''<br />
<br />
As many of you are aware the GTA01's GSM 850 is non-functional at this time. This test was designed by many in the OpenMoko community (thanks to Michael Shiloh) to rectify the situation. A GTA01 was modified and will be shipped around North America and the results will be posted here.<br />
<br />
== Coverage Maps ==<br />
<br />
[http://www.gsmworld.com/roaming/GSM_WorldPoster2007A.pdf Master GSM Coverage Map by Frequencies] <br />
<br />
[http://www.wireless.att.com/coverageviewer/images/Cing_NatlCov.gif AT&T/Cingular Coverage]<br />
<br />
[http://www.ertyu.org/steven_nikkel/cancellsites.html Canadian Cell Tower Map]<br />
<br />
[http://...???.com American Cell Tower Map]<br />
<br />
[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL US "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
<br />
http://www.gpsnow.com/images/gmmscnnav7.jpg '''Map Shows GPS Coverage'''<br />
<br />
https://www.healthcarehost.net/everydayessentials/images/reddot.jpg the GTA01 WILL STOP <br />
<br />
http://www.sqi.gu.edu.au/kimages/Buttons/Bullets/Dots/green_dot_sh.gif the GTA01 HAS stopped and moved on<br />
<br />
'''Test Locations in USA'''<br />
**Colorado https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Tom R.<br />
**** Area: Colorado Springs<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: 525033 (?)<br />
**Florida https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
**Illinois https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Dylan Semler<br />
**** Area: Chicago<br />
**** Provider: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Minnesota https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** Chris Stewart<br />
**** Area: Mille Lacs Lake Area, MN<br />
**** Provider: Cellular One (Dobson)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: T-Mobile (Roaming)<br />
*** William Voorhees<br />
**** Area: Northfield, MN<br />
**** Provider: ATT<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Nevada https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
*** CES Conference<br />
**** Area: Las Vegas<br />
**** Provider: UNKNOWN<br />
**** Result: UNKNOWN<br />
**** Test call: UNKNOWN<br />
**** SIM Model # : UNKNOWN <br />
**New Jersey https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Morristown/Florham Park<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**New York https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Staten Island/N.Y.C.<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
*** Dylan Semler<br />
**** Area: Manhattan/N.Y.C.<br />
**** Provider Tested: T-Mobile<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN<br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ohio https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Chris E.<br />
**** Area: Columbus/Dayton<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Oregon https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Don P.<br />
**** Area: Portland<br />
**** Provider Tested: T-Mobile pre-paid<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Pennsylvania https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Patrick Davila<br />
**** Area: Easton/Lehigh Valley/Philadelphia<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 63698G<br />
<br />
**Texas https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jae Stutzman<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
***Mark Arvidson<br />
**** Area: DFW and North Texas Area<br />
**** Provider Tested: AT&T<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T Several<br />
<br />
**Virginia https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Isaac Stuart<br />
**** Area: Northern Virginia / Washington D.C.<br />
**** Provider Tested: AT&T / T-Mobile<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: AT&T 73000 O 4021 / T-Mobile UNKNOWN<br />
<br />
<br />
**Vermont https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Andrew Crawford<br />
**** Area: Burlington / Montpelier<br />
**** Provider Tested: UNICEL<br />
****[http://wiki.openmoko.org/wiki/Image:USnatcoverageunicel.jpg UNICEL "National" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NEunlimitedcoverageunicelonly.jpg UNICEL New England "Unlimited" and "Community Connection" GSM Coverage (only UNICEL GSM cells)]<br />
****[http://wiki.openmoko.org/wiki/Image:NElocalcoverageunicel.jpg UNICEL New England "Local" and "Family" GSM Coverage (UNICEL and "Partner" GSM cells)]<br />
**** All maps from UNICEL Kiosk Brochures, '''No Copyright Symbols or Copyright Notices on the Brochures'''. :)<br />
**** Result: UNKNOWN<br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: 2 Standard UNICEL SIMS dating from 2006 and 2007. <br />
<br />
'''Test Locations in Canada'''<br />
**Montreal https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Sebastien Jolicoeur<br />
**** Area: Montreal-East<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
**Toronto https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Nick Guenther<br />
**** Area: Kitchener-Waterloo and Toronto<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
**Ottawa https://www.healthcarehost.net/everydayessentials/images/reddot.jpg<br />
***Jean-Michel Bouffard<br />
**** Area: Ottawa and Gatineau<br />
**** Provider Tested: Rogers<br />
**** Result: UNKNOWN <br />
**** Test Call: UNKNOWN <br />
**** SIM Model #: UNKNOWN<br />
<br />
== The Script ==<br />
<br />
This section is used for the script that should/may be shipped within the GTA01-Modified<br />
<br />
'''please comment well'''<br />
<br />
#Section to start and record re-playable GPS data !!!Information available to limited people!!<br />
<br />
exec /home/root/gllin/gllin & <br />
cat /home/root/gllin/nmeaNP > /home/root/nmeareplay &<br />
<br />
# End GPS section<br />
<br />
#Section to record GSM signal quality !!Do math for QOS statistics!!<br />
#This Feature will be used to record signal quality ONLY no grep'ing for GSM commands <br />
<br />
#End Section<br />
<br />
<br />
''Replaying the NMEA data can be done easily''<br />
Just copy the nmeareplay file to your machine (/home/username/nmeareplay)<br />
in your GPS software change the gps port to the nmeareplay file (/home/username/nmeareplay)</div>Sagacishttp://wiki.openmoko.org/wiki/ToolchainToolchain2008-01-12T04:27:28Z<p>Sagacis: Fixed the path for the sample (it seems to have moved)</p>
<hr />
<div>= Introduction =<br />
<br />
A toolchain is a set of tools that allows you to compile code. For OpenMoko, we have to differenciate the following use-cases:<br />
<br />
* Developing a single application<br />
<br />
For this, you should use a prebuilt toolchain from the OpenMoko project. Here you can find a recipe to get started with this toolchain leading you through a series of steps to compile a project and run it on your target device. You might have heard about [[OpenEmbedded]], however as an application programmer, you should '''not''' be using [[OpenEmbedded]].<br />
<br />
* System Integration and customizing a distribution<br />
<br />
For this task, you should use [[OpenEmbedded]] which builds its own cross compiler during the bootstrapping/build process. System Integration and customizing a distribution is out of scope of this page.<br />
<br />
=Basic toolchain usage=<br />
<br />
==Prerequisites==<br />
<br />
You should be reasonably familiar with Linux and its command line tools, have an x86-compatible computer with at least 1G of free disk space. You should have experience with compiling programs from source using your local compiler. The remainder of this document will also assume you have write access in your home directory (~) and <tt>/usr/local/</tt>. If this is not the case, please call your local administrator for help.<br />
<br />
Last but not least you should have a working setup that allows you to compile native software packages using the autotools build system (the triade of '''./configure, make, make install''').<br />
<br />
* A (partial) list of required packages -- please append as necessary:<br />
** autoconf, automake<br />
** binutils, gcc, gcc-c++<br />
** libtool<br />
** ccache<br />
<br />
==Downloading and installing==<br />
<br />
The prebuilt toolchain can be downloaded from [[http://downloads.openmoko.org/toolchains downloads.openmoko.org]]:<br />
<br />
mkdir ~/sources<br />
cd ~/sources<br />
wget http://downloads.openmoko.org/toolchains/openmoko-x86_64-arm-linux-gnueabi-toolchain.tar.bz2<br />
<br />
or<br />
<br />
wget http://downloads.openmoko.org/toolchains/openmoko-i686-arm-linux-gnueabi-toolchain.tar.bz2<br />
<br />
Next, you want to extract it on your filesystem. This toolchain is ''not'' relocatable, it needs to be installed into <tt>/usr/local/openmoko/</tt>:<br />
<br />
cd /<br />
tar xjvf ~/sources/openmoko-XYZ-arm-linux-gnueabi-toolchain.tar.bz2<br />
<br />
The prebuilt toolchain is for x86_64 or i686. If you wanted, you could build it on your own with OE:<br />
<br />
bitbake meta-toolchain-openmoko<br />
<br />
Finally, everytime you want to use this toolchain, you need to alter some environment variables, so that your tools will be found. The toolchain provides a script to do that, so the only thing you need to do is to source it:<br />
<br />
source /usr/local/openmoko/arm/setup-env<br />
<br />
On Debian-based systems, you can use alien(+fakeroot) to create an easy-to-uninstall package from this .tar.bz2 (install with dpkg -i <package.deb>):<br />
<br />
bunzip2 openmoko-x86_64-arm-linux-gnueabi-toolchain.tar.bz2<br />
gzip openmoko-x86_64-arm-linux-gnueabi-toolchain.tar<br />
fakeroot alien -d openmoko-x86_64-arm-linux-gnueabi-toolchain.tar.gz<br />
<br />
==Building a sample project==<br />
<br />
In your home directory:<br />
<br />
cp -r /usr/local/openmoko/source/openmoko-sample2 ~/<br />
. /usr/local/openmoko/arm/setup-env<br />
om-conf openmoko-sample2<br />
<modify it if you want and make><br />
<br />
If you want to install this project on host for staging usage later, a shared library, for example, you can then call <tt>make install</tt> to install it into the configured prefix.<br />
<br />
om-conf --prefix=/usr/local/openmoko openmoko-sample2<br />
make install<br />
<br />
==Packaging your application==<br />
<br />
We have included a script to make an ipkg out of your application. Note that this is not needed to test your application on the Neo (for that you can just scp the resulting binary and data over), however it's very handy if you want to distribute your application to others.<br />
<br />
om-make-ipkg openmoko-sample2<br />
<br />
Now you got openmoko-sample2_0.1_armv4t.ipk , you can `scp' it to your<br />
Neo and install it:<br />
<br />
scp openmoko-sample2_0.1_armv4t.ipk root@192.168.0.202:<br />
ssh root@192.168.0.202 ipkg install openmoko-sample2_0.1_armv4t.ipk<br />
<br />
Note that while you can redistribute the generated ipkg, be aware that this is a bare-bones ipk that contains no further information, i.e. you will lack library dependencies. See below how to fix this.<br />
<br />
You can also supply the version number, a description, and an author / contacts string in a control file:<br />
<br />
om-make-ipkg myapp myapp_control<br />
<br />
A template of myapp_control:<br />
<br />
Package: $appname<br />
Version: 0.1<br />
Description: package built by openmoko toolchain<br />
Section: openmoko/applications<br />
Priority: optional<br />
Maintainer: $USER<br />
Architecture: armv4t<br />
Homepage: http://www.openmoko.org/<br />
Depends: <br />
Source: ${SRC}<br />
<br />
==Where to go from here==<br />
<br />
Using the external toolchain is an easy way to build applications for your Neo. If you are familiar with this procedure, you might also want to look into<br />
* Using [[Qemu]] to test your applications in an emulated environment<br />
* Using [[Host-based_development_with_Xoo_and_Xephyr|host-based development]] to improve your efficiency<br />
* Using [[OpenEmbedded]] to customize your OpenMoko distribution image<br />
<br />
=Advanced topics=<br />
<br />
==Installing additional libraries into the toolchain==<br />
<br />
Sooner or later you will want to compile an application that has dependencies which can't be fulfilled by the precompiled toolchain, e.g. some obscure libraries.<br />
<br />
In that case, feel free to request the inclusion of additional libraries into the next release of the OpenMoko toolchain. Until then, here is how you enhance your already installed toolchain. Say, we want to add the library called liburiparse:<br />
<br />
cd ~/source<br />
wget http://downloads.sourceforge.net/uriparser/uriparser-0.6.0.tar.bz2<br />
./configure --host=arm-angstrom-linux-gnueabi --prefix=/usr/local/openmoko/arm<br />
make<br />
make install<br />
<br />
That's it.<br />
<br />
==Getting your application packaged by OE==<br />
<br />
If you have written a cool application which you want to share with others, the best way to do that is to<br />
<br />
# upload your application source code to a public location<br />
# submit a [[BitBake]] recipe to [[OpenEmbedded]], preferably via the [http://bugs.openembedded.org OpenEmbedded bugtracker].<br />
<br />
See also [[Customizing your OpenMoko distribution]].<br />
<br />
==Troubleshooting==<br />
<br />
* Please use the [http://lists.openmoko.org/mailman/listinfo/openmoko-devel OpenMoko-Devel] mailing list.<br />
<br />
{{Languages|Toolchain}}<br />
<br />
[[Category:OpenMoko]]</div>Sagacishttp://wiki.openmoko.org/wiki/Neo_1973_GPSNeo 1973 GPS2007-12-19T03:33:24Z<p>Sagacis: /* GTA01 GPS driver (gllin) */</p>
<hr />
<div>The Neo1973 device contains an integrated GPS. The particular device<br />
is marketed as an AGPS, and there is some [[Hardware:AGPS |<br />
discussion]] available as to what significance that "A" might have.<br />
<br />
Note that the GTA02 device (not yet available) contains a different GPS chip (see http://www.u-blox.com/products/atr0635.html and/or http://www.atmel.com/dyn/products/product_card.asp?part_id=3932 for specs).<br />
<br />
All purchased phones do not include the GPS binary driver. [http://lists.openmoko.org/pipermail/community/2007-July/008466.html]<br />
<br />
In the very early shipment to 50 Phase 1 developers, a binary-only program for talking to the the GPS was accidentally included <br />
in /home/root/DM2/gps, (and presumably, the same binary would function on a P0 device).<br />
This binary is called gllin and it is a oabi binary, i.e. it will only work in the 2007.1 OpenMoko environment. There is now a eabi binary, which works with 2007.2, but it does not work very well and has not been released yet (as of end of September). <br />
<br />
There is an ongoing effort to write a Free Software<br />
program that could be used instead of this binary-only program. <br />
<br />
See<br />
[[Hammerhead/Protocol]] for details and the latest status.<br />
<br />
Some scripts for those with the binary are on [[Manually_using_GPS]]<br />
<br />
=== GTA01 GPS driver (gllin) ===<br />
The GPS driver is available here: [http://3rdparty.downloads.openmoko.org/gllin/ http://3rdparty.downloads.openmoko.org/gllin/]<br />
<br />
And here the Mail from Michael Shiloh [http://lists.openmoko.org/pipermail/community/2007-November/011916.html http://lists.openmoko.org/pipermail/community/2007-November/011916.html]<br />
<br />
=== Possible GPS programs ===<br />
<br />
As people develop more sophisticated GPS applications, please note them here.<br />
<br />
Here are some ideas for possibilities:<br />
<br />
* Cairo-based mapping<br />
* Routing<br />
* [[Openstreetmap]] a map viewer, annotation, and editing system.<br />
* [http://wiki.openstreetmap.org/index.php/Pyroute Pyroute] is a routing program written in Python by Ojw, and a mobile phone GUI for maps, GPS, and routing.<br />
* [[GPS-Trail]] a simple trail logger.<br />
* [[GPS_Navigation#roadmap|roadmap]] mapping system using freely available maps (US census TIGER, DGLib, shapefiles).<br />
* [[Geocaching]] paper chase for advanced users<br />
* Set Profile (Mute, etc.) to coordinates (ex. At work)<br />
* [[qpegps]] qtopia (arm PDA) based map viewer with gps features<br />
* [[Navit]] a car navigation system with routing engine.<br />
* [[QMapControl]] Qtopia based mapping widget. Displays maps and custom data, also other widgets can be bound to coordinates. GPS parser for the gllin output included.<br />
* [http://lists.openmoko.org/pipermail/community/2007-July/007252.html collection of ideas]<br />
<br />
== Using the Neo's GPS on a Laptop ==<br />
<br />
*First be sure you have gllin installed on the Neo.<br />
*On host type: '''nc -vvn -l -p 5000 > /tmp/nmeaNP'''<br />
*On the Neo type: '''nc 192.168.0.200 5000 < /tmp/nmeaNP'''<br />
*<br />
*On the host PC install GPSD, your GPS is attached as /tmp/nmeaNP <br />
*start gpsd on host with: '''gpsd -p /tmp/nmeaNP'''<br />
*run your application! I used gpsdrive and it works better than my stand-alone GPS. <br />
*Tested with RoadNav.Works great!<br />
*<br />
*With this in mind if you have an unlimited data package you could export this over the internet.<br />
*the possibilities are limitless. <br />
<br />
<br />
[[Category:GPS]]</div>Sagacishttp://wiki.openmoko.org/wiki/Talk:November_6,_2007_Community_UpdateTalk:November 6, 2007 Community Update2007-11-06T03:16:29Z<p>Sagacis: Added my name to the list</p>
<hr />
<div>How many of you must have 850 MHz support, and would be satisfied with an 850/1800/1900MHz variant, and how many of you must have full quad-band?<br />
<br />
Note that by asking this question we do not promise to provide these options.<br />
<br />
Please put your answers below:<br />
<br />
'''Must have an 850/1800/1900MHz variant'''<br />
* --[[User:ShakataGaNai|ShakataGaNai]] 03:34, 6 November 2007 (CET)<br />
* --[[User:Aking|Aking]] 21:55 EST, 2007-11-05 [live/work in an 850 only zone]<br />
* --[[User:Matt|Mattdawg]] 19:57 MST, 6 November 2007<br />
* --[[User:Writchie|Wally Ritchie]] 10:02 EST, 6 November 2007<br />
* -- [[User:Digger|Digger]] 04:15, 6 November 2007 (CET) But for the money would prefer quad-band<br /><br />
'''Must have full quad-band support'''<br />
* --[[User:Elektrolott|Elektrolott]] 18:45 (PST), 2007-11-05<br />
* --[[User:ClashTheBunny|ClashTheBunny]] 04:03, 6 November 2007 (CET) - Right now I live on the North Shore of Boston and most places are 850<br />
* --[[User:Sagacis|Sagacis]] 04:16, 6 November 2007 (CET) The phone is a brick to me without 850. International travel means I need all four bands.</div>Sagacishttp://wiki.openmoko.org/wiki/Wish_ListWish List2007-10-03T03:07:50Z<p>Sagacis: /* GPS Software */</p>
<hr />
<div>This article is a place to collect various thoughts about the future of the [[OpenMoko]] software platform. Most wish list ideas have been linked from this page, but you may also wish to check all pages [http://wiki.openmoko.org/wiki/Category:Ideas that have a category of 'Ideas'].<br />
<br />
== Development ==<br />
=== Painless SDK installation & Setup ===<br />
Our goal should be a completely painless setup for somebody wanting to develop using [[OpenMoko]]<br />
<br />
* one command for installation (apt-get install openmoko)<br />
* one command to start Xnest (openmoko-xephyr?)<br />
* one command to start an i386 shell (openmoko-386-shell)<br />
* one command to start an armel shell (openmoko-armel-shell)<br />
<br />
No extra configuration required.<br />
<br />
==== IDE Plugins ====<br />
People like to see plugins for<br />
* [http://anjuta.sourceforge.net Anjuta]<br />
* [http://www.eclipse.org Eclipse]<br />
* Game engine - Game Creation plugins<br />
evaluate eclipse project [http://www.eclipse.org/dsdp/index.php Device Software Development Platform Project from eclipse] and subproject [http://www.eclipse.org/proposals/tml/ Tool for Mobile Linux]<br />
* [http://www.kdevelop.org KDevelop]<br />
* [http://developer.apple.com/tools/xcode/ XCode]<br />
* [http://msdn.microsoft.com/vstudio/ Microsoft Visual Studio 2005]<br />
<br />
==== UI Designer ====<br />
Glade code generation is deprecated, so we don't want to use it. The Gtk+ powers told me that the plan is to have gtk 2.12 (out early 2007) with support for GtkBuilder, a libglade derivative which breaks a bit the XML definition in order to support all the new widgets and properties; as soon as it's in the other ui builders will add support for this format. See also [http://bugzilla.gnome.org/show_bug.cgi?id=172535 the relevant bug entry]<br />
* Possibly a Landscape (rotated) view for the screen (480x640 *or* 640x480)?<br />
<br />
<br />
==== Built-in Scripting Language ====<br />
{{Main|Wishlist:BuiltInScriptingLanguage}}<br />
There was a [http://lists.openmoko.org/pipermail/community/2007-January/001909.html fruitful discussion about a built-in scripting language on the mailing list in January.] Many people feel that it is very important for OpenMoko to choose a scripting language to ship as default in the standard OpenMoko firmware. <br />
<br />
===Foreign Widget Set Bindings ===<br />
==== Qt Integration ====<br />
The Trolltech folks have a great widget library. I'd like to interface OpenMoko with Qt4, so that we can write Qt4 applications for the phone which don't look alienated.<br />
<br />
==== Maemo Integration ====<br />
The Maemo folks have created a successful standard for Webpad applications. I'd like to have a set of MaemoMoko and MokoMaemo wrapper classes that allow me add support for running OpenMoko applications on Maemo and vice versa. Perhaps we can get help from the Nokia OSS folks for that.<br />
<br />
==== wxWidgets Integration ====<br />
wxWidgets is a cross-platform application framework that's very popular (I'd say, #3 after Qt and Gtk+). On Linux, wxWidgets uses Gtk+ to implement the widgets. It shouldn't be hard to add support for the additional OpenMoko classes to wxWidgets hence supporting the native OpenMoko look and feel for wxWidgets applications.<br />
<br />
wxWidgets team wants OpenMoko classes too and we (wxWidgets) plan to include this project as one of our ideas for [http://google-code-updates.blogspot.com/2007/02/speaking-of-summer.html GSoC 2007]<br />
<br />
==== SDL Integration ====<br />
SDL is ''the'' game developer library. There are tons of SDL games out there. We should add OpenMoko support into SDL.<br />
<br />
=== Software: Language bindings ===<br />
==== Python bindings ====<br />
Python bindings seem to be a commonly requested feature. <br />
<br />
[[User:Mickey]] says, "They are kind of usable on the [http://www.maemo.org Nokia 770], but it's at the lower end of being bearable. We should keep this in mind -- Gtk+ already comes with Python Bindings, so we "just" would need to wrap libmoko*. I would prefer to leave this to the community do though, since it doesn't make sense to start wrapping the API until we have a stable API -- and I can imagine it will take us a couple of months after going open until we can start with stabilizing the libmoko API."<br />
<br />
==== C++ bindings ====<br />
There is a whole skilled C++ community coming from the [http://qtopia.net Qtopia] and [http://opie.handhelds.org Opie] projects. If we would consider basing OpenMoko C++ Bindings on [http://www.gtkmm.org/ Gtkmm], then we could drag these guys in.<br />
<br />
==== Other bindings ====<br />
* Perl<br />
* Ruby<br />
* C#<br />
* I think you could skip a bunch of these by binding to Dbus; most languages already have Dbus bindings<br />
<br />
== Community Support ==<br />
<br />
=== [http://projects.openmoko.org projects.openmoko.org] ===<br />
Infrastructure for developers with<br />
* One bugzilla for all projects (makes moving bugs forth and backwards between projects ''very'' easy)<br />
* One mailing list for project<br />
<br />
== Platform ==<br />
=== Community Images ===<br />
In the future there could be complete, unofficial "product images" that are created by the community, for example maybe one that incorporates only free software (in the GNU or OSI sense). Or images build with a particular niche market in mind -- a student for example.<br />
<br />
=== Wishlist voting ===<br />
There could be a kind of voting system like they have at one of those big computer manufacturers homepage. Then the community could vote for the ideas that are most important to them. This would especially make sense for the hardware wishlist, because the hardware is still the part which can't be done by the community that easily.<br />
<br />
Here: [http://www.fevote.com/openmoko OpenMoko suggestion board]<br />
<br />
== Software: Additional features ==<br />
===Calling===<br />
<br />
==== Mask ID based on dialed numbers ====<br />
It would be nice if my number only showed up when I call people in my address book and was otherwise masked. The phone I have now either always shows my number or never or can be set on a per call basis. Having it done automatically based on the number dialed would be good.<br />
<br />
==== Use calling cards and similar routing techniques for lower-cost calling ====<br />
Many people use calling cards, low-cost numbers and similar ways of reducing the costs of their calls. It would be nice to have a single panel that would allow you to configure the rules of dialing a number taking in to account such systems.<br />
<br />
==== Outgoing black/white lists ====<br />
The ability to allow or deny outoging calls to certain numbers can be useful in a number of situations (e.g. the holder of the 'phone is a child, untrusted, etc.). This could be related to entries in the contact list, for example a user is only allowed to call people who are in their contact list.<br />
<br />
Also lists for incoming calls? Some friends always come through, unknown numbers get rejected automatically.<br />
<br />
==== Time-based blocking/unblocking of calls ====<br />
Allowing or disallowing outgoing calls at certain times of the day could be useful, e.g. blocking a business phone from making calls outside of business hours.<br />
<br />
====Speaker-phone====<br />
* A speaker-phone is more than simply connecting the speakers to GSM audio, it's also echo cancellation, and eliminating the feedback that will otherwise happen between the speakers and the mic. This software has not been written.<br />
<br />
====Advanced Airtime Tracking====<br />
Many phone users have complicated plans, things like unlimited incoming, 100 anytime minutes, 1000 evening minutes, etc. It would be nice if a user could input the various monthly airtime chunks their plan gives them, and then the phone could track how much is left in each chunk, i.e. How much anytime minutes are left this month? Optionally, the software could warn when someone is close to the monthly limit, to help avoid bigger bills.<br />
On (at least some) prepaid [http://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data USSD] can be used to check current balance.<br />
<br />
==== Anti-stutter software ====<br />
Delayed Auditory Feedback (DAF) has shown to reduce stuttering in individuals by 70%. By using the microphone, it should be pretty simple to implement this on the OpenMoko. The DAF functionality should also be present during phone calls. See http://en.wikipedia.org/wiki/Delayed_auditory_feedback for more information.<br />
<br />
====Minimize In-Call mode (check address book while in call)====<br />
On my locked phones I always find it annoying that one can not use other features while a call is in progress. In particular, I'd like to access the address book so that we can (1) give a caller someone else's phone number (or other info) and (2) lookup a phone number when using a calling card or some other proxy.<br />
<br />
Similar request when using the browser (lookup passwords, todo list, etc).<br />
<br />
====Hold Music (Ringback Tone)====<br />
On some cellphone networks you can pay to change the normal [http://en.wikipedia.org/wiki/Ringback_tone Ringback Tone] that the caller hears when ringing, to a customised sound.<br />
This can partially be implemented on the phone.<br />
Issues are:<br />
*In countries where callers pay, this will make you unpopular.<br />
*In countries where the called party pays, it will use your minutes, or cost you money.<br />
**A list of people to activate this function for would alleviate this.<br />
*[[GPRS]] internet connection will stall while the hold music is being played.<br />
*Extra battery used when playing music.<br />
<br />
Also see [[Answering Machine]].<br />
<br />
====Play sound clips over the air====<br />
Dialer could have a tab with big buttons which, when push, send sound clips over GSM to the person on the other end of the call. This feature is included in GizmoProject and is called sound blasts: http://support.gizmoproject.com/index.php?_a=knowledgebase&_j=questiondetails&_i=104<br />
The buttons can have default sounds, but also have the ability to be customized.<br />
<br />
It would also be useful to loop a pre-recorded sound in the background so you can lie about where you are, and have the ability to simulate a really bad connection.<br />
<br />
==== DTMF Landline Dialing ====<br />
The ability to hold the Neo near the microphone of a landline handset and have the Neo dial the landline by sounding DTMF tones. The DTMF tones could be generated in software or be pre-recorded files.<br />
<br />
Graphically this could be done by adding a 'DTFM dial' button to a context menu. The user would select a contact then presses the 'DTMF dial' button to start the process. A small delay could also be added to allow time to put the Neo near the landline handset.<br />
<br />
For the Neo to know which area code to use (or not use) the current or last GPS coordinates could be utilised.<br />
<br />
==== Conversation Recorder ====<br />
<br />
An option to record phone conversations. Would be helpful to have the device always recording for every call, with the sound data encoded to low quality Ogg Vorbis or SPEEX and stored in RAM. At the end of the conversation the user would have the option to save to flash or discard the conversation. This idea could also be applied to voicemail so you could save voicemails locally.<br />
<br />
====Unlicensed Mobile Access (UMA)====<br />
T-Mobile recently rolled out a UMA service that hands off calls between the GSM network and WiFi access points. Only a few phones support it right now, this could be a rather unique feature if OpenMoko can implement it.<br />
<br />
==== Ignore-Call Button ====<br />
{{Main|Wishlist:Ignore Call Button}}<br />
<br />
Shut up a ringing phone, without accepting or rejecting the call.<br />
<br />
Another alternative might be to use microphone to recognize when the user gives an audible "Shhh!" command. This could prove difficult to determine with the simultaneous ringing, and possible in-pocket shuffling noises.<br />
<br />
A really usable feature is to "reject with SMS/text message" - letting the user reply the caller choosing a previously setup template or typical response: "I'm in a meeting - I'll call you later" or "Can't take your call now, please call back in 10 minutes". This feature typically is a much better way to get your co-workers (ie boss) to back off, than to silently ignore the call.<br />
<br />
==== Voice Mailbox ====<br />
{{Main|Voice Mailbox}}<br />
On-Phone voice mailbox that records calls on the phone and retrieves voice messages from your mobile service provider's voice mailbox and saves them locally.<br />
Can act profile-dependent.<br />
<br />
==== Hold Button ====<br />
<br />
Similar to mute, but plays a sound file for the user on the other end while they wait. The sound file could be chosen in some setup beforehand.<br />
<br />
==== Unanswered Call, Fast Call ====<br />
<br />
In Greece because of the various bill programs some people call a mobile phone, rings one time and then hangup.<br />
Then the user of the mobile phone calls the other user(using the CallerID recognition).<br />
<br />
===Audio===<br />
<br />
==== Ambient Noise Detection ====<br />
{{Main|Wishlist:Ambient Noise Detection}}<br />
<br />
Using the microphone to detect ambient noise the ringtone volume could be adjusted automatically.<br />
<br />
Detection of ambient noise could also be used to subtract the noise from the audio signal. However this approach is best performed using two Microphones, one for the voice and the other to detect the noise.<br />
<br />
==== Active noise control ====<br />
<br />
Using the microphone to do [http://en.wikipedia.org/wiki/Anti-noise active noise control] on media player playback or telephone calls. This should be an independent module/library which can be used by any application which might require this feature. also provide a way to easily alter the parameters of the active noise control.<br />
<br />
==== Hear Impaired Mode ====<br />
<br />
Hearing impaired people need louder speaker(but with less volume than hands free) and equalized sound, based on their hearing problems(example 20dB hearing loss from 2KHz to 4KHz).<br />
Older people 50+ years old need slower speech rate(time stretch, cut the big speech gups) and cleaner voice.<br />
<br />
Please note also the Hearing Aid Compatibility regulations in the US. I have tried to summarize and clarify them [http://quux.wiki.zoho.com/WhereAreHACphones.html here]. I haven't yet discovered whether the FIC device is M or T rated. For many hearing impaired users, a tcoil coupling to their hearing aid (t3/T4 rating) would be preferable to manipulating sound output in other ways.<br />
<br />
==== Mute Button ====<br />
<br />
Button to temporarily disable microphone while talking for applications such as telephone, audio recording and (when available) movie recording.<br />
<br />
===Media===<br />
====Music/Video Software====<br />
A real good programming area for competition with the iPhone, a singular video/music player would be great for multimedia. A seamless integration system, a la iTunes and iPod, would be extremely popular. <br />
<br />
Using the Wi-Fi connectivity, a separate music program that supports wireless music sharing/ streaming (similar to what can be done when two computer running iTunes that are both on the same network) and that also supports internet radio.<br />
<br />
It would also be nice to have some kind of "announce your musical taste" mode. This could be implemented using last.fm profiles, such that when e.g. in a crowded place a user nearby has a similar musical taste, both users get notified so they can share their music files with each other (perhaps using a photo for id). Great for discovering new music - and making friends!<br />
<br />
- Possible copyright issues sharing music files?<br />
<br />
==== Reading Support ====<br />
It would be really great to be able to read :<br />
<br />
*PDF<br />
*Open Document files<br />
*Text / RTF files<br />
*MS Office files<br />
*Aportis Doc (pdb)<br />
*DjVu<br />
*...<br />
<br />
In both landscape and portrait<br />
<br />
==== Wikipedia Mirror ====<br />
{{Main|Wishlist:Wikipedia_Mirror}}<br />
<br />
==== Blog ScribblePad ====<br />
<br />
Draw an image (and maybe add some text), then post to your blog.<br />
<br />
==== E-Book Reader ====<br />
* Neos brilliant ultra-sharp screen makes for a very good e-book reading device. All it takes is a good e-book reader with touch-screen page turning / scrolling. FBReader could probably be adjusted easily by an experienced GTK hacker. Note that e-book reading is different to pure text/pdf displaying as it requires at least auto-bookmarking of the last read page, proper text and image scaling and text formatting.<br />
<br />
==== Personal Wiki ====<br />
{{Main|Wishlist:PersonalWiki}}<br />
<br />
Display the notes database as a Wiki. Inspiration: [http://www.acrocat.com/AcroWiki/default.asp?lang=en AcroWiki].<br />
<br />
[http://www.didiwiki.org/ Didiwiki]<br />
<br />
<br />
==== Dictionary, thesaurus, translator and flashcards ====<br />
Native lookup dictionary and thesaurus and foreign translation dictionaries, also with support for Asian languages. Optional custom configurable (though preconfigured) interface with on-line versions of dictionaries, thesaurus and translation services.<br />
<br />
'''Dictionary'''<br />
Something like [http://www-user.tu-chemnitz.de/~fri/ding/ ding]:<br />
<br />
advantages:<br />
* small<br />
* very efficient + useful<br />
* only limited to really needed functions<br />
<br />
Support for vocabulary training with flashcard system (also usable for other content than foreign language words!)<br />
<br />
==== Flickr uploader ====<br />
A simply, drag & drop uploader, tagger and organizer to upload images on phone to [http://flickr.com Flickr], with support for various languages. A good base could be the cross-platform uploader [http://juploadr.org/ jUploadr], written in Java and working on Windows, Mac and Linux. But, most of all, the best '''GPL''' program which actually do this work is '''[http://mobilepushr.jottit.com/ Mobile Pushr]''', written in C and Cocoa for iPhone, must be probably ported in python to work on OpenMoko.<br />
<br />
===PIM (Personal Information Managment)===<br />
====Context Sensitivity====<br />
Any email or sms message or application that contains a telephone number should be click to dial, eg [http://123567890 1234567890]. Addresses link to mapping software too?<br />
<br />
==== Notes ====<br />
<br />
Something for taking notes would be a nice feature:<br />
[http://www.gnome.org/projects/tomboy/ Tomboy] has some nice syncing features and is gtk based.<br />
<br />
Some Screenshots are [http://www.gnome.org/projects/tomboy/images/ here].<br />
<br />
==== Calendar ====<br />
<br />
A nice calendar application should be implemented in OpenMoko. This tool should have a syncing feature with your desktop computer.<br />
The tool should have a reminder feature and other features like other mobile phones already have.<br />
<br />
==== Address Book ====<br />
<br />
* Option to search not just the stored list of addresses, but one or more of the online phonebooks. Probably should be modular to make adding/changing phonebook sites easy. Also allows for future integration with LDAP<br />
servers or whatever.<br />
* Also the possibility to search all info on the contact, like number, email, postal address and so on, in case someone asks you to identify a known number.<br />
* Web-based map-lookup. 'How do I get there from here? (here = current GPS location)' This could also be done<br />
by integrating with whatever on-phone GPS mapping software the Neo ends up using.<br />
* Random text input 'notes' about a contact<br />
* Overall, this should more resemble a Palm-pilot's address-book than your average cellphone's<br />
* Automated Daily backup of phone book to a website archive (similar to Verizon's Back-up Assistant<br />
*Ability to integrate address book with web-based email (such as gmail) account, for those who use web based email as their primary account<br />
* '''[[Wishlist:Tagging|Tagging]]''' Place tags for contacts. Enhance message application to send messages to all contacts tagged with ... . Enhance other application(GPS, ...) with tags.<br />
* Support for:<br />
**[http://en.wikipedia.org/wiki/SyncML SyncML]<br />
**[http://en.wikipedia.org/wiki/Ldap LDAP] address book<br />
**[http://en.wikipedia.org/wiki/LDIF LDIF], [http://en.wikipedia.org/wiki/Xml XML] and [http://en.wikipedia.org/wiki/Comma-separated_values CSV] export and import (when possible).<br />
*Store Bluetooth IDs of friends and notify (configurable only on this device or on both devices) when a one of these Bluetooth ID has been detected (this is more a separate application but has requirements on the address book. Should also be able to create an address book entry from a Bluetooth ID. Could be used as a nice tool to detect people who you're avoiding.<br />
<br />
==== Database/List Display/Edit ====<br />
{{Main|Wishlist:PilotDB}}<br />
<br />
One of the most useful apps on my Palm Pilot for me is [http://pilot-db.sourceforge.net/ pilot-db]. It's GPL'd.<br />
<br />
==== Joe's Goals ====<br />
<br />
It'd be nice to have something like [http://www.joesgoals.com Joe's Goals] always available, like my phone is, even when I'm disconnected from the net.<br />
<br />
==== Workout ====<br />
<br />
Use your phone instead of your notebook while at the gym, and get pretty graphs to admire after you're done.<br />
<br />
==== Shopping List ====<br />
keep Track of Prices in different shops and the products you have/don't have. Ideally using a barcode reader and gps.<br />
If it was made aware of recipes it could even tell you what to buy without entering a shoppinglist manually.<br />
<br />
==== Fuel Log ====<br />
File data about fueling your car (date/time, liters, price, mileage, ...) and display some information (costs per month, average consumption, ...).<br />
Advanced features could include:<br />
* Automatically storing the GPS coordinates of the place where the car has been fueled (can be deactivated)<br />
* Sending the data to a central server which collects the information<br />
* Let the OpenMoko receive fuel logs per SMS (e.g. if my wife with a non-openmoko mobile fuels the car and wants to file the data using her mobile phone)<br />
* Let the OpenMoko device act as SMS gateway for non-openmoko devices to easily send the data to the central server<br />
* Also support for air log for divers. Not that you will take this device under water but for the crew at the surface.<br />
<br />
==== Keep in touch reminder ====<br />
A background application which keeps track of your friends and reminds you when you have not talked, SMS, IM or mailed a person for more than # days.<br />
<br />
<br />
==== Menstruation period timer ====<br />
Fill in statistics and compute probabilities for menstruation, fertility, mood.<br />
See http://www.getjar.com/products/48/MyGirls<br />
<br />
==== Tagging ====<br />
{{Main|Wishlist:Tagging}}<br />
Tags can be used by various applications. Requirement is interoperability for further enhancement.<br />
Tags should be applied to calendar events, mail/sms, calls, places(GPS) and files.<br />
<br />
==== Context based TO-DO list ====<br />
{{Main|Wishlist:context based to-do list}}<br />
<br />
If I arrive home and there are "@home" things in the to-do list, the Context based to-do list reminds me of that.<br />
<br />
==== Exchange Integration ====<br />
<br />
Once there is good TCP/IP connectivity on this phone, integration with corporate email/calendar/to do/etc servers would be a big advantage... near-real-time automatic email downloads and automatic bi-directional syncing are productivity boosters that you have to experience to appreciate. It turns your phone from a 'nice gadget to fiddle with' to a natural-feeling extension of your day-to-day life.<br />
<br />
* Is the time right to name names ? Add as your liking...<br />
** Plugin/integration to & from Kontact<br />
** Same with Evolution - Thunderbird - Seamonkey<br />
** ?? Google Calendars ?? (this one is tough)<br />
** Ms Exchange<br />
<br />
==== An electronic wallet ====<br />
<br />
A database which stores securely PIN codes, login data, bank and email accounts, membership informations, and other valuable and private data. Entries can be ordered in a folder-like manner. Access to the database is given by a master password. The database as well as the master password are stored with strong encryption. For security reasons, the program asks again for entry of the master password after a certain period of inactivity. The database can be synchronized with a PC application (ideally written in Java for cross platform compatibility).<br />
<br />
Examples: KWallet [http://docs.kde.org/stable/en/kdeutils/kwallet/index.html], Viskeeper [http://www.sfr-software.de/cms/EN/pocketpc/viskeeperpro/index.html], KeePass [http://keepass.info/]<br />
<br />
==== Easy business card sharing for a small group (in the same room) over bluetooth or WIFI ====<br />
<br />
Six Neo1973 owners are having a chat in a cafe. They agree to split but meet later. They want to exchange their numbers with each other before they go.... The normal way to do this is for a rather longwinded repeating of numbers to each other, or half the people manually inputting numbers before phoning/texting the other half to complete the process. All in all its a fair number of button presses to get it sorted.<br />
<br />
Instead the NEO could have a small app where the phones link up in a small peer to peer Bluetooth network and share automatically with one person initiating a request and the other detected NEOS agreeing/acknowledging the share. The initiating NEO would then sync the mini-group automatically by interrogating each phone and then sending the table of results. The NEOs would have to be clever about checking for duplicates in the address book and offering a choice to the user if there are any conflicts.<br />
<br />
PROS: <br />
*genuine saving in time for social and business situations<br />
<br />
CONS: <br />
*I am sure there are some security hassles to be pondered....<br />
*not going to be used every day... definitely not an immediate priority.....<br />
*only at geek conferences will all have a neo....<br />
<br />
===Profiles===<br />
{{Main|Wishlist:Profiles}}<br />
<br />
The Wishlist:Profiles page documents many possible profiles - ways to configure the phone. Including ways to respond to calls, wifi and GPS events.<br />
And how to automatically switch between them.<br />
<br />
===Text Messaging===<br />
For '''Text Input related ideas''' see [[Wishlist:Text_Input]]. Bear in mind that T9 can not be included<br />
For current development status of the messaging-app see: [[Messages]].<br />
<br />
There are many useful options that now can be used to full capacity:<br />
* '''Acknowledge/status SMS'''<br />
In GSM networks so-called acknowledge-SMS are sent back to the SMS's dispatcher in order to indicate that the primal sms was received (as message delivery is only best effort and is not guaranteed). So in the SMS dialog there could be equal sized buttons with captions as 'send only', 'send and receive delivery status message' and 'send and notify (e.g. ring) when delivery succeeded'.<br />
** '''Special handling of status-SMS''' <br />
Related to the previous entry, these acknowledgment-sms' should be handled in a different way than normal SMS'. Most Motorola do this, while Samsung SGH series don't & clog the inbox, warn of a "new" message upon Status notification: Delivery Status Messages should be stored in a separate menu so they don't bloat the received-folder and you are able to quickly review the status of the messages you had sent.<br />
* '''SMS at time/date''' You could be able to set up messages that are sent at a certain time/date<br />
* '''Binary SMS''' Send binary SMS. Could be used to feign WAP pushes. [http://en.wikipedia.org/wiki/Multimedia_Messaging_Service] See: <br />
** Resource for SMS encoding: [http://web.archive.org/web/20021016104345/www.dreamfabric.com/sms/] [http://web.archive.org/web/20060411222332/] [http://home.student.utwente.nl/s.p.ekkebus/portfolio/resource/sms_pdu.html] [http://www.ihub.com/Binary%20Messages.htm]<br />
** [http://www.gammu.org www.gammu.org] - you can use Gammu/Gammu+ source for this software and/or understanding various SMS formats including EMS, WAP, Nokia Smart Messaging, Siemens & Alcatel encoding ([[User:Marcin|I could]] eventually help)<br />
** Resource for SMS encoding (German): http://de.wikipedia.org/wiki/SMS-Kodierung<br />
** The infamous pocketpc-attack: http://www.mulliner.org/pocketpc/<br />
* '''Profile-override-SMS''' SMS that start with a certain code word override the silent profile and have the phone ring. So someone could alert you in case of some emergency.<br />
* '''Codeword-SMS''' An expansion of the above: check for code words and allow selectable tones for matches. E.g. "Server Down!" has a loud klaxon, "Disk Warning" has a quiet chirp.<br />
* '''(De-)Abreviation-script''' Implement a script that de-abbreviates: "hi m8 u k?-sry i 4gt 2 cal u lst nyt-y dnt we go c film 2moz" becomes "Hi mate. Are you okay? I am sorry that I forgot to call you last night. Why don't we go and see a film tomorrow?" (taken from: [http://en.wikipedia.org/wiki/SMS_language])<br />
** Implement a script that abbreviates :-)<br />
* '''Anti-Spam''' ...feature for SMS. May be it's possible to port some Bayesian based application like bogofilter.<br />
* '''Rule based authorizations''' ...for received messages. For example, delete messages from one source between 9h00 and 18h00 (workday) allow them otherwise (to get alerting messages).<br />
* '''Enable chat-like SMS-viewing''' SMS-Email-like: retain SMS app, but store 'conversations' rather than pile-up. Group/archive conversations by Caller Group (Work / Friends / Home / any user-defined Caller Group). Show appropriate icon from either Caller Group or Caller ID at the source of conversations panel<br />
* '''Searching''' allow full-text search or string search.<br />
* '''Massive SMS Deletion''' based on Conversation, author, before-date-xx.xx.xxxx, caller group, [[Wishlist:Tagging|tags]]...<br />
* '''Call Back''' Prompt 'Call Back' alongside other first-line options (Delete, Save number,.. this kind of options) that appear when reading an SMS.<br />
* '''Non-destructive deletion''', deleted messages goes to trash, and are recoverable.<br />
* '''SMS-EMail-Gateway'''<br />
SMS comes in, gets forward to your inbox, like any other piece of mail. Appropriate alerts and etc occur - again, just like for email. A simple SMTPD running on 127.0.0.1 that is hooked to an email-to-SMS translator that will send email addressed to 'SMS@localhost' (or whatever special address) out via SMS<br />
* '''SMS-filter chain''', for stuff like Codeword-SMS above, Theft-mode activation, auto-response (reply with gsm-position for "Where are you?"), auto-substitution (like replace $POS with gsm-position in outgoing SMS).<br />
<br />
=== Text input ===<br />
{{Main|Wishlist:Text Input}}<br />
There are many good suggestions for text input on the specific text input ideas page.<br />
<br />
=== More/Custom Input Method Widgets ===<br />
{{Main|Wishlist:More/Custom_Input_Method_Widgets}}<br />
Additional and customizable Input Method Widgets (similar to virtual keyboard). <br />
This could add soft-key functionality to games or other applications such as:<br />
*D-Pads<br />
*buttons<br />
*virtual trackballs<br />
*...<br />
Personalized layouts could be associated with each application.<br />
<br />
=== Games ===<br />
{{Main|Wishlist:Games}}<br />
<br />
=== Mesh Networking ===<br />
{{Main|Wishlist:Mesh Networking}}<br />
<br />
=== Printing Support ===<br />
It would be really neat to be able to print over either bluetooth or USB. I can imagine wanting to print:<br />
<br />
* Notes<br />
* Maps<br />
* Email<br />
* Calendars<br />
* ...<br />
<br />
Cups contains a bluetooth printing backend, so (in theory) once you have your data in postscript format, you could hand it to cups and it'll do the rest. In practice, it depends on<br />
<br />
# GTK+'s printing support<br />
# Making cups run on a really small system<br />
<br />
{{note| GTK+'s printing support seems to be very immature in 2.6 (which we need to use for some time). Gtk+ 2.10 contains much better printing support -- once we can use this, it should be more easy.}}<br />
<br />
There's always the possibility to render postscript ourselves, but this is not a piece of cake -- in general, printing is much harder than one would imagine.<br />
<br />
Further details:<br />
* [http://groups.osdl.org/apps/group_public/download.php/2205/print-summit-gtk.pdf#search=%22gtk%2B%20printing%20API%22 osdl.org]<br />
* [http://www.gnome.org/~alexl/presentations/guadec2006-printing.pdf#search=%22gtk%2B%20printing%20API%22 gnome.org]<br />
* [http://www.j5live.com/?p=204 j5live.com]<br />
<br />
===Misc Software===<br />
====Clocks/timers/Activity meters====<br />
===== Sport tracker =====<br />
{{Main|Wishlist:Sport_tracker}}<br />
Sport tracker can be used to measure the distance/velocity from point A to point B (or it could have several intermediate stopping points) using GPS. This would be extremely useful for running, biking, hiking, etc.<br />
<br />
===== Standby clock =====<br />
{{Main|Wishlist:Standby_clock}}<br />
A quick way to see what time it is.<br />
<br />
===== Egg Timer =====<br />
{{Main|Wishlist:EggTimer}}<br />
<br />
Very simple (one click) count up / count down timers are very useful.<br />
<br />
===== Cycle Computer =====<br />
As already mentioned by [http://wiki.openmoko.org/wiki/User_talk:Technil Technil], a cycle computer could be created using gps. The sensor at the bike's wheel could transmit data via bluetooth or some cable that would be attached to an openmoko device. In order to save power, one could switch off the gps and only use the bike's sensor.<br />
* Just another idea that came to me: Why don't have sensor's transmit cable plug into the headphone/microphone plug? A tool reads the signals created by the induction of the passing magnet, then gives them to the cycle-computer-app :) --[[User:Minime|Minime]] 19:50, 12 April 2007 (CEST)<br />
<br />
===== NTP Server =====<br />
<br />
Run the [http://www.ntp.org NTP] daemon using the GPS chipset as a reference clock, so that the Neo would have a very accurate time-of-day clock and would be able to serve time to other networked devices. <br />
<br />
I don't know what it would take to implement this. Items to consider would be the availability of a 1 pulse-per-second hardware signal, the accuracy of timestamps delivered in NMEA messags, etc. Dealing with power-management issues (such as the device going to sleep) would also be challenging.<br />
<br />
Very simple (one click) count up / count down timers are very useful.<br />
<br />
===== Reality check reminder =====<br />
{{Main|Wishlist:Reality check reminder}}<br />
<br />
A tool to [http://www.phrack.org/issues.html?issue=64&id=16 hack your brain]<br />
<br />
====Calculators====<br />
===== A Universal Unit Converter Tool =====<br />
<br />
One never knows when one may have to convert acre-feet into deciliters. A unit conversion tool makes all engineers and engineer wannabes much happier. And not only the engineers. <br />
<br />
Ideas what kind of conversions a converter tool could do:<br />
<br />
Lenght<br />
- Acceleration<br />
- Angle<br />
- Angular Velocity<br />
- Area<br />
- Capacitance<br />
- Radioactivity<br />
- Currency <br />
- Charge<br />
- Computer Memory<br />
- Conductance<br />
- Density<br />
- Energy<br />
- Illumination<br />
- Power<br />
- Force <br />
- Flow<br />
- Pressure<br />
- Speed<br />
- Temperature<br />
- Time<br />
- Torque<br />
- Viscosity<br />
- Volume<br />
- Weight<br />
<br />
Roman Numerals<br />
- ASCII, Hex<br />
- Cooking<br />
- BMI<br />
- Clothing Sizes<br />
<br />
Money Converter based on current rates from Internet...<br />
e. g. Dollar <-> Euro<br />
<br />
Physical and Mathematical Constants<br />
GPS conversions <br />
<br />
- link to or integration of a scientific calculator<br />
- link to or integration of a simple calculator<br />
<br />
A good basis for such a converter tool could be the Palm program "units" from <br />
François Pessaux [http://francois.pessaux.neuf.fr/files/units1_11.tgz]. The GPL'd program comes with full documentation.<br />
<br />
For GPS conversions see gpsbabel [http://www.gpsbabel.org]<br />
<br />
===== An Postfix Notation (RPN) calculator =====<br />
<br />
Many engineers, computer scientists and other groups who have grown to enjoy the simplicity and ease of an postfix notation calculator will miss them when they give up other platforms to move to OpenMoko. A RPN calculator will increase adoption by providing one of the tools that other platforms have provided for many years.<br />
<br />
==== Web-browser Plugins ====<br />
<br />
* While an extensive browser plugin system would be costly to the efficacy of the platform three particular browser plugins as poplularized by Mozilla firefox should be adapted to the web-browser, namely: [http://noscript.net/ noscript], [http://adblockplus.org/en/ adblock plus], [http://www.greasespot.net/ greasemonkey] and [http://www.foxmarks.com/ foxmarks].<br />
* Careful use of these can dramatically reduce bandwidth, page space, and rendering costs even if it comes at the risk of some hard drive space in the form of block lists.<br />
* Greasemonkey, in particular, gives users control to set up scripts for commonly traveled pages to further reduce unnecessary or unwanted content.<br />
<br />
==== Windows CE Emulator ====<br />
<br />
On ARM machine, Windows CE API emulator, like Wine on x86 machines. <br />
<br />
==== PalmOS Emulator ====<br />
<br />
The Access group is probably coming out with their Linux platform any time soon. One of the components is a PalmOS emulator which I'd like to see working on OpenMoko as well. There are literally thousands of PalmOS apps.<br />
<br />
I'd like to see a Windows CE Emulator with active sync support.<br />
<br />
==== TV Guide/Remote Control ====<br />
<br />
Use your Phone to easily program your VCR using EPGs.<br />
<br />
<br />
==== Alcohol meter ====<br />
Give the phone some info about your body (gender, size, weigth) and when/what you drink and it will compute an approximation of the amount of alcohol in your blood. Updates automatically, could have an alarm, when you are probably sober again.<br />
See, for example (German text) http://www.misterio-online.de/promille.htm<br />
<br />
==== Interaction with LEGO Mindstorm ====<br />
With the accelerometers, GPS and good CPU, the phone could be used to control/serve as input with robots built with LEGO Mindstorm, which can be accessed by USB and Bluetooth.<br />
<br />
==== Flashlight ====<br />
Simple finger application that makes every pixel on the entire screen white to be as bright as possible until you tap the screen again to turn it off. This way, you can use your Neo as a (short term) flashlight!<br />
<br />
=== Accessibility ===<br />
Accessibility features for the visually impaired.<br />
* High Contrast Themes.<br />
* Screen Magnifier. Features should include automatic cursor tracking when navigating menus and entereing text and provide manual controls to zoom in on other section of the screen.<br />
* Text to speech. The software should read out menu item ,contact lists ,text messages etc. Would also be useful for operating the phone while driving.<br />
<br />
==== VOIP ====<br />
Ability to use the phone for VOIP over wi-fi such as Vonage. They currently have 2 different pieces of software for pc . Basically software creates a mac address which is paired with your Vonage account. Skype could also be implemented but I prefer Vonage. Only available when connected to wi-fi with a good connection. Phone treats calls the same as a cellular call, could keep a separate log of minutes, ability to record conversations, etc. Option to use VOIP if connection is available automaticly or manually. Small icon to show when call is using VOIP.<br />
* A standard SIP client would probably fit better into the "free and open" philosophy.<br />
* Ideally a SIP client that includes ZRTP/SRTP for secure communications.<br />
(Note: Vonage will not give you your SIP credentials, so you cannot log into their network with a non-approved softphone. Other VoIP providers have different policies.)<br />
<br />
==== Power Meter ====<br />
If the power bar is clicked on it will show time left on charge and if charging it will show time until full.<br />
<br />
<br />
<br />
=== Accelerometer wishes ===<br />
==== Flick interface ====<br />
Ability to "flick" the phone for page up/down by simply and rapidly tilting the phone back-and-forth for up and forth-and-back for down. The same motion can be implemented for sideways motion. This will take advantage of the 2 3d accelerators.<br />
<br />
Sensitivity of the scrolling should be configurable and a test option provided.<br />
<br />
==== Reading navigation of documents enhanced by accelerometers ====<br />
If the two accelerometers in Neo1973 allows it, it will be nice if when you're reading, give a newspaper, you can move up, down, left and to the right the viewing of the document just moving the phones to the corresponding direction.<br />
<br />
I don't know if this is possible (haven't seen the project in detail yet) but this feature could be very attractive for final users (and this is good). (sorry for my english but i'm italian)<br />
<br />
==== Wand UI ====<br />
In keeping with the requests to think outside of the box... the dual 3d accelerometers should enable a 'magic wand'-style UI for certain uses. Macros could be recorded and edited, or presets could be used. For example, flipping the device playfully could initiate a game mode or could signal the end of the work day.<br />
<br />
==== Shake-to-Wake ====<br />
Giving the phone a shake enables voice commands for a few seconds.<br />
Usage Examples: <br />
<br />
{Shake} "Call" ''ContactName'' ''PhoneType'' --- {Shake} "Call John Mobile" (Calls John's mobile)<br />
<br />
{Shake} ''ApplicationName'' --- {Shake} "Reader" (Opens the e-book application)<br />
<br />
Would require a method of inputting voice tags for applications and contacts and obviously will only work for P2 (accelerometers)<br />
But lets get voice command functionality working before P2 (just by pressing a button on the screen instead of shaking)<br />
<br />
I think that is possibly to replace "Shake" with double hit with finger in the side of phone. Proper algorithms(with accelerometers) should recognize any similar activities.<br />
<br />
==== Emergency call ====<br />
When the accelerometer detects a great acceleration (i.e. 5G) start a countdown sequence, if it is not stopped make a call to a preconfigured emergency number. If the data from the GPS is accurate give it.<br />
<br />
A first version could use a recorded message (an audio file). In next version it could use a synthesizer, so it can give more information (add GPS information when it is ready).<br />
<br />
==== Movement detection ====<br />
By detecting that the owner is walking a user defined profile can be activated with a specific set of notification settings. For example you may wish to use a cheap old sounding ringtone so you don't attract attention from muggers. Or you may wish to have a louder ringtone if you carry your phone in a bag where it can't be so easily heard.<br />
<br />
==== Others ====<br />
Also see the pages[[Wishlist:Auto Align Map]], [[Wishlist:Determine Position]], [[Distance Measuring]], [[Wishlist:Computer Mouse]], [[Wishlist:Dynamic Screen Orientation]].<br />
<br />
=== Connectivity ===<br />
<br />
==== VNC client ====<br />
A good, stylus friendly VNC client/host combo would be easy to add and terribly useful.<br />
<br />
<br />
==== Networked X-Windows ====<br />
<br />
Whether it's running true X-Windowing over the network, or your bog-standard VNC connection as mentioned above, the ability to have your phone's screen available on your laptop or palmtop would be most desirable.<br />
<br />
==== NX client ====<br />
<br />
A form of X-windows forwarding optimized for performance over slow, or high-latency links, which could prove extremely useful. Capable of streaming a good quality, full desktop session over modem speeds. The protocol and at least one implementation is gpl'd. [http://en.wikipedia.org/wiki/NX_technology wikipedia]<br />
<br />
==== Web browser + widget support ====<br />
<br />
Built-in browser with the ability to install widget shortcuts (aka links) in the main phone menu, also some apis for interfacing with the other functionality of the phone like adding contacts, reading contacts, reading gps-psoition etc.. (maybe there is some defacto widget standard that could be used)<br />
<br />
=== Security ===<br />
<br />
==== General Filesystem Encryption ====<br />
<br />
If anyone wants to get your private data saved on your OpenMoko device, he should have to get through a high security mechanism like dm-crypt. The question is how much CPU power would be needed. <br />
Would it be an idea to encrypt only the private data like phone numbers, preferences, address book etc. (like /home/$USER).<br />
<br />
http://luks.endorphin.org<br />
<br />
==== My Account ====<br />
{{Main|My Account}}<br />
A way to securely store information about the phone, and ensure that a phone you may be considering purchasing is not stolen.<br />
<br />
==== [http://zfoneproject.com/ Zfone] or similar ====<br />
<br />
Something that allows the user to speak with another person securely.<br />
<br />
==== GSM Encryption ====<br />
<br />
This software application would allow GSM encrypted calls to be made using the GSM Data Call Channel. <br />
<br />
[[OSvS]]<br />
<br />
==== My Voice is my Passport ====<br />
Use voice recognition to unlock the phone. "Hi. My name is ... My voice is my passport. Verify me."<br />
<br />
==== Firewall ====<br />
A network firewall<br />
<br />
==== Anti Theft Application ====<br />
<br />
This application would enter the phone into an [[Anti-Theft Mode]] which activates particular security features to reduce the risk of theft and also to ensure a higher probability of recovery of a stolen handset.<br />
<br />
====RFID based personal alerts====<br />
Assuming an RFID reader is available: You'd put an RFID tag on your keys, wallet, etc and train a program on the phone to give you a soft or hard alert when one of them leaves detection range. That way, if you're walking away from one of them, the phone could alert you.<br />
<br />
=== Integrated Help System ===<br />
<br />
A help system that is either on or off. It could be activated and deactivated by a [[five-second-press]] on a button, for example the AUX button. When the help system is activated, it will explain the use of any item you touch on screen (with stylus or finger). Example: if you touch the battery icon, it will explain that this shows battery level / remaining time. If you touch the date / time icon, it will explain that this icon shows date and time, and that if you press it, you can set date and time. Primarily, this help system should be able to explain all user interface elements in the main screen, but if it proves popular, it could be expanded to cover other applications as well.<br />
<br />
===Performance optimisation===<br />
==== Use DMA engine in CPU for blitter ====<br />
The DMA engine in the CPU can substantially speed up moving of large areas of screen in some cases.<br />
<br />
==== Use virtual screen to optimise scrolling ====<br />
In some other cases, the hardware supported virtual screen may also speed it up.<br />
<br />
==Bluetooth==<br />
<br />
=== Voice Dialing ===<br />
<br />
Dial by voice commands.<br />
<br>Dial by dictating phone number. This way we can voice dial any number even if not in our contact list.<br />
<br />
=== Music through Bluetooth Headset ===<br />
<br />
Music can be played through a Bluetooth headset, but would stop playing when a call comes in.<br />
<br />
=== Walkie Talkie ===<br />
<br />
Let OpenMoko devices connect to one another via bluetooth or another connection method (GPRS for long distance but high latency, probably Wifi on P2), and hold a conversation.<br />
<br />
Features for this applications can be:<br />
* Push To Talk (PTT) button<br />
* Voice Activated Control (VAC) which will set it in transmit mode when input has is detected above a certain predefined level.<br />
* Optionally a full duplex mode<br />
* Different channels to choose from<br />
* Monitor different (preselected or all) channels for traffic.<br />
* Content encryption<br />
* Active noise control<br />
* Allow zero config use (units can talk without any access point helping)<br />
* Overview of all connected people trough sending GPS data to everyone who is in the Walkie Talkie channel<br />
<br />
Local (non-GPRS) use cases include chatting while biking<br />
or motorcycling in a group; perhaps also in a car caravan.<br />
This application could also be used as a baby-phone to monitor your siblings.<br />
<br />
This would be more useful if the Neo had Class 1 bluetooth, though probable Wifi on P2 will also offer more range.<br />
<br />
=== Automatic Sync ===<br />
<br />
Automatically synchronize with desktop computer (or with any [http://en.wikipedia.org/wiki/SyncML SyncML] server) when within range based on user profile. This may require the use of a secure data transfer.<br />
<br />
=== GPS Assisted Bluetooth Management ===<br />
<br />
Allow Bluetooth to automatically turn off after loosing connectivity and to automatically turn back on based upon GPS location.<br />
<br />
A Bluetooth device is configured for automatic reacquisition based on the following profiles:<br />
* Manual - only when Bluetooth is on<br />
* Non-mobile - the target device is not mobile, periodically attempt reacquisition when in the general area of the device.<br />
* Mobile - the target device is mobile, periodically attempt reacquisition when in the general area of the device.<br />
<br />
Each target device is configured as follows:<br />
* Automatic acquisition at last known location: enable/disable<br />
* Automatic acquisition at these locations: list of nickname + coordinates + range<br />
<br />
==== Non-mobile devices ====<br />
<br />
Examples devices include: computers<br />
<br />
The location and range of the target device is determined via training. Periodically, the current GPS coordinates and Bluetooth signal strength are logged. Additionally, connectivity loss events are logged. An algorithm uses these logs to determine the device location and range.<br />
<br />
Connection attempts are made when in a configurable proximity to the device. The first attempt when entering the proximity and further attempts at a configurable interval.<br />
<br />
==== Mobile devices ====<br />
<br />
Example devices include: automobiles<br />
<br />
Mobile devices are configured to have two types of locations:<br />
# Last known location<br />
# Non-mobile locations (homes)<br />
<br />
===== Last known location =====<br />
<br />
A car is mobile, ideally, when you leave your car, the phone should note the car's location when connectivity is lost and then attempt to reacquire the car when you return to the location of the car.<br />
<br />
===== Non-mobile locations (homes) =====<br />
<br />
As mobile devices may have multiple users, it is not sufficient to always use the last known location. In this case, the device may additionally have multiple homes. For example, a car might have as its homes: home garage and work parking lot.<br />
<br />
=== Bluetooth neighbor detection and multiuser apps ===<br />
<br />
Like the [http://en.wikipedia.org/wiki/One_laptop_per_child one laptop per child] (OLPC) interface, keep a number in the status bar that represents a count of other openmoko or compatible bluetooth devices in the area. Allow for the spontaneous initiation of a chatroom or multiplayer game or file trading with any moko in the area.<br />
<br />
=== Bluetooth environment detection ===<br />
<br />
Capability to detect when a predetermined bt device enters/leaves bt range and launch a system-wide event accordingly. This would feed not only the "Neighbour detection" idea described above, but also the "Profiles", "Context based TO-DO list" and "Location-based reminders" ideas. Reminders could be set to trigger in the presence of a specific person X (with BT device Y). Profiles can take into account which devices are present around the phone (car kit, for ex.). To-do list could also change according to present devices.<br />
<br />
=== Remote control ===<br />
<br />
==== Wireless presenter ====<br />
Use the phone to run your OpenOffice.org Impress presentation remotely using Bluetooth. Cool features: <br />
* Display the text notes for the presenter on the phone's display and update it whenever the slide is changing.<br />
** OO.org has implemented support for [http://www.openoffice.org/issues/show_bug.cgi?id=12719 dual monitor]/[http://www.openoffice.org/issues/show_bug.cgi?id=18486 presenter mode] that can be used as a starting point<br />
* A small timer showing the time passed (and perhaps remaining if the presentation app supports such a feature). <br />
* If you want to be super-cool, you give a preview of the notes of the next slide in the show. <br />
* At the end of a presentation, a "navigator" could allow to easily jump to any slide in the presentation by clicking on it on the phone.<br />
** When you right-click in a running OO.org Impress presentation, you can choose "got o slide..." and select any slide to jump to.<br />
<br />
==== Initiated from another device ====<br />
Remote control over Bluetooth from other devices to control media player (play, pause, next, previous, volume control), camera (capture image), etc.<br />
==== Directed at another device ====<br />
Remote control over Bluetooth to other devices to control media player, lights in your house, etc.<br />
<br />
Z-wave uses web-browser control of devices that is said to be compatible with mobile phone browsers so should work with openmoko browser. [http://www.z-wave.com www.z-wave.com]<br />
<br />
=== Bluetooth Car Connection ===<br />
<br />
Have a deeper connection to the car than just handsfree speakerphone. For instance a transceiver with challenge/response systems to open, possibly even start the car. Possibly go as far as OBD connection to monitor car status on screen/log for later.<br />
<br />
==== Dude, Where's My Car? ====<br />
<br />
When in range of the car navigation system, remember the position (perhaps check with the car GPS). When not in range, assumme that you are not in the car, and offer the opportunity to navigate to the car's last known position. That way, you can find your car e.g. on a large parking lot.<br />
<br />
=== [[Bluetooth powered Multi-SIM support]] ===<br />
<br />
As the Neo1971 does not come with dual-SIM support this could be solved by joining your old bluetooth-enabled mobile to your OpenMoko-phone.<br />
<br />
Let SIM card A be in your OpenMoko-phone and SIM card B in your old mobile:<br />
* Incoming call on SIM card B - the OpenMoko-phone acts as a headset(Bluetooth Headset profile)<br />
* Calling out via SIM card B - the OpenMoko-phone acts again as a headset<br />
* Same for Short Messages/MMS/Internet<br />
This way you'd have your old phone switched silent and connected to your OpenMoko-phone that handles all the calls and one can select which SIM card to use.<br />
Advantage: No 'switching' between cards<br />
Disadvantage: Second mobile needs to be in range(e.g. handbag) and charged every once in a while.<br />
<br />
===Internet Gateway===<br />
<br />
If the device could function as a Bluetooth router/gateway to the internet via the GPRS/data connector, then you could use it to get network connectivity from your laptop and other devices while on the road. Many smartphones can be configured as modems via Bluetooth for use as Dial-Up Networking connectors, and that should be the minimum target. Ideally, if the WiFi functionality was used so the OpenMoko could be an 802.11 router or peer to peer gateway for a laptop, this would be even better. The full bandwidth of GPRS or whatever network is available would then be available.<br />
<br />
=== Social Networking ===<br />
<br />
Anybody running the social networking app will be broadcasting a profile, and when certain keywords are matched with other users who are also running the application, an alert is sounded. Each mokoid can be added as a hexstring to a profile page, and xml filters can be developed for each social service to convert various keywords and interests to moko-friendly format.<br />
<br />
=== Give userspace api control over bluetooth signal strength ===<br />
<br />
I have tried bluetooth handsfree sets with other phones and don't get perfect reception due to low signal strength. I suppose the reason the signal is so weak is because the manufacturer wants the battery to last long on its latest charge. Can you please make the strength setting configurable by the user of the phone through an api and perhaps even through the phones gui? I would gladly waste some battery time in exchange for stronger bluetooth signal strength.<br />
<br />
<br />
== WiFi ==<br />
<br />
=== Industrial grade Wifi management ===<br />
One annoyance I've had with Wifi enabled gadgets is that they simply keep the connections in a dumb list. What I'd like to see is more granular connection management, which ennables me to specify whether a given connection is friend & family (mom's place), professional client (joe's copies and coffee), commercially available (panera), onetime use, or anything else, as well as managing router config backups, firmware images, and security keys.<br />
<br />
<br />
<br />
== Other ==<br />
<br />
=== Auto Update ===<br />
<br />
A small tool which is configurable to download the latest OpenMoko and OpenMoko related software. Maybe if any internet connection is available or a minimum of bandwith is available then the auto update would download only security related or the whole system etc. .<br />
<br />
=== Vibrate Pattern Recorder ===<br />
<br />
An application that would allow the user to define their own vibration patterns, and possibly link them to audio files. Recording would be done in real time initiated with a "Record" button, optionally playing the associated sound file in sync with recording). While recording, the user would press and hold a button to define the timing and duration of vibration. The user would press "Stop" when finished. Vibration patterns would have the option of being looped(would terminate at some global ringtone length maximum).<br />
<br />
One simple suggested vibration file format would be a sort of run-length encoding: First byte defines the length of a "time-slice" in milliseconds, which would determine the overall tempo(actually the inverse of tempo). The next byte would define the number of time-slices to leave the vibration on, and then another byte for how long to pause after. Continue alternating these on/off bytes until the entire pattern is defined.<br />
<br />
- or just use MIDI, using a separate channel for the vibrator.<br />
<br />
An implementation of RTTL could also be used to define vibration patterns.<br />
<br />
=== PC Input Device ===<br />
<br />
Provide a method to use the touchscreen as input device for a nearby desktop machine. Could connect over USB or bluetooth.<br />
<br />
=== Advanced Notification And Ringtone Manager ===<br />
{{Main|Wishlist-ANARM}}<br />
<br />
ANARM would be an application for handling all event-based audible notifications from an OpenMoko device.<br />
<br />
=== Location based reminders ===<br />
{{Main|Wishlist:Location_based_reminders}}<br />
Location based reminders can be used to notify users of various events or reminders that are location based.<br />
<br />
=== Synergy Client ===<br />
A synergy client would enable the user to place the device next to a desktop PC and share the desktop`s mouse, keyboard and clipboard over a TCP/IP network. [http://synergy2.sourceforge.net/ Synergy]<br />
<br />
== GPS Software ==<br />
*Providing GPS Support also for outdoor users in addition to ordinary street navigation features<br />
** Overlay of satellite images with existing streetmaps<br />
** Incorporating SRTM digital elevation model: for example using the VRML/X3D as data format (see http://www.ai.sri.com/geovrml/) which is interesting for e.g. mountaineering: using a 3d browser rendering VRML/X3D Model, displaying the current position and track (possibly also other gps-tracks of the different routes to a summit downloaded before could be mapped onto the 3d model), (what about 3d hardware support? there is nothing written in the hardware specs about graphics: thinking of OpenGL for embedded systems (see http://www.khronos.org/opengles/)<br />
** Using sth like a tracking mode to allow certain people to determine the current position and track (for rescue missions - like they have for example at http://www.steiger-stiftung.de (a German beneficence for rescue issues) There you can register your mobile phone so the rescue service is able to track you immediately if necessary. The interesting thing: It seems like some mobile phones with GPS have special support for this issue. If your phone is registered, the rescue service is able to get your GPS coordinates directly from the phone without any user assistance. Openmoko should also support this! )<br />
* Implementation of 3dTracking's (http://free.3dtracking.net/) tracking software or equivalent.<br />
* "Geomark" function: if you have to save the current time with your current location, only hit one button...<br />
<br />
<br>[[Community Based Traffic Information]]<br />
<br />
== Hardware ==<br />
{{Main|Wish List - Hardware}}<br />
<br />
It could be use for beepway Online service too <br />
[http://www.beepway.com]<br />
<br />
=== Tactile feedback via buzzer ===<br />
Assuming the hardware has a vibrator/buzzer for silent calls, use a lightly pulsed version of that to simulate tactile feedback when dragging finger across buttons on-screen. Implemented properly, it would almost feel as if the buttons were real.<br />
: 25 ms bump on the buzzer feels about right. Does this harm the vibrator motor? --[[User:Sagacis|Sagacis]] 05:15, 2 October 2007 (CEST)<br />
:: Created a patch to do this [[User:Sagacis/ForceFeedback]] --[[User:Sagacis|Sagacis]] 05:05, 3 October 2007 (CEST)<br />
<br />
=== Detachable keyboard ===<br />
Hardware keyboard that can be attached with magnets to a future version of the Neo.<br />
<br />
=== IR port ===<br />
Remote control applications<br />
Would be great to use openmoko as a Hamony remote controller.<br />
<br />
[[Category:User]]<br />
[[Category:Ideas| ]]</div>Sagacishttp://wiki.openmoko.org/wiki/Wish_ListWish List2007-10-03T03:05:56Z<p>Sagacis: /* Tactile feedback via buzzer */</p>
<hr />
<div>This article is a place to collect various thoughts about the future of the [[OpenMoko]] software platform. Most wish list ideas have been linked from this page, but you may also wish to check all pages [http://wiki.openmoko.org/wiki/Category:Ideas that have a category of 'Ideas'].<br />
<br />
== Development ==<br />
=== Painless SDK installation & Setup ===<br />
Our goal should be a completely painless setup for somebody wanting to develop using [[OpenMoko]]<br />
<br />
* one command for installation (apt-get install openmoko)<br />
* one command to start Xnest (openmoko-xephyr?)<br />
* one command to start an i386 shell (openmoko-386-shell)<br />
* one command to start an armel shell (openmoko-armel-shell)<br />
<br />
No extra configuration required.<br />
<br />
==== IDE Plugins ====<br />
People like to see plugins for<br />
* [http://anjuta.sourceforge.net Anjuta]<br />
* [http://www.eclipse.org Eclipse]<br />
* Game engine - Game Creation plugins<br />
evaluate eclipse project [http://www.eclipse.org/dsdp/index.php Device Software Development Platform Project from eclipse] and subproject [http://www.eclipse.org/proposals/tml/ Tool for Mobile Linux]<br />
* [http://www.kdevelop.org KDevelop]<br />
* [http://developer.apple.com/tools/xcode/ XCode]<br />
* [http://msdn.microsoft.com/vstudio/ Microsoft Visual Studio 2005]<br />
<br />
==== UI Designer ====<br />
Glade code generation is deprecated, so we don't want to use it. The Gtk+ powers told me that the plan is to have gtk 2.12 (out early 2007) with support for GtkBuilder, a libglade derivative which breaks a bit the XML definition in order to support all the new widgets and properties; as soon as it's in the other ui builders will add support for this format. See also [http://bugzilla.gnome.org/show_bug.cgi?id=172535 the relevant bug entry]<br />
* Possibly a Landscape (rotated) view for the screen (480x640 *or* 640x480)?<br />
<br />
<br />
==== Built-in Scripting Language ====<br />
{{Main|Wishlist:BuiltInScriptingLanguage}}<br />
There was a [http://lists.openmoko.org/pipermail/community/2007-January/001909.html fruitful discussion about a built-in scripting language on the mailing list in January.] Many people feel that it is very important for OpenMoko to choose a scripting language to ship as default in the standard OpenMoko firmware. <br />
<br />
===Foreign Widget Set Bindings ===<br />
==== Qt Integration ====<br />
The Trolltech folks have a great widget library. I'd like to interface OpenMoko with Qt4, so that we can write Qt4 applications for the phone which don't look alienated.<br />
<br />
==== Maemo Integration ====<br />
The Maemo folks have created a successful standard for Webpad applications. I'd like to have a set of MaemoMoko and MokoMaemo wrapper classes that allow me add support for running OpenMoko applications on Maemo and vice versa. Perhaps we can get help from the Nokia OSS folks for that.<br />
<br />
==== wxWidgets Integration ====<br />
wxWidgets is a cross-platform application framework that's very popular (I'd say, #3 after Qt and Gtk+). On Linux, wxWidgets uses Gtk+ to implement the widgets. It shouldn't be hard to add support for the additional OpenMoko classes to wxWidgets hence supporting the native OpenMoko look and feel for wxWidgets applications.<br />
<br />
wxWidgets team wants OpenMoko classes too and we (wxWidgets) plan to include this project as one of our ideas for [http://google-code-updates.blogspot.com/2007/02/speaking-of-summer.html GSoC 2007]<br />
<br />
==== SDL Integration ====<br />
SDL is ''the'' game developer library. There are tons of SDL games out there. We should add OpenMoko support into SDL.<br />
<br />
=== Software: Language bindings ===<br />
==== Python bindings ====<br />
Python bindings seem to be a commonly requested feature. <br />
<br />
[[User:Mickey]] says, "They are kind of usable on the [http://www.maemo.org Nokia 770], but it's at the lower end of being bearable. We should keep this in mind -- Gtk+ already comes with Python Bindings, so we "just" would need to wrap libmoko*. I would prefer to leave this to the community do though, since it doesn't make sense to start wrapping the API until we have a stable API -- and I can imagine it will take us a couple of months after going open until we can start with stabilizing the libmoko API."<br />
<br />
==== C++ bindings ====<br />
There is a whole skilled C++ community coming from the [http://qtopia.net Qtopia] and [http://opie.handhelds.org Opie] projects. If we would consider basing OpenMoko C++ Bindings on [http://www.gtkmm.org/ Gtkmm], then we could drag these guys in.<br />
<br />
==== Other bindings ====<br />
* Perl<br />
* Ruby<br />
* C#<br />
* I think you could skip a bunch of these by binding to Dbus; most languages already have Dbus bindings<br />
<br />
== Community Support ==<br />
<br />
=== [http://projects.openmoko.org projects.openmoko.org] ===<br />
Infrastructure for developers with<br />
* One bugzilla for all projects (makes moving bugs forth and backwards between projects ''very'' easy)<br />
* One mailing list for project<br />
<br />
== Platform ==<br />
=== Community Images ===<br />
In the future there could be complete, unofficial "product images" that are created by the community, for example maybe one that incorporates only free software (in the GNU or OSI sense). Or images build with a particular niche market in mind -- a student for example.<br />
<br />
=== Wishlist voting ===<br />
There could be a kind of voting system like they have at one of those big computer manufacturers homepage. Then the community could vote for the ideas that are most important to them. This would especially make sense for the hardware wishlist, because the hardware is still the part which can't be done by the community that easily.<br />
<br />
Here: [http://www.fevote.com/openmoko OpenMoko suggestion board]<br />
<br />
== Software: Additional features ==<br />
===Calling===<br />
<br />
==== Mask ID based on dialed numbers ====<br />
It would be nice if my number only showed up when I call people in my address book and was otherwise masked. The phone I have now either always shows my number or never or can be set on a per call basis. Having it done automatically based on the number dialed would be good.<br />
<br />
==== Use calling cards and similar routing techniques for lower-cost calling ====<br />
Many people use calling cards, low-cost numbers and similar ways of reducing the costs of their calls. It would be nice to have a single panel that would allow you to configure the rules of dialing a number taking in to account such systems.<br />
<br />
==== Outgoing black/white lists ====<br />
The ability to allow or deny outoging calls to certain numbers can be useful in a number of situations (e.g. the holder of the 'phone is a child, untrusted, etc.). This could be related to entries in the contact list, for example a user is only allowed to call people who are in their contact list.<br />
<br />
Also lists for incoming calls? Some friends always come through, unknown numbers get rejected automatically.<br />
<br />
==== Time-based blocking/unblocking of calls ====<br />
Allowing or disallowing outgoing calls at certain times of the day could be useful, e.g. blocking a business phone from making calls outside of business hours.<br />
<br />
====Speaker-phone====<br />
* A speaker-phone is more than simply connecting the speakers to GSM audio, it's also echo cancellation, and eliminating the feedback that will otherwise happen between the speakers and the mic. This software has not been written.<br />
<br />
====Advanced Airtime Tracking====<br />
Many phone users have complicated plans, things like unlimited incoming, 100 anytime minutes, 1000 evening minutes, etc. It would be nice if a user could input the various monthly airtime chunks their plan gives them, and then the phone could track how much is left in each chunk, i.e. How much anytime minutes are left this month? Optionally, the software could warn when someone is close to the monthly limit, to help avoid bigger bills.<br />
On (at least some) prepaid [http://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data USSD] can be used to check current balance.<br />
<br />
==== Anti-stutter software ====<br />
Delayed Auditory Feedback (DAF) has shown to reduce stuttering in individuals by 70%. By using the microphone, it should be pretty simple to implement this on the OpenMoko. The DAF functionality should also be present during phone calls. See http://en.wikipedia.org/wiki/Delayed_auditory_feedback for more information.<br />
<br />
====Minimize In-Call mode (check address book while in call)====<br />
On my locked phones I always find it annoying that one can not use other features while a call is in progress. In particular, I'd like to access the address book so that we can (1) give a caller someone else's phone number (or other info) and (2) lookup a phone number when using a calling card or some other proxy.<br />
<br />
Similar request when using the browser (lookup passwords, todo list, etc).<br />
<br />
====Hold Music (Ringback Tone)====<br />
On some cellphone networks you can pay to change the normal [http://en.wikipedia.org/wiki/Ringback_tone Ringback Tone] that the caller hears when ringing, to a customised sound.<br />
This can partially be implemented on the phone.<br />
Issues are:<br />
*In countries where callers pay, this will make you unpopular.<br />
*In countries where the called party pays, it will use your minutes, or cost you money.<br />
**A list of people to activate this function for would alleviate this.<br />
*[[GPRS]] internet connection will stall while the hold music is being played.<br />
*Extra battery used when playing music.<br />
<br />
Also see [[Answering Machine]].<br />
<br />
====Play sound clips over the air====<br />
Dialer could have a tab with big buttons which, when push, send sound clips over GSM to the person on the other end of the call. This feature is included in GizmoProject and is called sound blasts: http://support.gizmoproject.com/index.php?_a=knowledgebase&_j=questiondetails&_i=104<br />
The buttons can have default sounds, but also have the ability to be customized.<br />
<br />
It would also be useful to loop a pre-recorded sound in the background so you can lie about where you are, and have the ability to simulate a really bad connection.<br />
<br />
==== DTMF Landline Dialing ====<br />
The ability to hold the Neo near the microphone of a landline handset and have the Neo dial the landline by sounding DTMF tones. The DTMF tones could be generated in software or be pre-recorded files.<br />
<br />
Graphically this could be done by adding a 'DTFM dial' button to a context menu. The user would select a contact then presses the 'DTMF dial' button to start the process. A small delay could also be added to allow time to put the Neo near the landline handset.<br />
<br />
For the Neo to know which area code to use (or not use) the current or last GPS coordinates could be utilised.<br />
<br />
==== Conversation Recorder ====<br />
<br />
An option to record phone conversations. Would be helpful to have the device always recording for every call, with the sound data encoded to low quality Ogg Vorbis or SPEEX and stored in RAM. At the end of the conversation the user would have the option to save to flash or discard the conversation. This idea could also be applied to voicemail so you could save voicemails locally.<br />
<br />
====Unlicensed Mobile Access (UMA)====<br />
T-Mobile recently rolled out a UMA service that hands off calls between the GSM network and WiFi access points. Only a few phones support it right now, this could be a rather unique feature if OpenMoko can implement it.<br />
<br />
==== Ignore-Call Button ====<br />
{{Main|Wishlist:Ignore Call Button}}<br />
<br />
Shut up a ringing phone, without accepting or rejecting the call.<br />
<br />
Another alternative might be to use microphone to recognize when the user gives an audible "Shhh!" command. This could prove difficult to determine with the simultaneous ringing, and possible in-pocket shuffling noises.<br />
<br />
A really usable feature is to "reject with SMS/text message" - letting the user reply the caller choosing a previously setup template or typical response: "I'm in a meeting - I'll call you later" or "Can't take your call now, please call back in 10 minutes". This feature typically is a much better way to get your co-workers (ie boss) to back off, than to silently ignore the call.<br />
<br />
==== Voice Mailbox ====<br />
{{Main|Voice Mailbox}}<br />
On-Phone voice mailbox that records calls on the phone and retrieves voice messages from your mobile service provider's voice mailbox and saves them locally.<br />
Can act profile-dependent.<br />
<br />
==== Hold Button ====<br />
<br />
Similar to mute, but plays a sound file for the user on the other end while they wait. The sound file could be chosen in some setup beforehand.<br />
<br />
==== Unanswered Call, Fast Call ====<br />
<br />
In Greece because of the various bill programs some people call a mobile phone, rings one time and then hangup.<br />
Then the user of the mobile phone calls the other user(using the CallerID recognition).<br />
<br />
===Audio===<br />
<br />
==== Ambient Noise Detection ====<br />
{{Main|Wishlist:Ambient Noise Detection}}<br />
<br />
Using the microphone to detect ambient noise the ringtone volume could be adjusted automatically.<br />
<br />
Detection of ambient noise could also be used to subtract the noise from the audio signal. However this approach is best performed using two Microphones, one for the voice and the other to detect the noise.<br />
<br />
==== Active noise control ====<br />
<br />
Using the microphone to do [http://en.wikipedia.org/wiki/Anti-noise active noise control] on media player playback or telephone calls. This should be an independent module/library which can be used by any application which might require this feature. also provide a way to easily alter the parameters of the active noise control.<br />
<br />
==== Hear Impaired Mode ====<br />
<br />
Hearing impaired people need louder speaker(but with less volume than hands free) and equalized sound, based on their hearing problems(example 20dB hearing loss from 2KHz to 4KHz).<br />
Older people 50+ years old need slower speech rate(time stretch, cut the big speech gups) and cleaner voice.<br />
<br />
Please note also the Hearing Aid Compatibility regulations in the US. I have tried to summarize and clarify them [http://quux.wiki.zoho.com/WhereAreHACphones.html here]. I haven't yet discovered whether the FIC device is M or T rated. For many hearing impaired users, a tcoil coupling to their hearing aid (t3/T4 rating) would be preferable to manipulating sound output in other ways.<br />
<br />
==== Mute Button ====<br />
<br />
Button to temporarily disable microphone while talking for applications such as telephone, audio recording and (when available) movie recording.<br />
<br />
===Media===<br />
====Music/Video Software====<br />
A real good programming area for competition with the iPhone, a singular video/music player would be great for multimedia. A seamless integration system, a la iTunes and iPod, would be extremely popular. <br />
<br />
Using the Wi-Fi connectivity, a separate music program that supports wireless music sharing/ streaming (similar to what can be done when two computer running iTunes that are both on the same network) and that also supports internet radio.<br />
<br />
It would also be nice to have some kind of "announce your musical taste" mode. This could be implemented using last.fm profiles, such that when e.g. in a crowded place a user nearby has a similar musical taste, both users get notified so they can share their music files with each other (perhaps using a photo for id). Great for discovering new music - and making friends!<br />
<br />
- Possible copyright issues sharing music files?<br />
<br />
==== Reading Support ====<br />
It would be really great to be able to read :<br />
<br />
*PDF<br />
*Open Document files<br />
*Text / RTF files<br />
*MS Office files<br />
*Aportis Doc (pdb)<br />
*DjVu<br />
*...<br />
<br />
In both landscape and portrait<br />
<br />
==== Wikipedia Mirror ====<br />
{{Main|Wishlist:Wikipedia_Mirror}}<br />
<br />
==== Blog ScribblePad ====<br />
<br />
Draw an image (and maybe add some text), then post to your blog.<br />
<br />
==== E-Book Reader ====<br />
* Neos brilliant ultra-sharp screen makes for a very good e-book reading device. All it takes is a good e-book reader with touch-screen page turning / scrolling. FBReader could probably be adjusted easily by an experienced GTK hacker. Note that e-book reading is different to pure text/pdf displaying as it requires at least auto-bookmarking of the last read page, proper text and image scaling and text formatting.<br />
<br />
==== Personal Wiki ====<br />
{{Main|Wishlist:PersonalWiki}}<br />
<br />
Display the notes database as a Wiki. Inspiration: [http://www.acrocat.com/AcroWiki/default.asp?lang=en AcroWiki].<br />
<br />
[http://www.didiwiki.org/ Didiwiki]<br />
<br />
<br />
==== Dictionary, thesaurus, translator and flashcards ====<br />
Native lookup dictionary and thesaurus and foreign translation dictionaries, also with support for Asian languages. Optional custom configurable (though preconfigured) interface with on-line versions of dictionaries, thesaurus and translation services.<br />
<br />
'''Dictionary'''<br />
Something like [http://www-user.tu-chemnitz.de/~fri/ding/ ding]:<br />
<br />
advantages:<br />
* small<br />
* very efficient + useful<br />
* only limited to really needed functions<br />
<br />
Support for vocabulary training with flashcard system (also usable for other content than foreign language words!)<br />
<br />
==== Flickr uploader ====<br />
A simply, drag & drop uploader, tagger and organizer to upload images on phone to [http://flickr.com Flickr], with support for various languages. A good base could be the cross-platform uploader [http://juploadr.org/ jUploadr], written in Java and working on Windows, Mac and Linux. But, most of all, the best '''GPL''' program which actually do this work is '''[http://mobilepushr.jottit.com/ Mobile Pushr]''', written in C and Cocoa for iPhone, must be probably ported in python to work on OpenMoko.<br />
<br />
===PIM (Personal Information Managment)===<br />
====Context Sensitivity====<br />
Any email or sms message or application that contains a telephone number should be click to dial, eg [http://123567890 1234567890]. Addresses link to mapping software too?<br />
<br />
==== Notes ====<br />
<br />
Something for taking notes would be a nice feature:<br />
[http://www.gnome.org/projects/tomboy/ Tomboy] has some nice syncing features and is gtk based.<br />
<br />
Some Screenshots are [http://www.gnome.org/projects/tomboy/images/ here].<br />
<br />
==== Calendar ====<br />
<br />
A nice calendar application should be implemented in OpenMoko. This tool should have a syncing feature with your desktop computer.<br />
The tool should have a reminder feature and other features like other mobile phones already have.<br />
<br />
==== Address Book ====<br />
<br />
* Option to search not just the stored list of addresses, but one or more of the online phonebooks. Probably should be modular to make adding/changing phonebook sites easy. Also allows for future integration with LDAP<br />
servers or whatever.<br />
* Also the possibility to search all info on the contact, like number, email, postal address and so on, in case someone asks you to identify a known number.<br />
* Web-based map-lookup. 'How do I get there from here? (here = current GPS location)' This could also be done<br />
by integrating with whatever on-phone GPS mapping software the Neo ends up using.<br />
* Random text input 'notes' about a contact<br />
* Overall, this should more resemble a Palm-pilot's address-book than your average cellphone's<br />
* Automated Daily backup of phone book to a website archive (similar to Verizon's Back-up Assistant<br />
*Ability to integrate address book with web-based email (such as gmail) account, for those who use web based email as their primary account<br />
* '''[[Wishlist:Tagging|Tagging]]''' Place tags for contacts. Enhance message application to send messages to all contacts tagged with ... . Enhance other application(GPS, ...) with tags.<br />
* Support for:<br />
**[http://en.wikipedia.org/wiki/SyncML SyncML]<br />
**[http://en.wikipedia.org/wiki/Ldap LDAP] address book<br />
**[http://en.wikipedia.org/wiki/LDIF LDIF], [http://en.wikipedia.org/wiki/Xml XML] and [http://en.wikipedia.org/wiki/Comma-separated_values CSV] export and import (when possible).<br />
*Store Bluetooth IDs of friends and notify (configurable only on this device or on both devices) when a one of these Bluetooth ID has been detected (this is more a separate application but has requirements on the address book. Should also be able to create an address book entry from a Bluetooth ID. Could be used as a nice tool to detect people who you're avoiding.<br />
<br />
==== Database/List Display/Edit ====<br />
{{Main|Wishlist:PilotDB}}<br />
<br />
One of the most useful apps on my Palm Pilot for me is [http://pilot-db.sourceforge.net/ pilot-db]. It's GPL'd.<br />
<br />
==== Joe's Goals ====<br />
<br />
It'd be nice to have something like [http://www.joesgoals.com Joe's Goals] always available, like my phone is, even when I'm disconnected from the net.<br />
<br />
==== Workout ====<br />
<br />
Use your phone instead of your notebook while at the gym, and get pretty graphs to admire after you're done.<br />
<br />
==== Shopping List ====<br />
keep Track of Prices in different shops and the products you have/don't have. Ideally using a barcode reader and gps.<br />
If it was made aware of recipes it could even tell you what to buy without entering a shoppinglist manually.<br />
<br />
==== Fuel Log ====<br />
File data about fueling your car (date/time, liters, price, mileage, ...) and display some information (costs per month, average consumption, ...).<br />
Advanced features could include:<br />
* Automatically storing the GPS coordinates of the place where the car has been fueled (can be deactivated)<br />
* Sending the data to a central server which collects the information<br />
* Let the OpenMoko receive fuel logs per SMS (e.g. if my wife with a non-openmoko mobile fuels the car and wants to file the data using her mobile phone)<br />
* Let the OpenMoko device act as SMS gateway for non-openmoko devices to easily send the data to the central server<br />
* Also support for air log for divers. Not that you will take this device under water but for the crew at the surface.<br />
<br />
==== Keep in touch reminder ====<br />
A background application which keeps track of your friends and reminds you when you have not talked, SMS, IM or mailed a person for more than # days.<br />
<br />
<br />
==== Menstruation period timer ====<br />
Fill in statistics and compute probabilities for menstruation, fertility, mood.<br />
See http://www.getjar.com/products/48/MyGirls<br />
<br />
==== Tagging ====<br />
{{Main|Wishlist:Tagging}}<br />
Tags can be used by various applications. Requirement is interoperability for further enhancement.<br />
Tags should be applied to calendar events, mail/sms, calls, places(GPS) and files.<br />
<br />
==== Context based TO-DO list ====<br />
{{Main|Wishlist:context based to-do list}}<br />
<br />
If I arrive home and there are "@home" things in the to-do list, the Context based to-do list reminds me of that.<br />
<br />
==== Exchange Integration ====<br />
<br />
Once there is good TCP/IP connectivity on this phone, integration with corporate email/calendar/to do/etc servers would be a big advantage... near-real-time automatic email downloads and automatic bi-directional syncing are productivity boosters that you have to experience to appreciate. It turns your phone from a 'nice gadget to fiddle with' to a natural-feeling extension of your day-to-day life.<br />
<br />
* Is the time right to name names ? Add as your liking...<br />
** Plugin/integration to & from Kontact<br />
** Same with Evolution - Thunderbird - Seamonkey<br />
** ?? Google Calendars ?? (this one is tough)<br />
** Ms Exchange<br />
<br />
==== An electronic wallet ====<br />
<br />
A database which stores securely PIN codes, login data, bank and email accounts, membership informations, and other valuable and private data. Entries can be ordered in a folder-like manner. Access to the database is given by a master password. The database as well as the master password are stored with strong encryption. For security reasons, the program asks again for entry of the master password after a certain period of inactivity. The database can be synchronized with a PC application (ideally written in Java for cross platform compatibility).<br />
<br />
Examples: KWallet [http://docs.kde.org/stable/en/kdeutils/kwallet/index.html], Viskeeper [http://www.sfr-software.de/cms/EN/pocketpc/viskeeperpro/index.html], KeePass [http://keepass.info/]<br />
<br />
==== Easy business card sharing for a small group (in the same room) over bluetooth or WIFI ====<br />
<br />
Six Neo1973 owners are having a chat in a cafe. They agree to split but meet later. They want to exchange their numbers with each other before they go.... The normal way to do this is for a rather longwinded repeating of numbers to each other, or half the people manually inputting numbers before phoning/texting the other half to complete the process. All in all its a fair number of button presses to get it sorted.<br />
<br />
Instead the NEO could have a small app where the phones link up in a small peer to peer Bluetooth network and share automatically with one person initiating a request and the other detected NEOS agreeing/acknowledging the share. The initiating NEO would then sync the mini-group automatically by interrogating each phone and then sending the table of results. The NEOs would have to be clever about checking for duplicates in the address book and offering a choice to the user if there are any conflicts.<br />
<br />
PROS: <br />
*genuine saving in time for social and business situations<br />
<br />
CONS: <br />
*I am sure there are some security hassles to be pondered....<br />
*not going to be used every day... definitely not an immediate priority.....<br />
*only at geek conferences will all have a neo....<br />
<br />
===Profiles===<br />
{{Main|Wishlist:Profiles}}<br />
<br />
The Wishlist:Profiles page documents many possible profiles - ways to configure the phone. Including ways to respond to calls, wifi and GPS events.<br />
And how to automatically switch between them.<br />
<br />
===Text Messaging===<br />
For '''Text Input related ideas''' see [[Wishlist:Text_Input]]. Bear in mind that T9 can not be included<br />
For current development status of the messaging-app see: [[Messages]].<br />
<br />
There are many useful options that now can be used to full capacity:<br />
* '''Acknowledge/status SMS'''<br />
In GSM networks so-called acknowledge-SMS are sent back to the SMS's dispatcher in order to indicate that the primal sms was received (as message delivery is only best effort and is not guaranteed). So in the SMS dialog there could be equal sized buttons with captions as 'send only', 'send and receive delivery status message' and 'send and notify (e.g. ring) when delivery succeeded'.<br />
** '''Special handling of status-SMS''' <br />
Related to the previous entry, these acknowledgment-sms' should be handled in a different way than normal SMS'. Most Motorola do this, while Samsung SGH series don't & clog the inbox, warn of a "new" message upon Status notification: Delivery Status Messages should be stored in a separate menu so they don't bloat the received-folder and you are able to quickly review the status of the messages you had sent.<br />
* '''SMS at time/date''' You could be able to set up messages that are sent at a certain time/date<br />
* '''Binary SMS''' Send binary SMS. Could be used to feign WAP pushes. [http://en.wikipedia.org/wiki/Multimedia_Messaging_Service] See: <br />
** Resource for SMS encoding: [http://web.archive.org/web/20021016104345/www.dreamfabric.com/sms/] [http://web.archive.org/web/20060411222332/] [http://home.student.utwente.nl/s.p.ekkebus/portfolio/resource/sms_pdu.html] [http://www.ihub.com/Binary%20Messages.htm]<br />
** [http://www.gammu.org www.gammu.org] - you can use Gammu/Gammu+ source for this software and/or understanding various SMS formats including EMS, WAP, Nokia Smart Messaging, Siemens & Alcatel encoding ([[User:Marcin|I could]] eventually help)<br />
** Resource for SMS encoding (German): http://de.wikipedia.org/wiki/SMS-Kodierung<br />
** The infamous pocketpc-attack: http://www.mulliner.org/pocketpc/<br />
* '''Profile-override-SMS''' SMS that start with a certain code word override the silent profile and have the phone ring. So someone could alert you in case of some emergency.<br />
* '''Codeword-SMS''' An expansion of the above: check for code words and allow selectable tones for matches. E.g. "Server Down!" has a loud klaxon, "Disk Warning" has a quiet chirp.<br />
* '''(De-)Abreviation-script''' Implement a script that de-abbreviates: "hi m8 u k?-sry i 4gt 2 cal u lst nyt-y dnt we go c film 2moz" becomes "Hi mate. Are you okay? I am sorry that I forgot to call you last night. Why don't we go and see a film tomorrow?" (taken from: [http://en.wikipedia.org/wiki/SMS_language])<br />
** Implement a script that abbreviates :-)<br />
* '''Anti-Spam''' ...feature for SMS. May be it's possible to port some Bayesian based application like bogofilter.<br />
* '''Rule based authorizations''' ...for received messages. For example, delete messages from one source between 9h00 and 18h00 (workday) allow them otherwise (to get alerting messages).<br />
* '''Enable chat-like SMS-viewing''' SMS-Email-like: retain SMS app, but store 'conversations' rather than pile-up. Group/archive conversations by Caller Group (Work / Friends / Home / any user-defined Caller Group). Show appropriate icon from either Caller Group or Caller ID at the source of conversations panel<br />
* '''Searching''' allow full-text search or string search.<br />
* '''Massive SMS Deletion''' based on Conversation, author, before-date-xx.xx.xxxx, caller group, [[Wishlist:Tagging|tags]]...<br />
* '''Call Back''' Prompt 'Call Back' alongside other first-line options (Delete, Save number,.. this kind of options) that appear when reading an SMS.<br />
* '''Non-destructive deletion''', deleted messages goes to trash, and are recoverable.<br />
* '''SMS-EMail-Gateway'''<br />
SMS comes in, gets forward to your inbox, like any other piece of mail. Appropriate alerts and etc occur - again, just like for email. A simple SMTPD running on 127.0.0.1 that is hooked to an email-to-SMS translator that will send email addressed to 'SMS@localhost' (or whatever special address) out via SMS<br />
* '''SMS-filter chain''', for stuff like Codeword-SMS above, Theft-mode activation, auto-response (reply with gsm-position for "Where are you?"), auto-substitution (like replace $POS with gsm-position in outgoing SMS).<br />
<br />
=== Text input ===<br />
{{Main|Wishlist:Text Input}}<br />
There are many good suggestions for text input on the specific text input ideas page.<br />
<br />
=== More/Custom Input Method Widgets ===<br />
{{Main|Wishlist:More/Custom_Input_Method_Widgets}}<br />
Additional and customizable Input Method Widgets (similar to virtual keyboard). <br />
This could add soft-key functionality to games or other applications such as:<br />
*D-Pads<br />
*buttons<br />
*virtual trackballs<br />
*...<br />
Personalized layouts could be associated with each application.<br />
<br />
=== Games ===<br />
{{Main|Wishlist:Games}}<br />
<br />
=== Mesh Networking ===<br />
{{Main|Wishlist:Mesh Networking}}<br />
<br />
=== Printing Support ===<br />
It would be really neat to be able to print over either bluetooth or USB. I can imagine wanting to print:<br />
<br />
* Notes<br />
* Maps<br />
* Email<br />
* Calendars<br />
* ...<br />
<br />
Cups contains a bluetooth printing backend, so (in theory) once you have your data in postscript format, you could hand it to cups and it'll do the rest. In practice, it depends on<br />
<br />
# GTK+'s printing support<br />
# Making cups run on a really small system<br />
<br />
{{note| GTK+'s printing support seems to be very immature in 2.6 (which we need to use for some time). Gtk+ 2.10 contains much better printing support -- once we can use this, it should be more easy.}}<br />
<br />
There's always the possibility to render postscript ourselves, but this is not a piece of cake -- in general, printing is much harder than one would imagine.<br />
<br />
Further details:<br />
* [http://groups.osdl.org/apps/group_public/download.php/2205/print-summit-gtk.pdf#search=%22gtk%2B%20printing%20API%22 osdl.org]<br />
* [http://www.gnome.org/~alexl/presentations/guadec2006-printing.pdf#search=%22gtk%2B%20printing%20API%22 gnome.org]<br />
* [http://www.j5live.com/?p=204 j5live.com]<br />
<br />
===Misc Software===<br />
====Clocks/timers/Activity meters====<br />
===== Sport tracker =====<br />
{{Main|Wishlist:Sport_tracker}}<br />
Sport tracker can be used to measure the distance/velocity from point A to point B (or it could have several intermediate stopping points) using GPS. This would be extremely useful for running, biking, hiking, etc.<br />
<br />
===== Standby clock =====<br />
{{Main|Wishlist:Standby_clock}}<br />
A quick way to see what time it is.<br />
<br />
===== Egg Timer =====<br />
{{Main|Wishlist:EggTimer}}<br />
<br />
Very simple (one click) count up / count down timers are very useful.<br />
<br />
===== Cycle Computer =====<br />
As already mentioned by [http://wiki.openmoko.org/wiki/User_talk:Technil Technil], a cycle computer could be created using gps. The sensor at the bike's wheel could transmit data via bluetooth or some cable that would be attached to an openmoko device. In order to save power, one could switch off the gps and only use the bike's sensor.<br />
* Just another idea that came to me: Why don't have sensor's transmit cable plug into the headphone/microphone plug? A tool reads the signals created by the induction of the passing magnet, then gives them to the cycle-computer-app :) --[[User:Minime|Minime]] 19:50, 12 April 2007 (CEST)<br />
<br />
===== NTP Server =====<br />
<br />
Run the [http://www.ntp.org NTP] daemon using the GPS chipset as a reference clock, so that the Neo would have a very accurate time-of-day clock and would be able to serve time to other networked devices. <br />
<br />
I don't know what it would take to implement this. Items to consider would be the availability of a 1 pulse-per-second hardware signal, the accuracy of timestamps delivered in NMEA messags, etc. Dealing with power-management issues (such as the device going to sleep) would also be challenging.<br />
<br />
Very simple (one click) count up / count down timers are very useful.<br />
<br />
===== Reality check reminder =====<br />
{{Main|Wishlist:Reality check reminder}}<br />
<br />
A tool to [http://www.phrack.org/issues.html?issue=64&id=16 hack your brain]<br />
<br />
====Calculators====<br />
===== A Universal Unit Converter Tool =====<br />
<br />
One never knows when one may have to convert acre-feet into deciliters. A unit conversion tool makes all engineers and engineer wannabes much happier. And not only the engineers. <br />
<br />
Ideas what kind of conversions a converter tool could do:<br />
<br />
Lenght<br />
- Acceleration<br />
- Angle<br />
- Angular Velocity<br />
- Area<br />
- Capacitance<br />
- Radioactivity<br />
- Currency <br />
- Charge<br />
- Computer Memory<br />
- Conductance<br />
- Density<br />
- Energy<br />
- Illumination<br />
- Power<br />
- Force <br />
- Flow<br />
- Pressure<br />
- Speed<br />
- Temperature<br />
- Time<br />
- Torque<br />
- Viscosity<br />
- Volume<br />
- Weight<br />
<br />
Roman Numerals<br />
- ASCII, Hex<br />
- Cooking<br />
- BMI<br />
- Clothing Sizes<br />
<br />
Money Converter based on current rates from Internet...<br />
e. g. Dollar <-> Euro<br />
<br />
Physical and Mathematical Constants<br />
GPS conversions <br />
<br />
- link to or integration of a scientific calculator<br />
- link to or integration of a simple calculator<br />
<br />
A good basis for such a converter tool could be the Palm program "units" from <br />
François Pessaux [http://francois.pessaux.neuf.fr/files/units1_11.tgz]. The GPL'd program comes with full documentation.<br />
<br />
For GPS conversions see gpsbabel [http://www.gpsbabel.org]<br />
<br />
===== An Postfix Notation (RPN) calculator =====<br />
<br />
Many engineers, computer scientists and other groups who have grown to enjoy the simplicity and ease of an postfix notation calculator will miss them when they give up other platforms to move to OpenMoko. A RPN calculator will increase adoption by providing one of the tools that other platforms have provided for many years.<br />
<br />
==== Web-browser Plugins ====<br />
<br />
* While an extensive browser plugin system would be costly to the efficacy of the platform three particular browser plugins as poplularized by Mozilla firefox should be adapted to the web-browser, namely: [http://noscript.net/ noscript], [http://adblockplus.org/en/ adblock plus], [http://www.greasespot.net/ greasemonkey] and [http://www.foxmarks.com/ foxmarks].<br />
* Careful use of these can dramatically reduce bandwidth, page space, and rendering costs even if it comes at the risk of some hard drive space in the form of block lists.<br />
* Greasemonkey, in particular, gives users control to set up scripts for commonly traveled pages to further reduce unnecessary or unwanted content.<br />
<br />
==== Windows CE Emulator ====<br />
<br />
On ARM machine, Windows CE API emulator, like Wine on x86 machines. <br />
<br />
==== PalmOS Emulator ====<br />
<br />
The Access group is probably coming out with their Linux platform any time soon. One of the components is a PalmOS emulator which I'd like to see working on OpenMoko as well. There are literally thousands of PalmOS apps.<br />
<br />
I'd like to see a Windows CE Emulator with active sync support.<br />
<br />
==== TV Guide/Remote Control ====<br />
<br />
Use your Phone to easily program your VCR using EPGs.<br />
<br />
<br />
==== Alcohol meter ====<br />
Give the phone some info about your body (gender, size, weigth) and when/what you drink and it will compute an approximation of the amount of alcohol in your blood. Updates automatically, could have an alarm, when you are probably sober again.<br />
See, for example (German text) http://www.misterio-online.de/promille.htm<br />
<br />
==== Interaction with LEGO Mindstorm ====<br />
With the accelerometers, GPS and good CPU, the phone could be used to control/serve as input with robots built with LEGO Mindstorm, which can be accessed by USB and Bluetooth.<br />
<br />
==== Flashlight ====<br />
Simple finger application that makes every pixel on the entire screen white to be as bright as possible until you tap the screen again to turn it off. This way, you can use your Neo as a (short term) flashlight!<br />
<br />
=== Accessibility ===<br />
Accessibility features for the visually impaired.<br />
* High Contrast Themes.<br />
* Screen Magnifier. Features should include automatic cursor tracking when navigating menus and entereing text and provide manual controls to zoom in on other section of the screen.<br />
* Text to speech. The software should read out menu item ,contact lists ,text messages etc. Would also be useful for operating the phone while driving.<br />
<br />
==== VOIP ====<br />
Ability to use the phone for VOIP over wi-fi such as Vonage. They currently have 2 different pieces of software for pc . Basically software creates a mac address which is paired with your Vonage account. Skype could also be implemented but I prefer Vonage. Only available when connected to wi-fi with a good connection. Phone treats calls the same as a cellular call, could keep a separate log of minutes, ability to record conversations, etc. Option to use VOIP if connection is available automaticly or manually. Small icon to show when call is using VOIP.<br />
* A standard SIP client would probably fit better into the "free and open" philosophy.<br />
* Ideally a SIP client that includes ZRTP/SRTP for secure communications.<br />
(Note: Vonage will not give you your SIP credentials, so you cannot log into their network with a non-approved softphone. Other VoIP providers have different policies.)<br />
<br />
==== Power Meter ====<br />
If the power bar is clicked on it will show time left on charge and if charging it will show time until full.<br />
<br />
<br />
<br />
=== Accelerometer wishes ===<br />
==== Flick interface ====<br />
Ability to "flick" the phone for page up/down by simply and rapidly tilting the phone back-and-forth for up and forth-and-back for down. The same motion can be implemented for sideways motion. This will take advantage of the 2 3d accelerators.<br />
<br />
Sensitivity of the scrolling should be configurable and a test option provided.<br />
<br />
==== Reading navigation of documents enhanced by accelerometers ====<br />
If the two accelerometers in Neo1973 allows it, it will be nice if when you're reading, give a newspaper, you can move up, down, left and to the right the viewing of the document just moving the phones to the corresponding direction.<br />
<br />
I don't know if this is possible (haven't seen the project in detail yet) but this feature could be very attractive for final users (and this is good). (sorry for my english but i'm italian)<br />
<br />
==== Wand UI ====<br />
In keeping with the requests to think outside of the box... the dual 3d accelerometers should enable a 'magic wand'-style UI for certain uses. Macros could be recorded and edited, or presets could be used. For example, flipping the device playfully could initiate a game mode or could signal the end of the work day.<br />
<br />
==== Shake-to-Wake ====<br />
Giving the phone a shake enables voice commands for a few seconds.<br />
Usage Examples: <br />
<br />
{Shake} "Call" ''ContactName'' ''PhoneType'' --- {Shake} "Call John Mobile" (Calls John's mobile)<br />
<br />
{Shake} ''ApplicationName'' --- {Shake} "Reader" (Opens the e-book application)<br />
<br />
Would require a method of inputting voice tags for applications and contacts and obviously will only work for P2 (accelerometers)<br />
But lets get voice command functionality working before P2 (just by pressing a button on the screen instead of shaking)<br />
<br />
I think that is possibly to replace "Shake" with double hit with finger in the side of phone. Proper algorithms(with accelerometers) should recognize any similar activities.<br />
<br />
==== Emergency call ====<br />
When the accelerometer detects a great acceleration (i.e. 5G) start a countdown sequence, if it is not stopped make a call to a preconfigured emergency number. If the data from the GPS is accurate give it.<br />
<br />
A first version could use a recorded message (an audio file). In next version it could use a synthesizer, so it can give more information (add GPS information when it is ready).<br />
<br />
==== Movement detection ====<br />
By detecting that the owner is walking a user defined profile can be activated with a specific set of notification settings. For example you may wish to use a cheap old sounding ringtone so you don't attract attention from muggers. Or you may wish to have a louder ringtone if you carry your phone in a bag where it can't be so easily heard.<br />
<br />
==== Others ====<br />
Also see the pages[[Wishlist:Auto Align Map]], [[Wishlist:Determine Position]], [[Distance Measuring]], [[Wishlist:Computer Mouse]], [[Wishlist:Dynamic Screen Orientation]].<br />
<br />
=== Connectivity ===<br />
<br />
==== VNC client ====<br />
A good, stylus friendly VNC client/host combo would be easy to add and terribly useful.<br />
<br />
<br />
==== Networked X-Windows ====<br />
<br />
Whether it's running true X-Windowing over the network, or your bog-standard VNC connection as mentioned above, the ability to have your phone's screen available on your laptop or palmtop would be most desirable.<br />
<br />
==== NX client ====<br />
<br />
A form of X-windows forwarding optimized for performance over slow, or high-latency links, which could prove extremely useful. Capable of streaming a good quality, full desktop session over modem speeds. The protocol and at least one implementation is gpl'd. [http://en.wikipedia.org/wiki/NX_technology wikipedia]<br />
<br />
==== Web browser + widget support ====<br />
<br />
Built-in browser with the ability to install widget shortcuts (aka links) in the main phone menu, also some apis for interfacing with the other functionality of the phone like adding contacts, reading contacts, reading gps-psoition etc.. (maybe there is some defacto widget standard that could be used)<br />
<br />
=== Security ===<br />
<br />
==== General Filesystem Encryption ====<br />
<br />
If anyone wants to get your private data saved on your OpenMoko device, he should have to get through a high security mechanism like dm-crypt. The question is how much CPU power would be needed. <br />
Would it be an idea to encrypt only the private data like phone numbers, preferences, address book etc. (like /home/$USER).<br />
<br />
http://luks.endorphin.org<br />
<br />
==== My Account ====<br />
{{Main|My Account}}<br />
A way to securely store information about the phone, and ensure that a phone you may be considering purchasing is not stolen.<br />
<br />
==== [http://zfoneproject.com/ Zfone] or similar ====<br />
<br />
Something that allows the user to speak with another person securely.<br />
<br />
==== GSM Encryption ====<br />
<br />
This software application would allow GSM encrypted calls to be made using the GSM Data Call Channel. <br />
<br />
[[OSvS]]<br />
<br />
==== My Voice is my Passport ====<br />
Use voice recognition to unlock the phone. "Hi. My name is ... My voice is my passport. Verify me."<br />
<br />
==== Firewall ====<br />
A network firewall<br />
<br />
==== Anti Theft Application ====<br />
<br />
This application would enter the phone into an [[Anti-Theft Mode]] which activates particular security features to reduce the risk of theft and also to ensure a higher probability of recovery of a stolen handset.<br />
<br />
====RFID based personal alerts====<br />
Assuming an RFID reader is available: You'd put an RFID tag on your keys, wallet, etc and train a program on the phone to give you a soft or hard alert when one of them leaves detection range. That way, if you're walking away from one of them, the phone could alert you.<br />
<br />
=== Integrated Help System ===<br />
<br />
A help system that is either on or off. It could be activated and deactivated by a [[five-second-press]] on a button, for example the AUX button. When the help system is activated, it will explain the use of any item you touch on screen (with stylus or finger). Example: if you touch the battery icon, it will explain that this shows battery level / remaining time. If you touch the date / time icon, it will explain that this icon shows date and time, and that if you press it, you can set date and time. Primarily, this help system should be able to explain all user interface elements in the main screen, but if it proves popular, it could be expanded to cover other applications as well.<br />
<br />
===Performance optimisation===<br />
==== Use DMA engine in CPU for blitter ====<br />
The DMA engine in the CPU can substantially speed up moving of large areas of screen in some cases.<br />
<br />
==== Use virtual screen to optimise scrolling ====<br />
In some other cases, the hardware supported virtual screen may also speed it up.<br />
<br />
==Bluetooth==<br />
<br />
=== Voice Dialing ===<br />
<br />
Dial by voice commands.<br />
<br>Dial by dictating phone number. This way we can voice dial any number even if not in our contact list.<br />
<br />
=== Music through Bluetooth Headset ===<br />
<br />
Music can be played through a Bluetooth headset, but would stop playing when a call comes in.<br />
<br />
=== Walkie Talkie ===<br />
<br />
Let OpenMoko devices connect to one another via bluetooth or another connection method (GPRS for long distance but high latency, probably Wifi on P2), and hold a conversation.<br />
<br />
Features for this applications can be:<br />
* Push To Talk (PTT) button<br />
* Voice Activated Control (VAC) which will set it in transmit mode when input has is detected above a certain predefined level.<br />
* Optionally a full duplex mode<br />
* Different channels to choose from<br />
* Monitor different (preselected or all) channels for traffic.<br />
* Content encryption<br />
* Active noise control<br />
* Allow zero config use (units can talk without any access point helping)<br />
* Overview of all connected people trough sending GPS data to everyone who is in the Walkie Talkie channel<br />
<br />
Local (non-GPRS) use cases include chatting while biking<br />
or motorcycling in a group; perhaps also in a car caravan.<br />
This application could also be used as a baby-phone to monitor your siblings.<br />
<br />
This would be more useful if the Neo had Class 1 bluetooth, though probable Wifi on P2 will also offer more range.<br />
<br />
=== Automatic Sync ===<br />
<br />
Automatically synchronize with desktop computer (or with any [http://en.wikipedia.org/wiki/SyncML SyncML] server) when within range based on user profile. This may require the use of a secure data transfer.<br />
<br />
=== GPS Assisted Bluetooth Management ===<br />
<br />
Allow Bluetooth to automatically turn off after loosing connectivity and to automatically turn back on based upon GPS location.<br />
<br />
A Bluetooth device is configured for automatic reacquisition based on the following profiles:<br />
* Manual - only when Bluetooth is on<br />
* Non-mobile - the target device is not mobile, periodically attempt reacquisition when in the general area of the device.<br />
* Mobile - the target device is mobile, periodically attempt reacquisition when in the general area of the device.<br />
<br />
Each target device is configured as follows:<br />
* Automatic acquisition at last known location: enable/disable<br />
* Automatic acquisition at these locations: list of nickname + coordinates + range<br />
<br />
==== Non-mobile devices ====<br />
<br />
Examples devices include: computers<br />
<br />
The location and range of the target device is determined via training. Periodically, the current GPS coordinates and Bluetooth signal strength are logged. Additionally, connectivity loss events are logged. An algorithm uses these logs to determine the device location and range.<br />
<br />
Connection attempts are made when in a configurable proximity to the device. The first attempt when entering the proximity and further attempts at a configurable interval.<br />
<br />
==== Mobile devices ====<br />
<br />
Example devices include: automobiles<br />
<br />
Mobile devices are configured to have two types of locations:<br />
# Last known location<br />
# Non-mobile locations (homes)<br />
<br />
===== Last known location =====<br />
<br />
A car is mobile, ideally, when you leave your car, the phone should note the car's location when connectivity is lost and then attempt to reacquire the car when you return to the location of the car.<br />
<br />
===== Non-mobile locations (homes) =====<br />
<br />
As mobile devices may have multiple users, it is not sufficient to always use the last known location. In this case, the device may additionally have multiple homes. For example, a car might have as its homes: home garage and work parking lot.<br />
<br />
=== Bluetooth neighbor detection and multiuser apps ===<br />
<br />
Like the [http://en.wikipedia.org/wiki/One_laptop_per_child one laptop per child] (OLPC) interface, keep a number in the status bar that represents a count of other openmoko or compatible bluetooth devices in the area. Allow for the spontaneous initiation of a chatroom or multiplayer game or file trading with any moko in the area.<br />
<br />
=== Bluetooth environment detection ===<br />
<br />
Capability to detect when a predetermined bt device enters/leaves bt range and launch a system-wide event accordingly. This would feed not only the "Neighbour detection" idea described above, but also the "Profiles", "Context based TO-DO list" and "Location-based reminders" ideas. Reminders could be set to trigger in the presence of a specific person X (with BT device Y). Profiles can take into account which devices are present around the phone (car kit, for ex.). To-do list could also change according to present devices.<br />
<br />
=== Remote control ===<br />
<br />
==== Wireless presenter ====<br />
Use the phone to run your OpenOffice.org Impress presentation remotely using Bluetooth. Cool features: <br />
* Display the text notes for the presenter on the phone's display and update it whenever the slide is changing.<br />
** OO.org has implemented support for [http://www.openoffice.org/issues/show_bug.cgi?id=12719 dual monitor]/[http://www.openoffice.org/issues/show_bug.cgi?id=18486 presenter mode] that can be used as a starting point<br />
* A small timer showing the time passed (and perhaps remaining if the presentation app supports such a feature). <br />
* If you want to be super-cool, you give a preview of the notes of the next slide in the show. <br />
* At the end of a presentation, a "navigator" could allow to easily jump to any slide in the presentation by clicking on it on the phone.<br />
** When you right-click in a running OO.org Impress presentation, you can choose "got o slide..." and select any slide to jump to.<br />
<br />
==== Initiated from another device ====<br />
Remote control over Bluetooth from other devices to control media player (play, pause, next, previous, volume control), camera (capture image), etc.<br />
==== Directed at another device ====<br />
Remote control over Bluetooth to other devices to control media player, lights in your house, etc.<br />
<br />
Z-wave uses web-browser control of devices that is said to be compatible with mobile phone browsers so should work with openmoko browser. [http://www.z-wave.com www.z-wave.com]<br />
<br />
=== Bluetooth Car Connection ===<br />
<br />
Have a deeper connection to the car than just handsfree speakerphone. For instance a transceiver with challenge/response systems to open, possibly even start the car. Possibly go as far as OBD connection to monitor car status on screen/log for later.<br />
<br />
==== Dude, Where's My Car? ====<br />
<br />
When in range of the car navigation system, remember the position (perhaps check with the car GPS). When not in range, assumme that you are not in the car, and offer the opportunity to navigate to the car's last known position. That way, you can find your car e.g. on a large parking lot.<br />
<br />
=== [[Bluetooth powered Multi-SIM support]] ===<br />
<br />
As the Neo1971 does not come with dual-SIM support this could be solved by joining your old bluetooth-enabled mobile to your OpenMoko-phone.<br />
<br />
Let SIM card A be in your OpenMoko-phone and SIM card B in your old mobile:<br />
* Incoming call on SIM card B - the OpenMoko-phone acts as a headset(Bluetooth Headset profile)<br />
* Calling out via SIM card B - the OpenMoko-phone acts again as a headset<br />
* Same for Short Messages/MMS/Internet<br />
This way you'd have your old phone switched silent and connected to your OpenMoko-phone that handles all the calls and one can select which SIM card to use.<br />
Advantage: No 'switching' between cards<br />
Disadvantage: Second mobile needs to be in range(e.g. handbag) and charged every once in a while.<br />
<br />
===Internet Gateway===<br />
<br />
If the device could function as a Bluetooth router/gateway to the internet via the GPRS/data connector, then you could use it to get network connectivity from your laptop and other devices while on the road. Many smartphones can be configured as modems via Bluetooth for use as Dial-Up Networking connectors, and that should be the minimum target. Ideally, if the WiFi functionality was used so the OpenMoko could be an 802.11 router or peer to peer gateway for a laptop, this would be even better. The full bandwidth of GPRS or whatever network is available would then be available.<br />
<br />
=== Social Networking ===<br />
<br />
Anybody running the social networking app will be broadcasting a profile, and when certain keywords are matched with other users who are also running the application, an alert is sounded. Each mokoid can be added as a hexstring to a profile page, and xml filters can be developed for each social service to convert various keywords and interests to moko-friendly format.<br />
<br />
=== Give userspace api control over bluetooth signal strength ===<br />
<br />
I have tried bluetooth handsfree sets with other phones and don't get perfect reception due to low signal strength. I suppose the reason the signal is so weak is because the manufacturer wants the battery to last long on its latest charge. Can you please make the strength setting configurable by the user of the phone through an api and perhaps even through the phones gui? I would gladly waste some battery time in exchange for stronger bluetooth signal strength.<br />
<br />
<br />
== WiFi ==<br />
<br />
=== Industrial grade Wifi management ===<br />
One annoyance I've had with Wifi enabled gadgets is that they simply keep the connections in a dumb list. What I'd like to see is more granular connection management, which ennables me to specify whether a given connection is friend & family (mom's place), professional client (joe's copies and coffee), commercially available (panera), onetime use, or anything else, as well as managing router config backups, firmware images, and security keys.<br />
<br />
<br />
<br />
== Other ==<br />
<br />
=== Auto Update ===<br />
<br />
A small tool which is configurable to download the latest OpenMoko and OpenMoko related software. Maybe if any internet connection is available or a minimum of bandwith is available then the auto update would download only security related or the whole system etc. .<br />
<br />
=== Vibrate Pattern Recorder ===<br />
<br />
An application that would allow the user to define their own vibration patterns, and possibly link them to audio files. Recording would be done in real time initiated with a "Record" button, optionally playing the associated sound file in sync with recording). While recording, the user would press and hold a button to define the timing and duration of vibration. The user would press "Stop" when finished. Vibration patterns would have the option of being looped(would terminate at some global ringtone length maximum).<br />
<br />
One simple suggested vibration file format would be a sort of run-length encoding: First byte defines the length of a "time-slice" in milliseconds, which would determine the overall tempo(actually the inverse of tempo). The next byte would define the number of time-slices to leave the vibration on, and then another byte for how long to pause after. Continue alternating these on/off bytes until the entire pattern is defined.<br />
<br />
- or just use MIDI, using a separate channel for the vibrator.<br />
<br />
An implementation of RTTL could also be used to define vibration patterns.<br />
<br />
=== PC Input Device ===<br />
<br />
Provide a method to use the touchscreen as input device for a nearby desktop machine. Could connect over USB or bluetooth.<br />
<br />
=== Advanced Notification And Ringtone Manager ===<br />
{{Main|Wishlist-ANARM}}<br />
<br />
ANARM would be an application for handling all event-based audible notifications from an OpenMoko device.<br />
<br />
=== Location based reminders ===<br />
{{Main|Wishlist:Location_based_reminders}}<br />
Location based reminders can be used to notify users of various events or reminders that are location based.<br />
<br />
=== Synergy Client ===<br />
A synergy client would enable the user to place the device next to a desktop PC and share the desktop`s mouse, keyboard and clipboard over a TCP/IP network. [http://synergy2.sourceforge.net/ Synergy]<br />
<br />
== GPS Software ==<br />
*Providing GPS Support also for outdoor users in addition to ordinary street navigation features<br />
** Overlay of satellite images with existing streetmaps<br />
** Incorporating SRTM digital elevation model: for example using the VRML/X3D as data format (see http://www.ai.sri.com/geovrml/) which is interesting for e.g. mountaineering: using a 3d browser rendering VRML/X3D Model, displaying the current position and track (possibly also other gps-tracks of the different routes to a summit downloaded before could be mapped onto the 3d model), (what about 3d hardware support? there is nothing written in the hardware specs about graphics: thinking of OpenGL for embedded systems (see http://www.khronos.org/opengles/)<br />
** Using sth like a tracking mode to allow certain people to determine the current position and track (for rescue missions - like they have for example at http://www.steiger-stiftung.de (a German beneficence for rescue issues) There you can register your mobile phone so the rescue service is able to track you immediately if necessary. The interesting thing: It seams like some mobile phones with GPS have special support for this issue. If your phone is registered, the rescue service is able to get your GPS coordinates directly from the phone without any user assistance. Openmoko should also support this! )<br />
* Implementation of 3dTracking's (http://free.3dtracking.net/) tracking software or equivalent.<br />
* "Geomark" function: if you have to save the current time with your current location, only hit one button...<br />
<br />
<br>[[Community Based Traffic Information]]<br />
<br />
== Hardware ==<br />
{{Main|Wish List - Hardware}}<br />
<br />
It could be use for beepway Online service too <br />
[http://www.beepway.com]<br />
<br />
=== Tactile feedback via buzzer ===<br />
Assuming the hardware has a vibrator/buzzer for silent calls, use a lightly pulsed version of that to simulate tactile feedback when dragging finger across buttons on-screen. Implemented properly, it would almost feel as if the buttons were real.<br />
: 25 ms bump on the buzzer feels about right. Does this harm the vibrator motor? --[[User:Sagacis|Sagacis]] 05:15, 2 October 2007 (CEST)<br />
:: Created a patch to do this [[User:Sagacis/ForceFeedback]] --[[User:Sagacis|Sagacis]] 05:05, 3 October 2007 (CEST)<br />
<br />
=== Detachable keyboard ===<br />
Hardware keyboard that can be attached with magnets to a future version of the Neo.<br />
<br />
=== IR port ===<br />
Remote control applications<br />
Would be great to use openmoko as a Hamony remote controller.<br />
<br />
[[Category:User]]<br />
[[Category:Ideas| ]]</div>Sagacishttp://wiki.openmoko.org/wiki/User:Sagacis/ForceFeedbackUser:Sagacis/ForceFeedback2007-10-03T03:04:03Z<p>Sagacis: </p>
<hr />
<div>I've added tactile feedback to touchscreen presses to the neod. See the attached patch.<br />
<br />
It's configured using the neod gconf file. I still have to figure out how to put that in the build.<br />
<br />
[[User:Sagacis|Sagacis]] 05:04, 3 October 2007 (CEST)<br />
<br />
<pre><br />
Index: neod/src/buttonactions.c<br />
===================================================================<br />
--- neod.orig/src/buttonactions.c 2007-09-30 11:19:30.000000000 -0500<br />
+++ neod/src/buttonactions.c 2007-09-30 15:20:40.000000000 -0500<br />
@@ -43,6 +43,7 @@<br />
//#define DEBUG_THIS_FILE<br />
<br />
#define SYS_CLASS_BACKLIGHT "/sys/class/backlight/"<br />
+#define SYS_VIBRATE "/sys/class/leds/gta01:vibrator/"<br />
<br />
static gchar* backlight_node = NULL;<br />
static int backlight_max_brightness = 1;<br />
@@ -76,6 +77,9 @@<br />
int powersave_timer2 = -1;<br />
int powersave_timer3 = -1;<br />
<br />
+int tactile_feedback_duration_ms = 20;<br />
+int tactile_feedback_enabled = 1;<br />
+<br />
GtkWidget* aux_menu = 0;<br />
GtkWidget* power_menu = 0;<br />
<br />
@@ -225,6 +229,10 @@<br />
GError* error = 0;<br />
pm_value = gconf_client_get_int( gconfc, "/desktop/openmoko/neod/power_management", &error );<br />
if ( error ) g_debug( "gconf error: %s", error->message );<br />
+ tactile_feedback_enabled = gconf_client_get_int( gconfc, "/desktop/openmoko/neod/tactile_feedback_enabled", &error );<br />
+ if ( error ) g_debug( "gconf error: %s", error->message );<br />
+ tactile_feedback_duration_ms = gconf_client_get_int( gconfc, "/desktop/openmoko/neod/tactile_feedback_duration_ms", &error );<br />
+ if ( error ) g_debug( "gconf error: %s", error->message );<br />
gconf_client_add_dir( gconfc, "/desktop/openmoko/neod", GCONF_CLIENT_PRELOAD_NONE, &error );<br />
if ( error ) g_debug( "gconf error: %s", error->message );<br />
gconf_client_notify_add( gconfc, "/desktop/openmoko/neod/power_management", (GConfClientNotifyFunc) neod_buttonactions_gconf_cb, NULL, NULL, &error );<br />
@@ -306,6 +314,9 @@<br />
{<br />
g_debug( "stylus pressed" );<br />
neod_buttonactions_sound_play( "touchscreen" );<br />
+ if (tactile_feedback_enabled == 1 &&<br />
+ tactile_feedback_duration_ms > 10 && tactile_feedback_duration_ms <= 1000)<br />
+ neod_buttonactions_vibrate( tactile_feedback_duration_ms );<br />
}<br />
else if ( event.value == 0 ) /* released */<br />
{<br />
@@ -807,3 +818,27 @@<br />
<br />
}<br />
<br />
+void<br />
+moko_notify_vibrate (char* value)<br />
+{<br />
+ gint fd;<br />
+ gchar buf[100];<br />
+ gint len;<br />
+<br />
+ fd = g_open (SYS_VIBRATE"brightness", O_WRONLY, 0);<br />
+ if (fd == -1)<br />
+ {<br />
+ g_warning ("Unable to open vibration device");<br />
+ return;<br />
+ }<br />
+ len = g_sprintf (buf, "%s", value);<br />
+ write (fd, buf, len);<br />
+ close (fd);<br />
+}<br />
+<br />
+void neod_buttonactions_vibrate( int ms_duration )<br />
+{<br />
+ moko_notify_vibrate("1");<br />
+ usleep(ms_duration * 1000);<br />
+ moko_notify_vibrate("0");<br />
+}<br />
Index: neod/src/buttonactions.h<br />
===================================================================<br />
--- neod.orig/src/buttonactions.h 2007-09-30 11:19:30.000000000 -0500<br />
+++ neod/src/buttonactions.h 2007-09-30 11:19:44.000000000 -0500<br />
@@ -40,5 +40,6 @@<br />
void neod_buttonactions_sound_init();<br />
void neod_buttonactions_set_display( int brightness );<br />
void neod_buttonactions_sound_play( const gchar* samplename );<br />
+void neod_buttonactions_vibrate( int duration );<br />
<br />
#endif<br />
</pre></div>Sagacishttp://wiki.openmoko.org/wiki/Wish_ListWish List2007-09-30T16:49:57Z<p>Sagacis: /* Tactile feedback via buzzer */</p>
<hr />
<div>This article is a place to collect various thoughts about the future of the [[OpenMoko]] software platform. Most wish list ideas have been linked from this page, but you may also wish to check all pages [http://wiki.openmoko.org/wiki/Category:Ideas that have a category of 'Ideas'].<br />
<br />
== Development ==<br />
=== Painless SDK installation & Setup ===<br />
Our goal should be a completely painless setup for somebody wanting to develop using [[OpenMoko]]<br />
<br />
* one command for installation (apt-get install openmoko)<br />
* one command to start Xnest (openmoko-xephyr?)<br />
* one command to start an i386 shell (openmoko-386-shell)<br />
* one command to start an armel shell (openmoko-armel-shell)<br />
<br />
No extra configuration required.<br />
<br />
==== IDE Plugins ====<br />
People like to see plugins for<br />
* [http://anjuta.sourceforge.net Anjuta]<br />
* [http://www.eclipse.org Eclipse]<br />
* Game engine - Game Creation plugins<br />
evaluate eclipse project [http://www.eclipse.org/dsdp/index.php Device Software Development Platform Project from eclipse] and subproject [http://www.eclipse.org/proposals/tml/ Tool for Mobile Linux]<br />
* [http://www.kdevelop.org KDevelop]<br />
* [http://developer.apple.com/tools/xcode/ XCode]<br />
* [http://msdn.microsoft.com/vstudio/ Microsoft Visual Studio 2005]<br />
<br />
==== UI Designer ====<br />
Glade code generation is deprecated, so we don't want to use it. The Gtk+ powers told me that the plan is to have gtk 2.12 (out early 2007) with support for GtkBuilder, a libglade derivative which breaks a bit the XML definition in order to support all the new widgets and properties; as soon as it's in the other ui builders will add support for this format. See also [http://bugzilla.gnome.org/show_bug.cgi?id=172535 the relevant bug entry]<br />
* Possibly a Landscape (rotated) view for the screen (480x640 *or* 640x480)?<br />
<br />
<br />
==== Built-in Scripting Language ====<br />
{{Main|Wishlist:BuiltInScriptingLanguage}}<br />
There was a [http://lists.openmoko.org/pipermail/community/2007-January/001909.html fruitful discussion about a built-in scripting language on the mailing list in January.] Many people feel that it is very important for OpenMoko to choose a scripting language to ship as default in the standard OpenMoko firmware. <br />
<br />
===Foreign Widget Set Bindings ===<br />
==== Qt Integration ====<br />
The Trolltech folks have a great widget library. I'd like to interface OpenMoko with Qt4, so that we can write Qt4 applications for the phone which don't look alienated.<br />
<br />
==== Maemo Integration ====<br />
The Maemo folks have created a successful standard for Webpad applications. I'd like to have a set of MaemoMoko and MokoMaemo wrapper classes that allow me add support for running OpenMoko applications on Maemo and vice versa. Perhaps we can get help from the Nokia OSS folks for that.<br />
<br />
==== wxWidgets Integration ====<br />
wxWidgets is a cross-platform application framework that's very popular (I'd say, #3 after Qt and Gtk+). On Linux, wxWidgets uses Gtk+ to implement the widgets. It shouldn't be hard to add support for the additional OpenMoko classes to wxWidgets hence supporting the native OpenMoko look and feel for wxWidgets applications.<br />
<br />
wxWidgets team wants OpenMoko classes too and we (wxWidgets) plan to include this project as one of our ideas for [http://google-code-updates.blogspot.com/2007/02/speaking-of-summer.html GSoC 2007]<br />
<br />
==== SDL Integration ====<br />
SDL is ''the'' game developer library. There are tons of SDL games out there. We should add OpenMoko support into SDL.<br />
<br />
=== Software: Language bindings ===<br />
==== Python bindings ====<br />
Python bindings seem to be a commonly requested feature. <br />
<br />
[[User:Mickey]] says, "They are kind of usable on the [http://www.maemo.org Nokia 770], but it's at the lower end of being bearable. We should keep this in mind -- Gtk+ already comes with Python Bindings, so we "just" would need to wrap libmoko*. I would prefer to leave this to the community do though, since it doesn't make sense to start wrapping the API until we have a stable API -- and I can imagine it will take us a couple of months after going open until we can start with stabilizing the libmoko API."<br />
<br />
==== C++ bindings ====<br />
There is a whole skilled C++ community coming from the [http://qtopia.net Qtopia] and [http://opie.handhelds.org Opie] projects. If we would consider basing OpenMoko C++ Bindings on [http://www.gtkmm.org/ Gtkmm], then we could drag these guys in.<br />
<br />
==== Other bindings ====<br />
* Perl<br />
* Ruby<br />
* C#<br />
* I think you could skip a bunch of these by binding to Dbus; most languages already have Dbus bindings<br />
<br />
== Community Support ==<br />
<br />
=== [http://projects.openmoko.org projects.openmoko.org] ===<br />
Infrastructure for developers with<br />
* One bugzilla for all projects (makes moving bugs forth and backwards between projects ''very'' easy)<br />
* One mailing list for project<br />
<br />
== Platform ==<br />
=== Community Images ===<br />
In the future there could be complete, unofficial "product images" that are created by the community, for example maybe one that incorporates only free software (in the GNU or OSI sense). Or images build with a particular niche market in mind -- a student for example.<br />
<br />
=== Wishlist voting ===<br />
There could be a kind of voting system like they have at one of those big computer manufacturers homepage. Then the community could vote for the ideas that are most important to them. This would especially make sense for the hardware wishlist, because the hardware is still the part which can't be done by the community that easily.<br />
<br />
Here: [http://www.fevote.com/openmoko OpenMoko suggestion board]<br />
<br />
== Software: Additional features ==<br />
===Calling===<br />
<br />
==== Mask ID based on dialed numbers ====<br />
It would be nice if my number only showed up when I call people in my address book and was otherwise masked. The phone I have now either always shows my number or never or can be set on a per call basis. Having it done automatically based on the number dialed would be good.<br />
<br />
==== Use calling cards and similar routing techniques for lower-cost calling ====<br />
Many people use calling cards, low-cost numbers and similar ways of reducing the costs of their calls. It would be nice to have a single panel that would allow you to configure the rules of dialing a number taking in to account such systems.<br />
<br />
==== Outgoing black/white lists ====<br />
The ability to allow or deny outoging calls to certain numbers can be useful in a number of situations (e.g. the holder of the 'phone is a child, untrusted, etc.). This could be related to entries in the contact list, for example a user is only allowed to call people who are in their contact list.<br />
<br />
Also lists for incoming calls? Some friends always come through, unknown numbers get rejected automatically.<br />
<br />
==== Time-based blocking/unblocking of calls ====<br />
Allowing or disallowing outgoing calls at certain times of the day could be useful, e.g. blocking a business phone from making calls outside of business hours.<br />
<br />
====Speaker-phone====<br />
* A speaker-phone is more than simply connecting the speakers to GSM audio, it's also echo cancellation, and eliminating the feedback that will otherwise happen between the speakers and the mic. This software has not been written.<br />
<br />
====Advanced Airtime Tracking====<br />
Many phone users have complicated plans, things like unlimited incoming, 100 anytime minutes, 1000 evening minutes, etc. It would be nice if a user could input the various monthly airtime chunks their plan gives them, and then the phone could track how much is left in each chunk, i.e. How much anytime minutes are left this month? Optionally, the software could warn when someone is close to the monthly limit, to help avoid bigger bills.<br />
On (at least some) prepaid [http://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data USSD] can be used to check current balance.<br />
<br />
==== Anti-stutter software ====<br />
Delayed Auditory Feedback (DAF) has shown to reduce stuttering in individuals by 70%. By using the microphone, it should be pretty simple to implement this on the OpenMoko. The DAF functionality should also be present during phone calls. See http://en.wikipedia.org/wiki/Delayed_auditory_feedback for more information.<br />
<br />
====Minimize In-Call mode (check address book while in call)====<br />
On my locked phones I always find it annoying that one can not use other features while a call is in progress. In particular, I'd like to access the address book so that we can (1) give a caller someone else's phone number (or other info) and (2) lookup a phone number when using a calling card or some other proxy.<br />
<br />
Similar request when using the browser (lookup passwords, todo list, etc).<br />
<br />
====Hold Music (Ringback Tone)====<br />
On some cellphone networks you can pay to change the normal [http://en.wikipedia.org/wiki/Ringback_tone Ringback Tone] that the caller hears when ringing, to a customised sound.<br />
This can partially be implemented on the phone.<br />
Issues are:<br />
*In countries where callers pay, this will make you unpopular.<br />
*In countries where the called party pays, it will use your minutes, or cost you money.<br />
**A list of people to activate this function for would alleviate this.<br />
*[[GPRS]] internet connection will stall while the hold music is being played.<br />
*Extra battery used when playing music.<br />
<br />
Also see [[Answering Machine]].<br />
<br />
====Play sound clips over the air====<br />
Dialer could have a tab with big buttons which, when push, send sound clips over GSM to the person on the other end of the call. This feature is included in GizmoProject and is called sound blasts: http://support.gizmoproject.com/index.php?_a=knowledgebase&_j=questiondetails&_i=104<br />
The buttons can have default sounds, but also have the ability to be customized.<br />
<br />
It would also be useful to loop a pre-recorded sound in the background so you can lie about where you are, and have the ability to simulate a really bad connection.<br />
<br />
==== DTMF Landline Dialing ====<br />
The ability to hold the Neo near the microphone of a landline handset and have the Neo dial the landline by sounding DTMF tones. The DTMF tones could be generated in software or be pre-recorded files.<br />
<br />
Graphically this could be done by adding a 'DTFM dial' button to a context menu. The user would select a contact then presses the 'DTMF dial' button to start the process. A small delay could also be added to allow time to put the Neo near the landline handset.<br />
<br />
For the Neo to know which area code to use (or not use) the current or last GPS coordinates could be utilised.<br />
<br />
==== Conversation Recorder ====<br />
<br />
An option to record phone conversations. Would be helpful to have the device always recording for every call, with the sound data encoded to low quality Ogg Vorbis or SPEEX and stored in RAM. At the end of the conversation the user would have the option to save to flash or discard the conversation. This idea could also be applied to voicemail so you could save voicemails locally.<br />
<br />
====Unlicensed Mobile Access (UMA)====<br />
T-Mobile recently rolled out a UMA service that hands off calls between the GSM network and WiFi access points. Only a few phones support it right now, this could be a rather unique feature if OpenMoko can implement it.<br />
<br />
==== Ignore-Call Button ====<br />
{{Main|Wishlist:Ignore Call Button}}<br />
<br />
Shut up a ringing phone, without accepting or rejecting the call.<br />
<br />
Another alternative might be to use microphone to recognize when the user gives an audible "Shhh!" command. This could prove difficult to determine with the simultaneous ringing, and possible in-pocket shuffling noises.<br />
<br />
A really usable feature is to "reject with SMS/text message" - letting the user reply the caller choosing a previously setup template or typical response: "I'm in a meeting - I'll call you later" or "Can't take your call now, please call back in 10 minutes". This feature typically is a much better way to get your co-workers (ie boss) to back off, than to silently ignore the call.<br />
<br />
==== Voice Mailbox ====<br />
{{Main|Voice Mailbox}}<br />
On-Phone voice mailbox that records calls on the phone and retrieves voice messages from your mobile service provider's voice mailbox and saves them locally.<br />
Can act profile-dependent.<br />
<br />
==== Hold Button ====<br />
<br />
Similar to mute, but plays a sound file for the user on the other end while they wait. The sound file could be chosen in some setup beforehand.<br />
<br />
==== Unanswered Call, Fast Call ====<br />
<br />
In Greece because of the various bill programs some people call a mobile phone, rings one time and then hangup.<br />
Then the user of the mobile phone calls the other user(using the CallerID recognition).<br />
<br />
===Audio===<br />
<br />
==== Ambient Noise Detection ====<br />
{{Main|Wishlist:Ambient Noise Detection}}<br />
<br />
Using the microphone to detect ambient noise the ringtone volume could be adjusted automatically.<br />
<br />
Detection of ambient noise could also be used to subtract the noise from the audio signal. However this approach is best performed using two Microphones, one for the voice and the other to detect the noise.<br />
<br />
==== Active noise control ====<br />
<br />
Using the microphone to do [http://en.wikipedia.org/wiki/Anti-noise active noise control] on media player playback or telephone calls. This should be an independent module/library which can be used by any application which might require this feature. also provide a way to easily alter the parameters of the active noise control.<br />
<br />
==== Hear Impaired Mode ====<br />
<br />
Hearing impaired people need louder speaker(but with less volume than hands free) and equalized sound, based on their hearing problems(example 20dB hearing loss from 2KHz to 4KHz).<br />
Older people 50+ years old need slower speech rate(time stretch, cut the big speech gups) and cleaner voice.<br />
<br />
Please note also the Hearing Aid Compatibility regulations in the US. I have tried to summarize and clarify them [http://quux.wiki.zoho.com/WhereAreHACphones.html here]. I haven't yet discovered whether the FIC device is M or T rated. For many hearing impaired users, a tcoil coupling to their hearing aid (t3/T4 rating) would be preferable to manipulating sound output in other ways.<br />
<br />
==== Mute Button ====<br />
<br />
Button to temporarily disable microphone while talking for applications such as telephone, audio recording and (when available) movie recording.<br />
<br />
===Media===<br />
====Music/Video Software====<br />
A real good programming area for competition with the iPhone, a singular video/music player would be great for multimedia. A seamless integration system, a la iTunes and iPod, would be extremely popular. <br />
<br />
Using the Wi-Fi connectivity, a separate music program that supports wireless music sharing/ streaming (similar to what can be done when two computer running iTunes that are both on the same network) and that also supports internet radio.<br />
<br />
It would also be nice to have some kind of "announce your musical taste" mode. This could be implemented using last.fm profiles, such that when e.g. in a crowded place a user nearby has a similar musical taste, both users get notified so they can share their music files with each other (perhaps using a photo for id). Great for discovering new music - and making friends!<br />
<br />
- Possible copyright issues sharing music files?<br />
<br />
==== Reading Support ====<br />
It would be really great to be able to read :<br />
<br />
*PDF<br />
*Open Document files<br />
*Text / RTF files<br />
*MS Office files<br />
*Aportis Doc (pdb)<br />
*DjVu<br />
*...<br />
<br />
In both landscape and portrait<br />
<br />
==== Wikipedia Mirror ====<br />
{{Main|Wishlist:Wikipedia_Mirror}}<br />
<br />
==== Blog ScribblePad ====<br />
<br />
Draw an image (and maybe add some text), then post to your blog.<br />
<br />
==== E-Book Reader ====<br />
* Neos brilliant ultra-sharp screen makes for a very good e-book reading device. All it takes is a good e-book reader with touch-screen page turning / scrolling. FBReader could probably be adjusted easily by an experienced GTK hacker. Note that e-book reading is different to pure text/pdf displaying as it requires at least auto-bookmarking of the last read page, proper text and image scaling and text formatting.<br />
<br />
==== Personal Wiki ====<br />
{{Main|Wishlist:PersonalWiki}}<br />
<br />
Display the notes database as a Wiki. Inspiration: [http://www.acrocat.com/AcroWiki/default.asp?lang=en AcroWiki].<br />
<br />
[http://www.didiwiki.org/ Didiwiki]<br />
<br />
<br />
==== Dictionary, thesaurus, translator and flashcards ====<br />
Native lookup dictionary and thesaurus and foreign translation dictionaries, also with support for Asian languages. Optional custom configurable (though preconfigured) interface with on-line versions of dictionaries, thesaurus and translation services.<br />
<br />
'''Dictionary'''<br />
Something like [http://www-user.tu-chemnitz.de/~fri/ding/ ding]:<br />
<br />
advantages:<br />
* small<br />
* very efficient + useful<br />
* only limited to really needed functions<br />
<br />
Support for vocabulary training with flashcard system (also usable for other content than foreign language words!)<br />
<br />
==== Flickr uploader ====<br />
A simply, drag & drop uploader, tagger and organizer to upload images on phone to [http://flickr.com Flickr], with support for various languages. A good base could be the cross-platform uploader [http://juploadr.org/ jUploadr], written in Java and working on Windows, Mac and Linux. But, most of all, the best '''GPL''' program which actually do this work is '''[http://mobilepushr.jottit.com/ Mobile Pushr]''', written in C and Cocoa for iPhone, must be probably ported in python to work on OpenMoko.<br />
<br />
===PIM (Personal Information Managment)===<br />
====Context Sensitivity====<br />
Any email or sms message or application that contains a telephone number should be click to dial, eg [http://123567890 1234567890]. Addresses link to mapping software too?<br />
<br />
==== Notes ====<br />
<br />
Something for taking notes would be a nice feature:<br />
[http://www.gnome.org/projects/tomboy/ Tomboy] has some nice syncing features and is gtk based.<br />
<br />
Some Screenshots are [http://www.gnome.org/projects/tomboy/images/ here].<br />
<br />
==== Calendar ====<br />
<br />
A nice calendar application should be implemented in OpenMoko. This tool should have a syncing feature with your desktop computer.<br />
The tool should have a reminder feature and other features like other mobile phones already have.<br />
<br />
==== Address Book ====<br />
<br />
* Option to search not just the stored list of addresses, but one or more of the online phonebooks. Probably should be modular to make adding/changing phonebook sites easy. Also allows for future integration with LDAP<br />
servers or whatever.<br />
* Also the possibility to search all info on the contact, like number, email, postal address and so on, in case someone asks you to identify a known number.<br />
* Web-based map-lookup. 'How do I get there from here? (here = current GPS location)' This could also be done<br />
by integrating with whatever on-phone GPS mapping software the Neo ends up using.<br />
* Random text input 'notes' about a contact<br />
* Overall, this should more resemble a Palm-pilot's address-book than your average cellphone's<br />
* Automated Daily backup of phone book to a website archive (similar to Verizon's Back-up Assistant<br />
*Ability to integrate address book with web-based email (such as gmail) account, for those who use web based email as their primary account<br />
* '''[[Wishlist:Tagging|Tagging]]''' Place tags for contacts. Enhance message application to send messages to all contacts tagged with ... . Enhance other application(GPS, ...) with tags.<br />
* Support for:<br />
**[http://en.wikipedia.org/wiki/SyncML SyncML]<br />
**[http://en.wikipedia.org/wiki/Ldap LDAP] address book<br />
**[http://en.wikipedia.org/wiki/LDIF LDIF], [http://en.wikipedia.org/wiki/Xml XML] and [http://en.wikipedia.org/wiki/Comma-separated_values CSV] export and import (when possible).<br />
*Store Bluetooth IDs of friends and notify (configurable only on this device or on both devices) when a one of these Bluetooth ID has been detected (this is more a separate application but has requirements on the address book. Should also be able to create an address book entry from a Bluetooth ID. Could be used as a nice tool to detect people who you're avoiding.<br />
<br />
==== Database/List Display/Edit ====<br />
{{Main|Wishlist:PilotDB}}<br />
<br />
One of the most useful apps on my Palm Pilot for me is [http://pilot-db.sourceforge.net/ pilot-db]. It's GPL'd.<br />
<br />
==== Joe's Goals ====<br />
<br />
It'd be nice to have something like [http://www.joesgoals.com Joe's Goals] always available, like my phone is, even when I'm disconnected from the net.<br />
<br />
==== Workout ====<br />
<br />
Use your phone instead of your notebook while at the gym, and get pretty graphs to admire after you're done.<br />
<br />
==== Shopping List ====<br />
keep Track of Prices in different shops and the products you have/don't have. Ideally using a barcode reader and gps.<br />
If it was made aware of recipes it could even tell you what to buy without entering a shoppinglist manually.<br />
<br />
==== Fuel Log ====<br />
File data about fueling your car (date/time, liters, price, mileage, ...) and display some information (costs per month, average consumption, ...).<br />
Advanced features could include:<br />
* Automatically storing the GPS coordinates of the place where the car has been fueled (can be deactivated)<br />
* Sending the data to a central server which collects the information<br />
* Let the OpenMoko receive fuel logs per SMS (e.g. if my wife with a non-openmoko mobile fuels the car and wants to file the data using her mobile phone)<br />
* Let the OpenMoko device act as SMS gateway for non-openmoko devices to easily send the data to the central server<br />
* Also support for air log for divers. Not that you will take this device under water but for the crew at the surface.<br />
<br />
==== Keep in touch reminder ====<br />
A background application which keeps track of your friends and reminds you when you have not talked, SMS, IM or mailed a person for more than # days.<br />
<br />
<br />
==== Menstruation period timer ====<br />
Fill in statistics and compute probabilities for menstruation, fertility, mood.<br />
See http://www.getjar.com/products/48/MyGirls<br />
<br />
==== Tagging ====<br />
{{Main|Wishlist:Tagging}}<br />
Tags can be used by various applications. Requirement is interoperability for further enhancement.<br />
Tags should be applied to calendar events, mail/sms, calls, places(GPS) and files.<br />
<br />
==== Context based TO-DO list ====<br />
{{Main|Wishlist:context based to-do list}}<br />
<br />
If I arrive home and there are "@home" things in the to-do list, the Context based to-do list reminds me of that.<br />
<br />
==== Exchange Integration ====<br />
<br />
Once there is good TCP/IP connectivity on this phone, integration with corporate email/calendar/to do/etc servers would be a big advantage... near-real-time automatic email downloads and automatic bi-directional syncing are productivity boosters that you have to experience to appreciate. It turns your phone from a 'nice gadget to fiddle with' to a natural-feeling extension of your day-to-day life.<br />
<br />
* Is the time right to name names ? Add as your liking...<br />
** Plugin/integration to & from Kontact<br />
** Same with Evolution - Thunderbird - Seamonkey<br />
** ?? Google Calendars ?? (this one is tough)<br />
** Ms Exchange<br />
<br />
==== An electronic wallet ====<br />
<br />
A database which stores securely PIN codes, login data, bank and email accounts, membership informations, and other valuable and private data. Entries can be ordered in a folder-like manner. Access to the database is given by a master password. The database as well as the master password are stored with strong encryption. For security reasons, the program asks again for entry of the master password after a certain period of inactivity. The database can be synchronized with a PC application (ideally written in Java for cross platform compatibility).<br />
<br />
Examples: KWallet [http://docs.kde.org/stable/en/kdeutils/kwallet/index.html], Viskeeper [http://www.sfr-software.de/cms/EN/pocketpc/viskeeperpro/index.html], KeePass [http://keepass.info/]<br />
<br />
==== Easy business card sharing for a small group (in the same room) over bluetooth or WIFI ====<br />
<br />
Six Neo1973 owners are having a chat in a cafe. They agree to split but meet later. They want to exchange their numbers with each other before they go.... The normal way to do this is for a rather longwinded repeating of numbers to each other, or half the people manually inputting numbers before phoning/texting the other half to complete the process. All in all its a fair number of button presses to get it sorted.<br />
<br />
Instead the NEO could have a small app where the phones link up in a small peer to peer Bluetooth network and share automatically with one person initiating a request and the other detected NEOS agreeing/acknowledging the share. The initiating NEO would then sync the mini-group automatically by interrogating each phone and then sending the table of results. The NEOs would have to be clever about checking for duplicates in the address book and offering a choice to the user if there are any conflicts.<br />
<br />
PROS: <br />
*genuine saving in time for social and business situations<br />
<br />
CONS: <br />
*I am sure there are some security hassles to be pondered....<br />
*not going to be used every day... definitely not an immediate priority.....<br />
*only at geek conferences will all have a neo....<br />
<br />
===Profiles===<br />
{{Main|Wishlist:Profiles}}<br />
<br />
The Wishlist:Profiles page documents many possible profiles - ways to configure the phone. Including ways to respond to calls, wifi and GPS events.<br />
And how to automatically switch between them.<br />
<br />
===Text Messaging===<br />
For '''Text Input related ideas''' see [[Wishlist:Text_Input]]. Bear in mind that T9 can not be included<br />
For current development status of the messaging-app see: [[Messages]].<br />
<br />
There are many useful options that now can be used to full capacity:<br />
* '''Acknowledge/status SMS'''<br />
In GSM networks so-called acknowledge-SMS are sent back to the SMS's dispatcher in order to indicate that the primal sms was received (as message delivery is only best effort and is not guaranteed). So in the SMS dialog there could be equal sized buttons with captions as 'send only', 'send and receive delivery status message' and 'send and notify (e.g. ring) when delivery succeeded'.<br />
** '''Special handling of status-SMS''' <br />
Related to the previous entry, these acknowledgment-sms' should be handled in a different way than normal SMS'. Most Motorola do this, while Samsung SGH series don't & clog the inbox, warn of a "new" message upon Status notification: Delivery Status Messages should be stored in a separate menu so they don't bloat the received-folder and you are able to quickly review the status of the messages you had sent.<br />
* '''SMS at time/date''' You could be able to set up messages that are sent at a certain time/date<br />
* '''Binary SMS''' Send binary SMS. Could be used to feign WAP pushes. [http://en.wikipedia.org/wiki/Multimedia_Messaging_Service] See: <br />
** Resource for SMS encoding: [http://web.archive.org/web/20021016104345/www.dreamfabric.com/sms/] [http://web.archive.org/web/20060411222332/] [http://home.student.utwente.nl/s.p.ekkebus/portfolio/resource/sms_pdu.html] [http://www.ihub.com/Binary%20Messages.htm]<br />
** [http://www.gammu.org www.gammu.org] - you can use Gammu/Gammu+ source for this software and/or understanding various SMS formats including EMS, WAP, Nokia Smart Messaging, Siemens & Alcatel encoding ([[User:Marcin|I could]] eventually help)<br />
** Resource for SMS encoding (German): http://de.wikipedia.org/wiki/SMS-Kodierung<br />
** The infamous pocketpc-attack: http://www.mulliner.org/pocketpc/<br />
* '''Profile-override-SMS''' SMS that start with a certain code word override the silent profile and have the phone ring. So someone could alert you in case of some emergency.<br />
* '''Codeword-SMS''' An expansion of the above: check for code words and allow selectable tones for matches. E.g. "Server Down!" has a loud klaxon, "Disk Warning" has a quiet chirp.<br />
* '''(De-)Abreviation-script''' Implement a script that de-abbreviates: "hi m8 u k?-sry i 4gt 2 cal u lst nyt-y dnt we go c film 2moz" becomes "Hi mate. Are you okay? I am sorry that I forgot to call you last night. Why don't we go and see a film tomorrow?" (taken from: [http://en.wikipedia.org/wiki/SMS_language])<br />
** Implement a script that abbreviates :-)<br />
* '''Anti-Spam''' ...feature for SMS. May be it's possible to port some Bayesian based application like bogofilter.<br />
* '''Rule based authorizations''' ...for received messages. For example, delete messages from one source between 9h00 and 18h00 (workday) allow them otherwise (to get alerting messages).<br />
* '''Enable chat-like SMS-viewing''' SMS-Email-like: retain SMS app, but store 'conversations' rather than pile-up. Group/archive conversations by Caller Group (Work / Friends / Home / any user-defined Caller Group). Show appropriate icon from either Caller Group or Caller ID at the source of conversations panel<br />
* '''Searching''' allow full-text search or string search.<br />
* '''Massive SMS Deletion''' based on Conversation, author, before-date-xx.xx.xxxx, caller group, [[Wishlist:Tagging|tags]]...<br />
* '''Call Back''' Prompt 'Call Back' alongside other first-line options (Delete, Save number,.. this kind of options) that appear when reading an SMS.<br />
* '''Non-destructive deletion''', deleted messages goes to trash, and are recoverable.<br />
* '''SMS-EMail-Gateway'''<br />
SMS comes in, gets forward to your inbox, like any other piece of mail. Appropriate alerts and etc occur - again, just like for email. A simple SMTPD running on 127.0.0.1 that is hooked to an email-to-SMS translator that will send email addressed to 'SMS@localhost' (or whatever special address) out via SMS<br />
* '''SMS-filter chain''', for stuff like Codeword-SMS above, Theft-mode activation, auto-response (reply with gsm-position for "Where are you?"), auto-substitution (like replace $POS with gsm-position in outgoing SMS).<br />
<br />
=== Text input ===<br />
{{Main|Wishlist:Text Input}}<br />
There are many good suggestions for text input on the specific text input ideas page.<br />
<br />
=== More/Custom Input Method Widgets ===<br />
{{Main|Wishlist:More/Custom_Input_Method_Widgets}}<br />
Additional and customizable Input Method Widgets (similar to virtual keyboard). <br />
This could add soft-key functionality to games or other applications such as:<br />
*D-Pads<br />
*buttons<br />
*virtual trackballs<br />
*...<br />
Personalized layouts could be associated with each application.<br />
<br />
=== Games ===<br />
{{Main|Wishlist:Games}}<br />
<br />
=== Mesh Networking ===<br />
{{Main|Wishlist:Mesh Networking}}<br />
<br />
=== Printing Support ===<br />
It would be really neat to be able to print over either bluetooth or USB. I can imagine wanting to print:<br />
<br />
* Notes<br />
* Maps<br />
* Email<br />
* Calendars<br />
* ...<br />
<br />
Cups contains a bluetooth printing backend, so (in theory) once you have your data in postscript format, you could hand it to cups and it'll do the rest. In practice, it depends on<br />
<br />
# GTK+'s printing support<br />
# Making cups run on a really small system<br />
<br />
{{note| GTK+'s printing support seems to be very immature in 2.6 (which we need to use for some time). Gtk+ 2.10 contains much better printing support -- once we can use this, it should be more easy.}}<br />
<br />
There's always the possibility to render postscript ourselves, but this is not a piece of cake -- in general, printing is much harder than one would imagine.<br />
<br />
Further details:<br />
* [http://groups.osdl.org/apps/group_public/download.php/2205/print-summit-gtk.pdf#search=%22gtk%2B%20printing%20API%22 osdl.org]<br />
* [http://www.gnome.org/~alexl/presentations/guadec2006-printing.pdf#search=%22gtk%2B%20printing%20API%22 gnome.org]<br />
* [http://www.j5live.com/?p=204 j5live.com]<br />
<br />
===Misc Software===<br />
====Clocks/timers/Activity meters====<br />
===== Sport tracker =====<br />
{{Main|Wishlist:Sport_tracker}}<br />
Sport tracker can be used to measure the distance/velocity from point A to point B (or it could have several intermediate stopping points) using GPS. This would be extremely useful for running, biking, hiking, etc.<br />
<br />
===== Standby clock =====<br />
{{Main|Wishlist:Standby_clock}}<br />
A quick way to see what time it is.<br />
<br />
===== Egg Timer =====<br />
{{Main|Wishlist:EggTimer}}<br />
<br />
Very simple (one click) count up / count down timers are very useful.<br />
<br />
===== Cycle Computer =====<br />
As already mentioned by [http://wiki.openmoko.org/wiki/User_talk:Technil Technil], a cycle computer could be created using gps. The sensor at the bike's wheel could transmit data via bluetooth or some cable that would be attached to an openmoko device. In order to save power, one could switch off the gps and only use the bike's sensor.<br />
* Just another idea that came to me: Why don't have sensor's transmit cable plug into the headphone/microphone plug? A tool reads the signals created by the induction of the passing magnet, then gives them to the cycle-computer-app :) --[[User:Minime|Minime]] 19:50, 12 April 2007 (CEST)<br />
<br />
===== NTP Server =====<br />
<br />
Run the [http://www.ntp.org NTP] daemon using the GPS chipset as a reference clock, so that the Neo would have a very accurate time-of-day clock and would be able to serve time to other networked devices. <br />
<br />
I don't know what it would take to implement this. Items to consider would be the availability of a 1 pulse-per-second hardware signal, the accuracy of timestamps delivered in NMEA messags, etc. Dealing with power-management issues (such as the device going to sleep) would also be challenging.<br />
<br />
Very simple (one click) count up / count down timers are very useful.<br />
<br />
===== Reality check reminder =====<br />
{{Main|Wishlist:Reality check reminder}}<br />
<br />
A tool to [http://www.phrack.org/issues.html?issue=64&id=16 hack your brain]<br />
<br />
====Calculators====<br />
===== A Universal Unit Converter Tool =====<br />
<br />
One never knows when one may have to convert acre-feet into deciliters. A unit conversion tool makes all engineers and engineer wannabes much happier. And not only the engineers. <br />
<br />
Ideas what kind of conversions a converter tool could do:<br />
<br />
Lenght<br />
- Acceleration<br />
- Angle<br />
- Angular Velocity<br />
- Area<br />
- Capacitance<br />
- Radioactivity<br />
- Currency <br />
- Charge<br />
- Computer Memory<br />
- Conductance<br />
- Density<br />
- Energy<br />
- Illumination<br />
- Power<br />
- Force <br />
- Flow<br />
- Pressure<br />
- Speed<br />
- Temperature<br />
- Time<br />
- Torque<br />
- Viscosity<br />
- Volume<br />
- Weight<br />
<br />
Roman Numerals<br />
- ASCII, Hex<br />
- Cooking<br />
- BMI<br />
- Clothing Sizes<br />
<br />
Money Converter based on current rates from Internet...<br />
e. g. Dollar <-> Euro<br />
<br />
Physical and Mathematical Constants<br />
GPS conversions <br />
<br />
- link to or integration of a scientific calculator<br />
- link to or integration of a simple calculator<br />
<br />
A good basis for such a converter tool could be the Palm program "units" from <br />
François Pessaux [http://francois.pessaux.neuf.fr/files/units1_11.tgz]. The GPL'd program comes with full documentation.<br />
<br />
For GPS conversions see gpsbabel [http://www.gpsbabel.org]<br />
<br />
===== An Postfix Notation (RPN) calculator =====<br />
<br />
Many engineers, computer scientists and other groups who have grown to enjoy the simplicity and ease of an postfix notation calculator will miss them when they give up other platforms to move to OpenMoko. A RPN calculator will increase adoption by providing one of the tools that other platforms have provided for many years.<br />
<br />
==== Web-browser Plugins ====<br />
<br />
* While an extensive browser plugin system would be costly to the efficacy of the platform three particular browser plugins as poplularized by Mozilla firefox should be adapted to the web-browser, namely: [http://noscript.net/ noscript], [http://adblockplus.org/en/ adblock plus], [http://www.greasespot.net/ greasemonkey] and [http://www.foxmarks.com/ foxmarks].<br />
* Careful use of these can dramatically reduce bandwidth, page space, and rendering costs even if it comes at the risk of some hard drive space in the form of block lists.<br />
* Greasemonkey, in particular, gives users control to set up scripts for commonly traveled pages to further reduce unnecessary or unwanted content.<br />
<br />
==== Windows CE Emulator ====<br />
<br />
On ARM machine, Windows CE API emulator, like Wine on x86 machines. <br />
<br />
==== PalmOS Emulator ====<br />
<br />
The Access group is probably coming out with their Linux platform any time soon. One of the components is a PalmOS emulator which I'd like to see working on OpenMoko as well. There are literally thousands of PalmOS apps.<br />
<br />
I'd like to see a Windows CE Emulator with active sync support.<br />
<br />
==== TV Guide/Remote Control ====<br />
<br />
Use your Phone to easily program your VCR using EPGs.<br />
<br />
<br />
==== Alcohol meter ====<br />
Give the phone some info about your body (gender, size, weigth) and when/what you drink and it will compute an approximation of the amount of alcohol in your blood. Updates automatically, could have an alarm, when you are probably sober again.<br />
See, for example (German text) http://www.misterio-online.de/promille.htm<br />
<br />
==== Interaction with LEGO Mindstorm ====<br />
With the accelerometers, GPS and good CPU, the phone could be used to control/serve as input with robots built with LEGO Mindstorm, which can be accessed by USB and Bluetooth.<br />
<br />
==== Flashlight ====<br />
Simple finger application that makes every pixel on the entire screen white to be as bright as possible until you tap the screen again to turn it off. This way, you can use your Neo as a (short term) flashlight!<br />
<br />
=== Accessibility ===<br />
Accessibility features for the visually impaired.<br />
* High Contrast Themes.<br />
* Screen Magnifier. Features should include automatic cursor tracking when navigating menus and entereing text and provide manual controls to zoom in on other section of the screen.<br />
* Text to speech. The software should read out menu item ,contact lists ,text messages etc. Would also be useful for operating the phone while driving.<br />
<br />
==== VOIP ====<br />
Ability to use the phone for VOIP over wi-fi such as Vonage. They currently have 2 different pieces of software for pc . Basically software creates a mac address which is paired with your Vonage account. Skype could also be implemented but I prefer Vonage. Only available when connected to wi-fi with a good connection. Phone treats calls the same as a cellular call, could keep a separate log of minutes, ability to record conversations, etc. Option to use VOIP if connection is available automaticly or manually. Small icon to show when call is using VOIP.<br />
* A standard SIP client would probably fit better into the "free and open" philosophy.<br />
* Ideally a SIP client that includes ZRTP/SRTP for secure communications.<br />
<br />
==== Power Meter ====<br />
If the power bar is clicked on it will show time left on charge and if charging it will show time until full.<br />
<br />
<br />
<br />
=== Accelerometer wishes ===<br />
==== Flick interface ====<br />
Ability to "flick" the phone for page up/down by simply and rapidly tilting the phone back-and-forth for up and forth-and-back for down. The same motion can be implemented for sideways motion. This will take advantage of the 2 3d accelerators.<br />
<br />
Sensitivity of the scrolling should be configurable and a test option provided.<br />
<br />
==== Reading navigation of documents enhanced by accelerometers ====<br />
If the two accelerometers in Neo1973 allows it, it will be nice if when you're reading, give a newspaper, you can move up, down, left and to the right the viewing of the document just moving the phones to the corresponding direction.<br />
<br />
I don't know if this is possible (haven't seen the project in detail yet) but this feature could be very attractive for final users (and this is good). (sorry for my english but i'm italian)<br />
<br />
==== Wand UI ====<br />
In keeping with the requests to think outside of the box... the dual 3d accelerometers should enable a 'magic wand'-style UI for certain uses. Macros could be recorded and edited, or presets could be used. For example, flipping the device playfully could initiate a game mode or could signal the end of the work day.<br />
<br />
==== Shake-to-Wake ====<br />
Giving the phone a shake enables voice commands for a few seconds.<br />
Usage Examples: <br />
<br />
{Shake} "Call" ''ContactName'' ''PhoneType'' --- {Shake} "Call John Mobile" (Calls John's mobile)<br />
<br />
{Shake} ''ApplicationName'' --- {Shake} "Reader" (Opens the e-book application)<br />
<br />
Would require a method of inputting voice tags for applications and contacts and obviously will only work for P2 (accelerometers)<br />
But lets get voice command functionality working before P2 (just by pressing a button on the screen instead of shaking)<br />
<br />
I think that is possibly to replace "Shake" with double hit with finger in the side of phone. Proper algorithms(with accelerometers) should recognize any similar activities.<br />
<br />
==== Emergency call ====<br />
When the accelerometer detects a great acceleration (i.e. 5G) start a countdown sequence, if it is not stopped make a call to a preconfigured emergency number. If the data from the GPS is accurate give it.<br />
<br />
A first version could use a recorded message (an audio file). In next version it could use a synthesizer, so it can give more information (add GPS information when it is ready).<br />
<br />
==== Movement detection ====<br />
By detecting that the owner is walking a user defined profile can be activated with a specific set of notification settings. For example you may wish to use a cheap old sounding ringtone so you don't attract attention from muggers. Or you may wish to have a louder ringtone if you carry your phone in a bag where it can't be so easily heard.<br />
<br />
==== Others ====<br />
Also see the pages[[Wishlist:Auto Align Map]], [[Wishlist:Determine Position]], [[Distance Measuring]], [[Wishlist:Computer Mouse]], [[Wishlist:Dynamic Screen Orientation]].<br />
<br />
=== Connectivity ===<br />
<br />
==== VNC client ====<br />
A good, stylus friendly VNC client/host combo would be easy to add and terribly useful.<br />
<br />
<br />
==== Networked X-Windows ====<br />
<br />
Whether it's running true X-Windowing over the network, or your bog-standard VNC connection as mentioned above, the ability to have your phone's screen available on your laptop or palmtop would be most desirable.<br />
<br />
==== NX client ====<br />
<br />
A form of X-windows forwarding optimized for performance over slow, or high-latency links, which could prove extremely useful. Capable of streaming a good quality, full desktop session over modem speeds. The protocol and at least one implementation is gpl'd. [http://en.wikipedia.org/wiki/NX_technology wikipedia]<br />
<br />
==== Web browser + widget support ====<br />
<br />
Built-in browser with the ability to install widget shortcuts (aka links) in the main phone menu, also some apis for interfacing with the other functionality of the phone like adding contacts, reading contacts, reading gps-psoition etc.. (maybe there is some defacto widget standard that could be used)<br />
<br />
=== Security ===<br />
<br />
==== General Filesystem Encryption ====<br />
<br />
If anyone wants to get your private data saved on your OpenMoko device, he should have to get through a high security mechanism like dm-crypt. The question is how much CPU power would be needed. <br />
Would it be an idea to encrypt only the private data like phone numbers, preferences, address book etc. (like /home/$USER).<br />
<br />
http://luks.endorphin.org<br />
<br />
==== My Account ====<br />
{{Main|My Account}}<br />
A way to securely store information about the phone, and ensure that a phone you may be considering purchasing is not stolen.<br />
<br />
==== [http://zfoneproject.com/ Zfone] or similar ====<br />
<br />
Something that allows the user to speak with another person securely.<br />
<br />
==== GSM Encryption ====<br />
<br />
This software application would allow GSM encrypted calls to be made using the GSM Data Call Channel. <br />
<br />
[[OSvS]]<br />
<br />
==== My Voice is my Passport ====<br />
Use voice recognition to unlock the phone. "Hi. My name is ... My voice is my passport. Verify me."<br />
<br />
==== Firewall ====<br />
A network firewall<br />
<br />
==== Anti Theft Application ====<br />
<br />
This application would enter the phone into an [[Anti-Theft Mode]] which activates particular security features to reduce the risk of theft and also to ensure a higher probability of recovery of a stolen handset.<br />
<br />
====RFID based personal alerts====<br />
Assuming an RFID reader is available: You'd put an RFID tag on your keys, wallet, etc and train a program on the phone to give you a soft or hard alert when one of them leaves detection range. That way, if you're walking away from one of them, the phone could alert you.<br />
<br />
=== Integrated Help System ===<br />
<br />
A help system that is either on or off. It could be activated and deactivated by a [[five-second-press]] on a button, for example the AUX button. When the help system is activated, it will explain the use of any item you touch on screen (with stylus or finger). Example: if you touch the battery icon, it will explain that this shows battery level / remaining time. If you touch the date / time icon, it will explain that this icon shows date and time, and that if you press it, you can set date and time. Primarily, this help system should be able to explain all user interface elements in the main screen, but if it proves popular, it could be expanded to cover other applications as well.<br />
<br />
===Performance optimisation===<br />
==== Use DMA engine in CPU for blitter ====<br />
The DMA engine in the CPU can substantially speed up moving of large areas of screen in some cases.<br />
<br />
==== Use virtual screen to optimise scrolling ====<br />
In some other cases, the hardware supported virtual screen may also speed it up.<br />
<br />
==Bluetooth==<br />
<br />
=== Voice Dialing ===<br />
<br />
Dial by voice commands.<br />
<br>Dial by dictating phone number. This way we can voice dial any number even if not in our contact list.<br />
<br />
=== Music through Bluetooth Headset ===<br />
<br />
Music can be played through a Bluetooth headset, but would stop playing when a call comes in.<br />
<br />
=== Walkie Talkie ===<br />
<br />
Let OpenMoko devices connect to one another via bluetooth or another connection method (GPRS for long distance but high latency, probably Wifi on P2), and hold a conversation.<br />
<br />
Features for this applications can be:<br />
* Push To Talk (PTT) button<br />
* Voice Activated Control (VAC) which will set it in transmit mode when input has is detected above a certain predefined level.<br />
* Optionally a full duplex mode<br />
* Different channels to choose from<br />
* Monitor different (preselected or all) channels for traffic.<br />
* Content encryption<br />
* Active noise control<br />
* Allow zero config use (units can talk without any access point helping)<br />
* Overview of all connected people trough sending GPS data to everyone who is in the Walkie Talkie channel<br />
<br />
Local (non-GPRS) use cases include chatting while biking<br />
or motorcycling in a group; perhaps also in a car caravan.<br />
This application could also be used as a baby-phone to monitor your siblings.<br />
<br />
This would be more useful if the Neo had Class 1 bluetooth, though probable Wifi on P2 will also offer more range.<br />
<br />
=== Automatic Sync ===<br />
<br />
Automatically synchronize with desktop computer (or with any [http://en.wikipedia.org/wiki/SyncML SyncML] server) when within range based on user profile. This may require the use of a secure data transfer.<br />
<br />
=== GPS Assisted Bluetooth Management ===<br />
<br />
Allow Bluetooth to automatically turn off after loosing connectivity and to automatically turn back on based upon GPS location.<br />
<br />
A Bluetooth device is configured for automatic reacquisition based on the following profiles:<br />
* Manual - only when Bluetooth is on<br />
* Non-mobile - the target device is not mobile, periodically attempt reacquisition when in the general area of the device.<br />
* Mobile - the target device is mobile, periodically attempt reacquisition when in the general area of the device.<br />
<br />
Each target device is configured as follows:<br />
* Automatic acquisition at last known location: enable/disable<br />
* Automatic acquisition at these locations: list of nickname + coordinates + range<br />
<br />
==== Non-mobile devices ====<br />
<br />
Examples devices include: computers<br />
<br />
The location and range of the target device is determined via training. Periodically, the current GPS coordinates and Bluetooth signal strength are logged. Additionally, connectivity loss events are logged. An algorithm uses these logs to determine the device location and range.<br />
<br />
Connection attempts are made when in a configurable proximity to the device. The first attempt when entering the proximity and further attempts at a configurable interval.<br />
<br />
==== Mobile devices ====<br />
<br />
Example devices include: automobiles<br />
<br />
Mobile devices are configured to have two types of locations:<br />
# Last known location<br />
# Non-mobile locations (homes)<br />
<br />
===== Last known location =====<br />
<br />
A car is mobile, ideally, when you leave your car, the phone should note the car's location when connectivity is lost and then attempt to reacquire the car when you return to the location of the car.<br />
<br />
===== Non-mobile locations (homes) =====<br />
<br />
As mobile devices may have multiple users, it is not sufficient to always use the last known location. In this case, the device may additionally have multiple homes. For example, a car might have as its homes: home garage and work parking lot.<br />
<br />
=== Bluetooth neighbor detection and multiuser apps ===<br />
<br />
Like the [http://en.wikipedia.org/wiki/One_laptop_per_child one laptop per child] (OLPC) interface, keep a number in the status bar that represents a count of other openmoko or compatible bluetooth devices in the area. Allow for the spontaneous initiation of a chatroom or multiplayer game or file trading with any moko in the area.<br />
<br />
=== Bluetooth environment detection ===<br />
<br />
Capability to detect when a predetermined bt device enters/leaves bt range and launch a system-wide event accordingly. This would feed not only the "Neighbour detection" idea described above, but also the "Profiles", "Context based TO-DO list" and "Location-based reminders" ideas. Reminders could be set to trigger in the presence of a specific person X (with BT device Y). Profiles can take into account which devices are present around the phone (car kit, for ex.). To-do list could also change according to present devices.<br />
<br />
=== Remote control ===<br />
<br />
==== Wireless presenter ====<br />
Use the phone to run your OpenOffice.org Impress presentation remotely using Bluetooth. Cool features: <br />
* Display the text notes for the presenter on the phone's display and update it whenever the slide is changing.<br />
** OO.org has implemented support for [http://www.openoffice.org/issues/show_bug.cgi?id=12719 dual monitor]/[http://www.openoffice.org/issues/show_bug.cgi?id=18486 presenter mode] that can be used as a starting point<br />
* A small timer showing the time passed (and perhaps remaining if the presentation app supports such a feature). <br />
* If you want to be super-cool, you give a preview of the notes of the next slide in the show. <br />
* At the end of a presentation, a "navigator" could allow to easily jump to any slide in the presentation by clicking on it on the phone.<br />
** When you right-click in a running OO.org Impress presentation, you can choose "got o slide..." and select any slide to jump to.<br />
<br />
==== Initiated from another device ====<br />
Remote control over Bluetooth from other devices to control media player (play, pause, next, previous, volume control), camera (capture image), etc.<br />
==== Directed at another device ====<br />
Remote control over Bluetooth to other devices to control media player, lights in your house, etc.<br />
<br />
Z-wave uses web-browser control of devices that is said to be compatible with mobile phone browsers so should work with openmoko browser. [http://www.z-wave.com www.z-wave.com]<br />
<br />
=== Bluetooth Car Connection ===<br />
<br />
Have a deeper connection to the car than just handsfree speakerphone. For instance a transceiver with challenge/response systems to open, possibly even start the car. Possibly go as far as OBD connection to monitor car status on screen/log for later.<br />
<br />
==== Dude, Where's My Car? ====<br />
<br />
When in range of the car navigation system, remember the position (perhaps check with the car GPS). When not in range, assumme that you are not in the car, and offer the opportunity to navigate to the car's last known position. That way, you can find your car e.g. on a large parking lot.<br />
<br />
=== [[Bluetooth powered Multi-SIM support]] ===<br />
<br />
As the Neo1971 does not come with dual-SIM support this could be solved by joining your old bluetooth-enabled mobile to your OpenMoko-phone.<br />
<br />
Let SIM card A be in your OpenMoko-phone and SIM card B in your old mobile:<br />
* Incoming call on SIM card B - the OpenMoko-phone acts as a headset(Bluetooth Headset profile)<br />
* Calling out via SIM card B - the OpenMoko-phone acts again as a headset<br />
* Same for Short Messages/MMS/Internet<br />
This way you'd have your old phone switched silent and connected to your OpenMoko-phone that handles all the calls and one can select which SIM card to use.<br />
Advantage: No 'switching' between cards<br />
Disadvantage: Second mobile needs to be in range(e.g. handbag) and charged every once in a while.<br />
<br />
===Internet Gateway===<br />
<br />
If the device could function as a Bluetooth router/gateway to the internet via the GPRS/data connector, then you could use it to get network connectivity from your laptop and other devices while on the road. Many smartphones can be configured as modems via Bluetooth for use as Dial-Up Networking connectors, and that should be the minimum target. Ideally, if the WiFi functionality was used so the OpenMoko could be an 802.11 router or peer to peer gateway for a laptop, this would be even better. The full bandwidth of GPRS or whatever network is available would then be available.<br />
<br />
=== Social Networking ===<br />
<br />
Anybody running the social networking app will be broadcasting a profile, and when certain keywords are matched with other users who are also running the application, an alert is sounded. Each mokoid can be added as a hexstring to a profile page, and xml filters can be developed for each social service to convert various keywords and interests to moko-friendly format.<br />
<br />
=== Give userspace api control over bluetooth signal strength ===<br />
<br />
I have tried bluetooth handsfree sets with other phones and don't get perfect reception due to low signal strength. I suppose the reason the signal is so weak is because the manufacturer wants the battery to last long on its latest charge. Can you please make the strength setting configurable by the user of the phone through an api and perhaps even through the phones gui? I would gladly waste some battery time in exchange for stronger bluetooth signal strength.<br />
<br />
<br />
== WiFi ==<br />
<br />
=== Industrial grade Wifi management ===<br />
One annoyance I've had with Wifi enabled gadgets is that they simply keep the connections in a dumb list. What I'd like to see is more granular connection management, which ennables me to specify whether a given connection is friend & family (mom's place), professional client (joe's copies and coffee), commercially available (panera), onetime use, or anything else, as well as managing router config backups, firmware images, and security keys.<br />
<br />
<br />
<br />
== Other ==<br />
<br />
=== Auto Update ===<br />
<br />
A small tool which is configurable to download the latest OpenMoko and OpenMoko related software. Maybe if any internet connection is available or a minimum of bandwith is available then the auto update would download only security related or the whole system etc. .<br />
<br />
=== Vibrate Pattern Recorder ===<br />
<br />
An application that would allow the user to define their own vibration patterns, and possibly link them to audio files. Recording would be done in real time initiated with a "Record" button, optionally playing the associated sound file in sync with recording). While recording, the user would press and hold a button to define the timing and duration of vibration. The user would press "Stop" when finished. Vibration patterns would have the option of being looped(would terminate at some global ringtone length maximum).<br />
<br />
One simple suggested vibration file format would be a sort of run-length encoding: First byte defines the length of a "time-slice" in milliseconds, which would determine the overall tempo(actually the inverse of tempo). The next byte would define the number of time-slices to leave the vibration on, and then another byte for how long to pause after. Continue alternating these on/off bytes until the entire pattern is defined.<br />
<br />
- or just use MIDI, using a separate channel for the vibrator.<br />
<br />
An implementation of RTTL could also be used to define vibration patterns.<br />
<br />
=== PC Input Device ===<br />
<br />
Provide a method to use the touchscreen as input device for a nearby desktop machine. Could connect over USB or bluetooth.<br />
<br />
=== Advanced Notification And Ringtone Manager ===<br />
{{Main|Wishlist-ANARM}}<br />
<br />
ANARM would be an application for handling all event-based audible notifications from an OpenMoko device.<br />
<br />
=== Location based reminders ===<br />
{{Main|Wishlist:Location_based_reminders}}<br />
Location based reminders can be used to notify users of various events or reminders that are location based.<br />
<br />
=== Synergy Client ===<br />
A synergy client would enable the user to place the device next to a desktop PC and share the desktop`s mouse, keyboard and clipboard over a TCP/IP network. [http://synergy2.sourceforge.net/ Synergy]<br />
<br />
== GPS Software ==<br />
*Providing GPS Support also for outdoor users in addition to ordinary street navigation features<br />
** Overlay of satellite images with existing streetmaps<br />
** Incorporating SRTM digital elevation model: for example using the VRML/X3D as data format (see http://www.ai.sri.com/geovrml/) which is interesting for e.g. mountaineering: using a 3d browser rendering VRML/X3D Model, displaying the current position and track (possibly also other gps-tracks of the different routes to a summit downloaded before could be mapped onto the 3d model), (what about 3d hardware support? there is nothing written in the hardware specs about graphics: thinking of OpenGL for embedded systems (see http://www.khronos.org/opengles/)<br />
** Using sth like a tracking mode to allow certain people to determine the current position and track (for rescue missions - like they have for example at http://www.steiger-stiftung.de (a German beneficence for rescue issues) There you can register your mobile phone so the rescue service is able to track you immediately if necessary. The interesting thing: It seams like some mobile phones with GPS have special support for this issue. If your phone is registered, the rescue service is able to get your GPS coordinates directly from the phone without any user assistance. Openmoko should also support this! )<br />
* Implementation of 3dTracking's (http://free.3dtracking.net/) tracking software or equivalent.<br />
<br />
<br>[[Community Based Traffic Information]]<br />
<br />
== Hardware ==<br />
{{Main|Wish List - Hardware}}<br />
<br />
It could be use for beepway Online service too <br />
[http://www.beepway.com]<br />
<br />
=== Tactile feedback via buzzer ===<br />
Assuming the hardware has a vibrator/buzzer for silent calls, use a lightly pulsed version of that to simulate tactile feedback when dragging finger across buttons on-screen. Implemented properly, it would almost feel as if the buttons were real.<br />
: 25 ms bump on the buzzer feels about right. Does this harm the vibrator motor?<br />
<br />
=== Detachable keyboard ===<br />
Hardware keyboard that can be attached with magnets to a future version of the Neo.<br />
<br />
=== IR port ===<br />
Remote control applications<br />
Would be great to use openmoko as a Hamony remote controller.<br />
<br />
[[Category:User]]<br />
[[Category:Ideas| ]]</div>Sagacishttp://wiki.openmoko.org/wiki/Wish_ListWish List2007-09-30T16:49:36Z<p>Sagacis: /* Tactile feedback via buzzer */</p>
<hr />
<div>This article is a place to collect various thoughts about the future of the [[OpenMoko]] software platform. Most wish list ideas have been linked from this page, but you may also wish to check all pages [http://wiki.openmoko.org/wiki/Category:Ideas that have a category of 'Ideas'].<br />
<br />
== Development ==<br />
=== Painless SDK installation & Setup ===<br />
Our goal should be a completely painless setup for somebody wanting to develop using [[OpenMoko]]<br />
<br />
* one command for installation (apt-get install openmoko)<br />
* one command to start Xnest (openmoko-xephyr?)<br />
* one command to start an i386 shell (openmoko-386-shell)<br />
* one command to start an armel shell (openmoko-armel-shell)<br />
<br />
No extra configuration required.<br />
<br />
==== IDE Plugins ====<br />
People like to see plugins for<br />
* [http://anjuta.sourceforge.net Anjuta]<br />
* [http://www.eclipse.org Eclipse]<br />
* Game engine - Game Creation plugins<br />
evaluate eclipse project [http://www.eclipse.org/dsdp/index.php Device Software Development Platform Project from eclipse] and subproject [http://www.eclipse.org/proposals/tml/ Tool for Mobile Linux]<br />
* [http://www.kdevelop.org KDevelop]<br />
* [http://developer.apple.com/tools/xcode/ XCode]<br />
* [http://msdn.microsoft.com/vstudio/ Microsoft Visual Studio 2005]<br />
<br />
==== UI Designer ====<br />
Glade code generation is deprecated, so we don't want to use it. The Gtk+ powers told me that the plan is to have gtk 2.12 (out early 2007) with support for GtkBuilder, a libglade derivative which breaks a bit the XML definition in order to support all the new widgets and properties; as soon as it's in the other ui builders will add support for this format. See also [http://bugzilla.gnome.org/show_bug.cgi?id=172535 the relevant bug entry]<br />
* Possibly a Landscape (rotated) view for the screen (480x640 *or* 640x480)?<br />
<br />
<br />
==== Built-in Scripting Language ====<br />
{{Main|Wishlist:BuiltInScriptingLanguage}}<br />
There was a [http://lists.openmoko.org/pipermail/community/2007-January/001909.html fruitful discussion about a built-in scripting language on the mailing list in January.] Many people feel that it is very important for OpenMoko to choose a scripting language to ship as default in the standard OpenMoko firmware. <br />
<br />
===Foreign Widget Set Bindings ===<br />
==== Qt Integration ====<br />
The Trolltech folks have a great widget library. I'd like to interface OpenMoko with Qt4, so that we can write Qt4 applications for the phone which don't look alienated.<br />
<br />
==== Maemo Integration ====<br />
The Maemo folks have created a successful standard for Webpad applications. I'd like to have a set of MaemoMoko and MokoMaemo wrapper classes that allow me add support for running OpenMoko applications on Maemo and vice versa. Perhaps we can get help from the Nokia OSS folks for that.<br />
<br />
==== wxWidgets Integration ====<br />
wxWidgets is a cross-platform application framework that's very popular (I'd say, #3 after Qt and Gtk+). On Linux, wxWidgets uses Gtk+ to implement the widgets. It shouldn't be hard to add support for the additional OpenMoko classes to wxWidgets hence supporting the native OpenMoko look and feel for wxWidgets applications.<br />
<br />
wxWidgets team wants OpenMoko classes too and we (wxWidgets) plan to include this project as one of our ideas for [http://google-code-updates.blogspot.com/2007/02/speaking-of-summer.html GSoC 2007]<br />
<br />
==== SDL Integration ====<br />
SDL is ''the'' game developer library. There are tons of SDL games out there. We should add OpenMoko support into SDL.<br />
<br />
=== Software: Language bindings ===<br />
==== Python bindings ====<br />
Python bindings seem to be a commonly requested feature. <br />
<br />
[[User:Mickey]] says, "They are kind of usable on the [http://www.maemo.org Nokia 770], but it's at the lower end of being bearable. We should keep this in mind -- Gtk+ already comes with Python Bindings, so we "just" would need to wrap libmoko*. I would prefer to leave this to the community do though, since it doesn't make sense to start wrapping the API until we have a stable API -- and I can imagine it will take us a couple of months after going open until we can start with stabilizing the libmoko API."<br />
<br />
==== C++ bindings ====<br />
There is a whole skilled C++ community coming from the [http://qtopia.net Qtopia] and [http://opie.handhelds.org Opie] projects. If we would consider basing OpenMoko C++ Bindings on [http://www.gtkmm.org/ Gtkmm], then we could drag these guys in.<br />
<br />
==== Other bindings ====<br />
* Perl<br />
* Ruby<br />
* C#<br />
* I think you could skip a bunch of these by binding to Dbus; most languages already have Dbus bindings<br />
<br />
== Community Support ==<br />
<br />
=== [http://projects.openmoko.org projects.openmoko.org] ===<br />
Infrastructure for developers with<br />
* One bugzilla for all projects (makes moving bugs forth and backwards between projects ''very'' easy)<br />
* One mailing list for project<br />
<br />
== Platform ==<br />
=== Community Images ===<br />
In the future there could be complete, unofficial "product images" that are created by the community, for example maybe one that incorporates only free software (in the GNU or OSI sense). Or images build with a particular niche market in mind -- a student for example.<br />
<br />
=== Wishlist voting ===<br />
There could be a kind of voting system like they have at one of those big computer manufacturers homepage. Then the community could vote for the ideas that are most important to them. This would especially make sense for the hardware wishlist, because the hardware is still the part which can't be done by the community that easily.<br />
<br />
Here: [http://www.fevote.com/openmoko OpenMoko suggestion board]<br />
<br />
== Software: Additional features ==<br />
===Calling===<br />
<br />
==== Mask ID based on dialed numbers ====<br />
It would be nice if my number only showed up when I call people in my address book and was otherwise masked. The phone I have now either always shows my number or never or can be set on a per call basis. Having it done automatically based on the number dialed would be good.<br />
<br />
==== Use calling cards and similar routing techniques for lower-cost calling ====<br />
Many people use calling cards, low-cost numbers and similar ways of reducing the costs of their calls. It would be nice to have a single panel that would allow you to configure the rules of dialing a number taking in to account such systems.<br />
<br />
==== Outgoing black/white lists ====<br />
The ability to allow or deny outoging calls to certain numbers can be useful in a number of situations (e.g. the holder of the 'phone is a child, untrusted, etc.). This could be related to entries in the contact list, for example a user is only allowed to call people who are in their contact list.<br />
<br />
Also lists for incoming calls? Some friends always come through, unknown numbers get rejected automatically.<br />
<br />
==== Time-based blocking/unblocking of calls ====<br />
Allowing or disallowing outgoing calls at certain times of the day could be useful, e.g. blocking a business phone from making calls outside of business hours.<br />
<br />
====Speaker-phone====<br />
* A speaker-phone is more than simply connecting the speakers to GSM audio, it's also echo cancellation, and eliminating the feedback that will otherwise happen between the speakers and the mic. This software has not been written.<br />
<br />
====Advanced Airtime Tracking====<br />
Many phone users have complicated plans, things like unlimited incoming, 100 anytime minutes, 1000 evening minutes, etc. It would be nice if a user could input the various monthly airtime chunks their plan gives them, and then the phone could track how much is left in each chunk, i.e. How much anytime minutes are left this month? Optionally, the software could warn when someone is close to the monthly limit, to help avoid bigger bills.<br />
On (at least some) prepaid [http://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data USSD] can be used to check current balance.<br />
<br />
==== Anti-stutter software ====<br />
Delayed Auditory Feedback (DAF) has shown to reduce stuttering in individuals by 70%. By using the microphone, it should be pretty simple to implement this on the OpenMoko. The DAF functionality should also be present during phone calls. See http://en.wikipedia.org/wiki/Delayed_auditory_feedback for more information.<br />
<br />
====Minimize In-Call mode (check address book while in call)====<br />
On my locked phones I always find it annoying that one can not use other features while a call is in progress. In particular, I'd like to access the address book so that we can (1) give a caller someone else's phone number (or other info) and (2) lookup a phone number when using a calling card or some other proxy.<br />
<br />
Similar request when using the browser (lookup passwords, todo list, etc).<br />
<br />
====Hold Music (Ringback Tone)====<br />
On some cellphone networks you can pay to change the normal [http://en.wikipedia.org/wiki/Ringback_tone Ringback Tone] that the caller hears when ringing, to a customised sound.<br />
This can partially be implemented on the phone.<br />
Issues are:<br />
*In countries where callers pay, this will make you unpopular.<br />
*In countries where the called party pays, it will use your minutes, or cost you money.<br />
**A list of people to activate this function for would alleviate this.<br />
*[[GPRS]] internet connection will stall while the hold music is being played.<br />
*Extra battery used when playing music.<br />
<br />
Also see [[Answering Machine]].<br />
<br />
====Play sound clips over the air====<br />
Dialer could have a tab with big buttons which, when push, send sound clips over GSM to the person on the other end of the call. This feature is included in GizmoProject and is called sound blasts: http://support.gizmoproject.com/index.php?_a=knowledgebase&_j=questiondetails&_i=104<br />
The buttons can have default sounds, but also have the ability to be customized.<br />
<br />
It would also be useful to loop a pre-recorded sound in the background so you can lie about where you are, and have the ability to simulate a really bad connection.<br />
<br />
==== DTMF Landline Dialing ====<br />
The ability to hold the Neo near the microphone of a landline handset and have the Neo dial the landline by sounding DTMF tones. The DTMF tones could be generated in software or be pre-recorded files.<br />
<br />
Graphically this could be done by adding a 'DTFM dial' button to a context menu. The user would select a contact then presses the 'DTMF dial' button to start the process. A small delay could also be added to allow time to put the Neo near the landline handset.<br />
<br />
For the Neo to know which area code to use (or not use) the current or last GPS coordinates could be utilised.<br />
<br />
==== Conversation Recorder ====<br />
<br />
An option to record phone conversations. Would be helpful to have the device always recording for every call, with the sound data encoded to low quality Ogg Vorbis or SPEEX and stored in RAM. At the end of the conversation the user would have the option to save to flash or discard the conversation. This idea could also be applied to voicemail so you could save voicemails locally.<br />
<br />
====Unlicensed Mobile Access (UMA)====<br />
T-Mobile recently rolled out a UMA service that hands off calls between the GSM network and WiFi access points. Only a few phones support it right now, this could be a rather unique feature if OpenMoko can implement it.<br />
<br />
==== Ignore-Call Button ====<br />
{{Main|Wishlist:Ignore Call Button}}<br />
<br />
Shut up a ringing phone, without accepting or rejecting the call.<br />
<br />
Another alternative might be to use microphone to recognize when the user gives an audible "Shhh!" command. This could prove difficult to determine with the simultaneous ringing, and possible in-pocket shuffling noises.<br />
<br />
A really usable feature is to "reject with SMS/text message" - letting the user reply the caller choosing a previously setup template or typical response: "I'm in a meeting - I'll call you later" or "Can't take your call now, please call back in 10 minutes". This feature typically is a much better way to get your co-workers (ie boss) to back off, than to silently ignore the call.<br />
<br />
==== Voice Mailbox ====<br />
{{Main|Voice Mailbox}}<br />
On-Phone voice mailbox that records calls on the phone and retrieves voice messages from your mobile service provider's voice mailbox and saves them locally.<br />
Can act profile-dependent.<br />
<br />
==== Hold Button ====<br />
<br />
Similar to mute, but plays a sound file for the user on the other end while they wait. The sound file could be chosen in some setup beforehand.<br />
<br />
==== Unanswered Call, Fast Call ====<br />
<br />
In Greece because of the various bill programs some people call a mobile phone, rings one time and then hangup.<br />
Then the user of the mobile phone calls the other user(using the CallerID recognition).<br />
<br />
===Audio===<br />
<br />
==== Ambient Noise Detection ====<br />
{{Main|Wishlist:Ambient Noise Detection}}<br />
<br />
Using the microphone to detect ambient noise the ringtone volume could be adjusted automatically.<br />
<br />
Detection of ambient noise could also be used to subtract the noise from the audio signal. However this approach is best performed using two Microphones, one for the voice and the other to detect the noise.<br />
<br />
==== Active noise control ====<br />
<br />
Using the microphone to do [http://en.wikipedia.org/wiki/Anti-noise active noise control] on media player playback or telephone calls. This should be an independent module/library which can be used by any application which might require this feature. also provide a way to easily alter the parameters of the active noise control.<br />
<br />
==== Hear Impaired Mode ====<br />
<br />
Hearing impaired people need louder speaker(but with less volume than hands free) and equalized sound, based on their hearing problems(example 20dB hearing loss from 2KHz to 4KHz).<br />
Older people 50+ years old need slower speech rate(time stretch, cut the big speech gups) and cleaner voice.<br />
<br />
Please note also the Hearing Aid Compatibility regulations in the US. I have tried to summarize and clarify them [http://quux.wiki.zoho.com/WhereAreHACphones.html here]. I haven't yet discovered whether the FIC device is M or T rated. For many hearing impaired users, a tcoil coupling to their hearing aid (t3/T4 rating) would be preferable to manipulating sound output in other ways.<br />
<br />
==== Mute Button ====<br />
<br />
Button to temporarily disable microphone while talking for applications such as telephone, audio recording and (when available) movie recording.<br />
<br />
===Media===<br />
====Music/Video Software====<br />
A real good programming area for competition with the iPhone, a singular video/music player would be great for multimedia. A seamless integration system, a la iTunes and iPod, would be extremely popular. <br />
<br />
Using the Wi-Fi connectivity, a separate music program that supports wireless music sharing/ streaming (similar to what can be done when two computer running iTunes that are both on the same network) and that also supports internet radio.<br />
<br />
It would also be nice to have some kind of "announce your musical taste" mode. This could be implemented using last.fm profiles, such that when e.g. in a crowded place a user nearby has a similar musical taste, both users get notified so they can share their music files with each other (perhaps using a photo for id). Great for discovering new music - and making friends!<br />
<br />
- Possible copyright issues sharing music files?<br />
<br />
==== Reading Support ====<br />
It would be really great to be able to read :<br />
<br />
*PDF<br />
*Open Document files<br />
*Text / RTF files<br />
*MS Office files<br />
*Aportis Doc (pdb)<br />
*DjVu<br />
*...<br />
<br />
In both landscape and portrait<br />
<br />
==== Wikipedia Mirror ====<br />
{{Main|Wishlist:Wikipedia_Mirror}}<br />
<br />
==== Blog ScribblePad ====<br />
<br />
Draw an image (and maybe add some text), then post to your blog.<br />
<br />
==== E-Book Reader ====<br />
* Neos brilliant ultra-sharp screen makes for a very good e-book reading device. All it takes is a good e-book reader with touch-screen page turning / scrolling. FBReader could probably be adjusted easily by an experienced GTK hacker. Note that e-book reading is different to pure text/pdf displaying as it requires at least auto-bookmarking of the last read page, proper text and image scaling and text formatting.<br />
<br />
==== Personal Wiki ====<br />
{{Main|Wishlist:PersonalWiki}}<br />
<br />
Display the notes database as a Wiki. Inspiration: [http://www.acrocat.com/AcroWiki/default.asp?lang=en AcroWiki].<br />
<br />
[http://www.didiwiki.org/ Didiwiki]<br />
<br />
<br />
==== Dictionary, thesaurus, translator and flashcards ====<br />
Native lookup dictionary and thesaurus and foreign translation dictionaries, also with support for Asian languages. Optional custom configurable (though preconfigured) interface with on-line versions of dictionaries, thesaurus and translation services.<br />
<br />
'''Dictionary'''<br />
Something like [http://www-user.tu-chemnitz.de/~fri/ding/ ding]:<br />
<br />
advantages:<br />
* small<br />
* very efficient + useful<br />
* only limited to really needed functions<br />
<br />
Support for vocabulary training with flashcard system (also usable for other content than foreign language words!)<br />
<br />
==== Flickr uploader ====<br />
A simply, drag & drop uploader, tagger and organizer to upload images on phone to [http://flickr.com Flickr], with support for various languages. A good base could be the cross-platform uploader [http://juploadr.org/ jUploadr], written in Java and working on Windows, Mac and Linux. But, most of all, the best '''GPL''' program which actually do this work is '''[http://mobilepushr.jottit.com/ Mobile Pushr]''', written in C and Cocoa for iPhone, must be probably ported in python to work on OpenMoko.<br />
<br />
===PIM (Personal Information Managment)===<br />
====Context Sensitivity====<br />
Any email or sms message or application that contains a telephone number should be click to dial, eg [http://123567890 1234567890]. Addresses link to mapping software too?<br />
<br />
==== Notes ====<br />
<br />
Something for taking notes would be a nice feature:<br />
[http://www.gnome.org/projects/tomboy/ Tomboy] has some nice syncing features and is gtk based.<br />
<br />
Some Screenshots are [http://www.gnome.org/projects/tomboy/images/ here].<br />
<br />
==== Calendar ====<br />
<br />
A nice calendar application should be implemented in OpenMoko. This tool should have a syncing feature with your desktop computer.<br />
The tool should have a reminder feature and other features like other mobile phones already have.<br />
<br />
==== Address Book ====<br />
<br />
* Option to search not just the stored list of addresses, but one or more of the online phonebooks. Probably should be modular to make adding/changing phonebook sites easy. Also allows for future integration with LDAP<br />
servers or whatever.<br />
* Also the possibility to search all info on the contact, like number, email, postal address and so on, in case someone asks you to identify a known number.<br />
* Web-based map-lookup. 'How do I get there from here? (here = current GPS location)' This could also be done<br />
by integrating with whatever on-phone GPS mapping software the Neo ends up using.<br />
* Random text input 'notes' about a contact<br />
* Overall, this should more resemble a Palm-pilot's address-book than your average cellphone's<br />
* Automated Daily backup of phone book to a website archive (similar to Verizon's Back-up Assistant<br />
*Ability to integrate address book with web-based email (such as gmail) account, for those who use web based email as their primary account<br />
* '''[[Wishlist:Tagging|Tagging]]''' Place tags for contacts. Enhance message application to send messages to all contacts tagged with ... . Enhance other application(GPS, ...) with tags.<br />
* Support for:<br />
**[http://en.wikipedia.org/wiki/SyncML SyncML]<br />
**[http://en.wikipedia.org/wiki/Ldap LDAP] address book<br />
**[http://en.wikipedia.org/wiki/LDIF LDIF], [http://en.wikipedia.org/wiki/Xml XML] and [http://en.wikipedia.org/wiki/Comma-separated_values CSV] export and import (when possible).<br />
*Store Bluetooth IDs of friends and notify (configurable only on this device or on both devices) when a one of these Bluetooth ID has been detected (this is more a separate application but has requirements on the address book. Should also be able to create an address book entry from a Bluetooth ID. Could be used as a nice tool to detect people who you're avoiding.<br />
<br />
==== Database/List Display/Edit ====<br />
{{Main|Wishlist:PilotDB}}<br />
<br />
One of the most useful apps on my Palm Pilot for me is [http://pilot-db.sourceforge.net/ pilot-db]. It's GPL'd.<br />
<br />
==== Joe's Goals ====<br />
<br />
It'd be nice to have something like [http://www.joesgoals.com Joe's Goals] always available, like my phone is, even when I'm disconnected from the net.<br />
<br />
==== Workout ====<br />
<br />
Use your phone instead of your notebook while at the gym, and get pretty graphs to admire after you're done.<br />
<br />
==== Shopping List ====<br />
keep Track of Prices in different shops and the products you have/don't have. Ideally using a barcode reader and gps.<br />
If it was made aware of recipes it could even tell you what to buy without entering a shoppinglist manually.<br />
<br />
==== Fuel Log ====<br />
File data about fueling your car (date/time, liters, price, mileage, ...) and display some information (costs per month, average consumption, ...).<br />
Advanced features could include:<br />
* Automatically storing the GPS coordinates of the place where the car has been fueled (can be deactivated)<br />
* Sending the data to a central server which collects the information<br />
* Let the OpenMoko receive fuel logs per SMS (e.g. if my wife with a non-openmoko mobile fuels the car and wants to file the data using her mobile phone)<br />
* Let the OpenMoko device act as SMS gateway for non-openmoko devices to easily send the data to the central server<br />
* Also support for air log for divers. Not that you will take this device under water but for the crew at the surface.<br />
<br />
==== Keep in touch reminder ====<br />
A background application which keeps track of your friends and reminds you when you have not talked, SMS, IM or mailed a person for more than # days.<br />
<br />
<br />
==== Menstruation period timer ====<br />
Fill in statistics and compute probabilities for menstruation, fertility, mood.<br />
See http://www.getjar.com/products/48/MyGirls<br />
<br />
==== Tagging ====<br />
{{Main|Wishlist:Tagging}}<br />
Tags can be used by various applications. Requirement is interoperability for further enhancement.<br />
Tags should be applied to calendar events, mail/sms, calls, places(GPS) and files.<br />
<br />
==== Context based TO-DO list ====<br />
{{Main|Wishlist:context based to-do list}}<br />
<br />
If I arrive home and there are "@home" things in the to-do list, the Context based to-do list reminds me of that.<br />
<br />
==== Exchange Integration ====<br />
<br />
Once there is good TCP/IP connectivity on this phone, integration with corporate email/calendar/to do/etc servers would be a big advantage... near-real-time automatic email downloads and automatic bi-directional syncing are productivity boosters that you have to experience to appreciate. It turns your phone from a 'nice gadget to fiddle with' to a natural-feeling extension of your day-to-day life.<br />
<br />
* Is the time right to name names ? Add as your liking...<br />
** Plugin/integration to & from Kontact<br />
** Same with Evolution - Thunderbird - Seamonkey<br />
** ?? Google Calendars ?? (this one is tough)<br />
** Ms Exchange<br />
<br />
==== An electronic wallet ====<br />
<br />
A database which stores securely PIN codes, login data, bank and email accounts, membership informations, and other valuable and private data. Entries can be ordered in a folder-like manner. Access to the database is given by a master password. The database as well as the master password are stored with strong encryption. For security reasons, the program asks again for entry of the master password after a certain period of inactivity. The database can be synchronized with a PC application (ideally written in Java for cross platform compatibility).<br />
<br />
Examples: KWallet [http://docs.kde.org/stable/en/kdeutils/kwallet/index.html], Viskeeper [http://www.sfr-software.de/cms/EN/pocketpc/viskeeperpro/index.html], KeePass [http://keepass.info/]<br />
<br />
==== Easy business card sharing for a small group (in the same room) over bluetooth or WIFI ====<br />
<br />
Six Neo1973 owners are having a chat in a cafe. They agree to split but meet later. They want to exchange their numbers with each other before they go.... The normal way to do this is for a rather longwinded repeating of numbers to each other, or half the people manually inputting numbers before phoning/texting the other half to complete the process. All in all its a fair number of button presses to get it sorted.<br />
<br />
Instead the NEO could have a small app where the phones link up in a small peer to peer Bluetooth network and share automatically with one person initiating a request and the other detected NEOS agreeing/acknowledging the share. The initiating NEO would then sync the mini-group automatically by interrogating each phone and then sending the table of results. The NEOs would have to be clever about checking for duplicates in the address book and offering a choice to the user if there are any conflicts.<br />
<br />
PROS: <br />
*genuine saving in time for social and business situations<br />
<br />
CONS: <br />
*I am sure there are some security hassles to be pondered....<br />
*not going to be used every day... definitely not an immediate priority.....<br />
*only at geek conferences will all have a neo....<br />
<br />
===Profiles===<br />
{{Main|Wishlist:Profiles}}<br />
<br />
The Wishlist:Profiles page documents many possible profiles - ways to configure the phone. Including ways to respond to calls, wifi and GPS events.<br />
And how to automatically switch between them.<br />
<br />
===Text Messaging===<br />
For '''Text Input related ideas''' see [[Wishlist:Text_Input]]. Bear in mind that T9 can not be included<br />
For current development status of the messaging-app see: [[Messages]].<br />
<br />
There are many useful options that now can be used to full capacity:<br />
* '''Acknowledge/status SMS'''<br />
In GSM networks so-called acknowledge-SMS are sent back to the SMS's dispatcher in order to indicate that the primal sms was received (as message delivery is only best effort and is not guaranteed). So in the SMS dialog there could be equal sized buttons with captions as 'send only', 'send and receive delivery status message' and 'send and notify (e.g. ring) when delivery succeeded'.<br />
** '''Special handling of status-SMS''' <br />
Related to the previous entry, these acknowledgment-sms' should be handled in a different way than normal SMS'. Most Motorola do this, while Samsung SGH series don't & clog the inbox, warn of a "new" message upon Status notification: Delivery Status Messages should be stored in a separate menu so they don't bloat the received-folder and you are able to quickly review the status of the messages you had sent.<br />
* '''SMS at time/date''' You could be able to set up messages that are sent at a certain time/date<br />
* '''Binary SMS''' Send binary SMS. Could be used to feign WAP pushes. [http://en.wikipedia.org/wiki/Multimedia_Messaging_Service] See: <br />
** Resource for SMS encoding: [http://web.archive.org/web/20021016104345/www.dreamfabric.com/sms/] [http://web.archive.org/web/20060411222332/] [http://home.student.utwente.nl/s.p.ekkebus/portfolio/resource/sms_pdu.html] [http://www.ihub.com/Binary%20Messages.htm]<br />
** [http://www.gammu.org www.gammu.org] - you can use Gammu/Gammu+ source for this software and/or understanding various SMS formats including EMS, WAP, Nokia Smart Messaging, Siemens & Alcatel encoding ([[User:Marcin|I could]] eventually help)<br />
** Resource for SMS encoding (German): http://de.wikipedia.org/wiki/SMS-Kodierung<br />
** The infamous pocketpc-attack: http://www.mulliner.org/pocketpc/<br />
* '''Profile-override-SMS''' SMS that start with a certain code word override the silent profile and have the phone ring. So someone could alert you in case of some emergency.<br />
* '''Codeword-SMS''' An expansion of the above: check for code words and allow selectable tones for matches. E.g. "Server Down!" has a loud klaxon, "Disk Warning" has a quiet chirp.<br />
* '''(De-)Abreviation-script''' Implement a script that de-abbreviates: "hi m8 u k?-sry i 4gt 2 cal u lst nyt-y dnt we go c film 2moz" becomes "Hi mate. Are you okay? I am sorry that I forgot to call you last night. Why don't we go and see a film tomorrow?" (taken from: [http://en.wikipedia.org/wiki/SMS_language])<br />
** Implement a script that abbreviates :-)<br />
* '''Anti-Spam''' ...feature for SMS. May be it's possible to port some Bayesian based application like bogofilter.<br />
* '''Rule based authorizations''' ...for received messages. For example, delete messages from one source between 9h00 and 18h00 (workday) allow them otherwise (to get alerting messages).<br />
* '''Enable chat-like SMS-viewing''' SMS-Email-like: retain SMS app, but store 'conversations' rather than pile-up. Group/archive conversations by Caller Group (Work / Friends / Home / any user-defined Caller Group). Show appropriate icon from either Caller Group or Caller ID at the source of conversations panel<br />
* '''Searching''' allow full-text search or string search.<br />
* '''Massive SMS Deletion''' based on Conversation, author, before-date-xx.xx.xxxx, caller group, [[Wishlist:Tagging|tags]]...<br />
* '''Call Back''' Prompt 'Call Back' alongside other first-line options (Delete, Save number,.. this kind of options) that appear when reading an SMS.<br />
* '''Non-destructive deletion''', deleted messages goes to trash, and are recoverable.<br />
* '''SMS-EMail-Gateway'''<br />
SMS comes in, gets forward to your inbox, like any other piece of mail. Appropriate alerts and etc occur - again, just like for email. A simple SMTPD running on 127.0.0.1 that is hooked to an email-to-SMS translator that will send email addressed to 'SMS@localhost' (or whatever special address) out via SMS<br />
* '''SMS-filter chain''', for stuff like Codeword-SMS above, Theft-mode activation, auto-response (reply with gsm-position for "Where are you?"), auto-substitution (like replace $POS with gsm-position in outgoing SMS).<br />
<br />
=== Text input ===<br />
{{Main|Wishlist:Text Input}}<br />
There are many good suggestions for text input on the specific text input ideas page.<br />
<br />
=== More/Custom Input Method Widgets ===<br />
{{Main|Wishlist:More/Custom_Input_Method_Widgets}}<br />
Additional and customizable Input Method Widgets (similar to virtual keyboard). <br />
This could add soft-key functionality to games or other applications such as:<br />
*D-Pads<br />
*buttons<br />
*virtual trackballs<br />
*...<br />
Personalized layouts could be associated with each application.<br />
<br />
=== Games ===<br />
{{Main|Wishlist:Games}}<br />
<br />
=== Mesh Networking ===<br />
{{Main|Wishlist:Mesh Networking}}<br />
<br />
=== Printing Support ===<br />
It would be really neat to be able to print over either bluetooth or USB. I can imagine wanting to print:<br />
<br />
* Notes<br />
* Maps<br />
* Email<br />
* Calendars<br />
* ...<br />
<br />
Cups contains a bluetooth printing backend, so (in theory) once you have your data in postscript format, you could hand it to cups and it'll do the rest. In practice, it depends on<br />
<br />
# GTK+'s printing support<br />
# Making cups run on a really small system<br />
<br />
{{note| GTK+'s printing support seems to be very immature in 2.6 (which we need to use for some time). Gtk+ 2.10 contains much better printing support -- once we can use this, it should be more easy.}}<br />
<br />
There's always the possibility to render postscript ourselves, but this is not a piece of cake -- in general, printing is much harder than one would imagine.<br />
<br />
Further details:<br />
* [http://groups.osdl.org/apps/group_public/download.php/2205/print-summit-gtk.pdf#search=%22gtk%2B%20printing%20API%22 osdl.org]<br />
* [http://www.gnome.org/~alexl/presentations/guadec2006-printing.pdf#search=%22gtk%2B%20printing%20API%22 gnome.org]<br />
* [http://www.j5live.com/?p=204 j5live.com]<br />
<br />
===Misc Software===<br />
====Clocks/timers/Activity meters====<br />
===== Sport tracker =====<br />
{{Main|Wishlist:Sport_tracker}}<br />
Sport tracker can be used to measure the distance/velocity from point A to point B (or it could have several intermediate stopping points) using GPS. This would be extremely useful for running, biking, hiking, etc.<br />
<br />
===== Standby clock =====<br />
{{Main|Wishlist:Standby_clock}}<br />
A quick way to see what time it is.<br />
<br />
===== Egg Timer =====<br />
{{Main|Wishlist:EggTimer}}<br />
<br />
Very simple (one click) count up / count down timers are very useful.<br />
<br />
===== Cycle Computer =====<br />
As already mentioned by [http://wiki.openmoko.org/wiki/User_talk:Technil Technil], a cycle computer could be created using gps. The sensor at the bike's wheel could transmit data via bluetooth or some cable that would be attached to an openmoko device. In order to save power, one could switch off the gps and only use the bike's sensor.<br />
* Just another idea that came to me: Why don't have sensor's transmit cable plug into the headphone/microphone plug? A tool reads the signals created by the induction of the passing magnet, then gives them to the cycle-computer-app :) --[[User:Minime|Minime]] 19:50, 12 April 2007 (CEST)<br />
<br />
===== NTP Server =====<br />
<br />
Run the [http://www.ntp.org NTP] daemon using the GPS chipset as a reference clock, so that the Neo would have a very accurate time-of-day clock and would be able to serve time to other networked devices. <br />
<br />
I don't know what it would take to implement this. Items to consider would be the availability of a 1 pulse-per-second hardware signal, the accuracy of timestamps delivered in NMEA messags, etc. Dealing with power-management issues (such as the device going to sleep) would also be challenging.<br />
<br />
Very simple (one click) count up / count down timers are very useful.<br />
<br />
===== Reality check reminder =====<br />
{{Main|Wishlist:Reality check reminder}}<br />
<br />
A tool to [http://www.phrack.org/issues.html?issue=64&id=16 hack your brain]<br />
<br />
====Calculators====<br />
===== A Universal Unit Converter Tool =====<br />
<br />
One never knows when one may have to convert acre-feet into deciliters. A unit conversion tool makes all engineers and engineer wannabes much happier. And not only the engineers. <br />
<br />
Ideas what kind of conversions a converter tool could do:<br />
<br />
Lenght<br />
- Acceleration<br />
- Angle<br />
- Angular Velocity<br />
- Area<br />
- Capacitance<br />
- Radioactivity<br />
- Currency <br />
- Charge<br />
- Computer Memory<br />
- Conductance<br />
- Density<br />
- Energy<br />
- Illumination<br />
- Power<br />
- Force <br />
- Flow<br />
- Pressure<br />
- Speed<br />
- Temperature<br />
- Time<br />
- Torque<br />
- Viscosity<br />
- Volume<br />
- Weight<br />
<br />
Roman Numerals<br />
- ASCII, Hex<br />
- Cooking<br />
- BMI<br />
- Clothing Sizes<br />
<br />
Money Converter based on current rates from Internet...<br />
e. g. Dollar <-> Euro<br />
<br />
Physical and Mathematical Constants<br />
GPS conversions <br />
<br />
- link to or integration of a scientific calculator<br />
- link to or integration of a simple calculator<br />
<br />
A good basis for such a converter tool could be the Palm program "units" from <br />
François Pessaux [http://francois.pessaux.neuf.fr/files/units1_11.tgz]. The GPL'd program comes with full documentation.<br />
<br />
For GPS conversions see gpsbabel [http://www.gpsbabel.org]<br />
<br />
===== An Postfix Notation (RPN) calculator =====<br />
<br />
Many engineers, computer scientists and other groups who have grown to enjoy the simplicity and ease of an postfix notation calculator will miss them when they give up other platforms to move to OpenMoko. A RPN calculator will increase adoption by providing one of the tools that other platforms have provided for many years.<br />
<br />
==== Web-browser Plugins ====<br />
<br />
* While an extensive browser plugin system would be costly to the efficacy of the platform three particular browser plugins as poplularized by Mozilla firefox should be adapted to the web-browser, namely: [http://noscript.net/ noscript], [http://adblockplus.org/en/ adblock plus], [http://www.greasespot.net/ greasemonkey] and [http://www.foxmarks.com/ foxmarks].<br />
* Careful use of these can dramatically reduce bandwidth, page space, and rendering costs even if it comes at the risk of some hard drive space in the form of block lists.<br />
* Greasemonkey, in particular, gives users control to set up scripts for commonly traveled pages to further reduce unnecessary or unwanted content.<br />
<br />
==== Windows CE Emulator ====<br />
<br />
On ARM machine, Windows CE API emulator, like Wine on x86 machines. <br />
<br />
==== PalmOS Emulator ====<br />
<br />
The Access group is probably coming out with their Linux platform any time soon. One of the components is a PalmOS emulator which I'd like to see working on OpenMoko as well. There are literally thousands of PalmOS apps.<br />
<br />
I'd like to see a Windows CE Emulator with active sync support.<br />
<br />
==== TV Guide/Remote Control ====<br />
<br />
Use your Phone to easily program your VCR using EPGs.<br />
<br />
<br />
==== Alcohol meter ====<br />
Give the phone some info about your body (gender, size, weigth) and when/what you drink and it will compute an approximation of the amount of alcohol in your blood. Updates automatically, could have an alarm, when you are probably sober again.<br />
See, for example (German text) http://www.misterio-online.de/promille.htm<br />
<br />
==== Interaction with LEGO Mindstorm ====<br />
With the accelerometers, GPS and good CPU, the phone could be used to control/serve as input with robots built with LEGO Mindstorm, which can be accessed by USB and Bluetooth.<br />
<br />
==== Flashlight ====<br />
Simple finger application that makes every pixel on the entire screen white to be as bright as possible until you tap the screen again to turn it off. This way, you can use your Neo as a (short term) flashlight!<br />
<br />
=== Accessibility ===<br />
Accessibility features for the visually impaired.<br />
* High Contrast Themes.<br />
* Screen Magnifier. Features should include automatic cursor tracking when navigating menus and entereing text and provide manual controls to zoom in on other section of the screen.<br />
* Text to speech. The software should read out menu item ,contact lists ,text messages etc. Would also be useful for operating the phone while driving.<br />
<br />
==== VOIP ====<br />
Ability to use the phone for VOIP over wi-fi such as Vonage. They currently have 2 different pieces of software for pc . Basically software creates a mac address which is paired with your Vonage account. Skype could also be implemented but I prefer Vonage. Only available when connected to wi-fi with a good connection. Phone treats calls the same as a cellular call, could keep a separate log of minutes, ability to record conversations, etc. Option to use VOIP if connection is available automaticly or manually. Small icon to show when call is using VOIP.<br />
* A standard SIP client would probably fit better into the "free and open" philosophy.<br />
* Ideally a SIP client that includes ZRTP/SRTP for secure communications.<br />
<br />
==== Power Meter ====<br />
If the power bar is clicked on it will show time left on charge and if charging it will show time until full.<br />
<br />
<br />
<br />
=== Accelerometer wishes ===<br />
==== Flick interface ====<br />
Ability to "flick" the phone for page up/down by simply and rapidly tilting the phone back-and-forth for up and forth-and-back for down. The same motion can be implemented for sideways motion. This will take advantage of the 2 3d accelerators.<br />
<br />
Sensitivity of the scrolling should be configurable and a test option provided.<br />
<br />
==== Reading navigation of documents enhanced by accelerometers ====<br />
If the two accelerometers in Neo1973 allows it, it will be nice if when you're reading, give a newspaper, you can move up, down, left and to the right the viewing of the document just moving the phones to the corresponding direction.<br />
<br />
I don't know if this is possible (haven't seen the project in detail yet) but this feature could be very attractive for final users (and this is good). (sorry for my english but i'm italian)<br />
<br />
==== Wand UI ====<br />
In keeping with the requests to think outside of the box... the dual 3d accelerometers should enable a 'magic wand'-style UI for certain uses. Macros could be recorded and edited, or presets could be used. For example, flipping the device playfully could initiate a game mode or could signal the end of the work day.<br />
<br />
==== Shake-to-Wake ====<br />
Giving the phone a shake enables voice commands for a few seconds.<br />
Usage Examples: <br />
<br />
{Shake} "Call" ''ContactName'' ''PhoneType'' --- {Shake} "Call John Mobile" (Calls John's mobile)<br />
<br />
{Shake} ''ApplicationName'' --- {Shake} "Reader" (Opens the e-book application)<br />
<br />
Would require a method of inputting voice tags for applications and contacts and obviously will only work for P2 (accelerometers)<br />
But lets get voice command functionality working before P2 (just by pressing a button on the screen instead of shaking)<br />
<br />
I think that is possibly to replace "Shake" with double hit with finger in the side of phone. Proper algorithms(with accelerometers) should recognize any similar activities.<br />
<br />
==== Emergency call ====<br />
When the accelerometer detects a great acceleration (i.e. 5G) start a countdown sequence, if it is not stopped make a call to a preconfigured emergency number. If the data from the GPS is accurate give it.<br />
<br />
A first version could use a recorded message (an audio file). In next version it could use a synthesizer, so it can give more information (add GPS information when it is ready).<br />
<br />
==== Movement detection ====<br />
By detecting that the owner is walking a user defined profile can be activated with a specific set of notification settings. For example you may wish to use a cheap old sounding ringtone so you don't attract attention from muggers. Or you may wish to have a louder ringtone if you carry your phone in a bag where it can't be so easily heard.<br />
<br />
==== Others ====<br />
Also see the pages[[Wishlist:Auto Align Map]], [[Wishlist:Determine Position]], [[Distance Measuring]], [[Wishlist:Computer Mouse]], [[Wishlist:Dynamic Screen Orientation]].<br />
<br />
=== Connectivity ===<br />
<br />
==== VNC client ====<br />
A good, stylus friendly VNC client/host combo would be easy to add and terribly useful.<br />
<br />
<br />
==== Networked X-Windows ====<br />
<br />
Whether it's running true X-Windowing over the network, or your bog-standard VNC connection as mentioned above, the ability to have your phone's screen available on your laptop or palmtop would be most desirable.<br />
<br />
==== NX client ====<br />
<br />
A form of X-windows forwarding optimized for performance over slow, or high-latency links, which could prove extremely useful. Capable of streaming a good quality, full desktop session over modem speeds. The protocol and at least one implementation is gpl'd. [http://en.wikipedia.org/wiki/NX_technology wikipedia]<br />
<br />
==== Web browser + widget support ====<br />
<br />
Built-in browser with the ability to install widget shortcuts (aka links) in the main phone menu, also some apis for interfacing with the other functionality of the phone like adding contacts, reading contacts, reading gps-psoition etc.. (maybe there is some defacto widget standard that could be used)<br />
<br />
=== Security ===<br />
<br />
==== General Filesystem Encryption ====<br />
<br />
If anyone wants to get your private data saved on your OpenMoko device, he should have to get through a high security mechanism like dm-crypt. The question is how much CPU power would be needed. <br />
Would it be an idea to encrypt only the private data like phone numbers, preferences, address book etc. (like /home/$USER).<br />
<br />
http://luks.endorphin.org<br />
<br />
==== My Account ====<br />
{{Main|My Account}}<br />
A way to securely store information about the phone, and ensure that a phone you may be considering purchasing is not stolen.<br />
<br />
==== [http://zfoneproject.com/ Zfone] or similar ====<br />
<br />
Something that allows the user to speak with another person securely.<br />
<br />
==== GSM Encryption ====<br />
<br />
This software application would allow GSM encrypted calls to be made using the GSM Data Call Channel. <br />
<br />
[[OSvS]]<br />
<br />
==== My Voice is my Passport ====<br />
Use voice recognition to unlock the phone. "Hi. My name is ... My voice is my passport. Verify me."<br />
<br />
==== Firewall ====<br />
A network firewall<br />
<br />
==== Anti Theft Application ====<br />
<br />
This application would enter the phone into an [[Anti-Theft Mode]] which activates particular security features to reduce the risk of theft and also to ensure a higher probability of recovery of a stolen handset.<br />
<br />
====RFID based personal alerts====<br />
Assuming an RFID reader is available: You'd put an RFID tag on your keys, wallet, etc and train a program on the phone to give you a soft or hard alert when one of them leaves detection range. That way, if you're walking away from one of them, the phone could alert you.<br />
<br />
=== Integrated Help System ===<br />
<br />
A help system that is either on or off. It could be activated and deactivated by a [[five-second-press]] on a button, for example the AUX button. When the help system is activated, it will explain the use of any item you touch on screen (with stylus or finger). Example: if you touch the battery icon, it will explain that this shows battery level / remaining time. If you touch the date / time icon, it will explain that this icon shows date and time, and that if you press it, you can set date and time. Primarily, this help system should be able to explain all user interface elements in the main screen, but if it proves popular, it could be expanded to cover other applications as well.<br />
<br />
===Performance optimisation===<br />
==== Use DMA engine in CPU for blitter ====<br />
The DMA engine in the CPU can substantially speed up moving of large areas of screen in some cases.<br />
<br />
==== Use virtual screen to optimise scrolling ====<br />
In some other cases, the hardware supported virtual screen may also speed it up.<br />
<br />
==Bluetooth==<br />
<br />
=== Voice Dialing ===<br />
<br />
Dial by voice commands.<br />
<br>Dial by dictating phone number. This way we can voice dial any number even if not in our contact list.<br />
<br />
=== Music through Bluetooth Headset ===<br />
<br />
Music can be played through a Bluetooth headset, but would stop playing when a call comes in.<br />
<br />
=== Walkie Talkie ===<br />
<br />
Let OpenMoko devices connect to one another via bluetooth or another connection method (GPRS for long distance but high latency, probably Wifi on P2), and hold a conversation.<br />
<br />
Features for this applications can be:<br />
* Push To Talk (PTT) button<br />
* Voice Activated Control (VAC) which will set it in transmit mode when input has is detected above a certain predefined level.<br />
* Optionally a full duplex mode<br />
* Different channels to choose from<br />
* Monitor different (preselected or all) channels for traffic.<br />
* Content encryption<br />
* Active noise control<br />
* Allow zero config use (units can talk without any access point helping)<br />
* Overview of all connected people trough sending GPS data to everyone who is in the Walkie Talkie channel<br />
<br />
Local (non-GPRS) use cases include chatting while biking<br />
or motorcycling in a group; perhaps also in a car caravan.<br />
This application could also be used as a baby-phone to monitor your siblings.<br />
<br />
This would be more useful if the Neo had Class 1 bluetooth, though probable Wifi on P2 will also offer more range.<br />
<br />
=== Automatic Sync ===<br />
<br />
Automatically synchronize with desktop computer (or with any [http://en.wikipedia.org/wiki/SyncML SyncML] server) when within range based on user profile. This may require the use of a secure data transfer.<br />
<br />
=== GPS Assisted Bluetooth Management ===<br />
<br />
Allow Bluetooth to automatically turn off after loosing connectivity and to automatically turn back on based upon GPS location.<br />
<br />
A Bluetooth device is configured for automatic reacquisition based on the following profiles:<br />
* Manual - only when Bluetooth is on<br />
* Non-mobile - the target device is not mobile, periodically attempt reacquisition when in the general area of the device.<br />
* Mobile - the target device is mobile, periodically attempt reacquisition when in the general area of the device.<br />
<br />
Each target device is configured as follows:<br />
* Automatic acquisition at last known location: enable/disable<br />
* Automatic acquisition at these locations: list of nickname + coordinates + range<br />
<br />
==== Non-mobile devices ====<br />
<br />
Examples devices include: computers<br />
<br />
The location and range of the target device is determined via training. Periodically, the current GPS coordinates and Bluetooth signal strength are logged. Additionally, connectivity loss events are logged. An algorithm uses these logs to determine the device location and range.<br />
<br />
Connection attempts are made when in a configurable proximity to the device. The first attempt when entering the proximity and further attempts at a configurable interval.<br />
<br />
==== Mobile devices ====<br />
<br />
Example devices include: automobiles<br />
<br />
Mobile devices are configured to have two types of locations:<br />
# Last known location<br />
# Non-mobile locations (homes)<br />
<br />
===== Last known location =====<br />
<br />
A car is mobile, ideally, when you leave your car, the phone should note the car's location when connectivity is lost and then attempt to reacquire the car when you return to the location of the car.<br />
<br />
===== Non-mobile locations (homes) =====<br />
<br />
As mobile devices may have multiple users, it is not sufficient to always use the last known location. In this case, the device may additionally have multiple homes. For example, a car might have as its homes: home garage and work parking lot.<br />
<br />
=== Bluetooth neighbor detection and multiuser apps ===<br />
<br />
Like the [http://en.wikipedia.org/wiki/One_laptop_per_child one laptop per child] (OLPC) interface, keep a number in the status bar that represents a count of other openmoko or compatible bluetooth devices in the area. Allow for the spontaneous initiation of a chatroom or multiplayer game or file trading with any moko in the area.<br />
<br />
=== Bluetooth environment detection ===<br />
<br />
Capability to detect when a predetermined bt device enters/leaves bt range and launch a system-wide event accordingly. This would feed not only the "Neighbour detection" idea described above, but also the "Profiles", "Context based TO-DO list" and "Location-based reminders" ideas. Reminders could be set to trigger in the presence of a specific person X (with BT device Y). Profiles can take into account which devices are present around the phone (car kit, for ex.). To-do list could also change according to present devices.<br />
<br />
=== Remote control ===<br />
<br />
==== Wireless presenter ====<br />
Use the phone to run your OpenOffice.org Impress presentation remotely using Bluetooth. Cool features: <br />
* Display the text notes for the presenter on the phone's display and update it whenever the slide is changing.<br />
** OO.org has implemented support for [http://www.openoffice.org/issues/show_bug.cgi?id=12719 dual monitor]/[http://www.openoffice.org/issues/show_bug.cgi?id=18486 presenter mode] that can be used as a starting point<br />
* A small timer showing the time passed (and perhaps remaining if the presentation app supports such a feature). <br />
* If you want to be super-cool, you give a preview of the notes of the next slide in the show. <br />
* At the end of a presentation, a "navigator" could allow to easily jump to any slide in the presentation by clicking on it on the phone.<br />
** When you right-click in a running OO.org Impress presentation, you can choose "got o slide..." and select any slide to jump to.<br />
<br />
==== Initiated from another device ====<br />
Remote control over Bluetooth from other devices to control media player (play, pause, next, previous, volume control), camera (capture image), etc.<br />
==== Directed at another device ====<br />
Remote control over Bluetooth to other devices to control media player, lights in your house, etc.<br />
<br />
Z-wave uses web-browser control of devices that is said to be compatible with mobile phone browsers so should work with openmoko browser. [http://www.z-wave.com www.z-wave.com]<br />
<br />
=== Bluetooth Car Connection ===<br />
<br />
Have a deeper connection to the car than just handsfree speakerphone. For instance a transceiver with challenge/response systems to open, possibly even start the car. Possibly go as far as OBD connection to monitor car status on screen/log for later.<br />
<br />
==== Dude, Where's My Car? ====<br />
<br />
When in range of the car navigation system, remember the position (perhaps check with the car GPS). When not in range, assumme that you are not in the car, and offer the opportunity to navigate to the car's last known position. That way, you can find your car e.g. on a large parking lot.<br />
<br />
=== [[Bluetooth powered Multi-SIM support]] ===<br />
<br />
As the Neo1971 does not come with dual-SIM support this could be solved by joining your old bluetooth-enabled mobile to your OpenMoko-phone.<br />
<br />
Let SIM card A be in your OpenMoko-phone and SIM card B in your old mobile:<br />
* Incoming call on SIM card B - the OpenMoko-phone acts as a headset(Bluetooth Headset profile)<br />
* Calling out via SIM card B - the OpenMoko-phone acts again as a headset<br />
* Same for Short Messages/MMS/Internet<br />
This way you'd have your old phone switched silent and connected to your OpenMoko-phone that handles all the calls and one can select which SIM card to use.<br />
Advantage: No 'switching' between cards<br />
Disadvantage: Second mobile needs to be in range(e.g. handbag) and charged every once in a while.<br />
<br />
===Internet Gateway===<br />
<br />
If the device could function as a Bluetooth router/gateway to the internet via the GPRS/data connector, then you could use it to get network connectivity from your laptop and other devices while on the road. Many smartphones can be configured as modems via Bluetooth for use as Dial-Up Networking connectors, and that should be the minimum target. Ideally, if the WiFi functionality was used so the OpenMoko could be an 802.11 router or peer to peer gateway for a laptop, this would be even better. The full bandwidth of GPRS or whatever network is available would then be available.<br />
<br />
=== Social Networking ===<br />
<br />
Anybody running the social networking app will be broadcasting a profile, and when certain keywords are matched with other users who are also running the application, an alert is sounded. Each mokoid can be added as a hexstring to a profile page, and xml filters can be developed for each social service to convert various keywords and interests to moko-friendly format.<br />
<br />
=== Give userspace api control over bluetooth signal strength ===<br />
<br />
I have tried bluetooth handsfree sets with other phones and don't get perfect reception due to low signal strength. I suppose the reason the signal is so weak is because the manufacturer wants the battery to last long on its latest charge. Can you please make the strength setting configurable by the user of the phone through an api and perhaps even through the phones gui? I would gladly waste some battery time in exchange for stronger bluetooth signal strength.<br />
<br />
<br />
== WiFi ==<br />
<br />
=== Industrial grade Wifi management ===<br />
One annoyance I've had with Wifi enabled gadgets is that they simply keep the connections in a dumb list. What I'd like to see is more granular connection management, which ennables me to specify whether a given connection is friend & family (mom's place), professional client (joe's copies and coffee), commercially available (panera), onetime use, or anything else, as well as managing router config backups, firmware images, and security keys.<br />
<br />
<br />
<br />
== Other ==<br />
<br />
=== Auto Update ===<br />
<br />
A small tool which is configurable to download the latest OpenMoko and OpenMoko related software. Maybe if any internet connection is available or a minimum of bandwith is available then the auto update would download only security related or the whole system etc. .<br />
<br />
=== Vibrate Pattern Recorder ===<br />
<br />
An application that would allow the user to define their own vibration patterns, and possibly link them to audio files. Recording would be done in real time initiated with a "Record" button, optionally playing the associated sound file in sync with recording). While recording, the user would press and hold a button to define the timing and duration of vibration. The user would press "Stop" when finished. Vibration patterns would have the option of being looped(would terminate at some global ringtone length maximum).<br />
<br />
One simple suggested vibration file format would be a sort of run-length encoding: First byte defines the length of a "time-slice" in milliseconds, which would determine the overall tempo(actually the inverse of tempo). The next byte would define the number of time-slices to leave the vibration on, and then another byte for how long to pause after. Continue alternating these on/off bytes until the entire pattern is defined.<br />
<br />
- or just use MIDI, using a separate channel for the vibrator.<br />
<br />
An implementation of RTTL could also be used to define vibration patterns.<br />
<br />
=== PC Input Device ===<br />
<br />
Provide a method to use the touchscreen as input device for a nearby desktop machine. Could connect over USB or bluetooth.<br />
<br />
=== Advanced Notification And Ringtone Manager ===<br />
{{Main|Wishlist-ANARM}}<br />
<br />
ANARM would be an application for handling all event-based audible notifications from an OpenMoko device.<br />
<br />
=== Location based reminders ===<br />
{{Main|Wishlist:Location_based_reminders}}<br />
Location based reminders can be used to notify users of various events or reminders that are location based.<br />
<br />
=== Synergy Client ===<br />
A synergy client would enable the user to place the device next to a desktop PC and share the desktop`s mouse, keyboard and clipboard over a TCP/IP network. [http://synergy2.sourceforge.net/ Synergy]<br />
<br />
== GPS Software ==<br />
*Providing GPS Support also for outdoor users in addition to ordinary street navigation features<br />
** Overlay of satellite images with existing streetmaps<br />
** Incorporating SRTM digital elevation model: for example using the VRML/X3D as data format (see http://www.ai.sri.com/geovrml/) which is interesting for e.g. mountaineering: using a 3d browser rendering VRML/X3D Model, displaying the current position and track (possibly also other gps-tracks of the different routes to a summit downloaded before could be mapped onto the 3d model), (what about 3d hardware support? there is nothing written in the hardware specs about graphics: thinking of OpenGL for embedded systems (see http://www.khronos.org/opengles/)<br />
** Using sth like a tracking mode to allow certain people to determine the current position and track (for rescue missions - like they have for example at http://www.steiger-stiftung.de (a German beneficence for rescue issues) There you can register your mobile phone so the rescue service is able to track you immediately if necessary. The interesting thing: It seams like some mobile phones with GPS have special support for this issue. If your phone is registered, the rescue service is able to get your GPS coordinates directly from the phone without any user assistance. Openmoko should also support this! )<br />
* Implementation of 3dTracking's (http://free.3dtracking.net/) tracking software or equivalent.<br />
<br />
<br>[[Community Based Traffic Information]]<br />
<br />
== Hardware ==<br />
{{Main|Wish List - Hardware}}<br />
<br />
It could be use for beepway Online service too <br />
[http://www.beepway.com]<br />
<br />
=== Tactile feedback via buzzer ===<br />
Assuming the hardware has a vibrator/buzzer for silent calls, use a lightly pulsed version of that to simulate tactile feedback when dragging finger across buttons on-screen. Implemented properly, it would almost feel as if the buttons were real.<br />
: 25 ms bump on the buzzer feels pretty good<br />
<br />
=== Detachable keyboard ===<br />
Hardware keyboard that can be attached with magnets to a future version of the Neo.<br />
<br />
=== IR port ===<br />
Remote control applications<br />
Would be great to use openmoko as a Hamony remote controller.<br />
<br />
[[Category:User]]<br />
[[Category:Ideas| ]]</div>Sagacishttp://wiki.openmoko.org/wiki/GSM02.07GSM02.072007-09-30T05:29:54Z<p>Sagacis: </p>
<hr />
<div>== GSM 02.07 MS requirements ==<br />
<br />
The [http://www.3gpp.org/ftp/Specs/archive/02_series/02.07/0207-710.zip GSM 02.07 specification (Version 7.1.0 Release 1998)] lists a table of required and optional features of MS (mobile stations):<br />
<br />
<pre><br />
1.1 Display of Called Number M*<br />
1.2 Indication of Call Progress Signals M*<br />
1.3 Country/PLMN Indication M*<br />
1.4 Country/PLMN Selection M<br />
1.5 Keypad O (note 1)<br />
1.6 IMEI M<br />
1.7 Short Message M (note 4)<br />
1.8 Short Message Overflow Indication M<br />
1.9 DTE/DCE Interface O<br />
1.10 ISDN "S" Interface O<br />
1.11 International Access Function ("+" key) O (note 1)<br />
1.12 Service Indicator M*<br />
1.13 Autocalling restriction capabilities (note 2)<br />
1.14 Emergency Calls capabilities M (note 3)<br />
1.15 Dual Tone Multi Frequency function (DTMF) M (note 5)<br />
1.16 Subscription Identity Management M<br />
1.17 On/Off switch O<br />
1.18 Subaddress O<br />
1.19 Support of Encryption A5/1 and A5/2 M<br />
1.20 Short Message Service Cell Broadcast M<br />
1.21 Short Message Service Cell Broadcast DRX O<br />
1.22 Service Provider Indication O<br />
1.23 Support of the extended SMS CB channel O<br />
1.24 Support of Additional Call Set-up MMI Procedures O<br />
1.25 Network Identity and Timezone O<br />
1.26 Ciphering Indicator M*<br />
1.27 Network's indication of alerting in the MS O (NI Alert in MS)<br />
1.28 Network initiated Mobile Originated connection O<br />
1.29 Support of Localised Service Area O<br />
1.30 Support of GPRS Encryption M (note 6)<br />
<br />
* Mandatory where a human interface is provided, i.e. may be in-appropriate for MS driven by external equipment.<br />
NOTE 1: The physical means of entering the characters 0-9, +, * and # may be keypad, voice input device, DTE or<br />
others, but it is mandatory that there shall be the means to enter this information.<br />
NOTE 2: MTs with capabilities for Autocalling, or to which call initiating equipment can be connected via the "R"<br />
or "S" interface, shall restrict repeated call attempts according to the procedures described in annex A.<br />
NOTE 3: Emergency calls shall be possible according to Teleservice 12 (see GSM 02.03 [2] and GSM 02.30 [7]).<br />
This feature is only required to be provided by ME supporting Telephony.<br />
NOTE 4: Support of reception by the ME and storage of SMS MT in the SIM is mandatory, but its display is<br />
optional. Reception and storage of a message shall be indicated by the MS.<br />
NOTE 5: The use of DTMF is only mandatory when the speech teleservice is being used or during the speech phase<br />
of alternate speech/data and alternate speech/facsimile teleservices.<br />
NOTE 6: The implementation of GPRS encryption algorithm is mandatory for terminals supporting GPRS.<br />
<br />
</pre><br />
<br />
== GTA01 implementation of features ==<br />
The following is a list of the mandatory and optional features we plan to support. <br />
<br />
{{todo| How do we make sure we follow the mandatory requirements?}}<br />
<br />
=== 1.1 Display of Called Number ===<br />
Incoming call numbers will be displayed using the [[Call_Notification_Dialog | Call Notification]] widget.<br />
<br />
=== 1.2 Indication of Call Progress Signals ===<br />
This basically means that the user has to be informed about call initiated, other party ringing, busy, etc. Those audible signals are handled by the TI Calypso.<br />
<br />
{{note| Call progress indicators are described in GSM 02.40.}}<br />
<br />
=== 1.3 Country/PLMN Indication ===<br />
We need to display the country and the currently selected network operator, as well as the list of available other operators. No problem here.<br />
<br />
{{note| The indication is described in }}<br />
<br />
=== 1.4 Country/PLMN Selection ===<br />
We need to support operator selection. No problem here. <br />
<br />
{{note| The detail is described in GSM 02.11}}<br />
<br />
=== 1.6 IMEI ===<br />
In TI Calypso.<br />
<br />
=== 1.7 Short Message ===<br />
We need to support SMS 'properly', i.e. display it to the user, and acknowledge reception to the GSM network. Sending, too ;)<br />
<br />
=== 1.8 Short Message Overflow Indication ===<br />
The user has to be told if his SMS memory overflows.<br />
<br />
{{todo| Figure out how we want to display this. Or is just an more general "memory low" [[Information_Dialog | Information Dialog ]] enough?}}<br />
<br />
=== 1.11 International access function ===<br />
The user can use the "+" to generate the international access code. We should support this function. All of us travel way too much :-)<br />
<br />
The [[Input_Method#Phone_Mode | Phone Mode]] of our [[Input Method]] will handle this.<br />
<br />
=== 1.12 Service Indicator ===<br />
We need to indicate sufficient signal strength and whether we're registered. This is handled by our [[GSM_Connection_Status | GSM Connection Status]] Pannel application.<br />
<br />
=== 1.13 Autocalling restriction capabilities ===<br />
<br />
I suppose this has already been implemented in the [[TI Calypso]] GSM firmware, since otherwise it in itself would not be GSM compliant.<br />
<br />
=== 1.14 Emergency Calls capabilities ===<br />
<br />
Has to be implemented according to Teleservice 12 (see GSM 02.03 [2] and GSM 02.30 [7]). <br />
<br />
Here's what's important to us:<br />
<br />
<blockquote><br />
"When a dual or multi-band terminal supporting GSM 1900 and another band is registered on a GSM 900, GSM 1800 or GSM 1900 network, it shall support the initiation of an emergency call by entry of 112, 911 or 08 unless a data call is requested."<br />
GSM 02.30}} page 12<br />
</blockquote><br />
<br />
{{note| The emergency calls capabilities are described in GSM 02.03 and GSM 02.30}}<br />
<br />
=== 1.15 Dual Tone Multi Frequency function (DTMF) ===<br />
We need to be able to initiate [[DTMF]] in accordance with specifications GSM 02.03 [2] and GSM 03.14 [11]. This will put some additional requirements on both the dialler application and the GSM library/daemon infrastructure, since the [[DTMF]] tones are not actually transmitted as tones on the<br />
voice channel, but actually signalled as messages through the GSM network into the [[MSC]] (Mobile Switching Centre), which then creates the tones into to the voice channel.<br />
<br />
All of this will be handled by the [[Dialer#In_Call_Mode | In Call Mode]] of the [[Dialer]] application.<br />
<br />
{{note| More details about support of DTMF are described in GSM 02.03 and GSM 03.14}}<br />
<br />
=== 1.16 Subscription Identity Management ===<br />
No problem. This just says the we need to support [[SIM]] cards in their 'normal' way.<br />
<br />
=== 1.19 Support of Encryption A5/1 and A5/2 ===<br />
Those are the two standard GSM ciphers for the [[MS]]-[[BTS]] interface. [[TI Calypso]] does this.<br />
<br />
=== 1.20 Short Message Service Cell Broadcast ===<br />
We need to support receiving SMS Cell Broadcast. Interestingly, the requirement doesn't say we need to actually support displaying them :) Reception is supposedly handled within [[TI Calypso]]. Anyway, we should display them.<br />
<br />
{{note| The short message service cell broadcast teleservice is described in specification GSM 02.03}}<br />
<br />
=== 1.21 Short Message Service Cell Broadcast DRX ===<br />
Some battery power saving mode for not listening to all cell broadcasts. <br />
<br />
{{todo| Check whether TI Calypso supports this, and how we configure it. It's optional. But we care about power saving!}}<br />
<br />
=== 1.25 Network Identity and Timezone ===<br />
The network name, time, and timezone information will be transferred from the network to our handset. We don't have to do anything with this -- but I think we should. For us to impliment [[Preferences#Profiles | Profiles]], this makes a lot of sense.<br />
<br />
=== 1.26 Ciphering Indicator === <br />
We need to support displaying whether any cipher (A5/...) is active, or whether the voice call is currently unencrypted. We also need to support restriction of this feature by the SIM module.<br />
<br />
{{todo| This will probably be another [[Applications#Panel_Applications | Panel Application]].}}<br />
<br />
=== 1.30 Support of GPRS Encryption ===<br />
TI Calypso does that for us.<br />
<br />
[[Category:Software]]</div>Sagacishttp://wiki.openmoko.org/wiki/GsmdGsmd2007-09-30T03:56:56Z<p>Sagacis: /* Currently missing */</p>
<hr />
<div>[[gsmd]] is the [[GSM]] daemon running in background of the GTA01 phone, managing the actual 'phone' part of the phone :)<br />
<br />
== Usage ==<br />
<br />
gsmd is usually started as a daemon in background, but can be run in foreground mode for debugging.<br />
<br />
The options can be queried like:<br />
<pre><br />
> src/gsmd/gsmd --help<br />
gsmd - (C) 2006 by Harald Welte <laforge@gnumonks.org><br />
This program is FREE SOFTWARE under the terms of GNU GPL<br />
<br />
Usage:<br />
-v --version Display program version<br />
-d --daemon Deamonize<br />
-h --help Display this help message<br />
-p dev --device dev Specify serial device to be used<br />
-s spd --speed spd Specify speed in bps (9600,38400,115200,...)<br />
-F --hwflow Hardware Flow Control (RTS/CTS)<br />
-L --leak-report Leak Report of talloc memory allocator<br />
-l file --logfile file Specify a logfile to log to<br />
</pre><br />
<br />
If your GSM modem is attached to ttySAC0 (like in the [[:Category:Neo1973 Hardware | Neo1973]]), you can e.g. use:<br />
gsmd -p /dev/ttySAC0 -s 115200 -F<br />
<br />
== libgsmd ==<br />
<br />
libgsmd is a library with C language API for application programs. Programs using this library can use the phone, e.g. make phone calls, receive incoming calls, register to the network, etc.<br />
<br />
== libgsmd-tool ==<br />
<br />
libgsmd-tool is a small demo application that can be used to demonstrate the usage of the libgsmd API.<br />
<br />
== Usage ==<br />
<br />
libgsmd-tool has multiple modes. <br />
<br />
=== Usage of shell mode ===<br />
<br />
Shell mode provides a simple text-based command interface for making voice calls.<br />
<br />
The shell mode can be started using<br />
<br />
libgsmd-tool -m shell<br />
<br />
It can be used like in the following example:<br />
<br />
<pre><br />
> src/util/libgsmd-tool -m shell<br />
libgsm-tool - (C) 2006 by Harald Welte<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
?<br />
A Answer incoming call<br />
D Dial outgoing number<br />
H Hangup call<br />
O Power On<br />
o Power Off<br />
r Register to network<br />
R Register to given operator (R=number)<br />
U Unregister from netowrk<br />
P Print current operator<br />
L Detect available operators<br />
Q Read signal quality<br />
T Send DTMF Tone<br />
n Print subscriber numbers<br />
pd PB Delete (pb=index)<br />
pr PB Read (pr=index)<br />
prr PB Read Range (prr=index1,index2)<br />
pf PB Find (pf=indtext)<br />
pw PB Write (pw=index,number,text)<br />
ps PB Support<br />
pm PB Memory<br />
pp PB Set Memory (pp=storage)<br />
pRr Retrieve Readrg Records<br />
pRf Retrieve Find Records<br />
sd SMS Delete (sd=index,delflg)<br />
sl SMS List (sl=stat)<br />
sr SMS Read (sr=index)<br />
ss SMS Send (ss=ask_ds,number,text|["text"])<br />
sw SMS Write (sw=stat,number,text)<br />
sm SMS Storage stats<br />
sM SMS Set preferred storage (sM=mem1,mem2,mem3)<br />
sc SMS Show Service Centre<br />
sC SMS Set Service Centre (sC=number)<br />
q Quit<br />
<br />
O<br />
# EVENT: PIN request (type=1) Please enter PIN: 6582<br />
r<br />
# EVENT: Netreg searching for network <br />
EVENT: Netreg registered (home network) <br />
<br />
D03024033902<br />
# Dial 03024033902<br />
EVENT: Call Progress: UNKNOWN<br />
EVENT: Call Progress: PROCEED<br />
EVENT: Call Progress: SYNC<br />
EVENT: Call Progress: ALERT<br />
H<br />
# Hangup<br />
EVENT: Call Progress: DISCONNECT<br />
EVENT: Call Progress: RELEASE<br />
<br />
EVENT: Incoming call type=2!<br />
EVENT: Incoming call clip=`"03024033902"'<br />
EVENT: Incoming call type=2!<br />
A<br />
# Answer<br />
RSTR=`OK'<br />
H<br />
# Hangup<br />
RSTR=`OK'<br />
</pre><br />
<br />
=== Usage of atcmd mode ===<br />
<br />
The atcmd mode is a passthrough-mode. Passthrough means that it accepts [[GSM 07.07]] commands, passes them through the daemon to the phone, and returns you the response. this is very useful for debugging.<br />
<br />
The atcmd mode can be started using<br />
<br />
libgsmd-tool -m atcmd<br />
<br />
Usage is like in the following example:<br />
<br />
<pre><br />
> src/util/libgsmd-tool -m atcmd<br />
libgsm-tool - (C) 2006 by Harald Welte<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
AT+CPAS<br />
STR=`AT+CPAS'<br />
RSTR=`+CPAS: 0'<br />
AT+COPS=?<br />
STR=`AT+COPS=?'<br />
RSTR=`+COPS: (2,"E-Plus","E-Plus","26203"),(3,"o2 - de","o2 - de","26207"),(3,"Vodafone.de","Vodafone","26202"),(3,"T-Mobile D","TMO D","26201")'<br />
</pre><br />
<br />
== Network related functions ==<br />
Operator selection functions were implemented and merged into SVN head[http://lists.openmoko.org/pipermail/gsmd-devel/2007-September/000216.html]:<br />
<br />
The new commands in libgsmd-util are as followings:<br />
R - Register to given operator (R=number)<br />
P - Print current operator<br />
L - Detect available operators<br />
Q - Read signal quality<br />
<br />
This is implemented by the functions with "_opers_" naming.<br />
== Currently missing ==<br />
<br />
(please add items to this list if you're missing more features)<br />
<br />
* Phone related functions<br />
** Airplane mode / gsmd stop (this will be done outside gsmd, by using runlevels / upstart)<br />
** Capability to set-up Emergency Calls, even if the device does not hold a SIM card<br />
** obtain manufacturer/model/revision/IMEI<br />
<br />
* SMS related features<br />
** send SMS<br />
** receive SMS<br />
** obtain IMSI<br />
** access to SIM-card stored SMS - ''No longer missing - see help''<br />
<br />
* SIM related functions<br />
** read phonebook entry - ''No longer missing - see help'' <br />
** write phonebook entry - ''No longer missing - see help''<br />
<br />
* GPRS related functions<br />
** set up GPRS link, use it via separate DLC of TS07.10 multiplex<br />
<br />
* gsmd internal infrastructure<br />
** fine-grained event subscriptions (rather than wildcard-subscribe)<br />
** possibility to specify log-level from command line<br />
** logfile re-opening on SIGUSR1 or SIGHUP (logrotate)<br />
** permission handling<br />
** d-bus interface<br />
<br />
== Implementation Thoughts ==<br />
<br />
== State tracking ==<br />
<br />
gsmd needs to do apropriate state tracking of the underlying GSM hardware. For many of the state transition we only get events from the GSM Modem, but don't have apropriate query commands. Thus, assuming gsmd runs all the time, applications can come and go, but still have an idea about the current state of the modem, even if they missed the initial state transitions.<br />
<br />
Also, gsmd state tracking allows us to allow for safer interoperability of multiple applications. If i.e. one applications has just started an outgoing call, gsmd can detect another application who intends to interfere with that and deny access<br />
<br />
=== device power state ===<br />
<br />
* modem completely off, not responding to AT commands<br />
* modem responding to AT commands, but powered off (CFUN=0)<br />
* modem responding to AT commands, in some power saving mode<br />
* modem responding to AT commands, powered on, fully operational (CFUN=1)<br />
<br />
=== Suspend power state ===<br />
<br />
It must also configure the modem so that it can on appropriate events wake the system from sleep.<br />
<br />
=== network registration state ===<br />
<br />
* not registered to any network, not trying to register<br />
* not registred to any network, searching/trying to register<br />
* registered to home network (including cellID)<br />
* registered to roaming network (including cellID)<br />
<br />
=== ciphering indication state ===<br />
<br />
* ciphering indications not supported by modem<br />
* ciphering indications supported, but disabled in SIM<br />
* ciphering indications supported, ciphering active<br />
* ciphering indications supported, ciphering inactive<br />
<br />
=== call state ===<br />
<br />
* idle<br />
* busy<br />
<br />
Sources of gsmd are kept in [[OpenMoko svn]] in src/target/gsm directory.<br />
<br />
{{Languages | Gsmd}}<br />
<br />
[[Category:Software]]<br />
[[Category:Implemented]]</div>Sagacishttp://wiki.openmoko.org/wiki/GsmdGsmd2007-09-30T03:53:09Z<p>Sagacis: /* Usage of shell mode */</p>
<hr />
<div>[[gsmd]] is the [[GSM]] daemon running in background of the GTA01 phone, managing the actual 'phone' part of the phone :)<br />
<br />
== Usage ==<br />
<br />
gsmd is usually started as a daemon in background, but can be run in foreground mode for debugging.<br />
<br />
The options can be queried like:<br />
<pre><br />
> src/gsmd/gsmd --help<br />
gsmd - (C) 2006 by Harald Welte <laforge@gnumonks.org><br />
This program is FREE SOFTWARE under the terms of GNU GPL<br />
<br />
Usage:<br />
-v --version Display program version<br />
-d --daemon Deamonize<br />
-h --help Display this help message<br />
-p dev --device dev Specify serial device to be used<br />
-s spd --speed spd Specify speed in bps (9600,38400,115200,...)<br />
-F --hwflow Hardware Flow Control (RTS/CTS)<br />
-L --leak-report Leak Report of talloc memory allocator<br />
-l file --logfile file Specify a logfile to log to<br />
</pre><br />
<br />
If your GSM modem is attached to ttySAC0 (like in the [[:Category:Neo1973 Hardware | Neo1973]]), you can e.g. use:<br />
gsmd -p /dev/ttySAC0 -s 115200 -F<br />
<br />
== libgsmd ==<br />
<br />
libgsmd is a library with C language API for application programs. Programs using this library can use the phone, e.g. make phone calls, receive incoming calls, register to the network, etc.<br />
<br />
== libgsmd-tool ==<br />
<br />
libgsmd-tool is a small demo application that can be used to demonstrate the usage of the libgsmd API.<br />
<br />
== Usage ==<br />
<br />
libgsmd-tool has multiple modes. <br />
<br />
=== Usage of shell mode ===<br />
<br />
Shell mode provides a simple text-based command interface for making voice calls.<br />
<br />
The shell mode can be started using<br />
<br />
libgsmd-tool -m shell<br />
<br />
It can be used like in the following example:<br />
<br />
<pre><br />
> src/util/libgsmd-tool -m shell<br />
libgsm-tool - (C) 2006 by Harald Welte<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
?<br />
A Answer incoming call<br />
D Dial outgoing number<br />
H Hangup call<br />
O Power On<br />
o Power Off<br />
r Register to network<br />
R Register to given operator (R=number)<br />
U Unregister from netowrk<br />
P Print current operator<br />
L Detect available operators<br />
Q Read signal quality<br />
T Send DTMF Tone<br />
n Print subscriber numbers<br />
pd PB Delete (pb=index)<br />
pr PB Read (pr=index)<br />
prr PB Read Range (prr=index1,index2)<br />
pf PB Find (pf=indtext)<br />
pw PB Write (pw=index,number,text)<br />
ps PB Support<br />
pm PB Memory<br />
pp PB Set Memory (pp=storage)<br />
pRr Retrieve Readrg Records<br />
pRf Retrieve Find Records<br />
sd SMS Delete (sd=index,delflg)<br />
sl SMS List (sl=stat)<br />
sr SMS Read (sr=index)<br />
ss SMS Send (ss=ask_ds,number,text|["text"])<br />
sw SMS Write (sw=stat,number,text)<br />
sm SMS Storage stats<br />
sM SMS Set preferred storage (sM=mem1,mem2,mem3)<br />
sc SMS Show Service Centre<br />
sC SMS Set Service Centre (sC=number)<br />
q Quit<br />
<br />
O<br />
# EVENT: PIN request (type=1) Please enter PIN: 6582<br />
r<br />
# EVENT: Netreg searching for network <br />
EVENT: Netreg registered (home network) <br />
<br />
D03024033902<br />
# Dial 03024033902<br />
EVENT: Call Progress: UNKNOWN<br />
EVENT: Call Progress: PROCEED<br />
EVENT: Call Progress: SYNC<br />
EVENT: Call Progress: ALERT<br />
H<br />
# Hangup<br />
EVENT: Call Progress: DISCONNECT<br />
EVENT: Call Progress: RELEASE<br />
<br />
EVENT: Incoming call type=2!<br />
EVENT: Incoming call clip=`"03024033902"'<br />
EVENT: Incoming call type=2!<br />
A<br />
# Answer<br />
RSTR=`OK'<br />
H<br />
# Hangup<br />
RSTR=`OK'<br />
</pre><br />
<br />
=== Usage of atcmd mode ===<br />
<br />
The atcmd mode is a passthrough-mode. Passthrough means that it accepts [[GSM 07.07]] commands, passes them through the daemon to the phone, and returns you the response. this is very useful for debugging.<br />
<br />
The atcmd mode can be started using<br />
<br />
libgsmd-tool -m atcmd<br />
<br />
Usage is like in the following example:<br />
<br />
<pre><br />
> src/util/libgsmd-tool -m atcmd<br />
libgsm-tool - (C) 2006 by Harald Welte<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
AT+CPAS<br />
STR=`AT+CPAS'<br />
RSTR=`+CPAS: 0'<br />
AT+COPS=?<br />
STR=`AT+COPS=?'<br />
RSTR=`+COPS: (2,"E-Plus","E-Plus","26203"),(3,"o2 - de","o2 - de","26207"),(3,"Vodafone.de","Vodafone","26202"),(3,"T-Mobile D","TMO D","26201")'<br />
</pre><br />
<br />
== Network related functions ==<br />
Operator selection functions were implemented and merged into SVN head[http://lists.openmoko.org/pipermail/gsmd-devel/2007-September/000216.html]:<br />
<br />
The new commands in libgsmd-util are as followings:<br />
R - Register to given operator (R=number)<br />
P - Print current operator<br />
L - Detect available operators<br />
Q - Read signal quality<br />
<br />
This is implemented by the functions with "_opers_" naming.<br />
== Currently missing ==<br />
<br />
(please add items to this list if you're missing more features)<br />
<br />
* Phone related functions<br />
** Airplane mode / gsmd stop (this will be done outside gsmd, by using runlevels / upstart)<br />
** Capability to set-up Emergency Calls, even if the device does not hold a SIM card<br />
** obtain manufacturer/model/revision/IMEI<br />
<br />
* SMS related features<br />
** send SMS<br />
** receive SMS<br />
** obtain IMSI<br />
** access to SIM-card stored SMS<br />
<br />
* SIM related functions<br />
** read phonebook entry<br />
** write phonebook entry<br />
<br />
* GPRS related functions<br />
** set up GPRS link, use it via separate DLC of TS07.10 multiplex<br />
<br />
* gsmd internal infrastructure<br />
** fine-grained event subscriptions (rather than wildcard-subscribe)<br />
** possibility to specify log-level from command line<br />
** logfile re-opening on SIGUSR1 or SIGHUP (logrotate)<br />
** permission handling<br />
** d-bus interface<br />
<br />
== Implementation Thoughts ==<br />
<br />
== State tracking ==<br />
<br />
gsmd needs to do apropriate state tracking of the underlying GSM hardware. For many of the state transition we only get events from the GSM Modem, but don't have apropriate query commands. Thus, assuming gsmd runs all the time, applications can come and go, but still have an idea about the current state of the modem, even if they missed the initial state transitions.<br />
<br />
Also, gsmd state tracking allows us to allow for safer interoperability of multiple applications. If i.e. one applications has just started an outgoing call, gsmd can detect another application who intends to interfere with that and deny access<br />
<br />
=== device power state ===<br />
<br />
* modem completely off, not responding to AT commands<br />
* modem responding to AT commands, but powered off (CFUN=0)<br />
* modem responding to AT commands, in some power saving mode<br />
* modem responding to AT commands, powered on, fully operational (CFUN=1)<br />
<br />
=== Suspend power state ===<br />
<br />
It must also configure the modem so that it can on appropriate events wake the system from sleep.<br />
<br />
=== network registration state ===<br />
<br />
* not registered to any network, not trying to register<br />
* not registred to any network, searching/trying to register<br />
* registered to home network (including cellID)<br />
* registered to roaming network (including cellID)<br />
<br />
=== ciphering indication state ===<br />
<br />
* ciphering indications not supported by modem<br />
* ciphering indications supported, but disabled in SIM<br />
* ciphering indications supported, ciphering active<br />
* ciphering indications supported, ciphering inactive<br />
<br />
=== call state ===<br />
<br />
* idle<br />
* busy<br />
<br />
Sources of gsmd are kept in [[OpenMoko svn]] in src/target/gsm directory.<br />
<br />
{{Languages | Gsmd}}<br />
<br />
[[Category:Software]]<br />
[[Category:Implemented]]</div>Sagacishttp://wiki.openmoko.org/wiki/SMSSMS2007-09-30T02:38:20Z<p>Sagacis: </p>
<hr />
<div>The Short Message Service (SMS) protocol is in widespread use among cell phone providers and allows users to send brief (160 western alphanumeric characters) messages to a phone number. The [[Neo1973_Hardware#GSM.2FGPRS | GSM hardware]] in the [[Neo1973]] supports messaging.<br />
<br />
== Message Modes ==<br />
The modem supports two message modes: PDU mode (AT+CMGF=0) and Simple text mode (AT+CMGF=1).<br />
<br />
=== PDU Mode ===<br />
<br />
Protocol Description Unit (PDU) mode is an 8-bit octet schema, but the data is 7-bit. Information about SMS and the [http://www.dreamfabric.com/sms/ PDU format].<br />
<br />
=== Text Mode ===<br />
Text mode is simply a decoding of PDU mode within the firmware of the modem. The modem will guess the codepage based upon message contents and convert the PDU message to plain text. It does not handle multipart/mime or multimedia messages.<br />
<br />
== Other notes ==<br />
You can use AT commands to [[Manually_using_SMS | manually use SMS]]. You can also use the shell of the [[Gsmd | libgsmd-tool]].<br />
<br />
Some developers have created a python [[SMSTool | SMS Message sending tool]]. It posts commands to libgsmd-tool -m shell and reads the responses. <br />
<br />
For more information, see [[GSM]]</div>Sagacishttp://wiki.openmoko.org/wiki/SMSSMS2007-09-30T02:37:53Z<p>Sagacis: </p>
<hr />
<div>The Short Message Service (SMS) protocol is in widespread use among cell phone providers and allows users to send brief (160 western alphanumeric characters) messages to a phone number. The [[Neo1973_Hardware#GSM.2FGPRS | GSM hardware]] in the [[Neo1973]] supports this mode.<br />
<br />
== Message Modes ==<br />
The modem supports two message modes: PDU mode (AT+CMGF=0) and Simple text mode (AT+CMGF=1).<br />
<br />
=== PDU Mode ===<br />
<br />
Protocol Description Unit (PDU) mode is an 8-bit octet schema, but the data is 7-bit. Information about SMS and the [http://www.dreamfabric.com/sms/ PDU format].<br />
<br />
=== Text Mode ===<br />
Text mode is simply a decoding of PDU mode within the firmware of the modem. The modem will guess the codepage based upon message contents and convert the PDU message to plain text. It does not handle multipart/mime or multimedia messages.<br />
<br />
== Other notes ==<br />
You can use AT commands to [[Manually_using_SMS | manually use SMS]]. You can also use the shell of the [[Gsmd | libgsmd-tool]].<br />
<br />
Some developers have created a python [[SMSTool | SMS Message sending tool]]. It posts commands to libgsmd-tool -m shell and reads the responses. <br />
<br />
For more information, see [[GSM]]</div>Sagacishttp://wiki.openmoko.org/wiki/SMSSMS2007-09-30T02:34:53Z<p>Sagacis: </p>
<hr />
<div>The Short Message Service (SMS) protocol is in widespread use among cell phone providers and allows users to send brief (160 western alphanumeric characters) messages to a phone number. The [[Neo1973_Hardware#GSM.2FGPRS | GSM hardware]] in the [[Neo1973]] supports this mode.<br />
<br />
== Message Modes ==<br />
The modem supports two message modes: PDU mode (AT+CMGF=0) and Simple text mode (AT+CMGF=1).<br />
<br />
=== PDU Mode ===<br />
<br />
Protocol Description Unit (PDU) mode is an 8-bit octet schema, but the data is 7-bit. Information about SMS and the [http://www.dreamfabric.com/sms/ PDU format].<br />
<br />
=== Text Mode ===<br />
Text mode is simply a decoding of PDU mode within the firmware of the modem. The modem will guess the codepage based upon message contents and convert the PDU message to plain text. It does not handle multipart/mime or multimedia messages.<br />
<br />
=== Other notes ===<br />
[[Manually_using_SMS | Manually using SMS]]<br />
<br />
[[SMSTool]]<br />
<br />
<br />
<br />
For more information, see [[GSM]]</div>Sagacishttp://wiki.openmoko.org/wiki/SMSSMS2007-09-30T02:34:04Z<p>Sagacis: </p>
<hr />
<div>= Short Message Service =<br />
<br />
The Short Message Service (SMS) protocol is in widespread use among cell phone providers and allows users to send brief (160 western alphanumeric characters) messages to a phone number. The [[Neo1973_Hardware#GSM.2FGPRS | GSM hardware]] in the [[Neo1973]] supports this mode.<br />
<br />
== Message Modes ==<br />
The modem supports two message modes: PDU mode (AT+CMGF=0) and Simple text mode (AT+CMGF=1).<br />
<br />
=== PDU Mode ===<br />
<br />
Protocol Description Unit (PDU) mode is an 8-bit octet schema, but the data is 7-bit. Information about SMS and the [http://www.dreamfabric.com/sms/ PDU format].<br />
<br />
=== Text Mode ===<br />
Text mode is simply a decoding of PDU mode within the firmware of the modem. The modem will guess the codepage based upon message contents and convert the PDU message to plain text. It does not handle multipart/mime or multimedia messages.<br />
<br />
=== Other notes ===<br />
[[Manually_using_SMS | Manually using SMS]]<br />
<br />
[[SMSTool]]<br />
<br />
<br />
<br />
For more information, see [[GSM]]</div>Sagacishttp://wiki.openmoko.org/wiki/SMSSMS2007-09-30T02:23:17Z<p>Sagacis: </p>
<hr />
<div>[[Manually_using_SMS]]<br />
<br />
[[SMSTool]]<br />
<br />
For more information, see [[GSM]]</div>Sagacishttp://wiki.openmoko.org/wiki/SMSSMS2007-09-30T02:21:46Z<p>Sagacis: </p>
<hr />
<div><br />
[[Maually_Using_SMS]]<br />
[[SMSTool]]<br />
<br />
For more information, see [[GSM]]</div>Sagacishttp://wiki.openmoko.org/wiki/Talk:FAQTalk:FAQ2007-08-30T22:21:40Z<p>Sagacis: /* voice over ip */</p>
<hr />
<div>=== Q: Can software directly access the SIM? ===<br />
<br />
I'd like to know if the GSM chip accesses the SIM directly or whether it goes through the OS? If it is possible I would like (and may develop) software to download SIM data into memory so that multiple SIMs can be stored and networks jumped by software rather than by physically changing SIM. Reasons:<br />
<br />
- To use cheaper services, say one prepaid network has cheap calls and another has cheap SMS, configure phone to skip to cheap network to send SMS.<br />
<br />
- To have software periodically check several SMS, voicemail services or numbers from one device.<br />
<br />
- While travelling, it'd be nice to be able to email SIM files around, say to let a co-worker assume a company number when replacing you at an overseas post or to leave your unused prepaid credit to a friend at the end of your vacation.<br />
<br />
- Partial coverage. Travelling rural South Africa, areas are sometimes covered better by one or other carrier, it'd be a pain to switch SIMs every few km, but could be done automatically.<br />
<br />
- Backup; say your phone /w SIM goes through the spin cycle and becomes unusable.<br />
<br />
- For Fun! I'm sure there are other reasons why putting the functionality of a physical device into a file is a good idea.<br />
<br />
[[User:Strix99|Strix99]] 23:15, 30 August 2007 (CEST)<br />
<br />
=== Q: Can the Neo charge and use devices on a USB hub at the same time? ===<br />
<br />
Regarding "Can the Neo charge and use devices on a USB hub at the same time?", what problem needs solving if the Neo can access other devices on the hub while connected downstream? I assume that the 2nd sentence of the 1st paragraph is in fact incorrect and "It will also be able to" should be "It will NOT be able to"? Could someone please clarify?<br />
[[User:Jasonwea|jasonwea]] 2007-02-18 11:48 UTC<br />
<br />
As I understand it.<br />
<br />
It's entirely a cabling problem.<br />
The neo essentially has two ports in one - there is the mini-AB port, which is missing the 5V line, and the 5V charging line.<br />
<br />
When used as a peripheral, the 5V line is used to charge the battery.<br />
It is not otherwise used in the neo.<br />
<br />
To connect a hub, it needs to be a powered hub, that is capable of working without 5V input (the Belkin Tetrahub for example will not recognise a host without it).<br />
<br />
To charge at the same time, you need to make up a special cable, that plugs into the output of a powered hub - to pick up the charge current, and into the input of a powered hub at the same time - to act as a USB host.<br />
These cables are wired together for 5V and 0V, but only the input cable has the data pins wired.<br />
In some cases (the belkin hub mentioned above) this will also allow the hub to recognise the neo as a host, when it would not before.<br />
In other cases - where the hub keeps the outputs unpowered until it senses a host, an external source of 5V would need to be plugged into the 'output' cable.<br />
[[User:Speedevil|Speedevil]] 2007-02-18 13:30 UTC<br />
<br />
Thanks for clearing that up.<br />
[[User:Jasonwea|jasonwea]] 2007-02-19 21:17 UTC<br />
<br />
== other hardware ==<br />
<br />
I just stumbled upon the [http://www.seehtc.com/ HTC Advantage X7500].<br />
How likely one could have that device run openmoko even though there it's a windows mobile? --[[User:Minime|Minime]] 19:13, 10 April 2007 (CEST)<br />
<br />
== voice over ip ==<br />
<br />
what about voice over ip?<br />
is the cpu strong enough for skype?/is there a skype(or similar) client that runs on that kind of cpu? :)<br />
<br />
VOIP over GPRS basically doesn't work - the latency is too high.<br />
<br />
There isn't a skype client for the CPU.<br />
<br />
The answer: the CPU should be strong enough esp with the new CPU that they will implement in June, according to the plans. My answer is based on a theorem: The Nokia 880 has got skype on it and I don't think it is that much stronger if it as at all, than Openmoko with it's 200MHz. That should be sufficient. GPRS is too slow for that I believe but if you are home, you could connect to your WiFi and use SkyPe that is awesome. (^_^)<br />
<br />
Which is irrelevant, as there is no skype client for the CPU. You cannot compile your own skype client, only skype can. --[[User:Speedevil|Speedevil]] 19:22, 23 May 2007 (CEST)<br />
<br />
: We could compile [http://www.openwengo.org OpenWengo] for the Neo1971, although gprs would still be a problem. Wifi or possibly bluetooth would be OK. --[[User:Sagacis|Sagacis]] 00:21, 31 August 2007 (CEST)</div>Sagacishttp://wiki.openmoko.org/wiki/Manually_using_GPRSManually using GPRS2007-08-29T17:37:36Z<p>Sagacis: /* Automatically using GPRS */</p>
<hr />
<div>You need to have [[GSM]] parts already initialized, with modem logged in to the network, for this to work. It is best to test it by doing test call. The GPRS connection is made using the PPP protocol to a server identified by an "APN" at the network operator.<br />
<br />
Depending on the APN, you may need password authentication using CHAP or PAP. You can add the following default line for "password-less" connections:<br />
<pre><br />
# client server secret IP addresses<br />
* * "" *<br />
</pre><br />
<br />
For CHAP, lines in /etc/ppp/chap-secrets are used. For PAP, the lines are in /etc/ppp/pap-secrets. The client should match the "user" option in pppd the config file (below). You can use * to mean any here, but the option user "" doesn't mean empty!<br />
<br />
For example:<br />
<pre><br />
# Secrets for authentication using CHAP<br />
# client server secret IP addresses<br />
* * "" *<br />
"gprs" * "gprs" *<br />
"eplus" * "gprs" * <br />
</pre><br />
<br />
You'll need /etc/ppp/peers/gprs:<br />
<pre><br />
# File:<br />
# gprs<br />
#<br />
# Description:<br />
# This file holds the pppd options for GPRS<br />
<br />
# To give some debug info (could be provided on command line too)<br />
#debug<br />
<br />
# To keep pppd output on the terminal (could be provided on command line too)<br />
nodetach<br />
<br />
# Serial device to which the GPRS modem is connected<br />
/dev/ttySAC0 # Raw serial on Neo1973<br />
#/dev/ircomm0 # IrDA<br />
#/dev/ttyACM0 # USB serial cable<br />
<br />
# Serial port line speed<br />
115200<br />
<br />
# use hardware flow control<br />
crtscts # serial cables etc.<br />
#nocrtscts # IrDA<br />
<br />
# time between retries<br />
holdoff 3<br />
<br />
# Connect script<br />
connect /etc/ppp/peers/gprs-connect-chat<br />
<br />
# Disconnect script<br />
disconnect /etc/ppp/peers/gprs-disconnect-chat<br />
<br />
# IP addresses:<br />
# - accept peers idea of our local address and set address peer as 10.0.0.1<br />
# (any address would do, since IPCP gives 0.0.0.0 to it)<br />
# - if you use the 10. network at home or something and pppd rejects it,<br />
# change the address to something else<br />
:10.0.0.1<br />
<br />
# pppd must not propose any IP address to the peer!<br />
noipdefault<br />
<br />
# Accept peers idea of our local address<br />
ipcp-accept-local<br />
<br />
# No ppp compression<br />
novj<br />
novjccomp<br />
<br />
# Add default route<br />
defaultroute<br />
<br />
# Replace any other default route for the time of the connection:<br />
replacedefaultroute<br />
<br />
# very long timeouts (unwise?)<br />
lcp-echo-interval 300<br />
lcp-echo-failure 40000<br />
<br />
# don't require the other end to authenticate to us<br />
noauth<br />
<br />
# username to use for authentication, should match "client" in /etc/ppp/{chap,pap}-secrets<br />
user "gprs" ## opt out for eplus/pap<br />
#user "eplus" ## opt in for eplus/pap<br />
</pre><br />
<br />
And you'll need /etc/ppp/peers/gprs-connect-chat (needs "chmod +x"):<br />
<br />
<pre><br />
#!/bin/sh<br />
#<br />
# File:<br />
# chat-gprs-connect<br />
#<br />
# Description:<br />
# chat script to open Sonera GPRS service with GPRS phones. If ppp<br />
# negotiation stalls, try restarting the phone. To try with other GPRS<br />
# operator setting, change the PDP contex setting. The settings work with<br />
# all Ericsson models, but Nokia 8310 does not suppor QoS parameters with<br />
# AT commands, so just delete those lines and it'll work.<br />
#<br />
# Set PDP context CID=1, protocol=IP, APN=internet:<br />
# AT+CGDCONT=1,"IP","internet","",0,0<br />
#<br />
# Set CID=1 QoS requirements from the network, not supported by 8310:<br />
# AT+CGQREQ=1,0,0,0,0,0<br />
#<br />
# Set CID=1 minimum acceptable QoS parameters, not supported by 8310:<br />
# AT+CGQMIN=1,0,0,0,0,0<br />
#<br />
# 'Call' CID=1 (activate PDP context one, perform GPRS attach):<br />
# ATD*99***1#<br />
#<br />
# The actual chat script:<br />
exec chat \<br />
TIMEOUT 22 \<br />
ECHO ON \<br />
ABORT '\nBUSY\r' \<br />
ABORT '\nERROR\r' \<br />
ABORT '\nNO ANSWER\r' \<br />
ABORT '\nNO CARRIER\r' \<br />
ABORT '\nNO DIALTONE\r' \<br />
ABORT '\nRINGING\r\n\r\nRINGING\r' \<br />
SAY "Press CTRL-C to close the connection at any stage!" \<br />
SAY "\ndefining PDP context...\n" \<br />
"" "\d" \<br />
"" "atz" \<br />
OK "ate1" \<br />
OK 'at+cgdcont=1,"ip","internet","0.0.0.0",0,0' \<br />
TIMEOUT 22 \<br />
OK ATDT*99***1# \<br />
TIMEOUT 22 \<br />
SAY "\nwaiting for connect...\n" \<br />
CONNECT "" \<br />
SAY "\nConnected." \<br />
SAY "\nIf the following ppp negotiations fail,\n" \<br />
SAY "try restarting the phone.\n"<br />
</pre><br />
<br />
You will need to adjust the APN name "internet" in at+cgdcont line to match what your network operator provides. <br />
<br />
<br />
Also good to have is /etc/ppp/peers/gprs-disconnect-chat (needs "chmod +x"):<br />
<br />
<pre><br />
#!/bin/sh<br />
<br />
exec /usr/sbin/chat -V -s -S \<br />
ABORT "BUSY" \<br />
ABORT "ERROR" \<br />
ABORT "NO DIALTONE" \<br />
SAY "\nSending break to the modem\n" \<br />
"" "\K" \<br />
"" "\K" \<br />
"" "\K" \<br />
"" "+++ATH" \<br />
"" "+++ATH" \<br />
"" "+++ATH" \<br />
"NO CARRIER" "" \<br />
SAY "\nPDP context detached\n"<br />
</pre><br />
<br />
Then, after initializing GSM, you should be able to initialize GPRS by pppd call gprs. Good luck!<br />
<br />
To dial in - and get verbose output - use pppd<br />
<pre><br />
pppd debug call gprs<br />
</pre><br />
<br />
<br />
Some APN names for reference:<br />
<br />
{| border="1"<br />
! Country<br />
! Carrier<br />
! Plan<br />
! APN<br />
! AT-CMD<br />
|-<br />
| USA || T-mobile || Anything less than full internet || wap.voicestream.com ||<br />
|- <br />
| USA || T-mobile || Regular internet plan || internet2.voicestream.com ||<br />
|- <br />
| USA || T-mobile || "VPN" internet plan || internet3.voicestream.com ||<br />
|- <br />
| USA || Cingular (AT&T) || Less than full internet || wap.cingular ||<br />
|-<br />
| Finland || Saunalahti || Any || internet.saunalahti ||<br />
|-<br />
| Finland || Sonera || Any, behind NAT || internet ||<br />
|-<br />
| Finland || Sonera || Any, public IP || prointernet ||<br />
|-<br />
| Germany || T-Mobile || || internet.t-mobile ||<br />
|-<br />
| Germany || E-Plus || BASE (and others?) || internet.eplus.de || 'AT+CGDCONT=1,"ip","internet.eplus.de"'<br />
|-<br />
| UK || T-Mobile|| || general.t-mobile.uk ||<br />
|-<br />
|}<br />
<br />
<br />
== Automatically using GPRS ==<br />
<br />
Once you have finished debugging your gprs-connect-chat and gprs options files, you may wish to automatically connect whenever needed and hang up when finished. Make sure you understand the impact of this change to your carrier plan billing. This is not recommended unless you have a large-use or unlimited data plan. These scripts do NOT prompt you before connecting.<br />
<br />
Create this file as /etc/ppp/ppp_on_boot and chmod +x. The /etc/init.d/ppp script will call it to set up the daemon.<br />
<pre><br />
###!/bin/sh<br />
#<br />
# Rename this file to ppp_on_boot and pppd will be fired up as<br />
# soon as the system comes up, connecting to `provider'.<br />
#<br />
# If you also make this file executable, and replace the first line<br />
# with just "#!/bin/sh", the commands below will be executed instead.<br />
#<br />
<br />
# The location of the ppp daemon itself (shouldn't need to be changed)<br />
PPPD=/usr/sbin/pppd<br />
<br />
# The default provider to connect to<br />
$PPPD file /etc/ppp/gprs<br />
<br />
# Additional connections, which would just use settings from<br />
# /etc/ppp/options.<tty><br />
#$PPPD ttyS0<br />
#$PPPD ttyS1<br />
#$PPPD ttyS2<br />
#$PPPD ttyS3<br />
</pre><br />
<br />
In the 'gprs' file above, insert the following, making sure to comment out nodetach. If 'nodetach' is on, the boot process will stop when it starts pppd.<br />
<br />
<pre><br />
# To keep pppd output on the terminal (could be provided on command line too)<br />
# nodetach<br />
<br />
# Connect only if needed<br />
demand <br />
<br />
# Disconnect if idle <br />
idle 20<br />
</pre><br />
<br />
Finally, you need to add the /etc/init.d/ppp script to the init process by creating symbolic links from the appropriate directories. I chose the following:<br />
<br />
<pre><br />
/etc/rc0.d/K25ppp<br />
/etc/rc1.d/K45ppp<br />
/etc/rc2.d/S45ppp<br />
/etc/rc3.d/S45ppp<br />
/etc/rc4.d/S45ppp<br />
/etc/rc5.d/S45ppp<br />
/etc/rc6.d/K25ppp<br />
</pre><br />
<br />
Remember to chmod 777 each of the links.<br />
<br />
[[Category:Documentation]]<br />
[[Category:Developer software]]<br />
<br />
[[Category:Guides]]</div>Sagacishttp://wiki.openmoko.org/wiki/Talk:Manually_using_GPRSTalk:Manually using GPRS2007-08-29T04:22:46Z<p>Sagacis: </p>
<hr />
<div>== Error messages I get ==<br />
<br />
First, let me say that I actually managed to get GPRS up and running with the provided instructions. However, not at the first attempt and generally only one in ten times.<br />
<br />
There are two kinds of errors I seem to get:<br />
<br />
* in the first situation, I get a CONNECT and "serial connection established", "using channel 0", "Using interface ppp0", "Connect: ppp0 <--> /dev/ttySAC0" and then "tcsetattr: Invalid argument (line 964) and then the scrip stops<br />
<br />
* in the second situation, I get a CONNECT and then during the ppp negotiation I get "LCP terminated" and the script starts over.<br />
<br />
But every ten or so attempts the whole thing works :-)<br />
<br />
I'd be quite happy if anyone could shed some light on this.<br />
<br />
:I see the same thing, but I would put it at one in four. It seems the modem doesn't always start up reliably. --[[User:Sagacis|Sagacis]] 06:21, 29 August 2007 (CEST)</div>Sagacishttp://wiki.openmoko.org/wiki/Talk:Manually_using_GPRSTalk:Manually using GPRS2007-08-29T04:21:29Z<p>Sagacis: </p>
<hr />
<div>== Error messages I get ==<br />
<br />
First, let me say that I actually managed to get GPRS up and running with the provided instructions. However, not at the first attempt and generally only one in ten times.<br />
<br />
There are two kinds of errors I seem to get:<br />
<br />
* in the first situation, I get a CONNECT and "serial connection established", "using channel 0", "Using interface ppp0", "Connect: ppp0 <--> /dev/ttySAC0" and then "tcsetattr: Invalid argument (line 964) and then the scrip stops<br />
<br />
* in the second situation, I get a CONNECT and then during the ppp negotiation I get "LCP terminated" and the script starts over.<br />
<br />
But every ten or so attempts the whole thing works :-)<br />
<br />
I'd be quite happy if anyone could shed some light on this.<br />
<br />
:I see the same thing, but I would put it at one in four. It seems the modem doesn't always start up reliably. [[User:Sagacis|Sagacis]] 06:21, 29 August 2007 (CEST)</div>Sagacishttp://wiki.openmoko.org/wiki/Talk:Manually_using_GPRSTalk:Manually using GPRS2007-08-29T04:21:21Z<p>Sagacis: </p>
<hr />
<div><br />
== Error messages I get ==<br />
<br />
First, let me say that I actually managed to get GPRS up and running with the provided instructions. However, not at the first attempt and generally only one in ten times.<br />
<br />
There are two kinds of errors I seem to get:<br />
<br />
* in the first situation, I get a CONNECT and "serial connection established", "using channel 0", "Using interface ppp0", "Connect: ppp0 <--> /dev/ttySAC0" and then "tcsetattr: Invalid argument (line 964) and then the scrip stops<br />
<br />
* in the second situation, I get a CONNECT and then during the ppp negotiation I get "LCP terminated" and the script starts over.<br />
<br />
But every ten or so attempts the whole thing works :-)<br />
<br />
I'd be quite happy if anyone could shed some light on this.<br />
<br />
:I see the same thing, but I would put it at one in four. It seems the modem doesn't always start up reliably. [[User:Sagacis|Sagacis]] 06:21, 29 August 2007 (CEST)</div>Sagacishttp://wiki.openmoko.org/wiki/Manually_using_GPRSManually using GPRS2007-08-29T03:58:14Z<p>Sagacis: /* Automatically using GPRS */ Added ircX.d link suggestions</p>
<hr />
<div>You need to have [[GSM]] parts already initialized, with modem logged in to the network, for this to work. It is best to test it by doing test call. The GPRS connection is made using the PPP protocol to a server identified by an "APN" at the network operator.<br />
<br />
Depending on the APN, you may need password authentication using CHAP or PAP. You can add the following default line for "password-less" connections:<br />
<pre><br />
# client server secret IP addresses<br />
* * "" *<br />
</pre><br />
<br />
For CHAP, lines in /etc/ppp/chap-secrets are used. For PAP, the lines are in /etc/ppp/pap-secrets. The client should match the "user" option in pppd the config file (below). You can use * to mean any here, but the option user "" doesn't mean empty!<br />
<br />
For example:<br />
<pre><br />
# Secrets for authentication using CHAP<br />
# client server secret IP addresses<br />
* * "" *<br />
"gprs" * "gprs" *<br />
"eplus" * "gprs" * <br />
</pre><br />
<br />
You'll need /etc/ppp/peers/gprs:<br />
<pre><br />
# File:<br />
# gprs<br />
#<br />
# Description:<br />
# This file holds the pppd options for GPRS<br />
<br />
# To give some debug info (could be provided on command line too)<br />
#debug<br />
<br />
# To keep pppd output on the terminal (could be provided on command line too)<br />
nodetach<br />
<br />
# Serial device to which the GPRS modem is connected<br />
/dev/ttySAC0 # Raw serial on Neo1973<br />
#/dev/ircomm0 # IrDA<br />
#/dev/ttyACM0 # USB serial cable<br />
<br />
# Serial port line speed<br />
115200<br />
<br />
# use hardware flow control<br />
crtscts # serial cables etc.<br />
#nocrtscts # IrDA<br />
<br />
# time between retries<br />
holdoff 3<br />
<br />
# Connect script<br />
connect /etc/ppp/peers/gprs-connect-chat<br />
<br />
# Disconnect script<br />
disconnect /etc/ppp/peers/gprs-disconnect-chat<br />
<br />
# IP addresses:<br />
# - accept peers idea of our local address and set address peer as 10.0.0.1<br />
# (any address would do, since IPCP gives 0.0.0.0 to it)<br />
# - if you use the 10. network at home or something and pppd rejects it,<br />
# change the address to something else<br />
:10.0.0.1<br />
<br />
# pppd must not propose any IP address to the peer!<br />
noipdefault<br />
<br />
# Accept peers idea of our local address<br />
ipcp-accept-local<br />
<br />
# No ppp compression<br />
novj<br />
novjccomp<br />
<br />
# Add default route<br />
defaultroute<br />
<br />
# Replace any other default route for the time of the connection:<br />
replacedefaultroute<br />
<br />
# very long timeouts (unwise?)<br />
lcp-echo-interval 300<br />
lcp-echo-failure 40000<br />
<br />
# don't require the other end to authenticate to us<br />
noauth<br />
<br />
# username to use for authentication, should match "client" in /etc/ppp/{chap,pap}-secrets<br />
user "gprs" ## opt out for eplus/pap<br />
#user "eplus" ## opt in for eplus/pap<br />
</pre><br />
<br />
And you'll need /etc/ppp/peers/gprs-connect-chat (needs "chmod +x"):<br />
<br />
<pre><br />
#!/bin/sh<br />
#<br />
# File:<br />
# chat-gprs-connect<br />
#<br />
# Description:<br />
# chat script to open Sonera GPRS service with GPRS phones. If ppp<br />
# negotiation stalls, try restarting the phone. To try with other GPRS<br />
# operator setting, change the PDP contex setting. The settings work with<br />
# all Ericsson models, but Nokia 8310 does not suppor QoS parameters with<br />
# AT commands, so just delete those lines and it'll work.<br />
#<br />
# Set PDP context CID=1, protocol=IP, APN=internet:<br />
# AT+CGDCONT=1,"IP","internet","",0,0<br />
#<br />
# Set CID=1 QoS requirements from the network, not supported by 8310:<br />
# AT+CGQREQ=1,0,0,0,0,0<br />
#<br />
# Set CID=1 minimum acceptable QoS parameters, not supported by 8310:<br />
# AT+CGQMIN=1,0,0,0,0,0<br />
#<br />
# 'Call' CID=1 (activate PDP context one, perform GPRS attach):<br />
# ATD*99***1#<br />
#<br />
# The actual chat script:<br />
exec chat \<br />
TIMEOUT 22 \<br />
ECHO ON \<br />
ABORT '\nBUSY\r' \<br />
ABORT '\nERROR\r' \<br />
ABORT '\nNO ANSWER\r' \<br />
ABORT '\nNO CARRIER\r' \<br />
ABORT '\nNO DIALTONE\r' \<br />
ABORT '\nRINGING\r\n\r\nRINGING\r' \<br />
SAY "Press CTRL-C to close the connection at any stage!" \<br />
SAY "\ndefining PDP context...\n" \<br />
"" "\d" \<br />
"" "atz" \<br />
OK "ate1" \<br />
OK 'at+cgdcont=1,"ip","internet","0.0.0.0",0,0' \<br />
TIMEOUT 22 \<br />
OK ATDT*99***1# \<br />
TIMEOUT 22 \<br />
SAY "\nwaiting for connect...\n" \<br />
CONNECT "" \<br />
SAY "\nConnected." \<br />
SAY "\nIf the following ppp negotiations fail,\n" \<br />
SAY "try restarting the phone.\n"<br />
</pre><br />
<br />
You will need to adjust the APN name "internet" in at+cgdcont line to match what your network operator provides. <br />
<br />
<br />
Also good to have is /etc/ppp/peers/gprs-disconnect-chat (needs "chmod +x"):<br />
<br />
<pre><br />
#!/bin/sh<br />
<br />
exec /usr/sbin/chat -V -s -S \<br />
ABORT "BUSY" \<br />
ABORT "ERROR" \<br />
ABORT "NO DIALTONE" \<br />
SAY "\nSending break to the modem\n" \<br />
"" "\K" \<br />
"" "\K" \<br />
"" "\K" \<br />
"" "+++ATH" \<br />
"" "+++ATH" \<br />
"" "+++ATH" \<br />
"NO CARRIER" "" \<br />
SAY "\nPDP context detached\n"<br />
</pre><br />
<br />
Then, after initializing GSM, you should be able to initialize GPRS by pppd call gprs. Good luck!<br />
<br />
To dial in - and get verbose output - use pppd<br />
<pre><br />
pppd debug call gprs<br />
</pre><br />
<br />
<br />
Some APN names for reference:<br />
<br />
{| border="1"<br />
! Country<br />
! Carrier<br />
! Plan<br />
! APN<br />
! AT-CMD<br />
|-<br />
| USA || T-mobile || Anything less than full internet || wap.voicestream.com ||<br />
|- <br />
| USA || T-mobile || Regular internet plan || internet2.voicestream.com ||<br />
|- <br />
| USA || T-mobile || "VPN" internet plan || internet3.voicestream.com ||<br />
|- <br />
| USA || Cingular (AT&T) || Less than full internet || wap.cingular ||<br />
|-<br />
| Finland || Saunalahti || Any || internet.saunalahti ||<br />
|-<br />
| Finland || Sonera || Any, behind NAT || internet ||<br />
|-<br />
| Finland || Sonera || Any, public IP || prointernet ||<br />
|-<br />
| Germany || T-Mobile || || internet.t-mobile ||<br />
|-<br />
| Germany || E-Plus || BASE (and others?) || internet.eplus.de || 'AT+CGDCONT=1,"ip","internet.eplus.de"'<br />
|-<br />
| UK || T-Mobile|| || general.t-mobile.uk ||<br />
|-<br />
|}<br />
<br />
<br />
== Automatically using GPRS ==<br />
<br />
Once you have finished debugging your gprs-connect-chat and gprs options files, you may wish to automatically connect whenever needed and hang up when finished. Make sure you understand the impact of this change to your carrier plan billing. This is not recommended unless you have a large-use or unlimited data plan. These scripts do NOT prompt you before connecting.<br />
<br />
Create this file as /etc/ppp/ppp_on_boot and chmod +x. The /etc/init.d/ppp script will call it to set up the daemon.<br />
<pre><br />
###!/bin/sh<br />
#<br />
# Rename this file to ppp_on_boot and pppd will be fired up as<br />
# soon as the system comes up, connecting to `provider'.<br />
#<br />
# If you also make this file executable, and replace the first line<br />
# with just "#!/bin/sh", the commands below will be executed instead.<br />
#<br />
<br />
# The location of the ppp daemon itself (shouldn't need to be changed)<br />
PPPD=/usr/sbin/pppd<br />
<br />
# The default provider to connect to<br />
$PPPD file /etc/ppp/gprs<br />
<br />
# Additional connections, which would just use settings from<br />
# /etc/ppp/options.<tty><br />
#$PPPD ttyS0<br />
#$PPPD ttyS1<br />
#$PPPD ttyS2<br />
#$PPPD ttyS3<br />
</pre><br />
<br />
In the 'gprs' file above, insert the following after "holdoff 3":<br />
<pre><br />
# Connect only if needed<br />
demand <br />
<br />
# Disconnect if idle <br />
idle 20<br />
</pre><br />
<br />
Finally, you need to add the /etc/init.d/ppp script to the init process by creating symbolic links from the appropriate directories. I chose the following:<br />
<br />
<pre><br />
/etc/rc0.d/K25ppp<br />
/etc/rc1.d/K45ppp<br />
/etc/rc2.d/S45ppp<br />
/etc/rc3.d/S45ppp<br />
/etc/rc4.d/S45ppp<br />
/etc/rc5.d/S45ppp<br />
/etc/rc6.d/K25ppp<br />
</pre><br />
<br />
Remember to chmod 777 each of the links.<br />
<br />
[[Category:Documentation]]<br />
[[Category:Developer software]]<br />
<br />
[[Category:Guides]]</div>Sagacishttp://wiki.openmoko.org/wiki/Manually_using_GPRSManually using GPRS2007-08-29T03:35:18Z<p>Sagacis: /* Automatically using GPRS */</p>
<hr />
<div>You need to have [[GSM]] parts already initialized, with modem logged in to the network, for this to work. It is best to test it by doing test call. The GPRS connection is made using the PPP protocol to a server identified by an "APN" at the network operator.<br />
<br />
Depending on the APN, you may need password authentication using CHAP or PAP. You can add the following default line for "password-less" connections:<br />
<pre><br />
# client server secret IP addresses<br />
* * "" *<br />
</pre><br />
<br />
For CHAP, lines in /etc/ppp/chap-secrets are used. For PAP, the lines are in /etc/ppp/pap-secrets. The client should match the "user" option in pppd the config file (below). You can use * to mean any here, but the option user "" doesn't mean empty!<br />
<br />
For example:<br />
<pre><br />
# Secrets for authentication using CHAP<br />
# client server secret IP addresses<br />
* * "" *<br />
"gprs" * "gprs" *<br />
"eplus" * "gprs" * <br />
</pre><br />
<br />
You'll need /etc/ppp/peers/gprs:<br />
<pre><br />
# File:<br />
# gprs<br />
#<br />
# Description:<br />
# This file holds the pppd options for GPRS<br />
<br />
# To give some debug info (could be provided on command line too)<br />
#debug<br />
<br />
# To keep pppd output on the terminal (could be provided on command line too)<br />
nodetach<br />
<br />
# Serial device to which the GPRS modem is connected<br />
/dev/ttySAC0 # Raw serial on Neo1973<br />
#/dev/ircomm0 # IrDA<br />
#/dev/ttyACM0 # USB serial cable<br />
<br />
# Serial port line speed<br />
115200<br />
<br />
# use hardware flow control<br />
crtscts # serial cables etc.<br />
#nocrtscts # IrDA<br />
<br />
# time between retries<br />
holdoff 3<br />
<br />
# Connect script<br />
connect /etc/ppp/peers/gprs-connect-chat<br />
<br />
# Disconnect script<br />
disconnect /etc/ppp/peers/gprs-disconnect-chat<br />
<br />
# IP addresses:<br />
# - accept peers idea of our local address and set address peer as 10.0.0.1<br />
# (any address would do, since IPCP gives 0.0.0.0 to it)<br />
# - if you use the 10. network at home or something and pppd rejects it,<br />
# change the address to something else<br />
:10.0.0.1<br />
<br />
# pppd must not propose any IP address to the peer!<br />
noipdefault<br />
<br />
# Accept peers idea of our local address<br />
ipcp-accept-local<br />
<br />
# No ppp compression<br />
novj<br />
novjccomp<br />
<br />
# Add default route<br />
defaultroute<br />
<br />
# Replace any other default route for the time of the connection:<br />
replacedefaultroute<br />
<br />
# very long timeouts (unwise?)<br />
lcp-echo-interval 300<br />
lcp-echo-failure 40000<br />
<br />
# don't require the other end to authenticate to us<br />
noauth<br />
<br />
# username to use for authentication, should match "client" in /etc/ppp/{chap,pap}-secrets<br />
user "gprs" ## opt out for eplus/pap<br />
#user "eplus" ## opt in for eplus/pap<br />
</pre><br />
<br />
And you'll need /etc/ppp/peers/gprs-connect-chat (needs "chmod +x"):<br />
<br />
<pre><br />
#!/bin/sh<br />
#<br />
# File:<br />
# chat-gprs-connect<br />
#<br />
# Description:<br />
# chat script to open Sonera GPRS service with GPRS phones. If ppp<br />
# negotiation stalls, try restarting the phone. To try with other GPRS<br />
# operator setting, change the PDP contex setting. The settings work with<br />
# all Ericsson models, but Nokia 8310 does not suppor QoS parameters with<br />
# AT commands, so just delete those lines and it'll work.<br />
#<br />
# Set PDP context CID=1, protocol=IP, APN=internet:<br />
# AT+CGDCONT=1,"IP","internet","",0,0<br />
#<br />
# Set CID=1 QoS requirements from the network, not supported by 8310:<br />
# AT+CGQREQ=1,0,0,0,0,0<br />
#<br />
# Set CID=1 minimum acceptable QoS parameters, not supported by 8310:<br />
# AT+CGQMIN=1,0,0,0,0,0<br />
#<br />
# 'Call' CID=1 (activate PDP context one, perform GPRS attach):<br />
# ATD*99***1#<br />
#<br />
# The actual chat script:<br />
exec chat \<br />
TIMEOUT 22 \<br />
ECHO ON \<br />
ABORT '\nBUSY\r' \<br />
ABORT '\nERROR\r' \<br />
ABORT '\nNO ANSWER\r' \<br />
ABORT '\nNO CARRIER\r' \<br />
ABORT '\nNO DIALTONE\r' \<br />
ABORT '\nRINGING\r\n\r\nRINGING\r' \<br />
SAY "Press CTRL-C to close the connection at any stage!" \<br />
SAY "\ndefining PDP context...\n" \<br />
"" "\d" \<br />
"" "atz" \<br />
OK "ate1" \<br />
OK 'at+cgdcont=1,"ip","internet","0.0.0.0",0,0' \<br />
TIMEOUT 22 \<br />
OK ATDT*99***1# \<br />
TIMEOUT 22 \<br />
SAY "\nwaiting for connect...\n" \<br />
CONNECT "" \<br />
SAY "\nConnected." \<br />
SAY "\nIf the following ppp negotiations fail,\n" \<br />
SAY "try restarting the phone.\n"<br />
</pre><br />
<br />
You will need to adjust the APN name "internet" in at+cgdcont line to match what your network operator provides. <br />
<br />
<br />
Also good to have is /etc/ppp/peers/gprs-disconnect-chat (needs "chmod +x"):<br />
<br />
<pre><br />
#!/bin/sh<br />
<br />
exec /usr/sbin/chat -V -s -S \<br />
ABORT "BUSY" \<br />
ABORT "ERROR" \<br />
ABORT "NO DIALTONE" \<br />
SAY "\nSending break to the modem\n" \<br />
"" "\K" \<br />
"" "\K" \<br />
"" "\K" \<br />
"" "+++ATH" \<br />
"" "+++ATH" \<br />
"" "+++ATH" \<br />
"NO CARRIER" "" \<br />
SAY "\nPDP context detached\n"<br />
</pre><br />
<br />
Then, after initializing GSM, you should be able to initialize GPRS by pppd call gprs. Good luck!<br />
<br />
To dial in - and get verbose output - use pppd<br />
<pre><br />
pppd debug call gprs<br />
</pre><br />
<br />
<br />
Some APN names for reference:<br />
<br />
{| border="1"<br />
! Country<br />
! Carrier<br />
! Plan<br />
! APN<br />
! AT-CMD<br />
|-<br />
| USA || T-mobile || Anything less than full internet || wap.voicestream.com ||<br />
|- <br />
| USA || T-mobile || Regular internet plan || internet2.voicestream.com ||<br />
|- <br />
| USA || T-mobile || "VPN" internet plan || internet3.voicestream.com ||<br />
|- <br />
| USA || Cingular (AT&T) || Less than full internet || wap.cingular ||<br />
|-<br />
| Finland || Saunalahti || Any || internet.saunalahti ||<br />
|-<br />
| Finland || Sonera || Any, behind NAT || internet ||<br />
|-<br />
| Finland || Sonera || Any, public IP || prointernet ||<br />
|-<br />
| Germany || T-Mobile || || internet.t-mobile ||<br />
|-<br />
| Germany || E-Plus || BASE (and others?) || internet.eplus.de || 'AT+CGDCONT=1,"ip","internet.eplus.de"'<br />
|-<br />
| UK || T-Mobile|| || general.t-mobile.uk ||<br />
|-<br />
|}<br />
<br />
<br />
== Automatically using GPRS ==<br />
<br />
Once you have finished debugging your gprs-connect-chat and gprs options files, you may wish to automatically connect whenever needed and hang up when finished. Make sure you understand the impact of this change to your carrier plan billing. This is not recommended unless you have a large-use or unlimited data plan. These scripts do NOT prompt you before connecting.<br />
<br />
Create this file as /etc/ppp/ppp_on_boot and chmod +x. The /etc/init.d/ppp script will call it to set up the daemon.<br />
<pre><br />
###!/bin/sh<br />
#<br />
# Rename this file to ppp_on_boot and pppd will be fired up as<br />
# soon as the system comes up, connecting to `provider'.<br />
#<br />
# If you also make this file executable, and replace the first line<br />
# with just "#!/bin/sh", the commands below will be executed instead.<br />
#<br />
<br />
# The location of the ppp daemon itself (shouldn't need to be changed)<br />
PPPD=/usr/sbin/pppd<br />
<br />
# The default provider to connect to<br />
$PPPD file /etc/ppp/gprs<br />
<br />
# Additional connections, which would just use settings from<br />
# /etc/ppp/options.<tty><br />
#$PPPD ttyS0<br />
#$PPPD ttyS1<br />
#$PPPD ttyS2<br />
#$PPPD ttyS3<br />
</pre><br />
<br />
In the 'gprs' file above, insert the following after "holdoff 3":<br />
<pre><br />
# Connect only if needed<br />
demand <br />
<br />
# Disconnect if idle <br />
idle 20<br />
</pre><br />
<br />
<br />
[[Category:Documentation]]<br />
[[Category:Developer software]]<br />
<br />
[[Category:Guides]]</div>Sagacishttp://wiki.openmoko.org/wiki/Manually_using_GPRSManually using GPRS2007-08-29T03:32:28Z<p>Sagacis: Working toward an Automatic GPRS page</p>
<hr />
<div>You need to have [[GSM]] parts already initialized, with modem logged in to the network, for this to work. It is best to test it by doing test call. The GPRS connection is made using the PPP protocol to a server identified by an "APN" at the network operator.<br />
<br />
Depending on the APN, you may need password authentication using CHAP or PAP. You can add the following default line for "password-less" connections:<br />
<pre><br />
# client server secret IP addresses<br />
* * "" *<br />
</pre><br />
<br />
For CHAP, lines in /etc/ppp/chap-secrets are used. For PAP, the lines are in /etc/ppp/pap-secrets. The client should match the "user" option in pppd the config file (below). You can use * to mean any here, but the option user "" doesn't mean empty!<br />
<br />
For example:<br />
<pre><br />
# Secrets for authentication using CHAP<br />
# client server secret IP addresses<br />
* * "" *<br />
"gprs" * "gprs" *<br />
"eplus" * "gprs" * <br />
</pre><br />
<br />
You'll need /etc/ppp/peers/gprs:<br />
<pre><br />
# File:<br />
# gprs<br />
#<br />
# Description:<br />
# This file holds the pppd options for GPRS<br />
<br />
# To give some debug info (could be provided on command line too)<br />
#debug<br />
<br />
# To keep pppd output on the terminal (could be provided on command line too)<br />
nodetach<br />
<br />
# Serial device to which the GPRS modem is connected<br />
/dev/ttySAC0 # Raw serial on Neo1973<br />
#/dev/ircomm0 # IrDA<br />
#/dev/ttyACM0 # USB serial cable<br />
<br />
# Serial port line speed<br />
115200<br />
<br />
# use hardware flow control<br />
crtscts # serial cables etc.<br />
#nocrtscts # IrDA<br />
<br />
# time between retries<br />
holdoff 3<br />
<br />
# Connect script<br />
connect /etc/ppp/peers/gprs-connect-chat<br />
<br />
# Disconnect script<br />
disconnect /etc/ppp/peers/gprs-disconnect-chat<br />
<br />
# IP addresses:<br />
# - accept peers idea of our local address and set address peer as 10.0.0.1<br />
# (any address would do, since IPCP gives 0.0.0.0 to it)<br />
# - if you use the 10. network at home or something and pppd rejects it,<br />
# change the address to something else<br />
:10.0.0.1<br />
<br />
# pppd must not propose any IP address to the peer!<br />
noipdefault<br />
<br />
# Accept peers idea of our local address<br />
ipcp-accept-local<br />
<br />
# No ppp compression<br />
novj<br />
novjccomp<br />
<br />
# Add default route<br />
defaultroute<br />
<br />
# Replace any other default route for the time of the connection:<br />
replacedefaultroute<br />
<br />
# very long timeouts (unwise?)<br />
lcp-echo-interval 300<br />
lcp-echo-failure 40000<br />
<br />
# don't require the other end to authenticate to us<br />
noauth<br />
<br />
# username to use for authentication, should match "client" in /etc/ppp/{chap,pap}-secrets<br />
user "gprs" ## opt out for eplus/pap<br />
#user "eplus" ## opt in for eplus/pap<br />
</pre><br />
<br />
And you'll need /etc/ppp/peers/gprs-connect-chat (needs "chmod +x"):<br />
<br />
<pre><br />
#!/bin/sh<br />
#<br />
# File:<br />
# chat-gprs-connect<br />
#<br />
# Description:<br />
# chat script to open Sonera GPRS service with GPRS phones. If ppp<br />
# negotiation stalls, try restarting the phone. To try with other GPRS<br />
# operator setting, change the PDP contex setting. The settings work with<br />
# all Ericsson models, but Nokia 8310 does not suppor QoS parameters with<br />
# AT commands, so just delete those lines and it'll work.<br />
#<br />
# Set PDP context CID=1, protocol=IP, APN=internet:<br />
# AT+CGDCONT=1,"IP","internet","",0,0<br />
#<br />
# Set CID=1 QoS requirements from the network, not supported by 8310:<br />
# AT+CGQREQ=1,0,0,0,0,0<br />
#<br />
# Set CID=1 minimum acceptable QoS parameters, not supported by 8310:<br />
# AT+CGQMIN=1,0,0,0,0,0<br />
#<br />
# 'Call' CID=1 (activate PDP context one, perform GPRS attach):<br />
# ATD*99***1#<br />
#<br />
# The actual chat script:<br />
exec chat \<br />
TIMEOUT 22 \<br />
ECHO ON \<br />
ABORT '\nBUSY\r' \<br />
ABORT '\nERROR\r' \<br />
ABORT '\nNO ANSWER\r' \<br />
ABORT '\nNO CARRIER\r' \<br />
ABORT '\nNO DIALTONE\r' \<br />
ABORT '\nRINGING\r\n\r\nRINGING\r' \<br />
SAY "Press CTRL-C to close the connection at any stage!" \<br />
SAY "\ndefining PDP context...\n" \<br />
"" "\d" \<br />
"" "atz" \<br />
OK "ate1" \<br />
OK 'at+cgdcont=1,"ip","internet","0.0.0.0",0,0' \<br />
TIMEOUT 22 \<br />
OK ATDT*99***1# \<br />
TIMEOUT 22 \<br />
SAY "\nwaiting for connect...\n" \<br />
CONNECT "" \<br />
SAY "\nConnected." \<br />
SAY "\nIf the following ppp negotiations fail,\n" \<br />
SAY "try restarting the phone.\n"<br />
</pre><br />
<br />
You will need to adjust the APN name "internet" in at+cgdcont line to match what your network operator provides. <br />
<br />
<br />
Also good to have is /etc/ppp/peers/gprs-disconnect-chat (needs "chmod +x"):<br />
<br />
<pre><br />
#!/bin/sh<br />
<br />
exec /usr/sbin/chat -V -s -S \<br />
ABORT "BUSY" \<br />
ABORT "ERROR" \<br />
ABORT "NO DIALTONE" \<br />
SAY "\nSending break to the modem\n" \<br />
"" "\K" \<br />
"" "\K" \<br />
"" "\K" \<br />
"" "+++ATH" \<br />
"" "+++ATH" \<br />
"" "+++ATH" \<br />
"NO CARRIER" "" \<br />
SAY "\nPDP context detached\n"<br />
</pre><br />
<br />
Then, after initializing GSM, you should be able to initialize GPRS by pppd call gprs. Good luck!<br />
<br />
To dial in - and get verbose output - use pppd<br />
<pre><br />
pppd debug call gprs<br />
</pre><br />
<br />
<br />
Some APN names for reference:<br />
<br />
{| border="1"<br />
! Country<br />
! Carrier<br />
! Plan<br />
! APN<br />
! AT-CMD<br />
|-<br />
| USA || T-mobile || Anything less than full internet || wap.voicestream.com ||<br />
|- <br />
| USA || T-mobile || Regular internet plan || internet2.voicestream.com ||<br />
|- <br />
| USA || T-mobile || "VPN" internet plan || internet3.voicestream.com ||<br />
|- <br />
| USA || Cingular (AT&T) || Less than full internet || wap.cingular ||<br />
|-<br />
| Finland || Saunalahti || Any || internet.saunalahti ||<br />
|-<br />
| Finland || Sonera || Any, behind NAT || internet ||<br />
|-<br />
| Finland || Sonera || Any, public IP || prointernet ||<br />
|-<br />
| Germany || T-Mobile || || internet.t-mobile ||<br />
|-<br />
| Germany || E-Plus || BASE (and others?) || internet.eplus.de || 'AT+CGDCONT=1,"ip","internet.eplus.de"'<br />
|-<br />
| UK || T-Mobile|| || general.t-mobile.uk ||<br />
|-<br />
|}<br />
<br />
<br />
== Automatically using GPRS ==<br />
<br />
Create this file as /etc/ppp/ppp_on_boot and chmod +x. The /etc/init.d/ppp script will call it to set up the daemon.<br />
<pre><br />
###!/bin/sh<br />
#<br />
# Rename this file to ppp_on_boot and pppd will be fired up as<br />
# soon as the system comes up, connecting to `provider'.<br />
#<br />
# If you also make this file executable, and replace the first line<br />
# with just "#!/bin/sh", the commands below will be executed instead.<br />
#<br />
<br />
# The location of the ppp daemon itself (shouldn't need to be changed)<br />
PPPD=/usr/sbin/pppd<br />
<br />
# The default provider to connect to<br />
$PPPD file /etc/ppp/gprs<br />
<br />
# Additional connections, which would just use settings from<br />
# /etc/ppp/options.<tty><br />
#$PPPD ttyS0<br />
#$PPPD ttyS1<br />
#$PPPD ttyS2<br />
#$PPPD ttyS3<br />
</pre><br />
<br />
In the 'gprs' file above, insert the following after "holdoff 3":<br />
<pre><br />
# Connect only if needed<br />
demand <br />
<br />
# Disconnect if idle <br />
idle 20<br />
</pre><br />
<br />
<br />
[[Category:Documentation]]<br />
[[Category:Developer software]]<br />
<br />
[[Category:Guides]]</div>Sagacis