<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Xanadu73</id>
	<title>WebOS Internals - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Xanadu73"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/Xanadu73"/>
	<updated>2026-04-16T03:55:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=BadBooty&amp;diff=17931</id>
		<title>BadBooty</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=BadBooty&amp;diff=17931"/>
		<updated>2011-08-26T16:32:15Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style='position: relative;'&amp;gt;&lt;br /&gt;
{{application&lt;br /&gt;
|name=Bad Booty&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.0.0 &amp;lt;br /&amp;gt;(06-06-2011)&lt;br /&gt;
|tag=Fun&lt;br /&gt;
|screenshot=Badbooty_2011-06-06_154303.png&lt;br /&gt;
|description=No mess!&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== Summary ==&lt;br /&gt;
Hit the buttons and point your finger at someone else!&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=17751</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=17751"/>
		<updated>2011-08-19T03:00:01Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.19 - June 13, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook_2011-03-06_070047.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but had become largely abandoned.  It is being dusted off, getting issues fixed and having features added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Key Features=&lt;br /&gt;
Coming soon:&lt;br /&gt;
*Bookmarks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Current:&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  Features will continue to be added as they are thought up and/or requested.&lt;br /&gt;
&lt;br /&gt;
Currently, git is inline with release, feature wise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The page fade scrim disappears sometimes.  I really don't see why.  I've verified a hundred times it is hitting that part of the code EVERY page load.&lt;br /&gt;
*There's a fair amount of Mojo specific things. Two things here:&lt;br /&gt;
**With Mojo dieing, any Mojo-isms need to have Enyo equivalents.&lt;br /&gt;
**Bag Palm specific stuff (Mojo/Enyo) and move to straight HTML5/JS for use under whatever Palm does and portability to other mobile OS's.&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
The official App Catalog Version can be found in the App Catalog on your device, or through [http://www.precentral.net/simple-big-book-1 this web page].  The git version (raw source) can be downloaded by using git on your computer:&lt;br /&gt;
 git clone git://git.webos-internals.org/applications/simplebigbook.git&lt;br /&gt;
And installing it with Preware by building an ipk and manually installing it on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Testing_Feeds&amp;diff=17577</id>
		<title>Testing Feeds</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Testing_Feeds&amp;diff=17577"/>
		<updated>2011-08-03T03:07:07Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Using Preware */  Should be much better spacing (and I forgot to get rid of borders...)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Rules that you must agree to before using these feeds=&lt;br /&gt;
&lt;br /&gt;
Before you use our testing feeds, please read and agree to the following rules:&lt;br /&gt;
[[image:Tux_with_Warning.png|frameless|right]]&lt;br /&gt;
# Anyone participating in WebOS Internals alpha testing of any kind must be prepared to fully erase and webOS Doctor their device at a moment's notice without warning and without any regrets or complaints.&lt;br /&gt;
# They must be prepared to and able to log into the command line on the device and type Linux commands when instructed to do so. Knowing Linux commands ahead of time is preferred, but not required if you are willing to learn them when necessary or can follow instructions without making mistakes.&lt;br /&gt;
# They must be prepared to go to great and extraordinary lengths to try and reliably reproduce any problems they encounter.&lt;br /&gt;
# They must give full and detailed bug reports, leaving out no piece of information which could possibly be remotely connected to the problem.&lt;br /&gt;
# They must read any and all documentation and forums threads (in their entirety) before asking a question.&lt;br /&gt;
# They must fastidiously follow the forum threads where the alpha testing is being discussed by the authors, and follow precisely any instructions given there.&lt;br /&gt;
&lt;br /&gt;
If you're not prepared to do *all* the above, and do it all in good spirit, then please wait for the public release of the item.&lt;br /&gt;
&lt;br /&gt;
If you are prepared to do *all* the above, then by all means please participate in the alpha testing.&lt;br /&gt;
&lt;br /&gt;
Note that everything above is a function of attitude, not of skill.&lt;br /&gt;
&lt;br /&gt;
=Configuring the WebOS Internals Testing Feeds=&lt;br /&gt;
&lt;br /&gt;
===Using Preware===&lt;br /&gt;
[[image:Tux_with_Pre.png|frameless|right]]&lt;br /&gt;
With Preware versions 0.9.30 and above, incombination with webOS 1.3.5 and above, users are now able to add custom feeds through Preware without the use of a computer. The following instructions will explain how to add the Webos-Internals Testing feeds.&lt;br /&gt;
&lt;br /&gt;
Note that you will need to enable *TWO* feeds below.  You need the *ALL* feed and you need the device-specific feed as well (armv7, armv6 or i686).&lt;br /&gt;
&lt;br /&gt;
 {| border=&amp;quot;0&amp;quot; width=&amp;quot;470&amp;quot;&lt;br /&gt;
 |colspan=&amp;quot;2&amp;quot; align=&amp;quot;left&amp;quot;|'''Target Device:''' ALL&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Name:'''||webos-testing-all&lt;br /&gt;
 |-&lt;br /&gt;
 |'''URL:'''||[http://ipkg.preware.org/feeds/webos-internals/testing/all/ http://ipkg.preware.org/feeds/webos-internals/testing/all]&lt;br /&gt;
 |-&lt;br /&gt;
 |}&amp;lt;BR&amp;gt;&lt;br /&gt;
 {| border=&amp;quot;0&amp;quot; width=&amp;quot;470&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |colspan=&amp;quot;2&amp;quot; align=&amp;quot;left&amp;quot;|'''Target Device:''' &amp;lt;nowiki&amp;gt;Pre/Pre+/Pre2/Veer/TouchPad/Pre3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Name:'''||webos-testing-armv7&lt;br /&gt;
 |-&lt;br /&gt;
 |'''URL:'''||[http://ipkg.preware.org/feeds/webos-internals/testing/armv7/ http://ipkg.preware.org/feeds/webos-internals/testing/armv7]&lt;br /&gt;
 |-&lt;br /&gt;
 |}&amp;lt;BR&amp;gt;&lt;br /&gt;
 {| border=&amp;quot;0&amp;quot; width=&amp;quot;470&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |colspan=&amp;quot;2&amp;quot; align=&amp;quot;left&amp;quot;|'''Target Device:''' &amp;lt;nowiki&amp;gt;Pixi/Pixi+&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Name:'''||webos-testing-armv6&lt;br /&gt;
 |-&lt;br /&gt;
 |'''URL:'''||[http://ipkg.preware.org/feeds/webos-internals/testing/armv6/ http://ipkg.preware.org/feeds/webos-internals/testing/armv6]&lt;br /&gt;
 |-&lt;br /&gt;
 |}&amp;lt;BR&amp;gt;&lt;br /&gt;
 {| border=&amp;quot;0&amp;quot; width=&amp;quot;470&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |colspan=&amp;quot;2&amp;quot; align=&amp;quot;left&amp;quot;|'''Target Device:''' Palm SDK Emulator&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Name:'''||webos-testing-i686&lt;br /&gt;
 |-&lt;br /&gt;
 |'''URL:'''||[http://ipkg.preware.org/feeds/webos-internals/testing/i686/ http://ipkg.preware.org/feeds/webos-internals/testing/i686]&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
#Open Preware and wait for it to finish loading.&lt;br /&gt;
#Open the App Menu (tap &amp;quot;Preware&amp;quot; in the top left corner of the screen) and tap Manage feeds.&lt;br /&gt;
#Scroll to the bottom until you see the New Feed box.&lt;br /&gt;
#Type or paste a name and corresponding URL from above in the appropriate text boxes.  Make sure the URL does *not* have a slash at the end.&lt;br /&gt;
#Make sure the IS COMPRESSED option is set to YES.&lt;br /&gt;
#Tap Add Feed and then tap Yes when the alert pops up.&lt;br /&gt;
#Repeat these steps for each feed you wish to enable.&lt;br /&gt;
#Gesture swipe back.  Preware will alert you that you have added feeds and ask if you want to update them now.  Choose YES.&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
Congratulations, you have just added a custom feed! For adding other feeds, be sure to replace the name and URL in these instructions with the proper name and URL.&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
 '''TIP:'''&lt;br /&gt;
 &lt;br /&gt;
 shift+tap (and drag) on text to select&lt;br /&gt;
 gesture+c to copy&lt;br /&gt;
 gesture+v to paste&lt;br /&gt;
 Make sure to delete 'http://' before pasting the URL if the URL already contains 'http://'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Using a Computer===&lt;br /&gt;
[[image:Tux_Chat.png|frameless|right]]&lt;br /&gt;
1. Gain access to the shell, either through novaterm/ssh or via the terminal application available through the regular WebOS Internals Feed&amp;lt;BR&amp;gt;&lt;br /&gt;
2. Execute the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /media/cryptofs/apps/etc/ipkg&lt;br /&gt;
echo &amp;quot;src/gz webosinternals-testing http://ipkg.preware.org/feeds/webos-internals/testing/all&amp;quot; &amp;gt; webos-internals-testing.conf&lt;br /&gt;
echo &amp;quot;src/gz webosinternals-testing-armv7 http://ipkg.preware.org/feeds/webos-internals/testing/armv7&amp;quot; &amp;gt;&amp;gt; webos-internals-testing.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
3. Once Preware is launched, select &amp;quot;Update Feeds&amp;quot; from the Application Menu.&lt;br /&gt;
&lt;br /&gt;
Replace 'armv7' with 'armv6' or 'i686' in the instructions above if you are using a Pixi or the Emulator respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Kernel Testing Feeds=&lt;br /&gt;
[http://www.webos-internals.org/index.php?title=Testing_Feeds&amp;amp;action=submit#Rules_that_you_must_agree_to_before_using_these_feeds Re-read the rules above before continuing.]&lt;br /&gt;
Also see http://forums.precentral.net/2532084-post3.html for further warnings up to and including your device wiping itself, (literally) melting, and/or eating your kitten.  &lt;br /&gt;
&lt;br /&gt;
If you do not want a puddle of molten plastic and silicon where your Pre/Pixi once was, DO NOT CONTINUE.  &lt;br /&gt;
&lt;br /&gt;
You have been warned.  &lt;br /&gt;
&lt;br /&gt;
[http://developer.palm.com/blog/2010/03/a-statement-on-the-overclocking-patches/ And Palm is not going to help you.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Type 'webos-kernels-testing' (without the quotes, and using lower case letters and hyphens only) in the NAME field of the NEW FEED section of the Manage Feeds screen accessible from the Preware application menu. If you make any error in this feed name, the URL below will not be replaced by the real URL when the device is rebooted, and you will not get access to the feeds. MAKE SURE YOU GET THE FEED NAME CORRECT!&lt;br /&gt;
#Put http://preware.is.awesome.com/ in the URL field. Note that this is not a real URL - it is a placeholder only. Again, you need to get the feed name correct for the real URL to be replaced correctly when the device is rebooted.&lt;br /&gt;
#Leave the IS COMPRESSED toggled on.&lt;br /&gt;
#Hit &amp;quot;Add Feed&amp;quot; and read the disclaimer carefully. Yes, the things you might find in kernel testing feeds are likely to completely wipe your device without warning. Hit the Ok button only if you are prepared to lose all your data and destroy your device without any regrets or complaints.&lt;br /&gt;
#Immediately reboot the device by simultaneously pressing the Opt, Sym and R keys. If you don't reboot the device, or if you only do a Luna Restart instead of a Device Reboot, then placeholder URL will not be replaced by the real URL and you will not get access to the feeds.  MAKE SURE YOU REBOOT THE DEVICE!&lt;br /&gt;
#Wait for the device to boot. If you got the feed name correct, the placeholder URL will be replaced by the real feed URL automatically.&lt;br /&gt;
#Open Preware, and hit Update Feeds. Make sure you have a working network connection for this.&lt;br /&gt;
&lt;br /&gt;
Preware will repair the URL field automatically when the device boots.  Did I mention that you have to get the feed name precisely correct for this to happen? MAKE SURE YOU GET THE FEED NAME CORRECT AND REBOOT THE DEVICE!&lt;br /&gt;
&lt;br /&gt;
You must be running Preware 1.1.4 or later for this to work (yes, this has been possible for quite some time).&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Testing_Feeds&amp;diff=17575</id>
		<title>Testing Feeds</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Testing_Feeds&amp;diff=17575"/>
		<updated>2011-08-03T03:04:36Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Using Preware */  The empty-cell-as-table-spacer looked odd in mobile view...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Rules that you must agree to before using these feeds=&lt;br /&gt;
&lt;br /&gt;
Before you use our testing feeds, please read and agree to the following rules:&lt;br /&gt;
[[image:Tux_with_Warning.png|frameless|right]]&lt;br /&gt;
# Anyone participating in WebOS Internals alpha testing of any kind must be prepared to fully erase and webOS Doctor their device at a moment's notice without warning and without any regrets or complaints.&lt;br /&gt;
# They must be prepared to and able to log into the command line on the device and type Linux commands when instructed to do so. Knowing Linux commands ahead of time is preferred, but not required if you are willing to learn them when necessary or can follow instructions without making mistakes.&lt;br /&gt;
# They must be prepared to go to great and extraordinary lengths to try and reliably reproduce any problems they encounter.&lt;br /&gt;
# They must give full and detailed bug reports, leaving out no piece of information which could possibly be remotely connected to the problem.&lt;br /&gt;
# They must read any and all documentation and forums threads (in their entirety) before asking a question.&lt;br /&gt;
# They must fastidiously follow the forum threads where the alpha testing is being discussed by the authors, and follow precisely any instructions given there.&lt;br /&gt;
&lt;br /&gt;
If you're not prepared to do *all* the above, and do it all in good spirit, then please wait for the public release of the item.&lt;br /&gt;
&lt;br /&gt;
If you are prepared to do *all* the above, then by all means please participate in the alpha testing.&lt;br /&gt;
&lt;br /&gt;
Note that everything above is a function of attitude, not of skill.&lt;br /&gt;
&lt;br /&gt;
=Configuring the WebOS Internals Testing Feeds=&lt;br /&gt;
&lt;br /&gt;
===Using Preware===&lt;br /&gt;
[[image:Tux_with_Pre.png|frameless|right]]&lt;br /&gt;
With Preware versions 0.9.30 and above, incombination with webOS 1.3.5 and above, users are now able to add custom feeds through Preware without the use of a computer. The following instructions will explain how to add the Webos-Internals Testing feeds.&lt;br /&gt;
&lt;br /&gt;
Note that you will need to enable *TWO* feeds below.  You need the *ALL* feed and you need the device-specific feed as well (armv7, armv6 or i686).&lt;br /&gt;
&lt;br /&gt;
 {| border=&amp;quot;1&amp;quot; width=&amp;quot;470&amp;quot;&lt;br /&gt;
 |colspan=&amp;quot;2&amp;quot; align=&amp;quot;left&amp;quot;|'''Target Device:''' ALL&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Name:'''||webos-testing-all&lt;br /&gt;
 |-&lt;br /&gt;
 |'''URL:'''||[http://ipkg.preware.org/feeds/webos-internals/testing/all/ http://ipkg.preware.org/feeds/webos-internals/testing/all]&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| border=&amp;quot;1&amp;quot; width=&amp;quot;470&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |colspan=&amp;quot;2&amp;quot; align=&amp;quot;left&amp;quot;|'''Target Device:''' &amp;lt;nowiki&amp;gt;Pre/Pre+/Pre2/Veer/TouchPad/Pre3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Name:'''||webos-testing-armv7&lt;br /&gt;
 |-&lt;br /&gt;
 |'''URL:'''||[http://ipkg.preware.org/feeds/webos-internals/testing/armv7/ http://ipkg.preware.org/feeds/webos-internals/testing/armv7]&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| border=&amp;quot;1&amp;quot; width=&amp;quot;470&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |colspan=&amp;quot;2&amp;quot; align=&amp;quot;left&amp;quot;|'''Target Device:''' &amp;lt;nowiki&amp;gt;Pixi/Pixi+&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Name:'''||webos-testing-armv6&lt;br /&gt;
 |-&lt;br /&gt;
 |'''URL:'''||[http://ipkg.preware.org/feeds/webos-internals/testing/armv6/ http://ipkg.preware.org/feeds/webos-internals/testing/armv6]&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {| border=&amp;quot;1&amp;quot; width=&amp;quot;470&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |colspan=&amp;quot;2&amp;quot; align=&amp;quot;left&amp;quot;|'''Target Device:''' Palm SDK Emulator&lt;br /&gt;
 |-&lt;br /&gt;
 |'''Name:'''||webos-testing-i686&lt;br /&gt;
 |-&lt;br /&gt;
 |'''URL:'''||[http://ipkg.preware.org/feeds/webos-internals/testing/i686/ http://ipkg.preware.org/feeds/webos-internals/testing/i686]&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
#Open Preware and wait for it to finish loading.&lt;br /&gt;
#Open the App Menu (tap &amp;quot;Preware&amp;quot; in the top left corner of the screen) and tap Manage feeds.&lt;br /&gt;
#Scroll to the bottom until you see the New Feed box.&lt;br /&gt;
#Type or paste a name and corresponding URL from above in the appropriate text boxes.  Make sure the URL does *not* have a slash at the end.&lt;br /&gt;
#Make sure the IS COMPRESSED option is set to YES.&lt;br /&gt;
#Tap Add Feed and then tap Yes when the alert pops up.&lt;br /&gt;
#Repeat these steps for each feed you wish to enable.&lt;br /&gt;
#Gesture swipe back.  Preware will alert you that you have added feeds and ask if you want to update them now.  Choose YES.&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
Congratulations, you have just added a custom feed! For adding other feeds, be sure to replace the name and URL in these instructions with the proper name and URL.&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
 '''TIP:'''&lt;br /&gt;
 &lt;br /&gt;
 shift+tap (and drag) on text to select&lt;br /&gt;
 gesture+c to copy&lt;br /&gt;
 gesture+v to paste&lt;br /&gt;
 Make sure to delete 'http://' before pasting the URL if the URL already contains 'http://'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Using a Computer===&lt;br /&gt;
[[image:Tux_Chat.png|frameless|right]]&lt;br /&gt;
1. Gain access to the shell, either through novaterm/ssh or via the terminal application available through the regular WebOS Internals Feed&amp;lt;BR&amp;gt;&lt;br /&gt;
2. Execute the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /media/cryptofs/apps/etc/ipkg&lt;br /&gt;
echo &amp;quot;src/gz webosinternals-testing http://ipkg.preware.org/feeds/webos-internals/testing/all&amp;quot; &amp;gt; webos-internals-testing.conf&lt;br /&gt;
echo &amp;quot;src/gz webosinternals-testing-armv7 http://ipkg.preware.org/feeds/webos-internals/testing/armv7&amp;quot; &amp;gt;&amp;gt; webos-internals-testing.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
3. Once Preware is launched, select &amp;quot;Update Feeds&amp;quot; from the Application Menu.&lt;br /&gt;
&lt;br /&gt;
Replace 'armv7' with 'armv6' or 'i686' in the instructions above if you are using a Pixi or the Emulator respectively.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Kernel Testing Feeds=&lt;br /&gt;
[http://www.webos-internals.org/index.php?title=Testing_Feeds&amp;amp;action=submit#Rules_that_you_must_agree_to_before_using_these_feeds Re-read the rules above before continuing.]&lt;br /&gt;
Also see http://forums.precentral.net/2532084-post3.html for further warnings up to and including your device wiping itself, (literally) melting, and/or eating your kitten.  &lt;br /&gt;
&lt;br /&gt;
If you do not want a puddle of molten plastic and silicon where your Pre/Pixi once was, DO NOT CONTINUE.  &lt;br /&gt;
&lt;br /&gt;
You have been warned.  &lt;br /&gt;
&lt;br /&gt;
[http://developer.palm.com/blog/2010/03/a-statement-on-the-overclocking-patches/ And Palm is not going to help you.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Type 'webos-kernels-testing' (without the quotes, and using lower case letters and hyphens only) in the NAME field of the NEW FEED section of the Manage Feeds screen accessible from the Preware application menu. If you make any error in this feed name, the URL below will not be replaced by the real URL when the device is rebooted, and you will not get access to the feeds. MAKE SURE YOU GET THE FEED NAME CORRECT!&lt;br /&gt;
#Put http://preware.is.awesome.com/ in the URL field. Note that this is not a real URL - it is a placeholder only. Again, you need to get the feed name correct for the real URL to be replaced correctly when the device is rebooted.&lt;br /&gt;
#Leave the IS COMPRESSED toggled on.&lt;br /&gt;
#Hit &amp;quot;Add Feed&amp;quot; and read the disclaimer carefully. Yes, the things you might find in kernel testing feeds are likely to completely wipe your device without warning. Hit the Ok button only if you are prepared to lose all your data and destroy your device without any regrets or complaints.&lt;br /&gt;
#Immediately reboot the device by simultaneously pressing the Opt, Sym and R keys. If you don't reboot the device, or if you only do a Luna Restart instead of a Device Reboot, then placeholder URL will not be replaced by the real URL and you will not get access to the feeds.  MAKE SURE YOU REBOOT THE DEVICE!&lt;br /&gt;
#Wait for the device to boot. If you got the feed name correct, the placeholder URL will be replaced by the real feed URL automatically.&lt;br /&gt;
#Open Preware, and hit Update Feeds. Make sure you have a working network connection for this.&lt;br /&gt;
&lt;br /&gt;
Preware will repair the URL field automatically when the device boots.  Did I mention that you have to get the feed name precisely correct for this to happen? MAKE SURE YOU GET THE FEED NAME CORRECT AND REBOOT THE DEVICE!&lt;br /&gt;
&lt;br /&gt;
You must be running Preware 1.1.4 or later for this to work (yes, this has been possible for quite some time).&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_2_Upgrade_Pre_Minus&amp;diff=17389</id>
		<title>WebOS 2 Upgrade Pre Minus</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_2_Upgrade_Pre_Minus&amp;diff=17389"/>
		<updated>2011-07-19T01:51:16Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Minimal System Logging */ oops...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are instructions for speeding up your Pre Minus once you have installed WebOS 2.1. As Jon Rubenstein commented at the February 9th event, the Pre Minus simply does not have enough horsepower at stock to run WebOS 2.1 efficiently. Follow this guideline to overclock, patch, hack and modify WebOS so that it will run as fast and as smoothly as possible with WebOS 2.1. &lt;br /&gt;
&lt;br /&gt;
I must note that while all of these steps do help significantly, you still will find the performance not perfect. The Pre Minus hardware is over 2 years old now. You simply can't get something from nothing. These steps help greatly, but do not expect a miracle. &lt;br /&gt;
&lt;br /&gt;
=Warnings and other preambles=&lt;br /&gt;
&lt;br /&gt;
While it is nearly impossible to brick your Pre, you are still modifying the device heavily with these steps. BACK YOUR DEVICE UP FIRST!!!! Back up apps with Save/Restore from Preware, and then copy the entire USB partition to your harddrive on a computer. You will be sorry if you don't.&lt;br /&gt;
&lt;br /&gt;
Also: While patching does not void your warranty, overclocking does. One of these steps involves using a testing kernel feed, and the warnings for that are available on the page we will be referencing for it. Please read that warning. Ill summerise: It voids your warranty and there is a possibility that your phone will turn into a pile of liquid goo. Ok not really but it could break it. So far though I only know of one instance where overclocking destroyed a Pre. &lt;br /&gt;
&lt;br /&gt;
Also these steps have been tried with WebOS 2.1 ONLY. If you attempt any of them with WebOS 1.4.5, do so at your own risk. &lt;br /&gt;
&lt;br /&gt;
=pre.... Pre Setup=&lt;br /&gt;
&lt;br /&gt;
Before starting, please ensure of something: &lt;br /&gt;
&lt;br /&gt;
1. Put your Pre into developer mode. In Just Type write: &amp;quot;upupdowndownleftrightleftrightbastart&amp;quot;. Open the Developer Mode app. Switch to 'ON'. Even if you do not use a computer once to perform these operations, you might brick WebOS and its essential you have developer mode on in order to change any files you messed up from a computer terminal. &lt;br /&gt;
&lt;br /&gt;
2. Install Preware. If you have not, install the app Preware to your device. Instructions found here: [http://theunlockr.com/2010/04/29/how-to-install-preware-on-the-palm-pre-install-root-required-apps-themes-patches-and-tweaks/ | Install Preware]&lt;br /&gt;
&lt;br /&gt;
=The Steps to Speed Up the Pre Minus.=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 1: Overclocking==&lt;br /&gt;
&lt;br /&gt;
One of the most important steps is to overclock the processor and RAM using Unixpsycho's F105 Kernel. This kernel allows you to overclock the CPU to 1ghz as well as overclock the RAM, which is essential as RAM is the biggest issue with WebOS 2.1. At rest on a Pre2, I have seen that WebOS 2.1 uses about 300mb of ram. The Palm Pre Minus only has 256mb, so we are already using up more than 100% of the RAM of the phone before we even open an app. We must speed up and manage RAM as best we can in order to have any hope of running WebOS 2.1 smoothly. &lt;br /&gt;
&lt;br /&gt;
The best way to install this kernel is through Preware.&lt;br /&gt;
&lt;br /&gt;
1. First follow the steps to add the testing kernel feeds in Preware here: [http://www.webos-internals.org/wiki/Testing_Feeds#Kernel_Testing_Feeds | Kernel Testing feeds]&lt;br /&gt;
&lt;br /&gt;
2. Once you have installed the feeds, go to Preware and go to '''Available Packages &amp;gt; Kernel &amp;gt; All ''' and install the &amp;quot;F105 Thunderchief&amp;quot; Kernel. &lt;br /&gt;
&lt;br /&gt;
3. Install Govnah from Preware as well. This is used to modify and monitor the CPU speeds. &lt;br /&gt;
&lt;br /&gt;
4. Restart&lt;br /&gt;
&lt;br /&gt;
Your phone should now be overclocked to 1Ghz and your RAM overclocked as well.&lt;br /&gt;
&lt;br /&gt;
==Step 2: Installing Patches to speed up the phone==&lt;br /&gt;
&lt;br /&gt;
Patches are a great and easy way to speed up the Pre Minus. They easily modify the code in WebOS so that your phone runs faster or is more responsive due to several different reasons. &lt;br /&gt;
&lt;br /&gt;
Here are the list of patches to install from Preware in order to speed up the Pre Minus: (They are found under ''' Available Packages &amp;gt; Patches ''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Faster Card Animations HYPER Version&lt;br /&gt;
&lt;br /&gt;
'''Smooth Scrolling&lt;br /&gt;
&lt;br /&gt;
'''Increase Touch Sensitivity and Smoothness&lt;br /&gt;
&lt;br /&gt;
'''Remove Dropped Packet Logging&lt;br /&gt;
&lt;br /&gt;
'''Unset CFQ IO Scheduler&lt;br /&gt;
&lt;br /&gt;
'''Unthrottle Download Manager'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DO NOT install &amp;quot;Muffle System Logging&amp;quot; patch as this WILL break WebOS from indexing your photos, and any photos you take or download will disappear from the Photos app.&lt;br /&gt;
&lt;br /&gt;
There you have it. Restart your Pre again and it should run faster as well. &lt;br /&gt;
&lt;br /&gt;
==Minimal System Logging==&lt;br /&gt;
&lt;br /&gt;
WebOS by default logs EVERYTHING you do, which can actually bog down the OS quite a bit. To disable this, follow these steps:&lt;br /&gt;
&lt;br /&gt;
1. Open the phone dialer.&lt;br /&gt;
&lt;br /&gt;
2. For Sprint/Verizon/CDMA: Dial ##5647# (##LOGS#) and press SEND. For AT&amp;amp;T/O2/GSM: Dial #*5647# and press SEND.&lt;br /&gt;
&lt;br /&gt;
3. Tap &amp;quot;Change logging levels.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Tap &amp;quot;Set logging to minimal.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Tap OK to confirm.&lt;br /&gt;
&lt;br /&gt;
6. Tap OK again after it finishes.&lt;br /&gt;
&lt;br /&gt;
7. Reboot your Pre.&lt;br /&gt;
&lt;br /&gt;
8. Enjoy the performance boost!&lt;br /&gt;
&lt;br /&gt;
The overclocked kernels do this by default but its better to be safe than sorry and make sure they are disabled.&lt;br /&gt;
&lt;br /&gt;
DO NOT USE THE MUFFLE SYSTEM LOGGING PATCH, IT WILL BREAK YOUR PHOTOS.&lt;br /&gt;
&lt;br /&gt;
==Install Preset Reset==&lt;br /&gt;
&lt;br /&gt;
Go to Preware and install the Homebrew app Preset Reset. Open it and set it to reset your phone every day at a specific time (most likely when you are sleeping) . This way your phone will be nice and fresh in the morning, and the cache and memory leaks from the day before will be wiped clean from the device.&lt;br /&gt;
&lt;br /&gt;
==Install JSTop==&lt;br /&gt;
&lt;br /&gt;
Install &amp;quot;JSTop&amp;quot; from Preware. Open the app and tap the top left where the name &amp;quot;JSTop appears&amp;quot; to access the preferences for the app. Click &amp;quot;Enable Auto GC&amp;quot; and &amp;quot;Disable Notifications&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
This will have JSTop automatically clear out any garbage memory or memory leaks at set intervals, which are pure murder for the RAM starved Pre Minus. &lt;br /&gt;
&lt;br /&gt;
==Cleanup==&lt;br /&gt;
&lt;br /&gt;
Periodically go into apps and clear out any history. This history severally slows the phone down after it builds up. &lt;br /&gt;
&lt;br /&gt;
Phone App - Clear call history&lt;br /&gt;
&lt;br /&gt;
Messaging App - Delete all messages&lt;br /&gt;
&lt;br /&gt;
Email App - Delete any old emails you dont need&lt;br /&gt;
&lt;br /&gt;
Google Maps - Clear search history&lt;br /&gt;
&lt;br /&gt;
Browser - Delete History and Cookies and Cache. &lt;br /&gt;
&lt;br /&gt;
Also, turn off any notification service that you don't need, such as Facebook Updates, etc. All of these services require the app to run in the background to &amp;quot;listen&amp;quot; for notifications and take up RAM. &lt;br /&gt;
&lt;br /&gt;
Remove any Just Type services that you don't use, these also take up indexing cache. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==More advanced hacks==&lt;br /&gt;
&lt;br /&gt;
These next hacks are more advanced and should only be done by those who have some computer experience. They involve using the Terminal as well as installing special patch files to speed up the Pre. These are the most dramatic hacks however that have shown the best performance so far. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Modify System Control Configuration====&lt;br /&gt;
&lt;br /&gt;
Linux allows you to add a file that will modify how the kernel handles using the RAM as well as virtual memory in the Pre Minus. With such little RAM to spare, we are going to modify how Linux stores applications and cache on the Pre to remedy the hanging, stalls and other issues experienced with using WebOS 2.1 on the Pre Minus.&lt;br /&gt;
&lt;br /&gt;
Simply install the .ipk here to install it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reboot your Pre.&lt;br /&gt;
&lt;br /&gt;
Updates will be provided occasionally so come back here to check out newer versions. &lt;br /&gt;
&lt;br /&gt;
===Modify Luna.conf===&lt;br /&gt;
&lt;br /&gt;
There are some modifications that can be done to the luna.conf file on WebOS to speed up the Pre Minus.&lt;br /&gt;
&lt;br /&gt;
For now, the browser app is set to only close when the system runs out of ram. This means that even if you swipe away the Browser card, its still running in the background. The luna.conf has been modified in this patch to close the Browser immediately. &lt;br /&gt;
&lt;br /&gt;
Some other minor tweaks have been added as well. &lt;br /&gt;
&lt;br /&gt;
This will not conflict with the &amp;quot;Increase Touch Sensitivity and Smoothness&amp;quot; patch. &lt;br /&gt;
&lt;br /&gt;
Install it here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Resize Swap File and Disable Compcache===&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_2_Upgrade_Pre_Minus&amp;diff=17387</id>
		<title>WebOS 2 Upgrade Pre Minus</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_2_Upgrade_Pre_Minus&amp;diff=17387"/>
		<updated>2011-07-19T01:42:21Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Minimal System Logging */  Fix #2 instructions for CDMA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are instructions for speeding up your Pre Minus once you have installed WebOS 2.1. As Jon Rubenstein commented at the February 9th event, the Pre Minus simply does not have enough horsepower at stock to run WebOS 2.1 efficiently. Follow this guideline to overclock, patch, hack and modify WebOS so that it will run as fast and as smoothly as possible with WebOS 2.1. &lt;br /&gt;
&lt;br /&gt;
I must note that while all of these steps do help significantly, you still will find the performance not perfect. The Pre Minus hardware is over 2 years old now. You simply can't get something from nothing. These steps help greatly, but do not expect a miracle. &lt;br /&gt;
&lt;br /&gt;
=Warnings and other preambles=&lt;br /&gt;
&lt;br /&gt;
While it is nearly impossible to brick your Pre, you are still modifying the device heavily with these steps. BACK YOUR DEVICE UP FIRST!!!! Back up apps with Save/Restore from Preware, and then copy the entire USB partition to your harddrive on a computer. You will be sorry if you don't.&lt;br /&gt;
&lt;br /&gt;
Also: While patching does not void your warranty, overclocking does. One of these steps involves using a testing kernel feed, and the warnings for that are available on the page we will be referencing for it. Please read that warning. Ill summerise: It voids your warranty and there is a possibility that your phone will turn into a pile of liquid goo. Ok not really but it could break it. So far though I only know of one instance where overclocking destroyed a Pre. &lt;br /&gt;
&lt;br /&gt;
Also these steps have been tried with WebOS 2.1 ONLY. If you attempt any of them with WebOS 1.4.5, do so at your own risk. &lt;br /&gt;
&lt;br /&gt;
=pre.... Pre Setup=&lt;br /&gt;
&lt;br /&gt;
Before starting, please ensure of something: &lt;br /&gt;
&lt;br /&gt;
1. Put your Pre into developer mode. In Just Type write: &amp;quot;upupdowndownleftrightleftrightbastart&amp;quot;. Open the Developer Mode app. Switch to 'ON'. Even if you do not use a computer once to perform these operations, you might brick WebOS and its essential you have developer mode on in order to change any files you messed up from a computer terminal. &lt;br /&gt;
&lt;br /&gt;
2. Install Preware. If you have not, install the app Preware to your device. Instructions found here: [http://theunlockr.com/2010/04/29/how-to-install-preware-on-the-palm-pre-install-root-required-apps-themes-patches-and-tweaks/ | Install Preware]&lt;br /&gt;
&lt;br /&gt;
=The Steps to Speed Up the Pre Minus.=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Step 1: Overclocking==&lt;br /&gt;
&lt;br /&gt;
One of the most important steps is to overclock the processor and RAM using Unixpsycho's F105 Kernel. This kernel allows you to overclock the CPU to 1ghz as well as overclock the RAM, which is essential as RAM is the biggest issue with WebOS 2.1. At rest on a Pre2, I have seen that WebOS 2.1 uses about 300mb of ram. The Palm Pre Minus only has 256mb, so we are already using up more than 100% of the RAM of the phone before we even open an app. We must speed up and manage RAM as best we can in order to have any hope of running WebOS 2.1 smoothly. &lt;br /&gt;
&lt;br /&gt;
The best way to install this kernel is through Preware.&lt;br /&gt;
&lt;br /&gt;
1. First follow the steps to add the testing kernel feeds in Preware here: [http://www.webos-internals.org/wiki/Testing_Feeds#Kernel_Testing_Feeds | Kernel Testing feeds]&lt;br /&gt;
&lt;br /&gt;
2. Once you have installed the feeds, go to Preware and go to '''Available Packages &amp;gt; Kernel &amp;gt; All ''' and install the &amp;quot;F105 Thunderchief&amp;quot; Kernel. &lt;br /&gt;
&lt;br /&gt;
3. Install Govnah from Preware as well. This is used to modify and monitor the CPU speeds. &lt;br /&gt;
&lt;br /&gt;
4. Restart&lt;br /&gt;
&lt;br /&gt;
Your phone should now be overclocked to 1Ghz and your RAM overclocked as well.&lt;br /&gt;
&lt;br /&gt;
==Step 2: Installing Patches to speed up the phone==&lt;br /&gt;
&lt;br /&gt;
Patches are a great and easy way to speed up the Pre Minus. They easily modify the code in WebOS so that your phone runs faster or is more responsive due to several different reasons. &lt;br /&gt;
&lt;br /&gt;
Here are the list of patches to install from Preware in order to speed up the Pre Minus: (They are found under ''' Available Packages &amp;gt; Patches ''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Faster Card Animations HYPER Version&lt;br /&gt;
&lt;br /&gt;
'''Smooth Scrolling&lt;br /&gt;
&lt;br /&gt;
'''Increase Touch Sensitivity and Smoothness&lt;br /&gt;
&lt;br /&gt;
'''Remove Dropped Packet Logging&lt;br /&gt;
&lt;br /&gt;
'''Unset CFQ IO Scheduler&lt;br /&gt;
&lt;br /&gt;
'''Unthrottle Download Manager'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DO NOT install &amp;quot;Muffle System Logging&amp;quot; patch as this WILL break WebOS from indexing your photos, and any photos you take or download will disappear from the Photos app.&lt;br /&gt;
&lt;br /&gt;
There you have it. Restart your Pre again and it should run faster as well. &lt;br /&gt;
&lt;br /&gt;
==Minimal System Logging==&lt;br /&gt;
&lt;br /&gt;
WebOS by default logs EVERYTHING you do, which can actually bog down the OS quite a bit. To disable this, follow these steps:&lt;br /&gt;
&lt;br /&gt;
1. Open the phone dialer.&lt;br /&gt;
&lt;br /&gt;
2. For Sprint/Verizon/CDMA: Dial ##5647 (##LOGS#) and press SEND. For AT&amp;amp;T/O2/GSM: Dial #*5647# and press SEND.&lt;br /&gt;
&lt;br /&gt;
3. Tap &amp;quot;Change logging levels.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. Tap &amp;quot;Set logging to minimal.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Tap OK to confirm.&lt;br /&gt;
&lt;br /&gt;
6. Tap OK again after it finishes.&lt;br /&gt;
&lt;br /&gt;
7. Reboot your Pre.&lt;br /&gt;
&lt;br /&gt;
8. Enjoy the performance boost!&lt;br /&gt;
&lt;br /&gt;
The overclocked kernels do this by default but its better to be safe than sorry and make sure they are disabled.&lt;br /&gt;
&lt;br /&gt;
DO NOT USE THE MUFFLE SYSTEM LOGGING PATCH, IT WILL BREAK YOUR PHOTOS.&lt;br /&gt;
&lt;br /&gt;
==Install Preset Reset==&lt;br /&gt;
&lt;br /&gt;
Go to Preware and install the Homebrew app Preset Reset. Open it and set it to reset your phone every day at a specific time (most likely when you are sleeping) . This way your phone will be nice and fresh in the morning, and the cache and memory leaks from the day before will be wiped clean from the device.&lt;br /&gt;
&lt;br /&gt;
==Install JSTop==&lt;br /&gt;
&lt;br /&gt;
Install &amp;quot;JSTop&amp;quot; from Preware. Open the app and tap the top left where the name &amp;quot;JSTop appears&amp;quot; to access the preferences for the app. Click &amp;quot;Enable Auto GC&amp;quot; and &amp;quot;Disable Notifications&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
This will have JSTop automatically clear out any garbage memory or memory leaks at set intervals, which are pure murder for the RAM starved Pre Minus. &lt;br /&gt;
&lt;br /&gt;
==Cleanup==&lt;br /&gt;
&lt;br /&gt;
Periodically go into apps and clear out any history. This history severally slows the phone down after it builds up. &lt;br /&gt;
&lt;br /&gt;
Phone App - Clear call history&lt;br /&gt;
&lt;br /&gt;
Messaging App - Delete all messages&lt;br /&gt;
&lt;br /&gt;
Email App - Delete any old emails you dont need&lt;br /&gt;
&lt;br /&gt;
Google Maps - Clear search history&lt;br /&gt;
&lt;br /&gt;
Browser - Delete History and Cookies and Cache. &lt;br /&gt;
&lt;br /&gt;
Also, turn off any notification service that you don't need, such as Facebook Updates, etc. All of these services require the app to run in the background to &amp;quot;listen&amp;quot; for notifications and take up RAM. &lt;br /&gt;
&lt;br /&gt;
Remove any Just Type services that you don't use, these also take up indexing cache. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==More advanced hacks==&lt;br /&gt;
&lt;br /&gt;
These next hacks are more advanced and should only be done by those who have some computer experience. They involve using the Terminal as well as installing special patch files to speed up the Pre. These are the most dramatic hacks however that have shown the best performance so far. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Modify System Control Configuration====&lt;br /&gt;
&lt;br /&gt;
Linux allows you to add a file that will modify how the kernel handles using the RAM as well as virtual memory in the Pre Minus. With such little RAM to spare, we are going to modify how Linux stores applications and cache on the Pre to remedy the hanging, stalls and other issues experienced with using WebOS 2.1 on the Pre Minus.&lt;br /&gt;
&lt;br /&gt;
Simply install the .ipk here to install it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reboot your Pre.&lt;br /&gt;
&lt;br /&gt;
Updates will be provided occasionally so come back here to check out newer versions. &lt;br /&gt;
&lt;br /&gt;
===Modify Luna.conf===&lt;br /&gt;
&lt;br /&gt;
There are some modifications that can be done to the luna.conf file on WebOS to speed up the Pre Minus.&lt;br /&gt;
&lt;br /&gt;
For now, the browser app is set to only close when the system runs out of ram. This means that even if you swipe away the Browser card, its still running in the background. The luna.conf has been modified in this patch to close the Browser immediately. &lt;br /&gt;
&lt;br /&gt;
Some other minor tweaks have been added as well. &lt;br /&gt;
&lt;br /&gt;
This will not conflict with the &amp;quot;Increase Touch Sensitivity and Smoothness&amp;quot; patch. &lt;br /&gt;
&lt;br /&gt;
Install it here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Resize Swap File and Disable Compcache===&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=BadBooty&amp;diff=16855</id>
		<title>BadBooty</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=BadBooty&amp;diff=16855"/>
		<updated>2011-06-06T19:55:49Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Created page with &amp;quot;&amp;lt;div style='position: relative;'&amp;gt; {{application |name=Bad Booty |type=webOS |version=Version: 1.0.0 &amp;lt;br /&amp;gt;(06-06-2011) |tag=Fun |screenshot=Badbooty_2011-06-06_154303.png |descri...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style='position: relative;'&amp;gt;&lt;br /&gt;
{{application&lt;br /&gt;
|name=Bad Booty&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.0.0 &amp;lt;br /&amp;gt;(06-06-2011)&lt;br /&gt;
|tag=Fun&lt;br /&gt;
|screenshot=Badbooty_2011-06-06_154303.png&lt;br /&gt;
|description=No mess!&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
== Summary ==&lt;br /&gt;
Hit the points and point your finger.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:Badbooty_2011-06-06_154303.png&amp;diff=16853</id>
		<title>File:Badbooty 2011-06-06 154303.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:Badbooty_2011-06-06_154303.png&amp;diff=16853"/>
		<updated>2011-06-06T19:54:52Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Badbooty_2011-06-06_154303.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Badbooty_2011-06-06_154303.png&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16729</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16729"/>
		<updated>2011-06-03T11:14:50Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Remaining Known Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook_2011-03-06_070047.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but had become largely abandoned.  It is being dusted off, getting issues fixed and having features added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Key Features=&lt;br /&gt;
Coming soon:&lt;br /&gt;
*Bookmarks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Current:&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  Features will continue to be added as they are thought up and/or requested.&lt;br /&gt;
&lt;br /&gt;
Currently, git is inline with release, feature wise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The page fade scrim disappears sometimes.  I really don't see why.  I've verified a hundred times it is hitting that part of the code EVERY page load.&lt;br /&gt;
*There's a fair amount of Mojo specific things. Two things here:&lt;br /&gt;
**With Mojo dieing, any Mojo-isms need to have Enyo equivalents.&lt;br /&gt;
**Bag Palm specific stuff (Mojo/Enyo) and move to straight HTML5/JS for use under whatever Palm does and portability to other mobile OS's.&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
The official App Catalog Version can be found in the App Catalog on your device, or through [http://www.precentral.net/simple-big-book-1 this web page].  The git version (raw source) can be downloaded by using git on your computer:&lt;br /&gt;
 git clone git://git.webos-internals.org/applications/simplebigbook.git&lt;br /&gt;
And installing it with Preware by building an ipk and manually installing it on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16727</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16727"/>
		<updated>2011-06-03T11:11:25Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook_2011-03-06_070047.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but had become largely abandoned.  It is being dusted off, getting issues fixed and having features added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Key Features=&lt;br /&gt;
Coming soon:&lt;br /&gt;
*Bookmarks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Current:&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  Features will continue to be added as they are thought up and/or requested.&lt;br /&gt;
&lt;br /&gt;
Currently, git is inline with release, feature wise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The page fade scrim disappears sometimes.  I really don't see why.  I've verified a hundred times it is hitting that part of the code EVERY page load.&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
The official App Catalog Version can be found in the App Catalog on your device, or through [http://www.precentral.net/simple-big-book-1 this web page].  The git version (raw source) can be downloaded by using git on your computer:&lt;br /&gt;
 git clone git://git.webos-internals.org/applications/simplebigbook.git&lt;br /&gt;
And installing it with Preware by building an ipk and manually installing it on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16725</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16725"/>
		<updated>2011-06-03T11:03:43Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Updated screen shot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook_2011-03-06_070047.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but had become largely abandoned.  It is being dusted off, getting issues fixed and having features added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Key Features=&lt;br /&gt;
Coming soon:&lt;br /&gt;
*Bookmarks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Current:&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  Features will continue to be added as they are thought up and/or requested.&lt;br /&gt;
&lt;br /&gt;
Currently implementing BOOKMARKS!  It works pretty well, I just need to make it prettier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The page fade scrim disappears sometimes.  I really don't see why.  I've verified a hundred times it is hitting that part of the code EVERY page load.&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
The official App Catalog Version can be found in the App Catalog on your device, or through [http://www.precentral.net/simple-big-book-1 this web page].  The git version (raw source) can be downloaded by using git on your computer:&lt;br /&gt;
 git clone git://git.webos-internals.org/applications/simplebigbook.git&lt;br /&gt;
And installing it with Preware by building an ipk and manually installing it on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:Simplebigbook_2011-03-06_070047.png&amp;diff=16723</id>
		<title>File:Simplebigbook 2011-03-06 070047.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:Simplebigbook_2011-03-06_070047.png&amp;diff=16723"/>
		<updated>2011-06-03T11:03:18Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Simplebigbook_2011-03-06_070047.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simplebigbook_2011-03-06_070047.png&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16721</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16721"/>
		<updated>2011-06-03T11:00:18Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Installing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but had become largely abandoned.  It is being dusted off, getting issues fixed and having features added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Key Features=&lt;br /&gt;
Coming soon:&lt;br /&gt;
*Bookmarks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Current:&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  Features will continue to be added as they are thought up and/or requested.&lt;br /&gt;
&lt;br /&gt;
Currently implementing BOOKMARKS!  It works pretty well, I just need to make it prettier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The page fade scrim disappears sometimes.  I really don't see why.  I've verified a hundred times it is hitting that part of the code EVERY page load.&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
The official App Catalog Version can be found in the App Catalog on your device, or through [http://www.precentral.net/simple-big-book-1 this web page].  The git version (raw source) can be downloaded by using git on your computer:&lt;br /&gt;
 git clone git://git.webos-internals.org/applications/simplebigbook.git&lt;br /&gt;
And installing it with Preware by building an ipk and manually installing it on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16123</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16123"/>
		<updated>2011-05-23T22:29:31Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Key Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but had become largely abandoned.  It is being dusted off, getting issues fixed and having features added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Key Features=&lt;br /&gt;
Coming soon:&lt;br /&gt;
*Bookmarks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Current:&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  Features will continue to be added as they are thought up and/or requested.&lt;br /&gt;
&lt;br /&gt;
Currently implementing BOOKMARKS!  It works pretty well, I just need to make it prettier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The page fade scrim disappears sometimes.  I really don't see why.  I've verified a hundred times it is hitting that part of the code EVERY page load.&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
The official App Catalog Version can be found in the App Catalog on your device, or through [http://www.precentral.net/simple-big-book-1 this web page].  The git version (raw source) can be downloaded by using git on your computer:&lt;br /&gt;
 git clone git://git.webos-internals.org/applications/simplebigbook.git&lt;br /&gt;
And installing it with Preware by building an ipk and transferring it to your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16121</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16121"/>
		<updated>2011-05-23T22:28:39Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Remaining Known Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but had become largely abandoned.  It is being dusted off, getting issues fixed and having features added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Key Features=&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  Features will continue to be added as they are thought up and/or requested.&lt;br /&gt;
&lt;br /&gt;
Currently implementing BOOKMARKS!  It works pretty well, I just need to make it prettier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The page fade scrim disappears sometimes.  I really don't see why.  I've verified a hundred times it is hitting that part of the code EVERY page load.&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
The official App Catalog Version can be found in the App Catalog on your device, or through [http://www.precentral.net/simple-big-book-1 this web page].  The git version (raw source) can be downloaded by using git on your computer:&lt;br /&gt;
 git clone git://git.webos-internals.org/applications/simplebigbook.git&lt;br /&gt;
And installing it with Preware by building an ipk and transferring it to your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16119</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16119"/>
		<updated>2011-05-23T22:28:28Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Remaining Known Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but had become largely abandoned.  It is being dusted off, getting issues fixed and having features added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Key Features=&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  Features will continue to be added as they are thought up and/or requested.&lt;br /&gt;
&lt;br /&gt;
Currently implementing BOOKMARKS!  It works pretty well, I just need to make it prettier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The page fade scrim disappears sometimes.  I really don't see why.  I've verified a hundered times it is hitting that part of the code EVERY page load.&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
The official App Catalog Version can be found in the App Catalog on your device, or through [http://www.precentral.net/simple-big-book-1 this web page].  The git version (raw source) can be downloaded by using git on your computer:&lt;br /&gt;
 git clone git://git.webos-internals.org/applications/simplebigbook.git&lt;br /&gt;
And installing it with Preware by building an ipk and transferring it to your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16117</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=16117"/>
		<updated>2011-05-23T22:27:01Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but had become largely abandoned.  It is being dusted off, getting issues fixed and having features added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Key Features=&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  Features will continue to be added as they are thought up and/or requested.&lt;br /&gt;
&lt;br /&gt;
Currently implementing BOOKMARKS!  It works pretty well, I just need to make it prettier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
The official App Catalog Version can be found in the App Catalog on your device, or through [http://www.precentral.net/simple-big-book-1 this web page].  The git version (raw source) can be downloaded by using git on your computer:&lt;br /&gt;
 git clone git://git.webos-internals.org/applications/simplebigbook.git&lt;br /&gt;
And installing it with Preware by building an ipk and transferring it to your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=16073</id>
		<title>How To Remove VoiceDial</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=16073"/>
		<updated>2011-05-20T18:52:50Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Restoring */  I made / ro *before* running ldconfig.  /etc/ld.so.cache wouldn't be able to be updated!  D'oh!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Summary =&lt;br /&gt;
For those plagued by the buggy and inaccurate VoiceDial that comes with webOS 2.1 (meta-doctor or otherwise), here's how to disable/remove it as cleanly as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
All the VoiceDial packages in webOS 2.1:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; ipkg list_installed | grep voice&lt;br /&gt;
 &lt;br /&gt;
 contacts.plugin.pmvoicecommand&lt;br /&gt;
 palmvoicecodec&lt;br /&gt;
 palmvoicedecoder&lt;br /&gt;
 palmvoiceencoder&lt;br /&gt;
 pmvoicecommand&lt;br /&gt;
 pmvoicecommand-dede&lt;br /&gt;
 pmvoicecommand-engb&lt;br /&gt;
 pmvoicecommand-enus&lt;br /&gt;
 pmvoicecommand-eses&lt;br /&gt;
 pmvoicecommand-esmx&lt;br /&gt;
 pmvoicecommand-frca&lt;br /&gt;
 pmvoicecommand-frfr&lt;br /&gt;
 pmvoicecommand-itit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Disable System Service =&lt;br /&gt;
The simplest and easiest way to stop VoiceDial from getting in your way and crashing the MediaServer (kills system sounds) is to simply disable the service from starting at boot-time.  This requires NO file / file system alterations:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
Reboot.  You'll be VoiceDial free.  The codecs and such will still be loading and the actual app will still be there, but it won't work anymore so you won't have it randomly popping up and killing MediaServer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Complete Removal (No Way Back) =&lt;br /&gt;
If you have absolutly NO desire to EVER re-install it, then you can simply:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,rw /&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; for PKG in $(ipkg list_installed | grep voice | awk '{print $1}') ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,ro /&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; ldconfig&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
To remove it from the list of services to start at boot time.  There is no way to &amp;quot;re-install&amp;quot; VoiceDial with this method.  The next method ''can'' make it possible to &amp;quot;re-install&amp;quot; VoiceDial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Complete Removal (Reversible) =&lt;br /&gt;
If you even ''THINK'' you ''may'' want to re-install it at some future time, it gets a little tricky.  In the Doctor, we have IPKs for everything EXCEPT the codecs.  These need to be backed up BEFORE removing the packages themselves.  This handy dandy script will back up the codecs to a tarball in /media/internal/VoiceDialBackup, remove all the packages, and remove the service from boot-time:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 VCBACKUP=&amp;quot;/media/internal/VoiceCommandBackup&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vMaking codec backup dir at &amp;quot;${VCBACKUP}&amp;quot;\\n&lt;br /&gt;
 if [ ! -d &amp;quot;${VCBACKUP}&amp;quot; ] ; then mkdir &amp;quot;${VCBACKUP}&amp;quot;; fi&lt;br /&gt;
 &lt;br /&gt;
 cd /&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,rw /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vBacking up codecs\\n&lt;br /&gt;
 tar -czvpf &amp;quot;${VCBACKUP}&amp;quot;/VoiceCommandExtras.tar.gz /usr/lib/libpalmvoicecodec.so /usr/lib/gstreamer-0.10/libpalmvoicedecoder.so /usr/lib/gstreamer-0.10/libpalmvoiceencoder.so&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving all VoiceDial packages\\n&lt;br /&gt;
 for PKG in $(ipkg list_installed | grep voice | awk '{print $1'}) ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,ro /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving VoiceDial from boot-time service list\\n&lt;br /&gt;
 luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Restoring = &lt;br /&gt;
You need to have the meta-doctor repo still available to pull out the .ipk's for VoiceDial.  If you did a &amp;quot;make clobber&amp;quot;, simply re-run the build script for your model phone.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; user@aragorn /srv/meta-doctor $ find -iname '*voice*ipk'&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/contacts.plugin.pmvoicecommand_1.0-2_all.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-dede_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-engb_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-enus_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-eses_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-esmx_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-frca_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-frfr_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-itit_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand_1.4-5.30_armv7.ipk&lt;br /&gt;
&lt;br /&gt;
Install those .IPK's back onto your device:&lt;br /&gt;
&lt;br /&gt;
 1) Plug your device into a computer with a '''functioning''' novacomd.&lt;br /&gt;
 2) cd /srv/meta-doctor/build/preplus-p101ueu-wr-2.1.0/carrier/ (or where ever you have your meta-doctor build directory).&lt;br /&gt;
 3) for IPK in *voice* ; do palm-install -d usb $IPK ; done&lt;br /&gt;
 4) novaterm -d usb&lt;br /&gt;
 5) &amp;lt;nowiki&amp;gt;root@My Pre:/#&amp;lt;/nowiki&amp;gt; mount -oremount,rw /&lt;br /&gt;
 6) &amp;lt;nowiki&amp;gt;root@My Pre:/#&amp;lt;/nowiki&amp;gt; tar -xvpf /media/internal/VoiceCommandBackup/VoiceCommandExtras.tar.gz -C /&lt;br /&gt;
 7) &amp;lt;nowiki&amp;gt;root@My Pre:/#&amp;lt;/nowiki&amp;gt; ldconfig&lt;br /&gt;
 8) &amp;lt;nowiki&amp;gt;root@My Pre:/#&amp;lt;/nowiki&amp;gt; mount -oremount,ro /&lt;br /&gt;
 9) &amp;lt;nowiki&amp;gt;root@My Pre:/#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
 10) &amp;lt;nowiki&amp;gt;root@My Pre:/#&amp;lt;/nowiki&amp;gt; reboot &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Everything should be back to it's MediaServer killing norm!&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=16067</id>
		<title>How To Remove VoiceDial</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=16067"/>
		<updated>2011-05-19T15:27:05Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Summary =&lt;br /&gt;
For those plagued by the buggy and inaccurate VoiceDial that comes with webOS 2.1 (meta-doctor or otherwise), here's how to disable/remove it as cleanly as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Background =&lt;br /&gt;
All the VoiceDial packages in webOS 2.1:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; ipkg list_installed | grep voice&lt;br /&gt;
 &lt;br /&gt;
 contacts.plugin.pmvoicecommand&lt;br /&gt;
 palmvoicecodec&lt;br /&gt;
 palmvoicedecoder&lt;br /&gt;
 palmvoiceencoder&lt;br /&gt;
 pmvoicecommand&lt;br /&gt;
 pmvoicecommand-dede&lt;br /&gt;
 pmvoicecommand-engb&lt;br /&gt;
 pmvoicecommand-enus&lt;br /&gt;
 pmvoicecommand-eses&lt;br /&gt;
 pmvoicecommand-esmx&lt;br /&gt;
 pmvoicecommand-frca&lt;br /&gt;
 pmvoicecommand-frfr&lt;br /&gt;
 pmvoicecommand-itit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Disable System Service =&lt;br /&gt;
The simplest and easiest way to stop VoiceDial from getting in your way and crashing the MediaServer (kills system sounds) is to simply disable the service from starting at boot-time.  This requires NO file / file system alterations:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
Reboot.  You'll be VoiceDial free.  The codecs and such will still be loading and the actual app will still be there, but it won't work anymore so you won't have it randomly popping up and killing MediaServer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Complete Removal (No Way Back) =&lt;br /&gt;
If you have absolutly NO desire to EVER re-install it, then you can simply:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,rw /&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; for PKG in $(ipkg list_installed | grep voice | awk '{print $1}') ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,ro /&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; ldconfig&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
To remove it from the list of services to start at boot time.  There is no way to &amp;quot;re-install&amp;quot; VoiceDial with this method.  The next method ''can'' make it possible to &amp;quot;re-install&amp;quot; VoiceDial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Complete Removal (Reversible) =&lt;br /&gt;
If you even ''THINK'' you ''may'' want to re-install it at some future time, it gets a little tricky.  In the Doctor, we have IPKs for everything EXCEPT the codecs.  These need to be backed up BEFORE removing the packages themselves.  This handy dandy script will back up the codecs to a tarball in /media/internal/VoiceDialBackup, remove all the packages, and remove the service from boot-time:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 VCBACKUP=&amp;quot;/media/internal/VoiceCommandBackup&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vMaking codec backup dir at &amp;quot;${VCBACKUP}&amp;quot;\\n&lt;br /&gt;
 if [ ! -d &amp;quot;${VCBACKUP}&amp;quot; ] ; then mkdir &amp;quot;${VCBACKUP}&amp;quot;; fi&lt;br /&gt;
 &lt;br /&gt;
 cd /&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,rw /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vBacking up codecs\\n&lt;br /&gt;
 tar -czvpf &amp;quot;${VCBACKUP}&amp;quot;/VoiceCommandExtras.tar.gz /usr/lib/libpalmvoicecodec.so /usr/lib/gstreamer-0.10/libpalmvoicedecoder.so /usr/lib/gstreamer-0.10/libpalmvoiceencoder.so&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving all VoiceDial packages\\n&lt;br /&gt;
 for PKG in $(ipkg list_installed | grep voice | awk '{print $1'}) ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,ro /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving VoiceDial from boot-time service list\\n&lt;br /&gt;
 luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Restoring = &lt;br /&gt;
You need to have the meta-doctor repo still available to pull out the .ipk's for VoiceDial.  If you did a &amp;quot;make clobber&amp;quot;, simply re-run the build script for your model phone.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; user@aragorn /srv/meta-doctor $ find -iname '*voice*ipk'&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/contacts.plugin.pmvoicecommand_1.0-2_all.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-dede_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-engb_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-enus_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-eses_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-esmx_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-frca_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-frfr_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand-itit_1.0-5.30_armv7.ipk&lt;br /&gt;
 ./build/preplus-p101ueu-wr-2.1.0/carrier/pmvoicecommand_1.4-5.30_armv7.ipk&lt;br /&gt;
&lt;br /&gt;
Install those .IPK's back onto your device:&lt;br /&gt;
&lt;br /&gt;
 1) Plug your device into a computer with a '''functioning''' novacomd.&lt;br /&gt;
 2) cd /srv/meta-doctor/build/preplus-p101ueu-wr-2.1.0/carrier/ (or where ever you have your meta-doctor build directory).&lt;br /&gt;
 3) for IPK in *voice* ; do palm-install -d usb $IPK ; done&lt;br /&gt;
 4) novaterm -d usb&lt;br /&gt;
 5) &amp;lt;nowiki&amp;gt;root@My Pre:/#&amp;lt;/nowiki&amp;gt; mount -oremount,rw /&lt;br /&gt;
 6) &amp;lt;nowiki&amp;gt;root@My Pre:/#&amp;lt;/nowiki&amp;gt; tar -xvpf /media/internal/VoiceCommandBackup/VoiceCommandExtras.tar.gz -C /&lt;br /&gt;
 7) &amp;lt;nowiki&amp;gt;root@My Pre:/#&amp;lt;/nowiki&amp;gt; mount -oremount,ro /&lt;br /&gt;
 8) &amp;lt;nowiki&amp;gt;root@My Pre:/#&amp;lt;/nowiki&amp;gt; ldconfig&lt;br /&gt;
 9) &amp;lt;nowiki&amp;gt;root@My Pre:/#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
 10) &amp;lt;nowiki&amp;gt;root@My Pre:/#&amp;lt;/nowiki&amp;gt; reboot &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Everything should be back to it's MediaServer killing norm!&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=16065</id>
		<title>How To Remove VoiceDial</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=16065"/>
		<updated>2011-05-19T15:07:09Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Complete Removal (No Way Back) */  Added &amp;quot;ldconfig&amp;quot; to remove the *.so files from the LD cacher.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Summary ===&lt;br /&gt;
For those plagued by the buggy and inaccurate VoiceDial that comes with webOS 2.1 (meta-doctor or otherwise), here's how to disable/remove it as cleanly as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
All the VoiceDial packages in webOS 2.1:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; ipkg list_installed | grep voice&lt;br /&gt;
 &lt;br /&gt;
 contacts.plugin.pmvoicecommand&lt;br /&gt;
 palmvoicecodec&lt;br /&gt;
 palmvoicedecoder&lt;br /&gt;
 palmvoiceencoder&lt;br /&gt;
 pmvoicecommand&lt;br /&gt;
 pmvoicecommand-dede&lt;br /&gt;
 pmvoicecommand-engb&lt;br /&gt;
 pmvoicecommand-enus&lt;br /&gt;
 pmvoicecommand-eses&lt;br /&gt;
 pmvoicecommand-esmx&lt;br /&gt;
 pmvoicecommand-frca&lt;br /&gt;
 pmvoicecommand-frfr&lt;br /&gt;
 pmvoicecommand-itit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable System Service ===&lt;br /&gt;
The simplest and easiest way to stop VoiceDial from getting in your way and crashing the MediaServer (kills system sounds) is to simply disable the service from starting at boot-time.  This requires NO file / file system alterations:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
Reboot.  You'll be VoiceDial free.  The codecs and such will still be loading and the actual app will still be there, but it won't work anymore so you won't have it randomly popping up and killing MediaServer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Complete Removal (No Way Back) ===&lt;br /&gt;
If you have absolutly NO desire to EVER re-install it, then you can simply:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,rw /&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; for PKG in $(ipkg list_installed | grep voice | awk '{print $1}') ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,ro /&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; ldconfig&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
To remove it from the list of services to start at boot time.  There is no way to &amp;quot;re-install&amp;quot; VoiceDial with this method.  The next method ''can'' make it possible to &amp;quot;re-install&amp;quot; VoiceDial.&lt;br /&gt;
&lt;br /&gt;
=== Complete Removal (Reversible) ===&lt;br /&gt;
If you even ''THINK'' you ''may'' want to re-install it at some future time, it gets a little tricky.  In the Doctor, we have IPKs for everything EXCEPT the codecs.  These need to be backed up BEFORE removing the packages themselves.  This handy dandy script will back up the codecs to a tarball in /media/internal/VoiceDialBackup, remove all the packages, and remove the service from boot-time:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 VCBACKUP=&amp;quot;/media/internal/VoiceCommandBackup&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vMaking codec backup dir at &amp;quot;${VCBACKUP}&amp;quot;\\n&lt;br /&gt;
 if [ ! -d &amp;quot;${VCBACKUP}&amp;quot; ] ; then mkdir &amp;quot;${VCBACKUP}&amp;quot;; fi&lt;br /&gt;
 &lt;br /&gt;
 cd /&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,rw /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vBacking up codecs\\n&lt;br /&gt;
 tar -czvpf &amp;quot;${VCBACKUP}&amp;quot;/VoiceCommandExtras.tar.gz /usr/lib/libpalmvoicecodec.so /usr/lib/gstreamer-0.10/libpalmvoicedecoder.so /usr/lib/gstreamer-0.10/libpalmvoiceencoder.so&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving all VoiceDial packages\\n&lt;br /&gt;
 for PKG in $(ipkg list_installed | grep voice | awk '{print $1'}) ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,ro /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving VoiceDial from boot-time service list\\n&lt;br /&gt;
 luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=16063</id>
		<title>How To Remove VoiceDial</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=16063"/>
		<updated>2011-05-19T15:02:56Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Added &amp;quot;p&amp;quot; to the tar - preserve permissions!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Summary ===&lt;br /&gt;
For those plagued by the buggy and inaccurate VoiceDial that comes with webOS 2.1 (meta-doctor or otherwise), here's how to disable/remove it as cleanly as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
All the VoiceDial packages in webOS 2.1:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; ipkg list_installed | grep voice&lt;br /&gt;
 &lt;br /&gt;
 contacts.plugin.pmvoicecommand&lt;br /&gt;
 palmvoicecodec&lt;br /&gt;
 palmvoicedecoder&lt;br /&gt;
 palmvoiceencoder&lt;br /&gt;
 pmvoicecommand&lt;br /&gt;
 pmvoicecommand-dede&lt;br /&gt;
 pmvoicecommand-engb&lt;br /&gt;
 pmvoicecommand-enus&lt;br /&gt;
 pmvoicecommand-eses&lt;br /&gt;
 pmvoicecommand-esmx&lt;br /&gt;
 pmvoicecommand-frca&lt;br /&gt;
 pmvoicecommand-frfr&lt;br /&gt;
 pmvoicecommand-itit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable System Service ===&lt;br /&gt;
The simplest and easiest way to stop VoiceDial from getting in your way and crashing the MediaServer (kills system sounds) is to simply disable the service from starting at boot-time.  This requires NO file / file system alterations:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
Reboot.  You'll be VoiceDial free.  The codecs and such will still be loading and the actual app will still be there, but it won't work anymore so you won't have it randomly popping up and killing MediaServer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Complete Removal (No Way Back) ===&lt;br /&gt;
If you have absolutly NO desire to EVER re-install it, then you can simply:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,rw /&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; for PKG in $(ipkg list_installed | grep voice | awk '{print $1}') ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,ro /&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
To remove it from the list of services to start at boot time.  There is no way to &amp;quot;re-install&amp;quot; VoiceDial with this method.  The next method ''can'' make it possible to &amp;quot;re-install&amp;quot; VoiceDial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Complete Removal (Reversible) ===&lt;br /&gt;
If you even ''THINK'' you ''may'' want to re-install it at some future time, it gets a little tricky.  In the Doctor, we have IPKs for everything EXCEPT the codecs.  These need to be backed up BEFORE removing the packages themselves.  This handy dandy script will back up the codecs to a tarball in /media/internal/VoiceDialBackup, remove all the packages, and remove the service from boot-time:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 VCBACKUP=&amp;quot;/media/internal/VoiceCommandBackup&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vMaking codec backup dir at &amp;quot;${VCBACKUP}&amp;quot;\\n&lt;br /&gt;
 if [ ! -d &amp;quot;${VCBACKUP}&amp;quot; ] ; then mkdir &amp;quot;${VCBACKUP}&amp;quot;; fi&lt;br /&gt;
 &lt;br /&gt;
 cd /&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,rw /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vBacking up codecs\\n&lt;br /&gt;
 tar -czvpf &amp;quot;${VCBACKUP}&amp;quot;/VoiceCommandExtras.tar.gz /usr/lib/libpalmvoicecodec.so /usr/lib/gstreamer-0.10/libpalmvoicedecoder.so /usr/lib/gstreamer-0.10/libpalmvoiceencoder.so&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving all VoiceDial packages\\n&lt;br /&gt;
 for PKG in $(ipkg list_installed | grep voice | awk '{print $1'}) ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,ro /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving VoiceDial from boot-time service list\\n&lt;br /&gt;
 luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15695</id>
		<title>Application:Govnah</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15695"/>
		<updated>2011-04-29T14:53:01Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Added &amp;quot;Troubleshooting/FAQs&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
This page is currently available in these languages:&lt;br /&gt;
:[[Image:Australia.png]] [[Image:USA.png]] [[Application:Govnah]]&lt;br /&gt;
:[[Image:Germany.png]] [[Application:Govnah-DE]]&lt;br /&gt;
:[[Image:France.png]] [[Application:Govnah-FR]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Govnah&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 0.7.7 &amp;lt;br /&amp;gt;(2010-11-28)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=GovnahHome4Life-0.6.1.png&lt;br /&gt;
|description=}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Icon_WebOSInternals_Govnah.png|frameless|left]]&lt;br /&gt;
Advanced webOS kernels provide mechanisms to control various operating parameters on the device such as clock speed.  These kernels expose one or more &amp;quot;governors&amp;quot; which can control those parameters. An example of such a kernel is the [[Application:UberKernel|UberKernel]].  This application is available through [[Preware]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Purpose===&lt;br /&gt;
Govnah's UI provides access to:&lt;br /&gt;
:* A real-time graph of CPU speed, CPU temperature, memory usage and system load &lt;br /&gt;
:* A mechanism for setting the parameters of the governors exposed by the various Linux kernels.&lt;br /&gt;
:* Ability to reduce/raise the amount of power parts of the device uses to reduce battery consumption.&lt;br /&gt;
:* Temperature range which lowers/resets CPU frequency to cool down the device under heavy load.&lt;br /&gt;
:* Ability to slow down the CPU when battery is low.&lt;br /&gt;
:* The amount of swap that can be compressed (compcache).&lt;br /&gt;
:* The enabled Linux IO schedulers.&lt;br /&gt;
:* The enabled Linux TCP Congestion algorithms.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
The following guide assumes a Palm Pre/Pre+/Pre2 is currently running Palm's stock kernel with no over-clocking patches.&lt;br /&gt;
&lt;br /&gt;
#On Preware's home screen, type &amp;quot;Govnah&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;Govnah&amp;quot; and &amp;quot;Install&amp;quot;.&lt;br /&gt;
#If you have not yet installed a replacement &amp;quot;Kernel&amp;quot;, on Preware's home screen, type &amp;quot;uber&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;[[Application:UberKernel|UberKernel (Palm Pre/Pre+)]]&amp;quot; and &amp;quot;Install&amp;quot;.&lt;br /&gt;
#Restart your phone as prompted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Note:&lt;br /&gt;
 See the [http://www.webos-internals.org/wiki/Application:UberKernel the UberKernel page] for further information on its abilities and use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Brief Usage=&lt;br /&gt;
===Where To Start===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapProfile-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|To begin accessing the power of Govnah's control over the Linux Kernel, tap the &amp;quot;Profile&amp;quot; row at the top of the main screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapAdvanced-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Here is the list of stored Govnah Profiles.  Profiles are a simple way for you store various settings that you wish to be applied at boot-time.  You have the ability to store several different profiles for testing the best settings for '''your''' usage.  Tap &amp;quot;Advanced Settings&amp;quot; at the top to access the individual settings that get stored in the profiles.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Settings===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahAdvSettings2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|This is the list of configurable items.  They are explained in more depth below.  You are ''strongly'' encouraged to read about what these settings mean and do.  Not all of them are beneficial to you or your battery.  Most of the defaults are a happy medium between the two.  The main one to change is &amp;quot;CPU Frequency&amp;quot;.  Tap that now.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU Frequency===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahCPUFreq-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|The first time you boot your Pre/Pixi after installing Govnah and UberKernel, it will be running at 600MHz.  This is where you ramp it up to 800MHz.  Select &amp;quot;800Mhz&amp;quot; in the &amp;quot;Set Speed&amp;quot; section and tap &amp;quot;Apply Settings&amp;quot;.  Your phone will immediately be running at 800Mhz.  Gesture Swipe left return to the &amp;quot;Advanced Settings&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compressed Swap (compcache)===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:govnahCompSwap-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Compressed swap (compcache) is simply an amount of RAM (memory) that is reserved for compressing data loaded into RAM when the amount of RAM needed exceeds the space available. In a nut shell this provides more RAM space for application data to be loaded in RAM. The trade off is slightly reduced performance of the RAM for the data that is being compressed and uncompressed. But is faster than if the data were in a swap space on the internal storage drive (memory). To use this feature you must first set the amount of space that will be reserved and then toggle compcache enabled to on. Then click apply to make the settings active. If you desire to change the amount of space reserved once it has been active you must turn compcache enabled to off and click apply. Then change the amount of space reserved, turn compcache enabled to on, and click apply to make the new setting active.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Saving your Profile===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahPalm4Life-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|After leaving the step above, you will have ended up back at the &amp;quot;Advanced Settings&amp;quot; screen where the button &amp;quot;Save Current Profile&amp;quot; is at the bottom. This is where you can make your Pre/Pixi set to boot with your faster speed.  Set the name you want here and tap &amp;quot;Save As New Profile&amp;quot;.  Gesture swipe left to return to the &amp;quot;Profiles&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profile Management===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahMegaProfiles2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|As you can clearly see, you can save many different profiles for testing various settings to find what best suits you and your usage patterns to find that &amp;quot;sweet spot&amp;quot; between speed and battery savings.  Only you can find this.  [http://forums.precentral.net/webos-internals/244701-govnah.html People can help suggest] what works for them, but no two devices are '''exactly''' the same.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting/FAQs=&lt;br /&gt;
===&amp;quot;Unknown&amp;quot; Profile===&lt;br /&gt;
*With webOS 2.1, HP as implemented a 10M compcache natively.  This causes a problem with Govnah's abilty to assign your compcache value before the webOS's upstart scripts does which will cacue Govnah to display &amp;quot;Unknown&amp;quot; as a profile name.  To remedy:&lt;br /&gt;
#Save your profile with the stock 10M compcache.&lt;br /&gt;
#You need to edit /etc/event.d/compcache to reflect your setting.&lt;br /&gt;
:*The number is your target size in K. For a 14M compcache: 14 * 1024 = 14336.&lt;br /&gt;
:*Reboot your phone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Governors In-Depth=&lt;br /&gt;
===Real World Examples===&lt;br /&gt;
&lt;br /&gt;
The Uber-Kernel exposes a governor called ''on-demand''.  The on-demand governor increases and decreases clock speed based on the percentage of CPU usage. &lt;br /&gt;
&lt;br /&gt;
The ''on-demand'' governor exposes the following parameters which can be set by Govnah: &lt;br /&gt;
:* scaling_max_freq - Set the maximum frequency your CPU is allowed to scale to.&lt;br /&gt;
:* scaling_min_freq - Same as scaling_max_freq but setting a minimum value.&lt;br /&gt;
:* sampling_rate - How often you want the kernel to look at the CPU usage (in microseconds) Typically this is set to values of 10000 or more.&lt;br /&gt;
:* up_threshold - This defines what the average CPU usage percentage increase between samplings for the kernel to decide to increase the CPU frequency. &lt;br /&gt;
:* ignore_nice_load - If '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
:* powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. The bias is in tenths of a percent (0 to 1000).  A setting of 100 will result in a 10% smaller increase in CPU speed for a given usage than a setting of 0 would result in.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;Governor&amp;quot; in the kernel tells ''Govnah'' what parameters it has that may be set and may also say what the limits of those parameters are.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Standard Linux Governors===&lt;br /&gt;
====Generic Items (all)====&lt;br /&gt;
* &amp;lt;u&amp;gt;scaling_max_freq&amp;lt;/u&amp;gt;: Set the maximum frequency your CPU(s) are allowed to scale to. Look at the output from scaling_available_frequencies&lt;br /&gt;
* &amp;lt;u&amp;gt;scaling_min_freq&amp;lt;/u&amp;gt;: Same as scaling_max_freq but setting a value that will not allow the CPU(s) to go below.&lt;br /&gt;
&lt;br /&gt;
====ondemand====&lt;br /&gt;
* &amp;lt;u&amp;gt;sampling_rate&amp;lt;/u&amp;gt;: This is measured in microseconds (one millionth of a second). This is how often you want the kernel to look at the CPU usage and to make decisions on what to do about the frequency. Typically this is set to values of around '10000' or more. If you wanted to set the sampling rate to 1 second you would set it to 1000000 like in the following example.&lt;br /&gt;
* &amp;lt;u&amp;gt;sampling_rate_(min|max)&amp;lt;/u&amp;gt;: This is minimum and maximum sampling rates available that you may set 'sampling_rate' to. I believe in microseconds also.&lt;br /&gt;
* &amp;lt;u&amp;gt;sampling_down_factor&amp;lt;/u&amp;gt;: this parameter controls the rate that the CPU makes a decision on when to decrease the frequency. When set to its default value of '5' it means that at 1/5 the sampling_rate the kernel makes a decision to lower the frequency. Five &amp;quot;lower rate&amp;quot; decisions have to be made in a row before the CPU frequency is actually lower. If set to '1' then the frequency decreases as quickly as it increases, if set to '2' it decreases at half the rate of the increase.&lt;br /&gt;
* &amp;lt;u&amp;gt;up_threshold&amp;lt;/u&amp;gt;: This defines what the average CPU usage between the samplings of 'sampling_rate' needs to be for the kernel to make a decision on whether or not it should increase the frequency. For example when it is set to its default value of '80' it means that between the checking intervals the CPU needs to be on average more than 80% in use to then decide that the CPU frequency needs to be increased. &lt;br /&gt;
* &amp;lt;u&amp;gt;ignore_nice_load&amp;lt;/u&amp;gt;: This parameter takes a value of '0' or '1'. When set to '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
* &amp;lt;u&amp;gt;powersave_bias&amp;lt;/u&amp;gt;: This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. By default, (powersave_bias  = 0), the ondemand governor selects the minimum processor frequency that can still complete a workload with minimal idle time. Doing so should result in the highest performance to power efficiency ratio. In some cases, you might prefer a greater emphasis on power efficiency than performance. In this case, set the powersave_bias parameter to a value between 1 and 1000 to reduce the target frequency by one-thousandth of that value. For example, set powersave_bias to 100 for a one-tenth reduction in target frequency. In this case, if the governor chooses a target frequency of 2 GHz (with powersave_bias  = 100), the governor instead will request 1.8GHz – a one-tenth reduction. If 1.8 GHz is an exact match with an available hardware frequency (listed in the scaling_available_freq parameter), the processor is set to this frequency. If 1.8 GHz is not available, the processor fluctuates between the closest available upper and lower frequencies for an average frequency of 1.8 GHz. (from IBM web page). The original author of the ondemand powersave_bias code explains it as &amp;quot;For example, If ondemand requests 2.0GHz based on utilization, and powersave_bias=100, this code will knock 10% off the target and seek a target of 1.8GHz instead of 2.0GHz until the next sampling. If 1.8 is an exact match with an hardware frequency we use it, otherwise we average our time between the frequency next higher than 1.8 and next lower than 1.8&amp;quot; (from http://osdir.com/ml/kernel.cpufreq/2006-07/msg00114.html ) - the key word appears to be &amp;quot;average&amp;quot;. The author also warns &amp;quot;In practice, users will not be able to detect a difference between 0.1% increments, but 1.0% increments turned out to be too large. Also, the max value of 1000 (100%) would simply peg the system in its deepest power saving P-state, unless the processor really has a hardware P-state at 0Hz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====conservative====&lt;br /&gt;
* &amp;lt;u&amp;gt;freq_step&amp;lt;/u&amp;gt;: This describes what percentage steps the CPU freq should be increased and decreased smoothly by. By default the CPU frequency will increase in 5% chunks of your maximum CPU frequency. You can change this value to anywhere between 0 and 100 where '0' will effectively lock your CPU at a speed regardless of its load whilst '100' will, in theory, make it behave identically to the &amp;quot;ondemand&amp;quot; governor. &lt;br /&gt;
* &amp;lt;u&amp;gt;down_threshold&amp;lt;/u&amp;gt;: This is same as the 'up_threshold' found for the &amp;quot;ondemand&amp;quot; governor but for the opposite direction. For example when set to its default value of '20' it means that if the CPU usage needs to be below 20% between samples to have the frequency decreased. &lt;br /&gt;
* &amp;lt;u&amp;gt;sampling_rate&amp;lt;/u&amp;gt;: same as ondemand.&lt;br /&gt;
* &amp;lt;u&amp;gt;sampling_rate_(min|max)&amp;lt;/u&amp;gt;: same as ondemand.&lt;br /&gt;
* &amp;lt;u&amp;gt;up_threshold&amp;lt;/u&amp;gt;: same as ondemand.&lt;br /&gt;
* &amp;lt;u&amp;gt;ignore_nice_load&amp;lt;/u&amp;gt;: same as ondemand.&lt;br /&gt;
&lt;br /&gt;
====userspace====&lt;br /&gt;
* &amp;lt;u&amp;gt;scaling_setspeed&amp;lt;/u&amp;gt;: one of the values from scaling_available_frequencies&lt;br /&gt;
* &amp;lt;u&amp;gt;NB&amp;lt;/u&amp;gt;: when userspace is selected LunaSysMgr will change the frequency as it feels.&lt;br /&gt;
&lt;br /&gt;
====powersave====&lt;br /&gt;
* Nothing special&lt;br /&gt;
&lt;br /&gt;
====performance====&lt;br /&gt;
* Nothing special&lt;br /&gt;
&lt;br /&gt;
====screenstate====&lt;br /&gt;
* Nothing special&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Developer Notes=&lt;br /&gt;
===Relaunching for Cross-App Integration===&lt;br /&gt;
There are 2 different launch params. One to get a list of profiles returned to your app, and one to apply a profile to the phone. This was implemented in v0.3.1.&lt;br /&gt;
&lt;br /&gt;
===Profile List===&lt;br /&gt;
The code below is how you would launch Govnah and tell it to return a list of profiles to your app:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'get-profiles',&lt;br /&gt;
				returnid: 'app.to.relaunch'&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to replace the returnid parameters value 'app.to.relaunch' with your apps id.&lt;br /&gt;
&lt;br /&gt;
The object below will be sent to your app-assistants handleLaunch function. (But with real data obviously.)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type: 'govnah-profiles',&lt;br /&gt;
	profiles:&lt;br /&gt;
	[&lt;br /&gt;
		{&lt;br /&gt;
			id: 1,&lt;br /&gt;
			name: 'Palm Default'&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			id: 8,&lt;br /&gt;
			name: 'Awesome Profile!'&lt;br /&gt;
		},&lt;br /&gt;
		{...}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Profile Apply===&lt;br /&gt;
The code below is how you use the list of profiles you received in the prior relaunch to have Govnah apply a profile.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'set-profile',&lt;br /&gt;
				profileid: 1&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Replace 'profileid' parameters value with the profile id you wish Govnah to apply. Note that 'profilename' is also an accepted parameter. This launch will not relaunch your app, it will simply apply if the profileid/name you requested actually exists. (And will just ignore your request if it doesn't.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html&lt;br /&gt;
* http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaai/cpufreq/TheOndemandGovernor.htm&lt;br /&gt;
* http://fasterdata.es.net/TCP-tuning/linux.html&lt;br /&gt;
* http://www.pdfgeni.com/book/Performance-analysis-of-loss-based-high-speed-TCP-congestion-control-algorithms-pdf.html - collection of documents on implementation of different IPv4 congestion control methods.&lt;br /&gt;
* http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt - Kernel documentation for the standard Linux CPU frequency governors&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15693</id>
		<title>Application:Govnah</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15693"/>
		<updated>2011-04-29T14:41:37Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Too much BOLD was harming readability...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
This page is currently available in these languages:&lt;br /&gt;
:[[Image:Australia.png]] [[Image:USA.png]] [[Application:Govnah]]&lt;br /&gt;
:[[Image:Germany.png]] [[Application:Govnah-DE]]&lt;br /&gt;
:[[Image:France.png]] [[Application:Govnah-FR]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Govnah&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 0.7.7 &amp;lt;br /&amp;gt;(2010-11-28)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=GovnahHome4Life-0.6.1.png&lt;br /&gt;
|description=}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Icon_WebOSInternals_Govnah.png|frameless|left]]&lt;br /&gt;
Advanced webOS kernels provide mechanisms to control various operating parameters on the device such as clock speed.  These kernels expose one or more &amp;quot;governors&amp;quot; which can control those parameters. An example of such a kernel is the [[Application:UberKernel|UberKernel]].  This application is available through [[Preware]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Purpose===&lt;br /&gt;
Govnah's UI provides access to:&lt;br /&gt;
:* A real-time graph of CPU speed, CPU temperature, memory usage and system load &lt;br /&gt;
:* A mechanism for setting the parameters of the governors exposed by the various Linux kernels.&lt;br /&gt;
:* Ability to reduce/raise the amount of power parts of the device uses to reduce battery consumption.&lt;br /&gt;
:* Temperature range which lowers/resets CPU frequency to cool down the device under heavy load.&lt;br /&gt;
:* Ability to slow down the CPU when battery is low.&lt;br /&gt;
:* The amount of swap that can be compressed (compcache).&lt;br /&gt;
:* The enabled Linux IO schedulers.&lt;br /&gt;
:* The enabled Linux TCP Congestion algorithms.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
The following guide assumes a Palm Pre/Pre+/Pre2 is currently running Palm's stock kernel with no over-clocking patches.&lt;br /&gt;
&lt;br /&gt;
#On Preware's home screen, type &amp;quot;Govnah&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;Govnah&amp;quot; and &amp;quot;Install&amp;quot;.&lt;br /&gt;
#If you have not yet installed a replacement &amp;quot;Kernel&amp;quot;, on Preware's home screen, type &amp;quot;uber&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;[[Application:UberKernel|UberKernel (Palm Pre/Pre+)]]&amp;quot; and &amp;quot;Install&amp;quot;.&lt;br /&gt;
#Restart your phone as prompted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Note:&lt;br /&gt;
 See the [http://www.webos-internals.org/wiki/Application:UberKernel the UberKernel page] for further information on its abilities and use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Brief Usage=&lt;br /&gt;
===Where To Start===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapProfile-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|To begin accessing the power of Govnah's control over the Linux Kernel, tap the &amp;quot;Profile&amp;quot; row at the top of the main screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapAdvanced-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Here is the list of stored Govnah Profiles.  Profiles are a simple way for you store various settings that you wish to be applied at boot-time.  You have the ability to store several different profiles for testing the best settings for '''your''' usage.  Tap &amp;quot;Advanced Settings&amp;quot; at the top to access the individual settings that get stored in the profiles.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Settings===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahAdvSettings2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|This is the list of configurable items.  They are explained in more depth below.  You are ''strongly'' encouraged to read about what these settings mean and do.  Not all of them are beneficial to you or your battery.  Most of the defaults are a happy medium between the two.  The main one to change is &amp;quot;CPU Frequency&amp;quot;.  Tap that now.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU Frequency===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahCPUFreq-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|The first time you boot your Pre/Pixi after installing Govnah and UberKernel, it will be running at 600MHz.  This is where you ramp it up to 800MHz.  Select &amp;quot;800Mhz&amp;quot; in the &amp;quot;Set Speed&amp;quot; section and tap &amp;quot;Apply Settings&amp;quot;.  Your phone will immediately be running at 800Mhz.  Gesture Swipe left return to the &amp;quot;Advanced Settings&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compressed Swap (compcache)===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:govnahCompSwap-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Compressed swap (compcache) is simply an amount of RAM (memory) that is reserved for compressing data loaded into RAM when the amount of RAM needed exceeds the space available. In a nut shell this provides more RAM space for application data to be loaded in RAM. The trade off is slightly reduced performance of the RAM for the data that is being compressed and uncompressed. But is faster than if the data were in a swap space on the internal storage drive (memory). To use this feature you must first set the amount of space that will be reserved and then toggle compcache enabled to on. Then click apply to make the settings active. If you desire to change the amount of space reserved once it has been active you must turn compcache enabled to off and click apply. Then change the amount of space reserved, turn compcache enabled to on, and click apply to make the new setting active.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Saving your Profile===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahPalm4Life-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|After leaving the step above, you will have ended up back at the &amp;quot;Advanced Settings&amp;quot; screen where the button &amp;quot;Save Current Profile&amp;quot; is at the bottom. This is where you can make your Pre/Pixi set to boot with your faster speed.  Set the name you want here and tap &amp;quot;Save As New Profile&amp;quot;.  Gesture swipe left to return to the &amp;quot;Profiles&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profile Management===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahMegaProfiles2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|As you can clearly see, you can save many different profiles for testing various settings to find what best suits you and your usage patterns to find that &amp;quot;sweet spot&amp;quot; between speed and battery savings.  Only you can find this.  [http://forums.precentral.net/webos-internals/244701-govnah.html People can help suggest] what works for them, but no two devices are '''exactly''' the same.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Governors In-Depth=&lt;br /&gt;
===Real World Examples===&lt;br /&gt;
&lt;br /&gt;
The Uber-Kernel exposes a governor called ''on-demand''.  The on-demand governor increases and decreases clock speed based on the percentage of CPU usage. &lt;br /&gt;
&lt;br /&gt;
The ''on-demand'' governor exposes the following parameters which can be set by Govnah: &lt;br /&gt;
:* scaling_max_freq - Set the maximum frequency your CPU is allowed to scale to.&lt;br /&gt;
:* scaling_min_freq - Same as scaling_max_freq but setting a minimum value.&lt;br /&gt;
:* sampling_rate - How often you want the kernel to look at the CPU usage (in microseconds) Typically this is set to values of 10000 or more.&lt;br /&gt;
:* up_threshold - This defines what the average CPU usage percentage increase between samplings for the kernel to decide to increase the CPU frequency. &lt;br /&gt;
:* ignore_nice_load - If '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
:* powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. The bias is in tenths of a percent (0 to 1000).  A setting of 100 will result in a 10% smaller increase in CPU speed for a given usage than a setting of 0 would result in.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;Governor&amp;quot; in the kernel tells ''Govnah'' what parameters it has that may be set and may also say what the limits of those parameters are.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Standard Linux Governors===&lt;br /&gt;
====Generic Items (all)====&lt;br /&gt;
* &amp;lt;u&amp;gt;scaling_max_freq&amp;lt;/u&amp;gt;: Set the maximum frequency your CPU(s) are allowed to scale to. Look at the output from scaling_available_frequencies&lt;br /&gt;
* &amp;lt;u&amp;gt;scaling_min_freq&amp;lt;/u&amp;gt;: Same as scaling_max_freq but setting a value that will not allow the CPU(s) to go below.&lt;br /&gt;
&lt;br /&gt;
====ondemand====&lt;br /&gt;
* &amp;lt;u&amp;gt;sampling_rate&amp;lt;/u&amp;gt;: This is measured in microseconds (one millionth of a second). This is how often you want the kernel to look at the CPU usage and to make decisions on what to do about the frequency. Typically this is set to values of around '10000' or more. If you wanted to set the sampling rate to 1 second you would set it to 1000000 like in the following example.&lt;br /&gt;
* &amp;lt;u&amp;gt;sampling_rate_(min|max)&amp;lt;/u&amp;gt;: This is minimum and maximum sampling rates available that you may set 'sampling_rate' to. I believe in microseconds also.&lt;br /&gt;
* &amp;lt;u&amp;gt;sampling_down_factor&amp;lt;/u&amp;gt;: this parameter controls the rate that the CPU makes a decision on when to decrease the frequency. When set to its default value of '5' it means that at 1/5 the sampling_rate the kernel makes a decision to lower the frequency. Five &amp;quot;lower rate&amp;quot; decisions have to be made in a row before the CPU frequency is actually lower. If set to '1' then the frequency decreases as quickly as it increases, if set to '2' it decreases at half the rate of the increase.&lt;br /&gt;
* &amp;lt;u&amp;gt;up_threshold&amp;lt;/u&amp;gt;: This defines what the average CPU usage between the samplings of 'sampling_rate' needs to be for the kernel to make a decision on whether or not it should increase the frequency. For example when it is set to its default value of '80' it means that between the checking intervals the CPU needs to be on average more than 80% in use to then decide that the CPU frequency needs to be increased. &lt;br /&gt;
* &amp;lt;u&amp;gt;ignore_nice_load&amp;lt;/u&amp;gt;: This parameter takes a value of '0' or '1'. When set to '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
* &amp;lt;u&amp;gt;powersave_bias&amp;lt;/u&amp;gt;: This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. By default, (powersave_bias  = 0), the ondemand governor selects the minimum processor frequency that can still complete a workload with minimal idle time. Doing so should result in the highest performance to power efficiency ratio. In some cases, you might prefer a greater emphasis on power efficiency than performance. In this case, set the powersave_bias parameter to a value between 1 and 1000 to reduce the target frequency by one-thousandth of that value. For example, set powersave_bias to 100 for a one-tenth reduction in target frequency. In this case, if the governor chooses a target frequency of 2 GHz (with powersave_bias  = 100), the governor instead will request 1.8GHz – a one-tenth reduction. If 1.8 GHz is an exact match with an available hardware frequency (listed in the scaling_available_freq parameter), the processor is set to this frequency. If 1.8 GHz is not available, the processor fluctuates between the closest available upper and lower frequencies for an average frequency of 1.8 GHz. (from IBM web page). The original author of the ondemand powersave_bias code explains it as &amp;quot;For example, If ondemand requests 2.0GHz based on utilization, and powersave_bias=100, this code will knock 10% off the target and seek a target of 1.8GHz instead of 2.0GHz until the next sampling. If 1.8 is an exact match with an hardware frequency we use it, otherwise we average our time between the frequency next higher than 1.8 and next lower than 1.8&amp;quot; (from http://osdir.com/ml/kernel.cpufreq/2006-07/msg00114.html ) - the key word appears to be &amp;quot;average&amp;quot;. The author also warns &amp;quot;In practice, users will not be able to detect a difference between 0.1% increments, but 1.0% increments turned out to be too large. Also, the max value of 1000 (100%) would simply peg the system in its deepest power saving P-state, unless the processor really has a hardware P-state at 0Hz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====conservative====&lt;br /&gt;
* &amp;lt;u&amp;gt;freq_step&amp;lt;/u&amp;gt;: This describes what percentage steps the CPU freq should be increased and decreased smoothly by. By default the CPU frequency will increase in 5% chunks of your maximum CPU frequency. You can change this value to anywhere between 0 and 100 where '0' will effectively lock your CPU at a speed regardless of its load whilst '100' will, in theory, make it behave identically to the &amp;quot;ondemand&amp;quot; governor. &lt;br /&gt;
* &amp;lt;u&amp;gt;down_threshold&amp;lt;/u&amp;gt;: This is same as the 'up_threshold' found for the &amp;quot;ondemand&amp;quot; governor but for the opposite direction. For example when set to its default value of '20' it means that if the CPU usage needs to be below 20% between samples to have the frequency decreased. &lt;br /&gt;
* &amp;lt;u&amp;gt;sampling_rate&amp;lt;/u&amp;gt;: same as ondemand.&lt;br /&gt;
* &amp;lt;u&amp;gt;sampling_rate_(min|max)&amp;lt;/u&amp;gt;: same as ondemand.&lt;br /&gt;
* &amp;lt;u&amp;gt;up_threshold&amp;lt;/u&amp;gt;: same as ondemand.&lt;br /&gt;
* &amp;lt;u&amp;gt;ignore_nice_load&amp;lt;/u&amp;gt;: same as ondemand.&lt;br /&gt;
&lt;br /&gt;
====userspace====&lt;br /&gt;
* &amp;lt;u&amp;gt;scaling_setspeed&amp;lt;/u&amp;gt;: one of the values from scaling_available_frequencies&lt;br /&gt;
* &amp;lt;u&amp;gt;NB&amp;lt;/u&amp;gt;: when userspace is selected LunaSysMgr will change the frequency as it feels.&lt;br /&gt;
&lt;br /&gt;
====powersave====&lt;br /&gt;
* Nothing special&lt;br /&gt;
&lt;br /&gt;
====performance====&lt;br /&gt;
* Nothing special&lt;br /&gt;
&lt;br /&gt;
====screenstate====&lt;br /&gt;
* Nothing special&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Developer Notes=&lt;br /&gt;
===Relaunching for Cross-App Integration===&lt;br /&gt;
There are 2 different launch params. One to get a list of profiles returned to your app, and one to apply a profile to the phone. This was implemented in v0.3.1.&lt;br /&gt;
&lt;br /&gt;
===Profile List===&lt;br /&gt;
The code below is how you would launch Govnah and tell it to return a list of profiles to your app:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'get-profiles',&lt;br /&gt;
				returnid: 'app.to.relaunch'&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to replace the returnid parameters value 'app.to.relaunch' with your apps id.&lt;br /&gt;
&lt;br /&gt;
The object below will be sent to your app-assistants handleLaunch function. (But with real data obviously.)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type: 'govnah-profiles',&lt;br /&gt;
	profiles:&lt;br /&gt;
	[&lt;br /&gt;
		{&lt;br /&gt;
			id: 1,&lt;br /&gt;
			name: 'Palm Default'&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			id: 8,&lt;br /&gt;
			name: 'Awesome Profile!'&lt;br /&gt;
		},&lt;br /&gt;
		{...}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Profile Apply===&lt;br /&gt;
The code below is how you use the list of profiles you received in the prior relaunch to have Govnah apply a profile.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'set-profile',&lt;br /&gt;
				profileid: 1&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Replace 'profileid' parameters value with the profile id you wish Govnah to apply. Note that 'profilename' is also an accepted parameter. This launch will not relaunch your app, it will simply apply if the profileid/name you requested actually exists. (And will just ignore your request if it doesn't.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html&lt;br /&gt;
* http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaai/cpufreq/TheOndemandGovernor.htm&lt;br /&gt;
* http://fasterdata.es.net/TCP-tuning/linux.html&lt;br /&gt;
* http://www.pdfgeni.com/book/Performance-analysis-of-loss-based-high-speed-TCP-congestion-control-algorithms-pdf.html - collection of documents on implementation of different IPv4 congestion control methods.&lt;br /&gt;
* http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt - Kernel documentation for the standard Linux CPU frequency governors&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15691</id>
		<title>Application:Govnah</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15691"/>
		<updated>2011-04-29T12:28:54Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Eye Pleasing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
This page is currently available in these languages:&lt;br /&gt;
:[[Image:Australia.png]] [[Image:USA.png]] [[Application:Govnah]]&lt;br /&gt;
:[[Image:Germany.png]] [[Application:Govnah-DE]]&lt;br /&gt;
:[[Image:France.png]] [[Application:Govnah-FR]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Govnah&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 0.7.7 &amp;lt;br /&amp;gt;(2010-11-28)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=GovnahHome4Life-0.6.1.png&lt;br /&gt;
|description=}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Icon_WebOSInternals_Govnah.png|frameless|left]]&lt;br /&gt;
Advanced webOS kernels provide mechanisms to control various operating parameters on the device such as clock speed.  These kernels expose one or more &amp;quot;governors&amp;quot; which can control those parameters. An example of such a kernel is the [[Application:UberKernel|UberKernel]].  This application is available through [[Preware]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Purpose===&lt;br /&gt;
Govnah's UI provides access to:&lt;br /&gt;
:* A real-time graph of CPU speed, CPU temperature, memory usage and system load &lt;br /&gt;
:* A mechanism for setting the parameters of the governors exposed by the various Linux kernels.&lt;br /&gt;
:* Ability to reduce/raise the amount of power parts of the device uses to reduce battery consumption.&lt;br /&gt;
:* Temperature range which lowers/resets CPU frequency to cool down the device under heavy load.&lt;br /&gt;
:* Ability to slow down the CPU when battery is low.&lt;br /&gt;
:* The amount of swap that can be compressed (compcache).&lt;br /&gt;
:* The enabled Linux IO schedulers.&lt;br /&gt;
:* The enabled Linux TCP Congestion algorithms.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
The following guide assumes a Palm Pre/Pre+/Pre2 is currently running Palm's stock kernel with no over-clocking patches.&lt;br /&gt;
&lt;br /&gt;
#On Preware's home screen, type &amp;quot;Govnah&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;Govnah&amp;quot; and &amp;quot;Install&amp;quot;.&lt;br /&gt;
#If you have not yet installed a replacement &amp;quot;Kernel&amp;quot;, on Preware's home screen, type &amp;quot;uber&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;[[Application:UberKernel|UberKernel (Palm Pre/Pre+)]]&amp;quot; and &amp;quot;Install&amp;quot;.&lt;br /&gt;
#Restart your phone as prompted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Note:&lt;br /&gt;
 See the [http://www.webos-internals.org/wiki/Application:UberKernel the UberKernel page] for further information on its abilities and use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Brief Usage=&lt;br /&gt;
===Where To Start===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapProfile-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|To begin accessing the power of Govnah's control over the Linux Kernel, tap the &amp;quot;Profile&amp;quot; row at the top of the main screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapAdvanced-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Here is the list of stored Govnah Profiles.  Profiles are a simple way for you store various settings that you wish to be applied at boot-time.  You have the ability to store several different profiles for testing the best settings for '''your''' usage.  Tap &amp;quot;Advanced Settings&amp;quot; at the top to access the individual settings that get stored in the profiles.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Settings===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahAdvSettings2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|This is the list of configurable items.  They are explained in more depth below.  You are ''strongly'' encouraged to read about what these settings mean and do.  Not all of them are beneficial to you or your battery.  Most of the defaults are a happy medium between the two.  The main one to change is &amp;quot;CPU Frequency&amp;quot;.  Tap that now.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU Frequency===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahCPUFreq-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|The first time you boot your Pre/Pixi after installing Govnah and UberKernel, it will be running at 600MHz.  This is where you ramp it up to 800MHz.  Select &amp;quot;800Mhz&amp;quot; in the &amp;quot;Set Speed&amp;quot; section and tap &amp;quot;Apply Settings&amp;quot;.  Your phone will immediately be running at 800Mhz.  Gesture Swipe left return to the &amp;quot;Advanced Settings&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compressed Swap (compcache)===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:govnahCompSwap-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Compressed swap (compcache) is simply an amount of RAM (memory) that is reserved for compressing data loaded into RAM when the amount of RAM needed exceeds the space available. In a nut shell this provides more RAM space for application data to be loaded in RAM. The trade off is slightly reduced performance of the RAM for the data that is being compressed and uncompressed. But is faster than if the data were in a swap space on the internal storage drive (memory). To use this feature you must first set the amount of space that will be reserved and then toggle compcache enabled to on. Then click apply to make the settings active. If you desire to change the amount of space reserved once it has been active you must turn compcache enabled to off and click apply. Then change the amount of space reserved, turn compcache enabled to on, and click apply to make the new setting active.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Saving your Profile===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahPalm4Life-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|After leaving the step above, you will have ended up back at the &amp;quot;Advanced Settings&amp;quot; screen where the button &amp;quot;Save Current Profile&amp;quot; is at the bottom. This is where you can make your Pre/Pixi set to boot with your faster speed.  Set the name you want here and tap &amp;quot;Save As New Profile&amp;quot;.  Gesture swipe left to return to the &amp;quot;Profiles&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profile Management===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahMegaProfiles2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|As you can clearly see, you can save many different profiles for testing various settings to find what best suits you and your usage patterns to find that &amp;quot;sweet spot&amp;quot; between speed and battery savings.  Only you can find this.  [http://forums.precentral.net/webos-internals/244701-govnah.html People can help suggest] what works for them, but no two devices are '''exactly''' the same.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Governors In-Depth=&lt;br /&gt;
===Real World Examples===&lt;br /&gt;
&lt;br /&gt;
The Uber-Kernel exposes a governor called ''on-demand''.  The on-demand governor increases and decreases clock speed based on the percentage of CPU usage. &lt;br /&gt;
&lt;br /&gt;
The ''on-demand'' governor exposes the following parameters which can be set by Govnah: &lt;br /&gt;
:* scaling_max_freq - Set the maximum frequency your CPU is allowed to scale to.&lt;br /&gt;
:* scaling_min_freq - Same as scaling_max_freq but setting a minimum value.&lt;br /&gt;
:* sampling_rate - How often you want the kernel to look at the CPU usage (in microseconds) Typically this is set to values of 10000 or more.&lt;br /&gt;
:* up_threshold - This defines what the average CPU usage percentage increase between samplings for the kernel to decide to increase the CPU frequency. &lt;br /&gt;
:* ignore_nice_load - If '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
:* powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. The bias is in tenths of a percent (0 to 1000).  A setting of 100 will result in a 10% smaller increase in CPU speed for a given usage than a setting of 0 would result in.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;Governor&amp;quot; in the kernel tells ''Govnah'' what parameters it has that may be set and may also say what the limits of those parameters are.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Standard Linux Governors===&lt;br /&gt;
====Generic Items (all)====&lt;br /&gt;
* '''scaling_max_freq''': Set the maximum frequency your CPU(s) are allowed to scale to. Look at the output from scaling_available_frequencies&lt;br /&gt;
* '''scaling_min_freq''': Same as scaling_max_freq but setting a value that will not allow the CPU(s) to go below.&lt;br /&gt;
&lt;br /&gt;
====ondemand====&lt;br /&gt;
* '''sampling_rate''': This is measured in microseconds (one millionth of a second). This is how often you want the kernel to look at the CPU usage and to make decisions on what to do about the frequency. Typically this is set to values of around '10000' or more. If you wanted to set the sampling rate to 1 second you would set it to 1000000 like in the following example.&lt;br /&gt;
* '''sampling_rate_(min|max)''': This is minimum and maximum sampling rates available that you may set 'sampling_rate' to. I believe in microseconds also.&lt;br /&gt;
* '''sampling_down_factor''': this parameter controls the rate that the CPU makes a decision on when to decrease the frequency. When set to its default value of '5' it means that at 1/5 the sampling_rate the kernel makes a decision to lower the frequency. Five &amp;quot;lower rate&amp;quot; decisions have to be made in a row before the CPU frequency is actually lower. If set to '1' then the frequency decreases as quickly as it increases, if set to '2' it decreases at half the rate of the increase.&lt;br /&gt;
* '''up_threshold''': This defines what the average CPU usage between the samplings of 'sampling_rate' needs to be for the kernel to make a decision on whether or not it should increase the frequency. For example when it is set to its default value of '80' it means that between the checking intervals the CPU needs to be on average more than 80% in use to then decide that the CPU frequency needs to be increased. &lt;br /&gt;
* '''ignore_nice_load''': This parameter takes a value of '0' or '1'. When set to '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
* '''powersave_bias''': This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. By default, (powersave_bias  = 0), the ondemand governor selects the minimum processor frequency that can still complete a workload with minimal idle time. Doing so should result in the highest performance to power efficiency ratio. In some cases, you might prefer a greater emphasis on power efficiency than performance. In this case, set the powersave_bias parameter to a value between 1 and 1000 to reduce the target frequency by one-thousandth of that value. For example, set powersave_bias to 100 for a one-tenth reduction in target frequency. In this case, if the governor chooses a target frequency of 2 GHz (with powersave_bias  = 100), the governor instead will request 1.8GHz – a one-tenth reduction. If 1.8 GHz is an exact match with an available hardware frequency (listed in the scaling_available_freq parameter), the processor is set to this frequency. If 1.8 GHz is not available, the processor fluctuates between the closest available upper and lower frequencies for an average frequency of 1.8 GHz. (from IBM web page). The original author of the ondemand powersave_bias code explains it as &amp;quot;For example, If ondemand requests 2.0GHz based on utilization, and powersave_bias=100, this code will knock 10% off the target and seek a target of 1.8GHz instead of 2.0GHz until the next sampling. If 1.8 is an exact match with an hardware frequency we use it, otherwise we average our time between the frequency next higher than 1.8 and next lower than 1.8&amp;quot; (from http://osdir.com/ml/kernel.cpufreq/2006-07/msg00114.html ) - the key word appears to be &amp;quot;average&amp;quot;. The author also warns &amp;quot;In practice, users will not be able to detect a difference between 0.1% increments, but 1.0% increments turned out to be too large. Also, the max value of 1000 (100%) would simply peg the system in its deepest power saving P-state, unless the processor really has a hardware P-state at 0Hz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====conservative====&lt;br /&gt;
* '''freq_step''': This describes what percentage steps the CPU freq should be increased and decreased smoothly by. By default the CPU frequency will increase in 5% chunks of your maximum CPU frequency. You can change this value to anywhere between 0 and 100 where '0' will effectively lock your CPU at a speed regardless of its load whilst '100' will, in theory, make it behave identically to the &amp;quot;ondemand&amp;quot; governor. &lt;br /&gt;
* '''down_threshold''': This is same as the 'up_threshold' found for the &amp;quot;ondemand&amp;quot; governor but for the opposite direction. For example when set to its default value of '20' it means that if the CPU usage needs to be below 20% between samples to have the frequency decreased. &lt;br /&gt;
* '''sampling_rate''': same as ondemand.&lt;br /&gt;
* '''sampling_rate_(min|max)''': same as ondemand.&lt;br /&gt;
* '''up_threshold''': same as ondemand.&lt;br /&gt;
* '''ignore_nice_load'''v: same as ondemand.&lt;br /&gt;
&lt;br /&gt;
====userspace====&lt;br /&gt;
* '''scaling_setspeed''': one of the values from scaling_available_frequencies&lt;br /&gt;
* '''NB''': when userspace is selected LunaSysMgr will change the frequency as it feels.&lt;br /&gt;
&lt;br /&gt;
====powersave====&lt;br /&gt;
* Nothing special&lt;br /&gt;
&lt;br /&gt;
====performance====&lt;br /&gt;
* Nothing special&lt;br /&gt;
&lt;br /&gt;
====screenstate====&lt;br /&gt;
* Nothing special&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Developer Notes=&lt;br /&gt;
===Relaunching for Cross-App Integration===&lt;br /&gt;
There are 2 different launch params. One to get a list of profiles returned to your app, and one to apply a profile to the phone. This was implemented in v0.3.1.&lt;br /&gt;
&lt;br /&gt;
===Profile List===&lt;br /&gt;
The code below is how you would launch Govnah and tell it to return a list of profiles to your app:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'get-profiles',&lt;br /&gt;
				returnid: 'app.to.relaunch'&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to replace the returnid parameters value 'app.to.relaunch' with your apps id.&lt;br /&gt;
&lt;br /&gt;
The object below will be sent to your app-assistants handleLaunch function. (But with real data obviously.)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type: 'govnah-profiles',&lt;br /&gt;
	profiles:&lt;br /&gt;
	[&lt;br /&gt;
		{&lt;br /&gt;
			id: 1,&lt;br /&gt;
			name: 'Palm Default'&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			id: 8,&lt;br /&gt;
			name: 'Awesome Profile!'&lt;br /&gt;
		},&lt;br /&gt;
		{...}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Profile Apply===&lt;br /&gt;
The code below is how you use the list of profiles you received in the prior relaunch to have Govnah apply a profile.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'set-profile',&lt;br /&gt;
				profileid: 1&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Replace 'profileid' parameters value with the profile id you wish Govnah to apply. Note that 'profilename' is also an accepted parameter. This launch will not relaunch your app, it will simply apply if the profileid/name you requested actually exists. (And will just ignore your request if it doesn't.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html&lt;br /&gt;
* http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaai/cpufreq/TheOndemandGovernor.htm&lt;br /&gt;
* http://fasterdata.es.net/TCP-tuning/linux.html&lt;br /&gt;
* http://www.pdfgeni.com/book/Performance-analysis-of-loss-based-high-speed-TCP-congestion-control-algorithms-pdf.html - collection of documents on implementation of different IPv4 congestion control methods.&lt;br /&gt;
* http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt - Kernel documentation for the standard Linux CPU frequency governors&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15689</id>
		<title>Application:Govnah</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15689"/>
		<updated>2011-04-29T12:17:40Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Installation */  Clarification.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
This page is currently available in two languages:&lt;br /&gt;
:[[Image:Australia.png]] [[Image:USA.png]] [[Application:Govnah]]&lt;br /&gt;
:[[Image:Germany.png]] [[Application:Govnah-DE]]&lt;br /&gt;
:[[Image:France.png]] [[Application:Govnah-FR]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Govnah&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 0.7.5 &amp;lt;br /&amp;gt;(2010-10-22)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=GovnahHome4Life-0.6.1.png&lt;br /&gt;
|description=}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Icon_WebOSInternals_Govnah.png|frameless|left]]&lt;br /&gt;
Advanced webOS kernels provide mechanisms to control various operating parameters on the device such as clock speed.  These kernels expose one or more &amp;quot;governors&amp;quot; which can control those parameters. An example of such a kernel is the [[Application:UberKernel|UberKernel]].  This application is available through [[Preware]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Purpose===&lt;br /&gt;
Govnah's UI provides access to:&lt;br /&gt;
:* A real-time graph of CPU speed, CPU temperature, memory usage and system load &lt;br /&gt;
:* A mechanism for setting the parameters of the governors exposed by the various Linux kernels.&lt;br /&gt;
:* Ability to reduce/raise the amount of power parts of the device uses to reduce battery consumption.&lt;br /&gt;
:* Temperature range which lowers/resets CPU frequency to cool down the device under heavy load.&lt;br /&gt;
:* Ability to slow down the CPU when battery is low.&lt;br /&gt;
:* The amount of swap that can be compressed (compcache).&lt;br /&gt;
:* The enabled Linux IO schedulers.&lt;br /&gt;
:* The enabled Linux TCP Congestion algorithms.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
The following guide assumes a Palm Pre/Pre+/Pre2 is currently running Palm's stock kernel with no over-clocking patches.&lt;br /&gt;
&lt;br /&gt;
#On Preware's home screen, type &amp;quot;Govnah&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;Govnah&amp;quot; and &amp;quot;Install&amp;quot;.&lt;br /&gt;
#If you have not yet installed a replacement &amp;quot;Kernel&amp;quot;, on Preware's home screen, type &amp;quot;uber&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;[[Application:UberKernel|UberKernel (Palm Pre/Pre+)]]&amp;quot; and &amp;quot;Install&amp;quot;.&lt;br /&gt;
#Restart your phone as prompted.&lt;br /&gt;
&lt;br /&gt;
 See the [http://www.webos-internals.org/wiki/Application:UberKernel the UberKernel page] for &lt;br /&gt;
 further information on its abilities and use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Brief Usage=&lt;br /&gt;
===Where To Start===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapProfile-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|To begin accessing the power of Govnah's control over the Linux Kernel, tap the &amp;quot;Profile&amp;quot; row at the top of the main screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapAdvanced-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Here is the list of stored Govnah Profiles.  Profiles are a simple way for you store various settings that you wish to be applied at boot-time.  You have the ability to store several different profiles for testing the best settings for '''your''' usage.  Tap &amp;quot;Advanced Settings&amp;quot; at the top to access the individual settings that get stored in the profiles.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Settings===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahAdvSettings2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|This is the list of configurable items.  They are explained in more depth below.  You are ''strongly'' encouraged to read about what these settings mean and do.  Not all of them are beneficial to you or your battery.  Most of the defaults are a happy medium between the two.  The main one to change is &amp;quot;CPU Frequency&amp;quot;.  Tap that now.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU Frequency===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahCPUFreq-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|The first time you boot your Pre/Pixi after installing Govnah and UberKernel, it will be running at 600MHz.  This is where you ramp it up to 800MHz.  Select &amp;quot;800Mhz&amp;quot; in the &amp;quot;Set Speed&amp;quot; section and tap &amp;quot;Apply Settings&amp;quot;.  Your phone will immediately be running at 800Mhz.  Gesture Swipe left return to the &amp;quot;Advanced Settings&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compressed Swap (compcache)===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:govnahCompSwap-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Compressed swap (compcache) is simply an amount of RAM (memory) that is reserved for compressing data loaded into RAM when the amount of RAM needed exceeds the space available. In a nut shell this provides more RAM space for application data to be loaded in RAM. The trade off is slightly reduced performance of the RAM for the data that is being compressed and uncompressed. But is faster than if the data were in a swap space on the internal storage drive (memory). To use this feature you must first set the amount of space that will be reserved and then toggle compcache enabled to on. Then click apply to make the settings active. If you desire to change the amount of space reserved once it has been active you must turn compcache enabled to off and click apply. Then change the amount of space reserved, turn compcache enabled to on, and click apply to make the new setting active.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Saving your Profile===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahPalm4Life-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|After leaving the step above, you will have ended up back at the &amp;quot;Advanced Settings&amp;quot; screen where the button &amp;quot;Save Current Profile&amp;quot; is at the bottom. This is where you can make your Pre/Pixi set to boot with your faster speed.  Set the name you want here and tap &amp;quot;Save As New Profile&amp;quot;.  Gesture swipe left to return to the &amp;quot;Profiles&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profile Management===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahMegaProfiles2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|As you can clearly see, you can save many different profiles for testing various settings to find what best suits you and your usage patterns to find that &amp;quot;sweet spot&amp;quot; between speed and battery savings.  Only you can find this.  [http://forums.precentral.net/webos-internals/244701-govnah.html People can help suggest] what works for them, but no two devices are '''exactly''' the same.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Governors In-Depth=&lt;br /&gt;
===Real World Examples===&lt;br /&gt;
&lt;br /&gt;
The Uber-Kernel exposes a governor called ''on-demand''.  The on-demand governor increases and decreases clock speed based on the percentage of CPU usage. &lt;br /&gt;
&lt;br /&gt;
The ''on-demand'' governor exposes the following parameters which can be set by Govnah: &lt;br /&gt;
:* scaling_max_freq - Set the maximum frequency your CPU is allowed to scale to.&lt;br /&gt;
:* scaling_min_freq - Same as scaling_max_freq but setting a minimum value.&lt;br /&gt;
:* sampling_rate - How often you want the kernel to look at the CPU usage (in microseconds) Typically this is set to values of 10000 or more.&lt;br /&gt;
:* up_threshold - This defines what the average CPU usage percentage increase between samplings for the kernel to decide to increase the CPU frequency. &lt;br /&gt;
:* ignore_nice_load - If '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
:* powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. The bias is in tenths of a percent (0 to 1000).  A setting of 100 will result in a 10% smaller increase in CPU speed for a given usage than a setting of 0 would result in.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;Governor&amp;quot; in the kernel tells ''Govnah'' what parameters it has that may be set and may also say what the limits of those parameters are.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Standard Linux Governors===&lt;br /&gt;
* Generic items (needed for all)&lt;br /&gt;
** scaling_max_freq - Set the maximum frequency your CPU(s) are allowed to scale to. Look at the output from scaling_available_frequencies&lt;br /&gt;
** scaling_min_freq - Same as scaling_max_freq but setting a value that will not allow the CPU(s) to go below.&lt;br /&gt;
&lt;br /&gt;
* '''ondemand'''&lt;br /&gt;
** sampling_rate - This is measured in microseconds (one millionth of a second). This is how often you want the kernel to look at the CPU usage and to make decisions on what to do about the frequency. Typically this is set to values of around '10000' or more. If you wanted to set the sampling rate to 1 second you would set it to 1000000 like in the following example.&lt;br /&gt;
** sampling_rate_(min|max) - This is minimum and maximum sampling rates available that you may set 'sampling_rate' to. I believe in microseconds also.&lt;br /&gt;
** sampling_down_factor: this parameter controls the rate that the CPU makes a decision on when to decrease the frequency. When set to its default value of '5' it means that at 1/5 the sampling_rate the kernel makes a decision to lower the frequency. Five &amp;quot;lower rate&amp;quot; decisions have to be made in a row before the CPU frequency is actually lower. If set to '1' then the frequency decreases as quickly as it increases, if set to '2' it decreases at half the rate of the increase.&lt;br /&gt;
** up_threshold - This defines what the average CPU usage between the samplings of 'sampling_rate' needs to be for the kernel to make a decision on whether or not it should increase the frequency. For example when it is set to its default value of '80' it means that between the checking intervals the CPU needs to be on average more than 80% in use to then decide that the CPU frequency needs to be increased. &lt;br /&gt;
** ignore_nice_load - This parameter takes a value of '0' or '1'. When set to '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
** powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. By default, (powersave_bias  = 0), the ondemand governor selects the minimum processor frequency that can still complete a workload with minimal idle time. Doing so should result in the highest performance to power efficiency ratio. In some cases, you might prefer a greater emphasis on power efficiency than performance. In this case, set the powersave_bias parameter to a value between 1 and 1000 to reduce the target frequency by one-thousandth of that value. For example, set powersave_bias to 100 for a one-tenth reduction in target frequency. In this case, if the governor chooses a target frequency of 2 GHz (with powersave_bias  = 100), the governor instead will request 1.8GHz – a one-tenth reduction. If 1.8 GHz is an exact match with an available hardware frequency (listed in the scaling_available_freq parameter), the processor is set to this frequency. If 1.8 GHz is not available, the processor fluctuates between the closest available upper and lower frequencies for an average frequency of 1.8 GHz. (from IBM web page). The original author of the ondemand powersave_bias code explains it as &amp;quot;For example, If ondemand requests 2.0GHz based on utilization, and powersave_bias=100, this code will knock 10% off the target and seek a target of 1.8GHz instead of 2.0GHz until the next sampling. If 1.8 is an exact match with an hardware frequency we use it, otherwise we average our time between the frequency next higher than 1.8 and next lower than 1.8&amp;quot; (from http://osdir.com/ml/kernel.cpufreq/2006-07/msg00114.html ) - the key word appears to be &amp;quot;average&amp;quot;. The author also warns &amp;quot;In practice, users will not be able to detect a difference between 0.1% increments, but 1.0% increments turned out to be too large. Also, the max value of 1000 (100%) would simply peg the system in its deepest power saving P-state, unless the processor really has a hardware P-state at 0Hz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* '''conservative'''&lt;br /&gt;
** freq_step - This describes what percentage steps the CPU freq should be increased and decreased smoothly by. By default the CPU frequency will increase in 5% chunks of your maximum CPU frequency. You can change this value to anywhere between 0 and 100 where '0' will effectively lock your CPU at a speed regardless of its load whilst '100' will, in theory, make it behave identically to the &amp;quot;ondemand&amp;quot; governor. &lt;br /&gt;
** down_threshold - This is same as the 'up_threshold' found for the &amp;quot;ondemand&amp;quot; governor but for the opposite direction. For example when set to its default value of '20' it means that if the CPU usage needs to be below 20% between samples to have the frequency decreased. &lt;br /&gt;
** sampling_rate - same as ondemand.&lt;br /&gt;
** sampling_rate_(min|max) - same as ondemand.&lt;br /&gt;
** up_threshold - same as ondemand.&lt;br /&gt;
** ignore_nice_load - same as ondemand.&lt;br /&gt;
&lt;br /&gt;
* '''userspace'''&lt;br /&gt;
** scaling_setspeed - one of the values from scaling_available_frequencies&lt;br /&gt;
** NB - when userspace is selected LunaSysMgr will change the frequency as it feels.&lt;br /&gt;
&lt;br /&gt;
* '''powersave'''&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
* '''performance'''&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
* '''screenstate'''&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Developer Notes=&lt;br /&gt;
===Relaunching for Cross-App Integration===&lt;br /&gt;
There are 2 different launch params. One to get a list of profiles returned to your app, and one to apply a profile to the phone. This was implemented in v0.3.1.&lt;br /&gt;
&lt;br /&gt;
===Profile List===&lt;br /&gt;
The code below is how you would launch govnah and tell it to return a list of profiles to your app:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'get-profiles',&lt;br /&gt;
				returnid: 'app.to.relaunch'&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to replace the returnid parameters value 'app.to.relaunch' with your apps id.&lt;br /&gt;
&lt;br /&gt;
The object below will be sent to your app-assistants handleLaunch function. (But with real data obviously.)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type: 'govnah-profiles',&lt;br /&gt;
	profiles:&lt;br /&gt;
	[&lt;br /&gt;
		{&lt;br /&gt;
			id: 1,&lt;br /&gt;
			name: 'Palm Default'&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			id: 8,&lt;br /&gt;
			name: 'Awesome Profile!'&lt;br /&gt;
		},&lt;br /&gt;
		{...}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Profile Apply===&lt;br /&gt;
The code below is how you use the list of profiles you received in the prior relaunch to have govnah apply a profile.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'set-profile',&lt;br /&gt;
				profileid: 1&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Replace 'profileid' parameters value with the profile id you wish govnah to apply. Note that 'profilename' is also an accepted parameter. This launch will not relaunch your app, it will simply apply if the profileid/name you requested actually exists. (And will just ignore your request if it doesn't.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html&lt;br /&gt;
* http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaai/cpufreq/TheOndemandGovernor.htm&lt;br /&gt;
* http://fasterdata.es.net/TCP-tuning/linux.html&lt;br /&gt;
* http://www.pdfgeni.com/book/Performance-analysis-of-loss-based-high-speed-TCP-congestion-control-algorithms-pdf.html - collection of documents on implementation of different IPv4 congestion control methods.&lt;br /&gt;
* http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt - Kernel documentation for the standard Linux CPU frequency governors&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15687</id>
		<title>Application:Govnah</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15687"/>
		<updated>2011-04-29T12:11:20Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Purpose */  Clarification.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
This page is currently available in two languages:&lt;br /&gt;
:[[Image:Australia.png]] [[Image:USA.png]] [[Application:Govnah]]&lt;br /&gt;
:[[Image:Germany.png]] [[Application:Govnah-DE]]&lt;br /&gt;
:[[Image:France.png]] [[Application:Govnah-FR]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Govnah&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 0.7.5 &amp;lt;br /&amp;gt;(2010-10-22)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=GovnahHome4Life-0.6.1.png&lt;br /&gt;
|description=}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Icon_WebOSInternals_Govnah.png|frameless|left]]&lt;br /&gt;
Advanced webOS kernels provide mechanisms to control various operating parameters on the device such as clock speed.  These kernels expose one or more &amp;quot;governors&amp;quot; which can control those parameters. An example of such a kernel is the [[Application:UberKernel|UberKernel]].  This application is available through [[Preware]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Purpose===&lt;br /&gt;
Govnah's UI provides access to:&lt;br /&gt;
:* A real-time graph of CPU speed, CPU temperature, memory usage and system load &lt;br /&gt;
:* A mechanism for setting the parameters of the governors exposed by the various Linux kernels.&lt;br /&gt;
:* Ability to reduce/raise the amount of power parts of the device uses to reduce battery consumption.&lt;br /&gt;
:* Temperature range which lowers/resets CPU frequency to cool down the device under heavy load.&lt;br /&gt;
:* Ability to slow down the CPU when battery is low.&lt;br /&gt;
:* The amount of swap that can be compressed (compcache).&lt;br /&gt;
:* The enabled Linux IO schedulers.&lt;br /&gt;
:* The enabled Linux TCP Congestion algorithms.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
The following guide assumes a Palm Pre/Pre+ that has the original 1.4.1.1 kernel and no over-clocking patches.&lt;br /&gt;
&lt;br /&gt;
#On Preware's home screen, type &amp;quot;Gov&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;Govnah&amp;quot; and &amp;quot;Install&amp;quot;&lt;br /&gt;
#If you have not yet installed a &amp;quot;Kernel&amp;quot;, on Preware's home screen, type &amp;quot;uber&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;[[Application:UberKernel|UberKernel (Palm Pre/Pre+)]]&amp;quot; and &amp;quot;Install&amp;quot;&lt;br /&gt;
#Restart your phone as promted&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Brief Usage=&lt;br /&gt;
===Where To Start===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapProfile-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|To begin accessing the power of Govnah's control over the Linux Kernel, tap the &amp;quot;Profile&amp;quot; row at the top of the main screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapAdvanced-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Here is the list of stored Govnah Profiles.  Profiles are a simple way for you store various settings that you wish to be applied at boot-time.  You have the ability to store several different profiles for testing the best settings for '''your''' usage.  Tap &amp;quot;Advanced Settings&amp;quot; at the top to access the individual settings that get stored in the profiles.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Settings===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahAdvSettings2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|This is the list of configurable items.  They are explained in more depth below.  You are ''strongly'' encouraged to read about what these settings mean and do.  Not all of them are beneficial to you or your battery.  Most of the defaults are a happy medium between the two.  The main one to change is &amp;quot;CPU Frequency&amp;quot;.  Tap that now.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU Frequency===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahCPUFreq-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|The first time you boot your Pre/Pixi after installing Govnah and UberKernel, it will be running at 600MHz.  This is where you ramp it up to 800MHz.  Select &amp;quot;800Mhz&amp;quot; in the &amp;quot;Set Speed&amp;quot; section and tap &amp;quot;Apply Settings&amp;quot;.  Your phone will immediately be running at 800Mhz.  Gesture Swipe left return to the &amp;quot;Advanced Settings&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compressed Swap (compcache)===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:govnahCompSwap-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Compressed swap (compcache) is simply an amount of RAM (memory) that is reserved for compressing data loaded into RAM when the amount of RAM needed exceeds the space available. In a nut shell this provides more RAM space for application data to be loaded in RAM. The trade off is slightly reduced performance of the RAM for the data that is being compressed and uncompressed. But is faster than if the data were in a swap space on the internal storage drive (memory). To use this feature you must first set the amount of space that will be reserved and then toggle compcache enabled to on. Then click apply to make the settings active. If you desire to change the amount of space reserved once it has been active you must turn compcache enabled to off and click apply. Then change the amount of space reserved, turn compcache enabled to on, and click apply to make the new setting active.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Saving your Profile===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahPalm4Life-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|After leaving the step above, you will have ended up back at the &amp;quot;Advanced Settings&amp;quot; screen where the button &amp;quot;Save Current Profile&amp;quot; is at the bottom. This is where you can make your Pre/Pixi set to boot with your faster speed.  Set the name you want here and tap &amp;quot;Save As New Profile&amp;quot;.  Gesture swipe left to return to the &amp;quot;Profiles&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profile Management===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahMegaProfiles2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|As you can clearly see, you can save many different profiles for testing various settings to find what best suits you and your usage patterns to find that &amp;quot;sweet spot&amp;quot; between speed and battery savings.  Only you can find this.  [http://forums.precentral.net/webos-internals/244701-govnah.html People can help suggest] what works for them, but no two devices are '''exactly''' the same.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Governors In-Depth=&lt;br /&gt;
===Real World Examples===&lt;br /&gt;
&lt;br /&gt;
The Uber-Kernel exposes a governor called ''on-demand''.  The on-demand governor increases and decreases clock speed based on the percentage of CPU usage. &lt;br /&gt;
&lt;br /&gt;
The ''on-demand'' governor exposes the following parameters which can be set by Govnah: &lt;br /&gt;
:* scaling_max_freq - Set the maximum frequency your CPU is allowed to scale to.&lt;br /&gt;
:* scaling_min_freq - Same as scaling_max_freq but setting a minimum value.&lt;br /&gt;
:* sampling_rate - How often you want the kernel to look at the CPU usage (in microseconds) Typically this is set to values of 10000 or more.&lt;br /&gt;
:* up_threshold - This defines what the average CPU usage percentage increase between samplings for the kernel to decide to increase the CPU frequency. &lt;br /&gt;
:* ignore_nice_load - If '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
:* powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. The bias is in tenths of a percent (0 to 1000).  A setting of 100 will result in a 10% smaller increase in CPU speed for a given usage than a setting of 0 would result in.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;Governor&amp;quot; in the kernel tells ''Govnah'' what parameters it has that may be set and may also say what the limits of those parameters are.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Standard Linux Governors===&lt;br /&gt;
* Generic items (needed for all)&lt;br /&gt;
** scaling_max_freq - Set the maximum frequency your CPU(s) are allowed to scale to. Look at the output from scaling_available_frequencies&lt;br /&gt;
** scaling_min_freq - Same as scaling_max_freq but setting a value that will not allow the CPU(s) to go below.&lt;br /&gt;
&lt;br /&gt;
* '''ondemand'''&lt;br /&gt;
** sampling_rate - This is measured in microseconds (one millionth of a second). This is how often you want the kernel to look at the CPU usage and to make decisions on what to do about the frequency. Typically this is set to values of around '10000' or more. If you wanted to set the sampling rate to 1 second you would set it to 1000000 like in the following example.&lt;br /&gt;
** sampling_rate_(min|max) - This is minimum and maximum sampling rates available that you may set 'sampling_rate' to. I believe in microseconds also.&lt;br /&gt;
** sampling_down_factor: this parameter controls the rate that the CPU makes a decision on when to decrease the frequency. When set to its default value of '5' it means that at 1/5 the sampling_rate the kernel makes a decision to lower the frequency. Five &amp;quot;lower rate&amp;quot; decisions have to be made in a row before the CPU frequency is actually lower. If set to '1' then the frequency decreases as quickly as it increases, if set to '2' it decreases at half the rate of the increase.&lt;br /&gt;
** up_threshold - This defines what the average CPU usage between the samplings of 'sampling_rate' needs to be for the kernel to make a decision on whether or not it should increase the frequency. For example when it is set to its default value of '80' it means that between the checking intervals the CPU needs to be on average more than 80% in use to then decide that the CPU frequency needs to be increased. &lt;br /&gt;
** ignore_nice_load - This parameter takes a value of '0' or '1'. When set to '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
** powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. By default, (powersave_bias  = 0), the ondemand governor selects the minimum processor frequency that can still complete a workload with minimal idle time. Doing so should result in the highest performance to power efficiency ratio. In some cases, you might prefer a greater emphasis on power efficiency than performance. In this case, set the powersave_bias parameter to a value between 1 and 1000 to reduce the target frequency by one-thousandth of that value. For example, set powersave_bias to 100 for a one-tenth reduction in target frequency. In this case, if the governor chooses a target frequency of 2 GHz (with powersave_bias  = 100), the governor instead will request 1.8GHz – a one-tenth reduction. If 1.8 GHz is an exact match with an available hardware frequency (listed in the scaling_available_freq parameter), the processor is set to this frequency. If 1.8 GHz is not available, the processor fluctuates between the closest available upper and lower frequencies for an average frequency of 1.8 GHz. (from IBM web page). The original author of the ondemand powersave_bias code explains it as &amp;quot;For example, If ondemand requests 2.0GHz based on utilization, and powersave_bias=100, this code will knock 10% off the target and seek a target of 1.8GHz instead of 2.0GHz until the next sampling. If 1.8 is an exact match with an hardware frequency we use it, otherwise we average our time between the frequency next higher than 1.8 and next lower than 1.8&amp;quot; (from http://osdir.com/ml/kernel.cpufreq/2006-07/msg00114.html ) - the key word appears to be &amp;quot;average&amp;quot;. The author also warns &amp;quot;In practice, users will not be able to detect a difference between 0.1% increments, but 1.0% increments turned out to be too large. Also, the max value of 1000 (100%) would simply peg the system in its deepest power saving P-state, unless the processor really has a hardware P-state at 0Hz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* '''conservative'''&lt;br /&gt;
** freq_step - This describes what percentage steps the CPU freq should be increased and decreased smoothly by. By default the CPU frequency will increase in 5% chunks of your maximum CPU frequency. You can change this value to anywhere between 0 and 100 where '0' will effectively lock your CPU at a speed regardless of its load whilst '100' will, in theory, make it behave identically to the &amp;quot;ondemand&amp;quot; governor. &lt;br /&gt;
** down_threshold - This is same as the 'up_threshold' found for the &amp;quot;ondemand&amp;quot; governor but for the opposite direction. For example when set to its default value of '20' it means that if the CPU usage needs to be below 20% between samples to have the frequency decreased. &lt;br /&gt;
** sampling_rate - same as ondemand.&lt;br /&gt;
** sampling_rate_(min|max) - same as ondemand.&lt;br /&gt;
** up_threshold - same as ondemand.&lt;br /&gt;
** ignore_nice_load - same as ondemand.&lt;br /&gt;
&lt;br /&gt;
* '''userspace'''&lt;br /&gt;
** scaling_setspeed - one of the values from scaling_available_frequencies&lt;br /&gt;
** NB - when userspace is selected LunaSysMgr will change the frequency as it feels.&lt;br /&gt;
&lt;br /&gt;
* '''powersave'''&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
* '''performance'''&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
* '''screenstate'''&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Developer Notes=&lt;br /&gt;
===Relaunching for Cross-App Integration===&lt;br /&gt;
There are 2 different launch params. One to get a list of profiles returned to your app, and one to apply a profile to the phone. This was implemented in v0.3.1.&lt;br /&gt;
&lt;br /&gt;
===Profile List===&lt;br /&gt;
The code below is how you would launch govnah and tell it to return a list of profiles to your app:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'get-profiles',&lt;br /&gt;
				returnid: 'app.to.relaunch'&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to replace the returnid parameters value 'app.to.relaunch' with your apps id.&lt;br /&gt;
&lt;br /&gt;
The object below will be sent to your app-assistants handleLaunch function. (But with real data obviously.)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type: 'govnah-profiles',&lt;br /&gt;
	profiles:&lt;br /&gt;
	[&lt;br /&gt;
		{&lt;br /&gt;
			id: 1,&lt;br /&gt;
			name: 'Palm Default'&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			id: 8,&lt;br /&gt;
			name: 'Awesome Profile!'&lt;br /&gt;
		},&lt;br /&gt;
		{...}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Profile Apply===&lt;br /&gt;
The code below is how you use the list of profiles you received in the prior relaunch to have govnah apply a profile.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'set-profile',&lt;br /&gt;
				profileid: 1&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Replace 'profileid' parameters value with the profile id you wish govnah to apply. Note that 'profilename' is also an accepted parameter. This launch will not relaunch your app, it will simply apply if the profileid/name you requested actually exists. (And will just ignore your request if it doesn't.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html&lt;br /&gt;
* http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaai/cpufreq/TheOndemandGovernor.htm&lt;br /&gt;
* http://fasterdata.es.net/TCP-tuning/linux.html&lt;br /&gt;
* http://www.pdfgeni.com/book/Performance-analysis-of-loss-based-high-speed-TCP-congestion-control-algorithms-pdf.html - collection of documents on implementation of different IPv4 congestion control methods.&lt;br /&gt;
* http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt - Kernel documentation for the standard Linux CPU frequency governors&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_2_Upgrade&amp;diff=15685</id>
		<title>WebOS 2 Upgrade</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_2_Upgrade&amp;diff=15685"/>
		<updated>2011-04-29T11:16:42Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Sprint */  Move SPECIFIC info out of this page and reference the Sprint PRL Update page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
With the release of the webOS 2.1.0 doctor by HP for O2 and Vodafone Pre+ devices, there is now a legal way to get webOS 2.1 onto the legacy devices of carriers that are not onboard with the 2.x upgrade. Compatible devices include all Pre and Pre Plus devices. This is not compatible with Pixi devices.&lt;br /&gt;
&lt;br /&gt;
'''You must read this page from top to bottom twice before starting this procedure.  You must complete all steps from 0 to 6. Do not omit any steps. Do not improvise. Do not think you can ignore the instructions. If you do not follow these instructions precisely, completely and without error, you will not achieve your goal and you will annoy a lot of people with a lot of unnecessary questions in the process.'''&lt;br /&gt;
&lt;br /&gt;
'''NOTE THAT USING CYGWIN ON WINDOWS IS NO LONGER SUPPORTED AND WILL MAKE YOUR PHONE FAIL TO BOOT'''&lt;br /&gt;
&lt;br /&gt;
= Disclaimer =&lt;br /&gt;
'''This is a process that uses official HP software in unofficial ways.  You should always be prepared for the unlikely possibility that your device may be completely wiped and your Palm profile may be permanently destroyed. Do not proceed unless you have made appropriate backups and are OK with that. Working knowledge of MetaDoctor and Linux systems in general is needed.'''&lt;br /&gt;
&lt;br /&gt;
If you feel the need to ask whether you should do this on your primary phone, then you should not, as that indicates that you have not yet taken the required precautions and backups in case something goes wrong.&lt;br /&gt;
&lt;br /&gt;
= Other Tutorials =&lt;br /&gt;
'''Note that this wiki page is always the authoritative source of information about this process, so you should refer to this page first for any and all instructions. Here are some other pages which you may find useful in addition to this page. They do not replace the information on this page, which you should read from top to bottom first.'''&lt;br /&gt;
== Tutorials that have been updated to match the latest instructions ==&lt;br /&gt;
* ''PreCentral'' forum user @malpha recorded a two-part [http://www.youtube.com/watch?v=CJB8NJ72kZg video overview] of the process as she followed this step-by-step. {Sprint Pre-, Ubuntu}.&lt;br /&gt;
== Tutorials that are out of date and should not be relied upon ==&lt;br /&gt;
* ''PreCentral'' forum user @djwhitey recorded a 9-minute [http://www.youtube.com/watch?v=PF2ciiNFxLc walkthrough] (includes Activation Error). {Sprint Pre-, Win7 x86, Ubuntu Server 10.04}.&lt;br /&gt;
* ''PreCentral'' forum user @innocentbystander has written a start-to-finish guide to installing and building the Meta Doctor under Mac OS 10.6 for those with little or no experience with the command line. It can be found [http://forums.precentral.net/showthread.php?p=2885787 here].&lt;br /&gt;
&lt;br /&gt;
= Using MetaDoctor Scripts =&lt;br /&gt;
&lt;br /&gt;
== Step 0: Backup your device ==&lt;br /&gt;
Make sure you have copies of all the data that you want to preserve from your palm profile.  There is a possibility that you will need to clear your palm profile to be successful in this upgrade, so you should act as if that is going to happen from the start.&lt;br /&gt;
&lt;br /&gt;
Also, make sure you run the [[Application:SaveRestore]] application from Preware to back up your application data - you don't want to lose your Angry Birds progress, do you?&lt;br /&gt;
&lt;br /&gt;
Then copy all the files from the USB drive onto your PC to keep them safe, including music, downloads, and pictures.  The webOS Doctor has been known to wipe your USB drive without warning, so you should act as if that is going to happen from the start.&lt;br /&gt;
&lt;br /&gt;
If your phone is set to use the Palm Profile as the default location for contacts you may want to manually export these. To check how many palm profile contacts you have: Contacts App -&amp;gt; Preferences &amp;amp; Accounts -&amp;gt; tap &amp;quot;Palm Profile&amp;quot; under the &amp;quot;accounts&amp;quot; subsection. &lt;br /&gt;
To manually export contacts see this post: [http://forums.precentral.net/webos-synergy-synchronization/215705-howto-transfer-contacts-palm-profile-gmail-yahoo-mail-easier-way-2.html#post2886607 PreCentral Forums - How To Transfer contacts]. They can be imported back onto your phone by emailing the file of exported contacts to yourself, and opening that attachment on your phone.&lt;br /&gt;
&lt;br /&gt;
A guide for backing up using Save/Restore can be found [http://www.precentral.net/backing-your-application-data-settings-save-restore-homebrew here].&lt;br /&gt;
&lt;br /&gt;
== Step 1: Prerequisites ==&lt;br /&gt;
=== Disk Space ===&lt;br /&gt;
&lt;br /&gt;
You should allow up to 10GB of disk space for this process.&lt;br /&gt;
&lt;br /&gt;
=== MetaDoctor ===&lt;br /&gt;
&lt;br /&gt;
See [[Application:MetaDoctor]] for information on how to install MetaDoctor.&lt;br /&gt;
&lt;br /&gt;
'''NOTE THAT USING CYGWIN ON WINDOWS IS NO LONGER SUPPORTED AND WILL MAKE YOUR PHONE FAIL TO BOOT'''&lt;br /&gt;
&lt;br /&gt;
Note that the procedure for the WebOS 2 Upgrade is on this page.  The MetaDoctor is simply a tool which is used by this procedure.  You need to complete only Step 1: Setting up Meta-Doctor on that page.  When you get to the end of Step 1: Setting up Meta-Doctor on that page, you should come back to this page and continue the procedure on this page.&lt;br /&gt;
&lt;br /&gt;
=== Palm SDK ===  &lt;br /&gt;
	&lt;br /&gt;
See [http://developer.palm.com/index.php?option=com_content&amp;amp;view=article&amp;amp;layout=page&amp;amp;id=1661 Palm Developer Website] for Windows and [http://developer.palm.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=1585 for Ubuntu].  &lt;br /&gt;
Whilst the Palm SDK is not strictly required to complete this procedure, it is the best way to install the novacom and novaterm programs which are used to transfer files to and from your device and to access the command line on your device.&lt;br /&gt;
&lt;br /&gt;
=== Novacom Drivers === &lt;br /&gt;
&lt;br /&gt;
If you are unable to get the official novacom drivers from the Palm SDK to connect to your device, you can alternately try Jason Robitaille's  [http://universal-novacom-installer.googlecode.com/files/Universal%20Novacom%20Installer.jar Universal Novacom Driver Installer]&lt;br /&gt;
&lt;br /&gt;
These drivers are necessary to interface with the Pre. The Installer is cross-platform and supports Windows (32bit and 64bit), Mac OS, and Ubuntu (32bit and 64bit).  Note that it does not support the Pre 2 on Ubuntu.  For that you'll need Linux-specific drivers, which HP makes available [https://cdn.downloads.palm.com/sdkdownloads/2.1.0.519/sdkBinaries/palm-novacom_1.0.64_i386.deb here]for 32-bit and [https://cdn.downloads.palm.com/sdkdownloads/2.1.0.519/sdkBinaries/palm-novacom_1.0.64_amd64.deb here] for 64-bit.&lt;br /&gt;
&lt;br /&gt;
== Step 2: Prepare your Palm Profile ==&lt;br /&gt;
With unsupported carrier/device/OS combinations, it may be necessary to clear some Palm Profile data to allow you to sign in on webOS 2.x devices. The process is as follows:&lt;br /&gt;
'''Warning: this will delete data from your Palm Profile, including but not limited to: calendars, contacts, account information, email signatures, bookmarks, memos, tasks, SSM/MMS messages, and icon/launcher arrangement.'''&lt;br /&gt;
# Open the Backup app.&lt;br /&gt;
# Turn off backups, confirming that you wish to erase your palm profile information.&lt;br /&gt;
&lt;br /&gt;
'''This step is extremely important if you find that after finishing the webOS 2.1 installation your saved apps don't download to your device automatically and your Palm Profile account name under Accounts is &amp;quot;Dr. Skipped Firstuse&amp;quot;. You should delete your profile info and Doctor again.'''&lt;br /&gt;
&lt;br /&gt;
NOTE: The latest scripts (as of 5:00pm EST) MAY allow direct conversion of a 1.4.5 profile to 2.1.0 without deleting Palm Profile data.  Please read the information under &amp;quot;Palm Profile&amp;quot; below to understand the issues that my arise from attempting this, as well as the required solutions to resolve those issues.&lt;br /&gt;
&lt;br /&gt;
== Step 3: Run device-specific MetaDoctor script ==&lt;br /&gt;
The MetaDoctor scripts will automatically download the latest necessary webOS doctors, extract and replace CDMA radio firmware as necessary, and will build and launch the modified webOS Doctor.&lt;br /&gt;
&lt;br /&gt;
'''NOTE THAT USING CYGWIN ON WINDOWS IS NO LONGER SUPPORTED AND WILL MAKE YOUR PHONE FAIL TO BOOT'''&lt;br /&gt;
&lt;br /&gt;
'''A NOTE ON &amp;quot;RE-DOCTORING&amp;quot;:''' If this is not your first time through this process, you should do a &amp;quot;git pull&amp;quot; and a &amp;quot;make clobber&amp;quot; to ensure you have the latest scripts and a pristine build folder.  From the command line, type &amp;quot;cd meta-doctor&amp;quot; without the quotes and press enter. Then type &amp;quot;git pull&amp;quot; without the quotes and press enter.  Then type &amp;quot;make clobber&amp;quot; without the quotes and press enter. Voila! You now have the latest scripts and a clean folder to build your doctor in.&lt;br /&gt;
&lt;br /&gt;
'''From the meta-doctor directory''', run the meta-script that corresponds to your device (note that the strings enclosed by &amp;amp;lt; and &amp;amp;gt; in the following line are placeholders for values that you must supply - you cannot type the string exactly as shown):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-&amp;amp;lt;carrier&amp;amp;gt;-&amp;amp;lt;device&amp;amp;gt;-&amp;amp;lt;version&amp;amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should replace &amp;amp;lt;carrier&amp;amp;gt;, &amp;amp;lt;device&amp;amp;gt;, and &amp;amp;lt;version&amp;amp;gt; with the specific values that match your particular situation, using the detailed information given in the section below that matches your particular device and carrier.&lt;br /&gt;
&lt;br /&gt;
A list of all the scripts can be found by typing&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
ls ./scripts/&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
'''For those who for what ever reason will never be using their phone on a cellular network and wish to use the phone only on wifi, just add &amp;quot;--wifi-only&amp;quot; as an extra argument to the meta-script:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-&amp;amp;lt;carrier&amp;amp;gt;-&amp;amp;lt;device&amp;amp;gt;-&amp;amp;lt;version&amp;amp;gt; --wifi-only&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, you should replace &amp;amp;lt;device&amp;amp;gt;, &amp;amp;lt;carrier&amp;amp;gt;, and &amp;amp;lt;version&amp;amp;gt; with the specific values that match your particular situation, using the detailed information given in the section below that matches your particular device and carrier.&lt;br /&gt;
&lt;br /&gt;
Then, when your device boots after step 4, all you need to do is configure and start wifi and then run the Gesture Tutorial and you should be good to go. Note that in this case the end of the palm profile login procedure will appear to cycle forever, so just manually reboot the device using Opt-Sym-R when that happens.&lt;br /&gt;
&lt;br /&gt;
Specific additional information for each of the supported device and carrier combinations can be found below:&lt;br /&gt;
&lt;br /&gt;
=== AT&amp;amp;T Pre+ ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-att-preplus-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 1.40.50 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You will not be able to purchase apps that require a minimum webOS 2.x version.&lt;br /&gt;
&lt;br /&gt;
=== BellMo Pre ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-bellmo-pre-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 1.40.50 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You will not be able to purchase apps that require a minimum webOS 2.x version.&lt;br /&gt;
&lt;br /&gt;
=== O2 Pre ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-o2-pre-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
=== O2 Pre+ ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-o2-preplus-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
=== Sprint Pre ===&lt;br /&gt;
'''Be aware that there is no publicly available solution for Sprint Navigation or Sprint PRL Update for this procedure.  If you depend on either of those things, you should not upgrade to webOS 2.x'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-sprint-pre-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
=== Sprint Franken Unlocked Pre 2 ===&lt;br /&gt;
'''Be aware that there is no publicly available solution for Sprint Navigation or Sprint PRL Update for this procedure.  If you depend on either of those things, you should not upgrade to webOS 2.x'''&lt;br /&gt;
&lt;br /&gt;
NOTE: Tokens are no longer needed to create a Sprint Franken Unlocked Pre 2. You only need to run the script below. However, it is still a good idea to capture and store the tokens from each phone for potential future use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-sprint-franken-unlocked-pre2-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Voice Dial&amp;quot; app may not work. Please see the Voice Dialing section below to remedy this.&lt;br /&gt;
&lt;br /&gt;
=== Sprint Franken Verizon Pre 2 ===&lt;br /&gt;
'''Be aware that there is no publicly available solution for Sprint Navigation or Sprint PRL Update for this procedure.  If you depend on either of those things, you should not upgrade to webOS 2.x'''&lt;br /&gt;
&lt;br /&gt;
NOTE: Tokens are no longer needed to create a Sprint Franken Verizon Pre 2. You only need to run the script below. However, it is still a good idea to capture and store the tokens from each phone for potential future use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-sprint-franken-verizon-pre2-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Voice Dial&amp;quot; app may not work. Please see the Voice Dialing section below to remedy this.&lt;br /&gt;
&lt;br /&gt;
=== Telcel Pre ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-telcel-pre-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 1.40.00 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You will not be able to purchase apps that require a minimum webOS 2.x version.&lt;br /&gt;
&lt;br /&gt;
'''In Fact, it seems Palm has already locked out all the Telcel activated devices, so, even if you managed to hack your Meta Doctor to have a 1.4.5 profile and see the paid apps in the Catalog, you won't be able to insert your credit card data and won't be able to buy apps anymore.'''&lt;br /&gt;
&lt;br /&gt;
=== Verizon Pre+ ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-verizon-preplus-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
In order to update your PRL, you will need to manually program your phone OTA by dialing *228 from the dialer, and choose the &amp;quot;Program your phone&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
=== Verizon FrankenPre 2 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-verizon-franken-unlocked-pre2-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
In order to update your PRL, you will need to manually program your phone OTA by dialing *228 from the dialer, and choose the &amp;quot;Program your phone&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Voice Dial&amp;quot; app may not work. Please see the Voice Dialing section below to remedy this.&lt;br /&gt;
&lt;br /&gt;
=== WR Pre ===&lt;br /&gt;
&lt;br /&gt;
For WR devices, you should attempt to use the O2 script above first, and if you end up with a 9.9.9 version in your palm profile, then use this WR script instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-wr-pre-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 1.40.50 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You will not be able to purchase apps that require a minimum webOS 2.x version.&lt;br /&gt;
&lt;br /&gt;
== Step 4: Run the modified webOS Doctor ==&lt;br /&gt;
The meta-script will automatically launch the modified webOS Doctor for you.  However, if you need to move it to a different location and run it manually, the modified doctor will be a '''.jar''' file located in the build output directory: &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;meta-doctor/build/meta-sprint-pre-2.1.0/webosdoctorp101ueu-wr-2.1.0.jar&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the directory path will change from that example based on which script you ran, and the script will tell you the exact pathname shortly after it starts running.&lt;br /&gt;
&lt;br /&gt;
Do not USB connect the phone until WebOS Doctor specifically says to.&lt;br /&gt;
&lt;br /&gt;
NOTE: There have been reports that, for some users, the modified webOS doctor fails to recognize the USB connection.  Similarly, up-graders have also noted that in some instances their Pre will &amp;quot;disconnect&amp;quot; from the webOS Doctor (while running) and re-boot into v.1.4.5. It has been observed that Doctoring, while putting ones Pre through the &amp;quot;Recovery&amp;quot; Reboot (as detailed [http://www.webos-internals.org/wiki/How_To_Recover here]) may mitigate these issues, and allow the Doctor to continue. There is also an instance where after pressing the &amp;quot;next&amp;quot; button to start the Doctor, the phone appeared to need charging before the Doctor would start( on a 95% full battery), and then stalled at 0%.  Putting the phone into emergency recovery mode appeared to solve this problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Note: Sprint users please read the PRL section '''before''' running The Doctor: [http://www.webos-internals.org/wiki/WebOS_2_Upgrade#Sprint_2 &amp;quot;5.9.1 Sprint&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
== Step 5: There is no Step 5 == &lt;br /&gt;
&lt;br /&gt;
There used to be a complex set of additional steps required here.  Too many people had trouble following them, so we automated it.  You should proceed directly to Step 6.&lt;br /&gt;
&lt;br /&gt;
== Step 6: Donate to WebOS Internals and purchase the Preware Homebrew Documentation app ==&lt;br /&gt;
If this worked for you, we would appreciate a donation at http://donate.webos-internals.org - and if you want to thank Rod Whitby personally for the many hours that he put into creating the Meta-Doctor and this upgrade procedure, you should purchase the [http://developer.palm.com/appredirect/?packageid=org.preware.docs Preware Homebrew Documentation] app from the official app catalog, and leave a nice 5 star review containing your message of thanks.&lt;br /&gt;
&lt;br /&gt;
= Caveats =&lt;br /&gt;
&lt;br /&gt;
== OTA Updates ==&lt;br /&gt;
It is extremely unlikely that any Pre or Pre+ device will ever get another OTA update.  If you preform this procedure on those devices, you should not expect OTA updates.&lt;br /&gt;
&lt;br /&gt;
Performing this procedure on a Pre 2 device may allow it to receive OTA updates, but there is no guarantee.&lt;br /&gt;
&lt;br /&gt;
== App Catalog ==&lt;br /&gt;
If your palm profile record says version 1.40.50, you will not be able to purchase apps that are marked as only compatible with webOS versions 2.x and above.  This cannot be changed for these devices at this time.  If your palm profile record says version 2.1.0, then you should be able to purchase all apps (depending upon your geographical restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
=== Masquerading ===&lt;br /&gt;
Palm's servers only accept certain device/OS combinations as valid. While some combinations of carrier and devices running 2.1 are accepted, others have to report to the palm profile server that they are running webOS 1.4.5. This is done automatically, and cannot be changed for these devices at this time.&lt;br /&gt;
&lt;br /&gt;
== Carrier-Specific Applications ==&lt;br /&gt;
Some carrier apps are not working in webOS 2.1.  Apps that have been tested and are known to install cleanly and work will be added to the custom webOS Doctor for the appropriate device/carrier.&lt;br /&gt;
&lt;br /&gt;
Known working carrier apps are listed below.&lt;br /&gt;
&lt;br /&gt;
=== Sprint ===&lt;br /&gt;
* Sprint Portal&lt;br /&gt;
* Sprint TV&lt;br /&gt;
* Sprint Football Live&lt;br /&gt;
* NASCAR&lt;br /&gt;
&lt;br /&gt;
===Verizon Wireless ===&lt;br /&gt;
* All Verizon apps should be working at this time. However, '''no one has tested the VZW Navigator subscription''' to confirm that the service carries over to a Meta-Doctored phone.  You could be the first!&lt;br /&gt;
VZW Navigator is working much better for me now on VZ Palm Pre Plus with HP Web OS 2.1. The only problem I havent solved is system updates hangs. Anyone have a solution?&lt;br /&gt;
&lt;br /&gt;
=== AT&amp;amp;T ===&lt;br /&gt;
* No testing or reports of AT&amp;amp;T Carrier Apps&lt;br /&gt;
&lt;br /&gt;
== Patches ==&lt;br /&gt;
Not all patches have been ported over yet.  If you want to check for a certain patch, please see webOS Internals' [http://patches.webos-internals.org/?do=browse&amp;amp;webosver=2.1.0&amp;amp;category=all webOS-Patches Web Portal].&lt;br /&gt;
&lt;br /&gt;
== Adobe Flash ==&lt;br /&gt;
Adobe Flash is not included in this webOS 2.1 doctor, but can be added with files from a VZW Pre 2 2.0.1 doctor.&lt;br /&gt;
&lt;br /&gt;
=== Adding Flash Support ===&lt;br /&gt;
The easiest way to enable Adobe Flash on your webOS 2.1.0 legacy device is by creating a modular package and installing that, along with a patch to make the Adobe Flash preferences visible in the browser. Or you can do it manually. See ([http://www.webos-internals.org/wiki/Adding_flash_support here]) for more detail.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
* '''OVERCLOCKING IS NOW SUPPORTED'''.  Palm has just released the source code for the kernel used in webOS 2.1.0. An experimental version of UberKernel has already appeared in the experimental feeds, but casual users should wait for a stable one.&lt;br /&gt;
* The Pre Plus has 512 MB of memory and thus runs 2.1 quite well, but this is not the case with the original Pre since it has only 256 MB.  Luckily, Palm adopted WebOS Internals's configuration of the standard Linux compcache technology that was ported to the custom kernels, and it comes active, but with only 10 MB. One potential way to enhance performance in original Pre devices is to make the compcache bigger.&lt;br /&gt;
&lt;br /&gt;
=== Increase compcache size, Temporary Method ===&lt;br /&gt;
You can use the Govnah application to increase the size of the compcache. Disable compcache, change the size, and then reenable.&lt;br /&gt;
&lt;br /&gt;
=== Increase compcache size, Permanent Method ===&lt;br /&gt;
You have to edit the file /etc/event.d/compcache and change the value from 10240 to 32768.&lt;br /&gt;
&lt;br /&gt;
For example, you could follow these steps:&lt;br /&gt;
&lt;br /&gt;
#Make sure '''novacomd''' is running on your computer.&lt;br /&gt;
#Use a terminal (as described on the Wiki page [http://www.webos-internals.org/wiki/Portal:Accessing_Linux Accessing Linux on the Pre... ]) to run '''novaterm''' and access your phone. Type in the following: &amp;lt;pre&amp;gt;/usr/sbin/rootfs_open -t&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;vi /etc/event.d/compcache&amp;lt;/pre&amp;gt;&lt;br /&gt;
#vi is a bit different so, for those not familiar with how it works, the fastest way to navigate and make the required edit is in parentheses below:&lt;br /&gt;
##Go down to line 10 (Type &amp;lt;tt&amp;gt;10&amp;lt;/tt&amp;gt; then hit &amp;lt;tt&amp;gt;Shift+G&amp;lt;/tt&amp;gt;)&lt;br /&gt;
##Move to the first &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; (Type &amp;lt;tt&amp;gt;4w&amp;lt;/tt&amp;gt;)&lt;br /&gt;
##Enter replace mode (&amp;lt;tt&amp;gt;Shift+R&amp;lt;/tt&amp;gt;) and type &amp;lt;tt&amp;gt;32768&amp;lt;/tt&amp;gt;&lt;br /&gt;
##Exit back to command mode (Press &amp;lt;tt&amp;gt;Esc&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Ctrl+C&amp;lt;/tt&amp;gt;)&lt;br /&gt;
##Save and Quit (Type &amp;lt;tt&amp;gt;:wq&amp;lt;/tt&amp;gt;)&lt;br /&gt;
#Reboot your Pre and verify it's working by using Govnah. While you are still in novaterm, you can type the following to reboot:&amp;lt;pre&amp;gt;/sbin/reboot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Palm Profile ==&lt;br /&gt;
* Some people have had problems signing in to existing Palm Profiles on 2.1 due to backup data. To make sure that you can sign in to your profile on 2.1, you should disable backups before doctoring to 2.1 and delete server side backups. Of course, this deletes most of the data in your Palm Profile (memos, tasks, calender entries, accounts, ...). Your apps will be restored on 2.1, but that is about it. Note that not all people have issues with backups. If you would rather not delete your Palm Profile data, you can try doctoring to 2.1 without turning backups off and see if restoring everything works. If it doesn't, you'll have to doctor back to 1.4.5 to turn off backups or use a new Palm Profile, though.&lt;br /&gt;
&lt;br /&gt;
* If you get 9.9.9 in palm.com/palmprofile, then you can doctor back to 1.4.5 for your carrier and log in, then delete backup info in backup app and then 2.1.0 metadoctor it.&lt;br /&gt;
&lt;br /&gt;
* If you get &amp;quot;Dr. Skipped Firstuse&amp;quot; as the name of your palm profile in the new accounts app in 2.1.0 and/or if the gesture application creates a blank screen, you have a false profile problem.  You need to doctor back to 1.4.5 for your carrier and login in, then delete backup info in backup app and then 2.1.0 metadoctor it.  To avoid this problem, redownload the latest version of the metadoctor and run the appropiate script with the &amp;lt;tt&amp;gt;--wifi-only&amp;lt;/tt&amp;gt; switch. Note: Only use &amp;lt;tt&amp;gt;--wifi-only&amp;lt;/tt&amp;gt; if you do not intend to have cellular service on the device as this option disables the modem update and renders cellular service inoperable without re-doctoring.&lt;br /&gt;
&lt;br /&gt;
* Alternative fix for above problem: If your profile works fine but the Impostah app and the Accounts app show your profile name as &amp;quot;Dr. Skipped First Use&amp;quot; although your phone ran the first use app after doctoring, erase your backup data from the backup app by turning off backups and choose Erase Apps and Data from the reset options in the Device Info app.&lt;br /&gt;
&lt;br /&gt;
*If you get stuck at the &amp;quot;Auto Locate&amp;quot; selection screen during the login process, you can re-doctor using the same 2.1 doctor file and it will go through.  It appears to be an issue when creating a new profile in 2.1 rather than &amp;quot;porting&amp;quot; your 1.4.5 profile to 2.1.  After the second doctoring, you will &amp;quot;Sign In&amp;quot; to an existing profile (the one you created during the first profile login after doctoring), rather than creating a new profile.&lt;br /&gt;
&lt;br /&gt;
==GPS==&lt;br /&gt;
Step-by-step approach for those experiencing problems with GPS following upgrade.&lt;br /&gt;
# To enable GPS functionality go to the &amp;quot;Location Services&amp;quot; application (click &amp;quot;Turn On&amp;quot; if GPS has been completely disabled). From there go to the &amp;quot;Preferences&amp;quot; menu in the top left hand corner and select the &amp;quot;Locate Me Using...&amp;quot; sub-menu item. Ensure that both &amp;quot;GPS&amp;quot; and &amp;quot;Google Services&amp;quot; are enabled (you may be prompted to accept the Terms of Service). Close the &amp;quot;Location Services&amp;quot; application.&lt;br /&gt;
# Next you need to bring up the &amp;quot;GPS Information&amp;quot; application; to do this dial ##477# (or #*477# on GSM/UMTS Pres) in the phone application (the &amp;quot;477&amp;quot; corresponds to the letter keys &amp;quot;GPS&amp;quot;).&lt;br /&gt;
# Click the &amp;quot;Get Fix&amp;quot; button. You may receive a &amp;quot;GPS Error - Position Unavailable&amp;quot; message which you can close. Keep pressing &amp;quot;Get Fix&amp;quot; until a fix is established (it may take several attempts). You will know a fix has been established when some statistics (Latitude, Longitude etc) are displayed.&lt;br /&gt;
# Once a fix has been established, GPS should continue to function normally thereafter.&lt;br /&gt;
&lt;br /&gt;
==Voice Dialing==&lt;br /&gt;
For the Sprint-Franken-Pre2 (Pre2-GSM-Unlocked confirmed + sprint-pre(-)comm) and perhaps the Verizon-Franken-Pre2, the voice dialing application may not work after the metadoctor procedure above.  The application may or may not even launch after tapped.  You may experience problems with sound intermittently not working, esp. when playing media, or using the phone.  This will be corrected automatically with a webOS OTA Update to 2.1.0.  When the phone prompts for the update, install it.&lt;br /&gt;
&lt;br /&gt;
To speed up the process, go to the &amp;quot;System Updates&amp;quot; app on your phone. The WebOS 2.1 update should appear after it searches for updates. (The update for a Sprint FrankenPre2 is ~7MB and only took a few minutes to install).&lt;br /&gt;
&lt;br /&gt;
==PRL==&lt;br /&gt;
=== Sprint ===&lt;br /&gt;
&lt;br /&gt;
After applying 2.1.0 to a Sprint device using this method, there is currently no known way to update the PRL.  There are permissions issues, and the conventional &amp;quot;Update Profile&amp;quot; and &amp;quot;Update PRL&amp;quot; from the Phone options will no longer work. The provisioner service binary from the Sprint 1.4.5 doctor does not work on webOS 2.x, so a version of that service for 2.x is required for this to ever work. It is not expected that this situation will change before Sprint releases another webOS phone running webOS 2.0 or above.&lt;br /&gt;
&lt;br /&gt;
====Overview====&lt;br /&gt;
:1) Back up /var/lib/software/* before upgrading to webOS 2.1&lt;br /&gt;
:2) Restore /var/lib/software/* after upgrading to webOS 2.1&lt;br /&gt;
:3) Use PmModemUpdater to update your PRL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
For further information, exact directions, caveats, etc., please see the [http://www.webos-internals.org/wiki/Sprint_PRL_Update dedicated Sprint PRL Update Wiki Page].&lt;br /&gt;
&lt;br /&gt;
=== Verizon ===&lt;br /&gt;
In order to update your PRL, you will need to manually program your phone OTA by dialing '''*228''' from the dialer, and choose the &amp;quot;Program your phone&amp;quot; option.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15683</id>
		<title>Application:Govnah</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15683"/>
		<updated>2011-04-29T11:10:48Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Moved &amp;quot;Real World Examples&amp;quot; down to the &amp;quot;Governors In-Depth&amp;quot; section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
This page is currently available in two languages:&lt;br /&gt;
:[[Image:Australia.png]] [[Image:USA.png]] [[Application:Govnah]]&lt;br /&gt;
:[[Image:Germany.png]] [[Application:Govnah-DE]]&lt;br /&gt;
:[[Image:France.png]] [[Application:Govnah-FR]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Govnah&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 0.7.5 &amp;lt;br /&amp;gt;(2010-10-22)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=GovnahHome4Life-0.6.1.png&lt;br /&gt;
|description=}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Icon_WebOSInternals_Govnah.png|frameless|left]]&lt;br /&gt;
Advanced webOS kernels provide mechanisms to control various operating parameters on the device such as clock speed.  These kernels expose one or more &amp;quot;governors&amp;quot; which can control those parameters. An example of such a kernel is the [[Application:UberKernel|UberKernel]].  This application is available through [[Preware]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Purpose===&lt;br /&gt;
Govnah's UI provides access to:&lt;br /&gt;
:* A real-time graph of CPU speed, CPU temperature, memory usage and system load &lt;br /&gt;
:* A mechanism for setting the parameters of the &amp;quot;governors&amp;quot; exposed by the kernel.&lt;br /&gt;
:* Ability to reduce/raise the amount of power parts of the device uses.&lt;br /&gt;
:* Temperature range which lowers CPU frequency to cool down the device.&lt;br /&gt;
:* Ability to slow down the CPU when battery is low.&lt;br /&gt;
:* The amount of swap that can be compressed (compcache).&lt;br /&gt;
:* The IO schedulers.&lt;br /&gt;
:* The TCP Congestion algorithms.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
The following guide assumes a Palm Pre/Pre+ that has the original 1.4.1.1 kernel and no over-clocking patches.&lt;br /&gt;
&lt;br /&gt;
#On Preware's home screen, type &amp;quot;Gov&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;Govnah&amp;quot; and &amp;quot;Install&amp;quot;&lt;br /&gt;
#If you have not yet installed a &amp;quot;Kernel&amp;quot;, on Preware's home screen, type &amp;quot;uber&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;[[Application:UberKernel|UberKernel (Palm Pre/Pre+)]]&amp;quot; and &amp;quot;Install&amp;quot;&lt;br /&gt;
#Restart your phone as promted&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Brief Usage=&lt;br /&gt;
===Where To Start===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapProfile-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|To begin accessing the power of Govnah's control over the Linux Kernel, tap the &amp;quot;Profile&amp;quot; row at the top of the main screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapAdvanced-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Here is the list of stored Govnah Profiles.  Profiles are a simple way for you store various settings that you wish to be applied at boot-time.  You have the ability to store several different profiles for testing the best settings for '''your''' usage.  Tap &amp;quot;Advanced Settings&amp;quot; at the top to access the individual settings that get stored in the profiles.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Settings===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahAdvSettings2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|This is the list of configurable items.  They are explained in more depth below.  You are ''strongly'' encouraged to read about what these settings mean and do.  Not all of them are beneficial to you or your battery.  Most of the defaults are a happy medium between the two.  The main one to change is &amp;quot;CPU Frequency&amp;quot;.  Tap that now.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU Frequency===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahCPUFreq-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|The first time you boot your Pre/Pixi after installing Govnah and UberKernel, it will be running at 600MHz.  This is where you ramp it up to 800MHz.  Select &amp;quot;800Mhz&amp;quot; in the &amp;quot;Set Speed&amp;quot; section and tap &amp;quot;Apply Settings&amp;quot;.  Your phone will immediately be running at 800Mhz.  Gesture Swipe left return to the &amp;quot;Advanced Settings&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compressed Swap (compcache)===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:govnahCompSwap-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Compressed swap (compcache) is simply an amount of RAM (memory) that is reserved for compressing data loaded into RAM when the amount of RAM needed exceeds the space available. In a nut shell this provides more RAM space for application data to be loaded in RAM. The trade off is slightly reduced performance of the RAM for the data that is being compressed and uncompressed. But is faster than if the data were in a swap space on the internal storage drive (memory). To use this feature you must first set the amount of space that will be reserved and then toggle compcache enabled to on. Then click apply to make the settings active. If you desire to change the amount of space reserved once it has been active you must turn compcache enabled to off and click apply. Then change the amount of space reserved, turn compcache enabled to on, and click apply to make the new setting active.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Saving your Profile===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahPalm4Life-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|After leaving the step above, you will have ended up back at the &amp;quot;Advanced Settings&amp;quot; screen where the button &amp;quot;Save Current Profile&amp;quot; is at the bottom. This is where you can make your Pre/Pixi set to boot with your faster speed.  Set the name you want here and tap &amp;quot;Save As New Profile&amp;quot;.  Gesture swipe left to return to the &amp;quot;Profiles&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profile Management===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahMegaProfiles2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|As you can clearly see, you can save many different profiles for testing various settings to find what best suits you and your usage patterns to find that &amp;quot;sweet spot&amp;quot; between speed and battery savings.  Only you can find this.  [http://forums.precentral.net/webos-internals/244701-govnah.html People can help suggest] what works for them, but no two devices are '''exactly''' the same.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Governors In-Depth=&lt;br /&gt;
===Real World Examples===&lt;br /&gt;
&lt;br /&gt;
The Uber-Kernel exposes a governor called ''on-demand''.  The on-demand governor increases and decreases clock speed based on the percentage of CPU usage. &lt;br /&gt;
&lt;br /&gt;
The ''on-demand'' governor exposes the following parameters which can be set by Govnah: &lt;br /&gt;
:* scaling_max_freq - Set the maximum frequency your CPU is allowed to scale to.&lt;br /&gt;
:* scaling_min_freq - Same as scaling_max_freq but setting a minimum value.&lt;br /&gt;
:* sampling_rate - How often you want the kernel to look at the CPU usage (in microseconds) Typically this is set to values of 10000 or more.&lt;br /&gt;
:* up_threshold - This defines what the average CPU usage percentage increase between samplings for the kernel to decide to increase the CPU frequency. &lt;br /&gt;
:* ignore_nice_load - If '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
:* powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. The bias is in tenths of a percent (0 to 1000).  A setting of 100 will result in a 10% smaller increase in CPU speed for a given usage than a setting of 0 would result in.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;Governor&amp;quot; in the kernel tells ''Govnah'' what parameters it has that may be set and may also say what the limits of those parameters are.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Standard Linux Governors===&lt;br /&gt;
* Generic items (needed for all)&lt;br /&gt;
** scaling_max_freq - Set the maximum frequency your CPU(s) are allowed to scale to. Look at the output from scaling_available_frequencies&lt;br /&gt;
** scaling_min_freq - Same as scaling_max_freq but setting a value that will not allow the CPU(s) to go below.&lt;br /&gt;
&lt;br /&gt;
* '''ondemand'''&lt;br /&gt;
** sampling_rate - This is measured in microseconds (one millionth of a second). This is how often you want the kernel to look at the CPU usage and to make decisions on what to do about the frequency. Typically this is set to values of around '10000' or more. If you wanted to set the sampling rate to 1 second you would set it to 1000000 like in the following example.&lt;br /&gt;
** sampling_rate_(min|max) - This is minimum and maximum sampling rates available that you may set 'sampling_rate' to. I believe in microseconds also.&lt;br /&gt;
** sampling_down_factor: this parameter controls the rate that the CPU makes a decision on when to decrease the frequency. When set to its default value of '5' it means that at 1/5 the sampling_rate the kernel makes a decision to lower the frequency. Five &amp;quot;lower rate&amp;quot; decisions have to be made in a row before the CPU frequency is actually lower. If set to '1' then the frequency decreases as quickly as it increases, if set to '2' it decreases at half the rate of the increase.&lt;br /&gt;
** up_threshold - This defines what the average CPU usage between the samplings of 'sampling_rate' needs to be for the kernel to make a decision on whether or not it should increase the frequency. For example when it is set to its default value of '80' it means that between the checking intervals the CPU needs to be on average more than 80% in use to then decide that the CPU frequency needs to be increased. &lt;br /&gt;
** ignore_nice_load - This parameter takes a value of '0' or '1'. When set to '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
** powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. By default, (powersave_bias  = 0), the ondemand governor selects the minimum processor frequency that can still complete a workload with minimal idle time. Doing so should result in the highest performance to power efficiency ratio. In some cases, you might prefer a greater emphasis on power efficiency than performance. In this case, set the powersave_bias parameter to a value between 1 and 1000 to reduce the target frequency by one-thousandth of that value. For example, set powersave_bias to 100 for a one-tenth reduction in target frequency. In this case, if the governor chooses a target frequency of 2 GHz (with powersave_bias  = 100), the governor instead will request 1.8GHz – a one-tenth reduction. If 1.8 GHz is an exact match with an available hardware frequency (listed in the scaling_available_freq parameter), the processor is set to this frequency. If 1.8 GHz is not available, the processor fluctuates between the closest available upper and lower frequencies for an average frequency of 1.8 GHz. (from IBM web page). The original author of the ondemand powersave_bias code explains it as &amp;quot;For example, If ondemand requests 2.0GHz based on utilization, and powersave_bias=100, this code will knock 10% off the target and seek a target of 1.8GHz instead of 2.0GHz until the next sampling. If 1.8 is an exact match with an hardware frequency we use it, otherwise we average our time between the frequency next higher than 1.8 and next lower than 1.8&amp;quot; (from http://osdir.com/ml/kernel.cpufreq/2006-07/msg00114.html ) - the key word appears to be &amp;quot;average&amp;quot;. The author also warns &amp;quot;In practice, users will not be able to detect a difference between 0.1% increments, but 1.0% increments turned out to be too large. Also, the max value of 1000 (100%) would simply peg the system in its deepest power saving P-state, unless the processor really has a hardware P-state at 0Hz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* '''conservative'''&lt;br /&gt;
** freq_step - This describes what percentage steps the CPU freq should be increased and decreased smoothly by. By default the CPU frequency will increase in 5% chunks of your maximum CPU frequency. You can change this value to anywhere between 0 and 100 where '0' will effectively lock your CPU at a speed regardless of its load whilst '100' will, in theory, make it behave identically to the &amp;quot;ondemand&amp;quot; governor. &lt;br /&gt;
** down_threshold - This is same as the 'up_threshold' found for the &amp;quot;ondemand&amp;quot; governor but for the opposite direction. For example when set to its default value of '20' it means that if the CPU usage needs to be below 20% between samples to have the frequency decreased. &lt;br /&gt;
** sampling_rate - same as ondemand.&lt;br /&gt;
** sampling_rate_(min|max) - same as ondemand.&lt;br /&gt;
** up_threshold - same as ondemand.&lt;br /&gt;
** ignore_nice_load - same as ondemand.&lt;br /&gt;
&lt;br /&gt;
* '''userspace'''&lt;br /&gt;
** scaling_setspeed - one of the values from scaling_available_frequencies&lt;br /&gt;
** NB - when userspace is selected LunaSysMgr will change the frequency as it feels.&lt;br /&gt;
&lt;br /&gt;
* '''powersave'''&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
* '''performance'''&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
* '''screenstate'''&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Developer Notes=&lt;br /&gt;
===Relaunching for Cross-App Integration===&lt;br /&gt;
There are 2 different launch params. One to get a list of profiles returned to your app, and one to apply a profile to the phone. This was implemented in v0.3.1.&lt;br /&gt;
&lt;br /&gt;
===Profile List===&lt;br /&gt;
The code below is how you would launch govnah and tell it to return a list of profiles to your app:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'get-profiles',&lt;br /&gt;
				returnid: 'app.to.relaunch'&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to replace the returnid parameters value 'app.to.relaunch' with your apps id.&lt;br /&gt;
&lt;br /&gt;
The object below will be sent to your app-assistants handleLaunch function. (But with real data obviously.)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type: 'govnah-profiles',&lt;br /&gt;
	profiles:&lt;br /&gt;
	[&lt;br /&gt;
		{&lt;br /&gt;
			id: 1,&lt;br /&gt;
			name: 'Palm Default'&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			id: 8,&lt;br /&gt;
			name: 'Awesome Profile!'&lt;br /&gt;
		},&lt;br /&gt;
		{...}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Profile Apply===&lt;br /&gt;
The code below is how you use the list of profiles you received in the prior relaunch to have govnah apply a profile.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'set-profile',&lt;br /&gt;
				profileid: 1&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Replace 'profileid' parameters value with the profile id you wish govnah to apply. Note that 'profilename' is also an accepted parameter. This launch will not relaunch your app, it will simply apply if the profileid/name you requested actually exists. (And will just ignore your request if it doesn't.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html&lt;br /&gt;
* http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaai/cpufreq/TheOndemandGovernor.htm&lt;br /&gt;
* http://fasterdata.es.net/TCP-tuning/linux.html&lt;br /&gt;
* http://www.pdfgeni.com/book/Performance-analysis-of-loss-based-high-speed-TCP-congestion-control-algorithms-pdf.html - collection of documents on implementation of different IPv4 congestion control methods.&lt;br /&gt;
* http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt - Kernel documentation for the standard Linux CPU frequency governors&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15681</id>
		<title>Application:Govnah</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15681"/>
		<updated>2011-04-29T11:07:00Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Removed &amp;quot;Current Governors&amp;quot;. This page is about Govnah, not features fo the various kernels.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
This page is currently available in two languages:&lt;br /&gt;
:[[Image:Australia.png]] [[Image:USA.png]] [[Application:Govnah]]&lt;br /&gt;
:[[Image:Germany.png]] [[Application:Govnah-DE]]&lt;br /&gt;
:[[Image:France.png]] [[Application:Govnah-FR]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Govnah&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 0.7.5 &amp;lt;br /&amp;gt;(2010-10-22)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=GovnahHome4Life-0.6.1.png&lt;br /&gt;
|description=}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Icon_WebOSInternals_Govnah.png|frameless|left]]&lt;br /&gt;
Advanced webOS kernels provide mechanisms to control various operating parameters on the device such as clock speed.  These kernels expose one or more &amp;quot;governors&amp;quot; which can control those parameters. An example of such a kernel is the [[Application:UberKernel|UberKernel]].  This application is available through [[Preware]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Purpose===&lt;br /&gt;
Govnah's UI provides access to:&lt;br /&gt;
:* A real-time graph of CPU speed, CPU temperature, memory usage and system load &lt;br /&gt;
:* A mechanism for setting the parameters of the &amp;quot;governors&amp;quot; exposed by the kernel.&lt;br /&gt;
:* Ability to reduce/raise the amount of power parts of the device uses.&lt;br /&gt;
:* Temperature range which lowers CPU frequency to cool down the device.&lt;br /&gt;
:* Ability to slow down the CPU when battery is low.&lt;br /&gt;
:* The amount of swap that can be compressed (compcache).&lt;br /&gt;
:* The IO schedulers.&lt;br /&gt;
:* The TCP Congestion algorithms.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Real World Examples===&lt;br /&gt;
&lt;br /&gt;
The Uber-Kernel exposes a governor called ''on-demand''.  The on-demand governor increases and decreases clock speed based on the percentage of CPU usage. &lt;br /&gt;
&lt;br /&gt;
The ''on-demand'' governor exposes the following parameters which can be set by Govnah: &lt;br /&gt;
:* scaling_max_freq - Set the maximum frequency your CPU is allowed to scale to.&lt;br /&gt;
:* scaling_min_freq - Same as scaling_max_freq but setting a minimum value.&lt;br /&gt;
:* sampling_rate - How often you want the kernel to look at the CPU usage (in microseconds) Typically this is set to values of 10000 or more.&lt;br /&gt;
:* up_threshold - This defines what the average CPU usage percentage increase between samplings for the kernel to decide to increase the CPU frequency. &lt;br /&gt;
:* ignore_nice_load - If '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
:* powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. The bias is in tenths of a percent (0 to 1000).  A setting of 100 will result in a 10% smaller increase in CPU speed for a given usage than a setting of 0 would result in.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;Governor&amp;quot; in the kernel tells ''Govnah'' what parameters it has that may be set and may also say what the limits of those parameters are.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
The following guide assumes a Palm Pre/Pre+ that has the original 1.4.1.1 kernel and no over-clocking patches.&lt;br /&gt;
&lt;br /&gt;
#On Preware's home screen, type &amp;quot;Gov&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;Govnah&amp;quot; and &amp;quot;Install&amp;quot;&lt;br /&gt;
#If you have not yet installed a &amp;quot;Kernel&amp;quot;, on Preware's home screen, type &amp;quot;uber&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;[[Application:UberKernel|UberKernel (Palm Pre/Pre+)]]&amp;quot; and &amp;quot;Install&amp;quot;&lt;br /&gt;
#Restart your phone as promted&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Brief Usage=&lt;br /&gt;
===Where To Start===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapProfile-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|To begin accessing the power of Govnah's control over the Linux Kernel, tap the &amp;quot;Profile&amp;quot; row at the top of the main screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapAdvanced-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Here is the list of stored Govnah Profiles.  Profiles are a simple way for you store various settings that you wish to be applied at boot-time.  You have the ability to store several different profiles for testing the best settings for '''your''' usage.  Tap &amp;quot;Advanced Settings&amp;quot; at the top to access the individual settings that get stored in the profiles.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Settings===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahAdvSettings2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|This is the list of configurable items.  They are explained in more depth below.  You are ''strongly'' encouraged to read about what these settings mean and do.  Not all of them are beneficial to you or your battery.  Most of the defaults are a happy medium between the two.  The main one to change is &amp;quot;CPU Frequency&amp;quot;.  Tap that now.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU Frequency===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahCPUFreq-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|The first time you boot your Pre/Pixi after installing Govnah and UberKernel, it will be running at 600MHz.  This is where you ramp it up to 800MHz.  Select &amp;quot;800Mhz&amp;quot; in the &amp;quot;Set Speed&amp;quot; section and tap &amp;quot;Apply Settings&amp;quot;.  Your phone will immediately be running at 800Mhz.  Gesture Swipe left return to the &amp;quot;Advanced Settings&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compressed Swap (compcache)===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:govnahCompSwap-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Compressed swap (compcache) is simply an amount of RAM (memory) that is reserved for compressing data loaded into RAM when the amount of RAM needed exceeds the space available. In a nut shell this provides more RAM space for application data to be loaded in RAM. The trade off is slightly reduced performance of the RAM for the data that is being compressed and uncompressed. But is faster than if the data were in a swap space on the internal storage drive (memory). To use this feature you must first set the amount of space that will be reserved and then toggle compcache enabled to on. Then click apply to make the settings active. If you desire to change the amount of space reserved once it has been active you must turn compcache enabled to off and click apply. Then change the amount of space reserved, turn compcache enabled to on, and click apply to make the new setting active.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Saving your Profile===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahPalm4Life-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|After leaving the step above, you will have ended up back at the &amp;quot;Advanced Settings&amp;quot; screen where the button &amp;quot;Save Current Profile&amp;quot; is at the bottom. This is where you can make your Pre/Pixi set to boot with your faster speed.  Set the name you want here and tap &amp;quot;Save As New Profile&amp;quot;.  Gesture swipe left to return to the &amp;quot;Profiles&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profile Management===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahMegaProfiles2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|As you can clearly see, you can save many different profiles for testing various settings to find what best suits you and your usage patterns to find that &amp;quot;sweet spot&amp;quot; between speed and battery savings.  Only you can find this.  [http://forums.precentral.net/webos-internals/244701-govnah.html People can help suggest] what works for them, but no two devices are '''exactly''' the same.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Governors In-Depth=&lt;br /&gt;
* Generic items (needed for all)&lt;br /&gt;
** scaling_max_freq - Set the maximum frequency your CPU(s) are allowed to scale to. Look at the output from scaling_available_frequencies&lt;br /&gt;
** scaling_min_freq - Same as scaling_max_freq but setting a value that will not allow the CPU(s) to go below.&lt;br /&gt;
&lt;br /&gt;
* ondemand&lt;br /&gt;
** sampling_rate - This is measured in microseconds (one millionth of a second). This is how often you want the kernel to look at the CPU usage and to make decisions on what to do about the frequency. Typically this is set to values of around '10000' or more. If you wanted to set the sampling rate to 1 second you would set it to 1000000 like in the following example.&lt;br /&gt;
** sampling_rate_(min|max) - This is minimum and maximum sampling rates available that you may set 'sampling_rate' to. I believe in microseconds also.&lt;br /&gt;
** sampling_down_factor: this parameter controls the rate that the CPU makes a decision on when to decrease the frequency. When set to its default value of '5' it means that at 1/5 the sampling_rate the kernel makes a decision to lower the frequency. Five &amp;quot;lower rate&amp;quot; decisions have to be made in a row before the CPU frequency is actually lower. If set to '1' then the frequency decreases as quickly as it increases, if set to '2' it decreases at half the rate of the increase.&lt;br /&gt;
** up_threshold - This defines what the average CPU usage between the samplings of 'sampling_rate' needs to be for the kernel to make a decision on whether or not it should increase the frequency. For example when it is set to its default value of '80' it means that between the checking intervals the CPU needs to be on average more than 80% in use to then decide that the CPU frequency needs to be increased. &lt;br /&gt;
** ignore_nice_load - This parameter takes a value of '0' or '1'. When set to '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
** powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. By default, (powersave_bias  = 0), the ondemand governor selects the minimum processor frequency that can still complete a workload with minimal idle time. Doing so should result in the highest performance to power efficiency ratio. In some cases, you might prefer a greater emphasis on power efficiency than performance. In this case, set the powersave_bias parameter to a value between 1 and 1000 to reduce the target frequency by one-thousandth of that value. For example, set powersave_bias to 100 for a one-tenth reduction in target frequency. In this case, if the governor chooses a target frequency of 2 GHz (with powersave_bias  = 100), the governor instead will request 1.8GHz – a one-tenth reduction. If 1.8 GHz is an exact match with an available hardware frequency (listed in the scaling_available_freq parameter), the processor is set to this frequency. If 1.8 GHz is not available, the processor fluctuates between the closest available upper and lower frequencies for an average frequency of 1.8 GHz. (from IBM web page). The original author of the ondemand powersave_bias code explains it as &amp;quot;For example, If ondemand requests 2.0GHz based on utilization, and powersave_bias=100, this code will knock 10% off the target and seek a target of 1.8GHz instead of 2.0GHz until the next sampling. If 1.8 is an exact match with an hardware frequency we use it, otherwise we average our time between the frequency next higher than 1.8 and next lower than 1.8&amp;quot; (from http://osdir.com/ml/kernel.cpufreq/2006-07/msg00114.html ) - the key word appears to be &amp;quot;average&amp;quot;. The author also warns &amp;quot;In practice, users will not be able to detect a difference between 0.1% increments, but 1.0% increments turned out to be too large. Also, the max value of 1000 (100%) would simply peg the system in its deepest power saving P-state, unless the processor really has a hardware P-state at 0Hz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* conservative&lt;br /&gt;
** freq_step - This describes what percentage steps the CPU freq should be increased and decreased smoothly by. By default the CPU frequency will increase in 5% chunks of your maximum CPU frequency. You can change this value to anywhere between 0 and 100 where '0' will effectively lock your CPU at a speed regardless of its load whilst '100' will, in theory, make it behave identically to the &amp;quot;ondemand&amp;quot; governor. &lt;br /&gt;
** down_threshold - This is same as the 'up_threshold' found for the &amp;quot;ondemand&amp;quot; governor but for the opposite direction. For example when set to its default value of '20' it means that if the CPU usage needs to be below 20% between samples to have the frequency decreased. &lt;br /&gt;
** sampling_rate - same as ondemand.&lt;br /&gt;
** sampling_rate_(min|max) - same as ondemand.&lt;br /&gt;
** up_threshold - same as ondemand.&lt;br /&gt;
** ignore_nice_load - same as ondemand.&lt;br /&gt;
&lt;br /&gt;
* userspace&lt;br /&gt;
** scaling_setspeed - one of the values from scaling_available_frequencies&lt;br /&gt;
** NB - when userspace is selected LunaSysMgr will change the frequency as it feels.&lt;br /&gt;
&lt;br /&gt;
* powersave&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
* performance&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
* screenstate&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Developer Notes=&lt;br /&gt;
===Relaunching for Cross-App Integration===&lt;br /&gt;
There are 2 different launch params. One to get a list of profiles returned to your app, and one to apply a profile to the phone. This was implemented in v0.3.1.&lt;br /&gt;
&lt;br /&gt;
===Profile List===&lt;br /&gt;
The code below is how you would launch govnah and tell it to return a list of profiles to your app:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'get-profiles',&lt;br /&gt;
				returnid: 'app.to.relaunch'&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to replace the returnid parameters value 'app.to.relaunch' with your apps id.&lt;br /&gt;
&lt;br /&gt;
The object below will be sent to your app-assistants handleLaunch function. (But with real data obviously.)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type: 'govnah-profiles',&lt;br /&gt;
	profiles:&lt;br /&gt;
	[&lt;br /&gt;
		{&lt;br /&gt;
			id: 1,&lt;br /&gt;
			name: 'Palm Default'&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			id: 8,&lt;br /&gt;
			name: 'Awesome Profile!'&lt;br /&gt;
		},&lt;br /&gt;
		{...}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Profile Apply===&lt;br /&gt;
The code below is how you use the list of profiles you received in the prior relaunch to have govnah apply a profile.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'set-profile',&lt;br /&gt;
				profileid: 1&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Replace 'profileid' parameters value with the profile id you wish govnah to apply. Note that 'profilename' is also an accepted parameter. This launch will not relaunch your app, it will simply apply if the profileid/name you requested actually exists. (And will just ignore your request if it doesn't.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html&lt;br /&gt;
* http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaai/cpufreq/TheOndemandGovernor.htm&lt;br /&gt;
* http://fasterdata.es.net/TCP-tuning/linux.html&lt;br /&gt;
* http://www.pdfgeni.com/book/Performance-analysis-of-loss-based-high-speed-TCP-congestion-control-algorithms-pdf.html - collection of documents on implementation of different IPv4 congestion control methods.&lt;br /&gt;
* http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt - Kernel documentation for the standard Linux CPU frequency governors&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15679</id>
		<title>Application:Govnah</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15679"/>
		<updated>2011-04-29T10:52:36Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Purpose */  Adding things that have been here forever.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
This page is currently available in two languages:&lt;br /&gt;
:[[Image:Australia.png]] [[Image:USA.png]] [[Application:Govnah]]&lt;br /&gt;
:[[Image:Germany.png]] [[Application:Govnah-DE]]&lt;br /&gt;
:[[Image:France.png]] [[Application:Govnah-FR]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Govnah&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 0.7.5 &amp;lt;br /&amp;gt;(2010-10-22)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=GovnahHome4Life-0.6.1.png&lt;br /&gt;
|description=}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Icon_WebOSInternals_Govnah.png|frameless|left]]&lt;br /&gt;
Advanced webOS kernels provide mechanisms to control various operating parameters on the device such as clock speed.  These kernels expose one or more &amp;quot;governors&amp;quot; which can control those parameters. An example of such a kernel is the [[Application:UberKernel|UberKernel]].  This application is available through [[Preware]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Purpose===&lt;br /&gt;
Govnah's UI provides access to:&lt;br /&gt;
:* A real-time graph of CPU speed, CPU temperature, memory usage and system load &lt;br /&gt;
:* A mechanism for setting the parameters of the &amp;quot;governors&amp;quot; exposed by the kernel.&lt;br /&gt;
:* Ability to reduce/raise the amount of power parts of the device uses.&lt;br /&gt;
:* Temperature range which lowers CPU frequency to cool down the device.&lt;br /&gt;
:* Ability to slow down the CPU when battery is low.&lt;br /&gt;
:* The amount of swap that can be compressed (compcache).&lt;br /&gt;
:* The IO schedulers.&lt;br /&gt;
:* The TCP Congestion algorithms.&lt;br /&gt;
&lt;br /&gt;
===Real World Examples===&lt;br /&gt;
&lt;br /&gt;
The Uber-Kernel exposes a governor called ''on-demand''.  The on-demand governor increases and decreases clock speed based on the percentage of CPU usage. &lt;br /&gt;
&lt;br /&gt;
The ''on-demand'' governor exposes the following parameters which can be set by Govnah: &lt;br /&gt;
:* scaling_max_freq - Set the maximum frequency your CPU is allowed to scale to.&lt;br /&gt;
:* scaling_min_freq - Same as scaling_max_freq but setting a minimum value.&lt;br /&gt;
:* sampling_rate - How often you want the kernel to look at the CPU usage (in microseconds) Typically this is set to values of 10000 or more.&lt;br /&gt;
:* up_threshold - This defines what the average CPU usage percentage increase between samplings for the kernel to decide to increase the CPU frequency. &lt;br /&gt;
:* ignore_nice_load - If '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
:* powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. The bias is in tenths of a percent (0 to 1000).  A setting of 100 will result in a 10% smaller increase in CPU speed for a given usage than a setting of 0 would result in.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;Governor&amp;quot; in the kernel tells ''Govnah'' what parameters it has that may be set and may also say what the limits of those parameters are.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Current Governors===&lt;br /&gt;
&lt;br /&gt;
Current governors available in the Uber-Kernel and supported by Govnah include: &lt;br /&gt;
:* On-demand - described above, increases clock speed in response to increases in CPU load. &lt;br /&gt;
:* Conservative - The opposite of on-demand conservative decreases CPU clock speed in response to decreases in CPU load. &lt;br /&gt;
:* Userspace - sets the CPU speed to a defined rate as chosen by LunaSysMgr&lt;br /&gt;
:* powersave - sets the CPU speed to the min frequency value&lt;br /&gt;
:* performance - sets the CPU speed to the max frequency value&lt;br /&gt;
:* screenstate - runs at a higher speed when the screen is on and at 500MHz when the screen is off &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
The following guide assumes a Palm Pre/Pre+ that has the original 1.4.1.1 kernel and no over-clocking patches.&lt;br /&gt;
&lt;br /&gt;
#On Preware's home screen, type &amp;quot;Gov&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;Govnah&amp;quot; and &amp;quot;Install&amp;quot;&lt;br /&gt;
#If you have not yet installed a &amp;quot;Kernel&amp;quot;, on Preware's home screen, type &amp;quot;uber&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;[[Application:UberKernel|UberKernel (Palm Pre/Pre+)]]&amp;quot; and &amp;quot;Install&amp;quot;&lt;br /&gt;
#Restart your phone as promted&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Brief Usage=&lt;br /&gt;
===Where To Start===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapProfile-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|To begin accessing the power of Govnah's control over the Linux Kernel, tap the &amp;quot;Profile&amp;quot; row at the top of the main screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapAdvanced-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Here is the list of stored Govnah Profiles.  Profiles are a simple way for you store various settings that you wish to be applied at boot-time.  You have the ability to store several different profiles for testing the best settings for '''your''' usage.  Tap &amp;quot;Advanced Settings&amp;quot; at the top to access the individual settings that get stored in the profiles.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Settings===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahAdvSettings2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|This is the list of configurable items.  They are explained in more depth below.  You are ''strongly'' encouraged to read about what these settings mean and do.  Not all of them are beneficial to you or your battery.  Most of the defaults are a happy medium between the two.  The main one to change is &amp;quot;CPU Frequency&amp;quot;.  Tap that now.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU Frequency===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahCPUFreq-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|The first time you boot your Pre/Pixi after installing Govnah and UberKernel, it will be running at 600MHz.  This is where you ramp it up to 800MHz.  Select &amp;quot;800Mhz&amp;quot; in the &amp;quot;Set Speed&amp;quot; section and tap &amp;quot;Apply Settings&amp;quot;.  Your phone will immediately be running at 800Mhz.  Gesture Swipe left return to the &amp;quot;Advanced Settings&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compressed Swap (compcache)===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:govnahCompSwap-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Compressed swap (compcache) is simply an amount of RAM (memory) that is reserved for compressing data loaded into RAM when the amount of RAM needed exceeds the space available. In a nut shell this provides more RAM space for application data to be loaded in RAM. The trade off is slightly reduced performance of the RAM for the data that is being compressed and uncompressed. But is faster than if the data were in a swap space on the internal storage drive (memory). To use this feature you must first set the amount of space that will be reserved and then toggle compcache enabled to on. Then click apply to make the settings active. If you desire to change the amount of space reserved once it has been active you must turn compcache enabled to off and click apply. Then change the amount of space reserved, turn compcache enabled to on, and click apply to make the new setting active.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Saving your Profile===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahPalm4Life-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|After leaving the step above, you will have ended up back at the &amp;quot;Advanced Settings&amp;quot; screen where the button &amp;quot;Save Current Profile&amp;quot; is at the bottom. This is where you can make your Pre/Pixi set to boot with your faster speed.  Set the name you want here and tap &amp;quot;Save As New Profile&amp;quot;.  Gesture swipe left to return to the &amp;quot;Profiles&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profile Management===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahMegaProfiles2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|As you can clearly see, you can save many different profiles for testing various settings to find what best suits you and your usage patterns to find that &amp;quot;sweet spot&amp;quot; between speed and battery savings.  Only you can find this.  [http://forums.precentral.net/webos-internals/244701-govnah.html People can help suggest] what works for them, but no two devices are '''exactly''' the same.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Governors In-Depth=&lt;br /&gt;
* Generic items (needed for all)&lt;br /&gt;
** scaling_max_freq - Set the maximum frequency your CPU(s) are allowed to scale to. Look at the output from scaling_available_frequencies&lt;br /&gt;
** scaling_min_freq - Same as scaling_max_freq but setting a value that will not allow the CPU(s) to go below.&lt;br /&gt;
&lt;br /&gt;
* ondemand&lt;br /&gt;
** sampling_rate - This is measured in microseconds (one millionth of a second). This is how often you want the kernel to look at the CPU usage and to make decisions on what to do about the frequency. Typically this is set to values of around '10000' or more. If you wanted to set the sampling rate to 1 second you would set it to 1000000 like in the following example.&lt;br /&gt;
** sampling_rate_(min|max) - This is minimum and maximum sampling rates available that you may set 'sampling_rate' to. I believe in microseconds also.&lt;br /&gt;
** sampling_down_factor: this parameter controls the rate that the CPU makes a decision on when to decrease the frequency. When set to its default value of '5' it means that at 1/5 the sampling_rate the kernel makes a decision to lower the frequency. Five &amp;quot;lower rate&amp;quot; decisions have to be made in a row before the CPU frequency is actually lower. If set to '1' then the frequency decreases as quickly as it increases, if set to '2' it decreases at half the rate of the increase.&lt;br /&gt;
** up_threshold - This defines what the average CPU usage between the samplings of 'sampling_rate' needs to be for the kernel to make a decision on whether or not it should increase the frequency. For example when it is set to its default value of '80' it means that between the checking intervals the CPU needs to be on average more than 80% in use to then decide that the CPU frequency needs to be increased. &lt;br /&gt;
** ignore_nice_load - This parameter takes a value of '0' or '1'. When set to '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
** powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. By default, (powersave_bias  = 0), the ondemand governor selects the minimum processor frequency that can still complete a workload with minimal idle time. Doing so should result in the highest performance to power efficiency ratio. In some cases, you might prefer a greater emphasis on power efficiency than performance. In this case, set the powersave_bias parameter to a value between 1 and 1000 to reduce the target frequency by one-thousandth of that value. For example, set powersave_bias to 100 for a one-tenth reduction in target frequency. In this case, if the governor chooses a target frequency of 2 GHz (with powersave_bias  = 100), the governor instead will request 1.8GHz – a one-tenth reduction. If 1.8 GHz is an exact match with an available hardware frequency (listed in the scaling_available_freq parameter), the processor is set to this frequency. If 1.8 GHz is not available, the processor fluctuates between the closest available upper and lower frequencies for an average frequency of 1.8 GHz. (from IBM web page). The original author of the ondemand powersave_bias code explains it as &amp;quot;For example, If ondemand requests 2.0GHz based on utilization, and powersave_bias=100, this code will knock 10% off the target and seek a target of 1.8GHz instead of 2.0GHz until the next sampling. If 1.8 is an exact match with an hardware frequency we use it, otherwise we average our time between the frequency next higher than 1.8 and next lower than 1.8&amp;quot; (from http://osdir.com/ml/kernel.cpufreq/2006-07/msg00114.html ) - the key word appears to be &amp;quot;average&amp;quot;. The author also warns &amp;quot;In practice, users will not be able to detect a difference between 0.1% increments, but 1.0% increments turned out to be too large. Also, the max value of 1000 (100%) would simply peg the system in its deepest power saving P-state, unless the processor really has a hardware P-state at 0Hz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* conservative&lt;br /&gt;
** freq_step - This describes what percentage steps the CPU freq should be increased and decreased smoothly by. By default the CPU frequency will increase in 5% chunks of your maximum CPU frequency. You can change this value to anywhere between 0 and 100 where '0' will effectively lock your CPU at a speed regardless of its load whilst '100' will, in theory, make it behave identically to the &amp;quot;ondemand&amp;quot; governor. &lt;br /&gt;
** down_threshold - This is same as the 'up_threshold' found for the &amp;quot;ondemand&amp;quot; governor but for the opposite direction. For example when set to its default value of '20' it means that if the CPU usage needs to be below 20% between samples to have the frequency decreased. &lt;br /&gt;
** sampling_rate - same as ondemand.&lt;br /&gt;
** sampling_rate_(min|max) - same as ondemand.&lt;br /&gt;
** up_threshold - same as ondemand.&lt;br /&gt;
** ignore_nice_load - same as ondemand.&lt;br /&gt;
&lt;br /&gt;
* userspace&lt;br /&gt;
** scaling_setspeed - one of the values from scaling_available_frequencies&lt;br /&gt;
** NB - when userspace is selected LunaSysMgr will change the frequency as it feels.&lt;br /&gt;
&lt;br /&gt;
* powersave&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
* performance&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
* screenstate&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Developer Notes=&lt;br /&gt;
===Relaunching for Cross-App Integration===&lt;br /&gt;
There are 2 different launch params. One to get a list of profiles returned to your app, and one to apply a profile to the phone. This was implemented in v0.3.1.&lt;br /&gt;
&lt;br /&gt;
===Profile List===&lt;br /&gt;
The code below is how you would launch govnah and tell it to return a list of profiles to your app:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'get-profiles',&lt;br /&gt;
				returnid: 'app.to.relaunch'&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to replace the returnid parameters value 'app.to.relaunch' with your apps id.&lt;br /&gt;
&lt;br /&gt;
The object below will be sent to your app-assistants handleLaunch function. (But with real data obviously.)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type: 'govnah-profiles',&lt;br /&gt;
	profiles:&lt;br /&gt;
	[&lt;br /&gt;
		{&lt;br /&gt;
			id: 1,&lt;br /&gt;
			name: 'Palm Default'&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			id: 8,&lt;br /&gt;
			name: 'Awesome Profile!'&lt;br /&gt;
		},&lt;br /&gt;
		{...}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Profile Apply===&lt;br /&gt;
The code below is how you use the list of profiles you received in the prior relaunch to have govnah apply a profile.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'set-profile',&lt;br /&gt;
				profileid: 1&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Replace 'profileid' parameters value with the profile id you wish govnah to apply. Note that 'profilename' is also an accepted parameter. This launch will not relaunch your app, it will simply apply if the profileid/name you requested actually exists. (And will just ignore your request if it doesn't.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html&lt;br /&gt;
* http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaai/cpufreq/TheOndemandGovernor.htm&lt;br /&gt;
* http://fasterdata.es.net/TCP-tuning/linux.html&lt;br /&gt;
* http://www.pdfgeni.com/book/Performance-analysis-of-loss-based-high-speed-TCP-congestion-control-algorithms-pdf.html - collection of documents on implementation of different IPv4 congestion control methods.&lt;br /&gt;
* http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt - Kernel documentation for the standard Linux CPU frequency governors&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Sprint_PRL_Update&amp;diff=15671</id>
		<title>Sprint PRL Update</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Sprint_PRL_Update&amp;diff=15671"/>
		<updated>2011-04-28T12:15:34Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Typos, etc.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Summary=&lt;br /&gt;
When you upgrade your Pre to webOS 2.1 using [http://www.webos-internals.org/wiki/WebOS_2_Upgrade the meta-doctor], Sprint users lose the ability to update their PRL ('''P'''referred '''R'''oaming '''L'''ist).  This guide aids in restoring that capability.  It requires that novacomd be installed and running on a computer because the steps require shell access to the Linux command line of your Pre.  This guide DOES NOT discuss illegally obtained and unreleased versions of the software required to do this &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 NOTE:&lt;br /&gt;
 You absolutely '''CANNOT''' use files from another phone's /var/lib/software on your phone.&lt;br /&gt;
 That location contains unique information for YOUR phone.&lt;br /&gt;
 If you restore someone else's files to your phone, it will become THEIR phone and no longer YOURS.&lt;br /&gt;
 Phone number and everything.&lt;br /&gt;
 The only way to fix this situation is to Doctor back to 1.4.5 and start over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
1) Back up /var/lib/software/* ''before'' upgrading to webOS 2.1&amp;lt;br&amp;gt;&lt;br /&gt;
2) Restore /var/lib/software/* ''after'' upgrading to webOS 2.1&amp;lt;br&amp;gt;&lt;br /&gt;
3) Use PmModemUpdater to update your PRL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
You '''must''' have novacomd installed and functioning on a computer.  You can go about this in a couple ways:&lt;br /&gt;
&lt;br /&gt;
1) Get the novacom installer for your OS [https://developer.palm.com/index.php?option=com_content&amp;amp;view=article&amp;amp;layout=page&amp;amp;id=1661 directly from Palm].&amp;lt;br&amp;gt;&lt;br /&gt;
2) Use the [http://forums.precentral.net/canuck-coding/278224-universal-novacom-installer-uni-v1-11-a.html Universal Novacom Installer] to help do it for you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Procedure=&lt;br /&gt;
==Step 1==&lt;br /&gt;
While your Pre is still running webOS 1.4.5, update PRL:&lt;br /&gt;
 1) Phone --&amp;gt; App-Menu --&amp;gt; Preferences &amp;amp; Accounts --&amp;gt; Update PRL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 NOTE:&lt;br /&gt;
 As of April 21st 2011, some people are getting PRL# 01115, and others are getting PRL# 60678.&lt;br /&gt;
 It is unknown why at this time.&lt;br /&gt;
 The 01115 has some data roaming changes in it that boost data rates for some customers in certain areas.&lt;br /&gt;
 Unofficial changelogs can be [http://www.batonrougebroadband.info found here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After this, check to make sure that you have &amp;quot;prefroamlist&amp;quot; on your phone:&lt;br /&gt;
&lt;br /&gt;
 1) Plug your Pre into your computer.  DO NOT put it in USB Mode.&lt;br /&gt;
 2) Run novaterm (will open a Linux shell to your phone).&lt;br /&gt;
 3) cd /var/lib/software/ModemFiles&lt;br /&gt;
 4) ls&lt;br /&gt;
&lt;br /&gt;
You should see a file named &amp;quot;prefroamlist&amp;quot;.  This is your PRL file.  &lt;br /&gt;
&lt;br /&gt;
==Step 2==&lt;br /&gt;
Now back up that location to a tarball in /media/internal (the &amp;quot;Flash Drive&amp;quot; portion of your phone):&lt;br /&gt;
&lt;br /&gt;
 1) cd /var/lib/software&lt;br /&gt;
 2) tar -czvf /media/internal/my_1.4.5_prl_backup.tar.gz *&lt;br /&gt;
&lt;br /&gt;
You will now have a file named &amp;quot;my_1.4.5_prl_backup.tar.gz&amp;quot; in the Flash Drive portion.  It's highly recommended that you put your phone in USB mode now and copy that file to your computer for safe keeping.&lt;br /&gt;
&lt;br /&gt;
==Step 3==&lt;br /&gt;
After running the Doctor that you created following the [http://www.webos-internals.org/wiki/WebOS_2_Upgrade Upgrade Guide], you are ready to restore that information:&lt;br /&gt;
&lt;br /&gt;
 1) novaterm&lt;br /&gt;
 2) cd /var/lib/software&lt;br /&gt;
 3) tar -xvf /media/internal/my_1.4.5_prl_backup.tar.gz&lt;br /&gt;
 4) '''Immediately''' reboot your phone (Orange+Sym+R is the quickest).&lt;br /&gt;
&lt;br /&gt;
==Step 4==&lt;br /&gt;
Verify that YOUR phone is still YOUR phone and check your PRL version:&lt;br /&gt;
 1) Device Info: The first page shows your phone number at the top.&lt;br /&gt;
 2) Device Info: Tap &amp;quot;More Info&amp;quot; at the bottom: Verify PRL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Manually Updating=&lt;br /&gt;
One way to get an updated PRL file is to have a webOS 1.4.5 device handy.  Update the PRL on the 1.4.5 device and DO NOT reboot.&lt;br /&gt;
 1) Navigate to /var/lib/software/ModemFiles&lt;br /&gt;
&lt;br /&gt;
There should be a file named &amp;quot;prefroamlist&amp;quot;.  Make a copy.&lt;br /&gt;
 1) cp /var/lib/software/ModemFiles/prefroamlist /media/internal/&lt;br /&gt;
&lt;br /&gt;
Now it must be renamed and tarred (using 60677 only as an example - it must be named properly)&lt;br /&gt;
 1) cd /media/internal/&lt;br /&gt;
 2) mv prefroamlist Sprint_60677.prl&lt;br /&gt;
 3) tar -cf prl_update.tar Sprint_60677.prl&lt;br /&gt;
&lt;br /&gt;
Get the .tar file onto the Flash Drive portion of your webOS 2.1 device, then:&lt;br /&gt;
 1) PmModemUpdater &amp;lt; /media/internal/prl_update.tar -m&lt;br /&gt;
&lt;br /&gt;
It will disconnect the phone from the network and update the PRL.  The output is similar to the following:&lt;br /&gt;
&lt;br /&gt;
 root@My Pre:/# PmModemUpdater &amp;lt; /media/internal/prl_update.tar&lt;br /&gt;
 $ Modem is powered-on &lt;br /&gt;
 Warning!  Please make sure you have a fully charged battery or are connected to an external source before you do your update.&lt;br /&gt;
 Warning!  You can potentially trash your modem firmware if system loses power in the middle of updating firmware!&lt;br /&gt;
 Warning!  To abort, press CTRL+C.&lt;br /&gt;
 &lt;br /&gt;
 PmModemUpdater Version 5.2.1.8  Nov. 2010 @Palm Inc&lt;br /&gt;
 &lt;br /&gt;
 $ Creating temp file&lt;br /&gt;
 $ Processing file ....&lt;br /&gt;
 (05624/981179198) powerd (stop) running, process 5008&lt;br /&gt;
 (05624/981575927) powerd (stop) pre-stop, (main) process 5008&lt;br /&gt;
 (05624/981820067) powerd (stop) stopping, process 5008&lt;br /&gt;
 (05624/982491454) powerd (stop) killed, process 5008&lt;br /&gt;
 (05625/56618651) powerd (stop) post-stop&lt;br /&gt;
 (05625/57686766) powerd (stop) waiting&lt;br /&gt;
 $ PowerD Stopped successfully!&lt;br /&gt;
 (05625/150734862) PmWanDaemon (stop) running, process 5065&lt;br /&gt;
 (05625/151864012) PmWanDaemon (stop) pre-stop, (main) process 5065&lt;br /&gt;
 (05625/152565917) PmWanDaemon (stop) stopping, process 5065&lt;br /&gt;
 (05625/153786620) PmWanDaemon (stop) killed, process 5065&lt;br /&gt;
 (05630/184609374) PmWanDaemon (stop) post-stop&lt;br /&gt;
 (05630/184822997) PmWanDaemon (stop) waiting&lt;br /&gt;
 $ PmWanDaemon Stopped successfully!&lt;br /&gt;
 (05630/274270018) TelephonyInterfaceLayer (stop) running, process 5012&lt;br /&gt;
 (05630/274636229) TelephonyInterfaceLayer (stop) pre-stop, (main) process 5012&lt;br /&gt;
 (05630/274880370) TelephonyInterfaceLayer (stop) stopping, process 5012&lt;br /&gt;
 (05630/311745604) TelephonyInterfaceLayer (stop) killed, process 5012&lt;br /&gt;
 (05630/311989745) TelephonyInterfaceLayer (stop) post-stop&lt;br /&gt;
 (05630/312142333) TelephonyInterfaceLayer (stop) waiting&lt;br /&gt;
 $ TIL Stopped successfully!&lt;br /&gt;
 {&amp;quot;returnValue&amp;quot;:true}&lt;br /&gt;
 Pass-through disabled&lt;br /&gt;
 $ Passthrough Disabled!.&lt;br /&gt;
 $ Acquired exclusive access to port /dev/modemdiag&lt;br /&gt;
 $ Disable handshaking in ROM&lt;br /&gt;
 $ Going for PRI/PRL update...No modem reset...&lt;br /&gt;
 $ Probing modem.............&lt;br /&gt;
 *************************************************&lt;br /&gt;
 *   	Modem Firmware Info                 *&lt;br /&gt;
 *************************************************&lt;br /&gt;
 * COMP DATE     = Nov 04 201019:05:0911/04/2010      &lt;br /&gt;
 * REL  DATE     = 11/04/2010      &lt;br /&gt;
 * HW VERSION    = A20700E1    &lt;br /&gt;
 * MOB MODEL     = AC    &lt;br /&gt;
 * RADIO TYPE    = CDMA   &lt;br /&gt;
 * PRL VERSION    =60676&lt;br /&gt;
 * PRI CRC        =0x8EF3&lt;br /&gt;
 * EX BUILD ID   = RC1.7(557)     &lt;br /&gt;
 *************************************************&lt;br /&gt;
 &amp;lt;INFO&amp;gt; saving existing tokens&lt;br /&gt;
 $ Successfully configured default charging device&lt;br /&gt;
 $ Finished detecting Modem!&lt;br /&gt;
 $ USB port active for UPDATE!&lt;br /&gt;
 $ No version file found in the package!&lt;br /&gt;
 $ Will Update PRI/PRL files as no firmware version file &lt;br /&gt;
 $ CDMA Carrier Items Update ...............&lt;br /&gt;
 $ PRI Version from Modem is 8961(1.35) &lt;br /&gt;
 $ Updating PRI file to Modem EFS .... &lt;br /&gt;
 $ No PRI File to Update...&lt;br /&gt;
 $ Updating PRL .....&lt;br /&gt;
 $ PRL Sprint_60677.prl Update Success!&lt;br /&gt;
 $ Enable handshaking in ROM  Enable handshaking in ROM &lt;br /&gt;
 $ Please wait while restoring TIL/WAN.....&lt;br /&gt;
 (05632/444924315) powerd (start) waiting&lt;br /&gt;
 (05632/446175536) powerd (start) starting&lt;br /&gt;
 (05632/446999510) powerd (start) pre-start, process 6933&lt;br /&gt;
 (05632/464455565) powerd (start) spawned, process 6936&lt;br /&gt;
 (05632/465584716) powerd (start) post-start, (main) process 6936&lt;br /&gt;
 (05632/466408690) powerd (start) running, process 6936&lt;br /&gt;
 $ powerd Restored successfully!&lt;br /&gt;
 (05632/505135497) TelephonyInterfaceLayer (start) waiting&lt;br /&gt;
 (05632/506295165) TelephonyInterfaceLayer (start) starting&lt;br /&gt;
 (05632/507058104) TelephonyInterfaceLayer (start) pre-start&lt;br /&gt;
 (05632/507821044) TelephonyInterfaceLayer (start) spawned, process 6940&lt;br /&gt;
 (05632/508583983) TelephonyInterfaceLayer (start) post-start, (main) process 6940&lt;br /&gt;
 (05632/509316405) TelephonyInterfaceLayer (start) running, process 6940&lt;br /&gt;
 $ TIL Restored successfully!&lt;br /&gt;
 (05634/553170165) PmWanDaemon (start) waiting&lt;br /&gt;
 (05634/553994139) PmWanDaemon (start) starting&lt;br /&gt;
 (05634/554268798) PmWanDaemon (start) pre-start&lt;br /&gt;
 (05634/554604491) PmWanDaemon (start) spawned, process 6955&lt;br /&gt;
 (05634/554940184) PmWanDaemon (start) post-start, (main) process 6955&lt;br /&gt;
 (05634/555245360) PmWanDaemon (start) running, process 6955&lt;br /&gt;
 $ PmWanDaemon Restored successfully!&lt;br /&gt;
 $ Your device is ready for use.  &lt;br /&gt;
 $ Releasing lock to port /dev/modemdiag&lt;br /&gt;
 root@My Pre:/# &lt;br /&gt;
&lt;br /&gt;
You will see the &amp;quot;Update Success!&amp;quot; line shortly after the &amp;quot;Modem Firmware Info&amp;quot; section.  Although it doesn't seem necessary, it would be a good idea to reboot your phone '''now'''.  After the reboot, verify the PRL Version:&lt;br /&gt;
 1) Device Info --&amp;gt; More Info&lt;br /&gt;
 2) At the bottom it will say your PRL version&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15665</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15665"/>
		<updated>2011-04-27T20:25:05Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but had become largely abandoned.  It is being dusted off, getting issues fixed and having features added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Key Features=&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  Features will continue to be added as they are thought up and/or requested.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
The official App Catalog Version can be found in the App Catalog on your device, or through [http://www.precentral.net/simple-big-book-1 this web page].  The git version (raw source) can be downloaded by using git on your computer:&lt;br /&gt;
 git clone git://git.webos-internals.org/applications/simplebigbook.git&lt;br /&gt;
And installing it with Preware by building an ipk and transferring it to your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15663</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15663"/>
		<updated>2011-04-27T20:24:01Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Summary */ &amp;quot;Fix&amp;quot; verbage...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but had become largely abandoned.  It is being dusted off, getting issues fixed and having features added.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Key Features=&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  As I think of them I will continue to add features as well.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
The official App Catalog Version can be found in the App Catalog on your device, or through [http://www.precentral.net/simple-big-book-1 this web page].  The git version (raw source) can be downloaded by using git on your computer:&lt;br /&gt;
 git clone git://git.webos-internals.org/applications/simplebigbook.git&lt;br /&gt;
And installing it with Preware by building an ipk and transferring it to your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Sprint_PRL_Update&amp;diff=15661</id>
		<title>Sprint PRL Update</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Sprint_PRL_Update&amp;diff=15661"/>
		<updated>2011-04-27T20:17:41Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Summary=&lt;br /&gt;
When you upgrade your Pre to webOS 2.1 using [http://www.webos-internals.org/wiki/WebOS_2_Upgrade the meta-doctor], Sprint users lose the ability to update their PRL ('''P'''referred '''R'''oaming '''L'''ist).  This guide aids in restoring that capability.  It requires that novacom be installed on a computer because the steps require shell access to the Linux command line of your Pre.  This guide DOES NOT discuss illegally obtained and unreleased versions of the software required to do this &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 NOTE:&lt;br /&gt;
 You absolutely '''CANNOT''' use files from another phone's /var/lib/software on your phone.&lt;br /&gt;
 That location contains unique information for YOUR phone.&lt;br /&gt;
 If you restore someone else's files to your phone, it will become THEIR phone and no longer YOURS.&lt;br /&gt;
 The only way to fix this situation is to Doctor back to 1.4.5 and start over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
1) Back up /var/lib/software/* ''before'' upgrading to webOS 2.1&amp;lt;br&amp;gt;&lt;br /&gt;
2) Restore /var/lib/software/* ''after'' upgrading to webOS 2.1&amp;lt;br&amp;gt;&lt;br /&gt;
3) Use PmModemUpdater to update your PRL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
You '''must''' have novacom installed and functioning on a computer.  You can go about this in a couple ways:&lt;br /&gt;
&lt;br /&gt;
1) Get the novacom installer [https://developer.palm.com/index.php?option=com_content&amp;amp;view=article&amp;amp;layout=page&amp;amp;id=1661 directly from Palm].&amp;lt;br&amp;gt;&lt;br /&gt;
2) Use the [http://forums.precentral.net/canuck-coding/278224-universal-novacom-installer-uni-v1-11-a.html Universal Novacom Installer] to help do it for you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Procedure=&lt;br /&gt;
==Step 1==&lt;br /&gt;
While your Pre is still running webOS 1.4.5, update PRL:&lt;br /&gt;
 1) Phone --&amp;gt; App-Menu --&amp;gt; Preferences &amp;amp; Accounts --&amp;gt; Update PRL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 NOTE:&lt;br /&gt;
 As of April 21st 2011, some people are getting PRL# 01115, and others are getting PRL# 60678.&lt;br /&gt;
 It is unknown why at this time.&lt;br /&gt;
 It is believed that it has something to do with the length of time the account has been open.&lt;br /&gt;
 The 01115 has some data roaming changes in it that boost data rates for some customers in certain areas.&lt;br /&gt;
 Unofficial changelogs can be [http://www.batonrougebroadband.info found here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After this, check to make sure that you have &amp;quot;prefroamlist&amp;quot; on your phone:&lt;br /&gt;
&lt;br /&gt;
 1) Plug your Pre into your computer.  DO NOT put it in USB Mode.&lt;br /&gt;
 2) novaterm (will open a Linux shell to your phone).&lt;br /&gt;
 3) cd /var/lib/software/ModemFiles&lt;br /&gt;
 4) ls&lt;br /&gt;
&lt;br /&gt;
You should see a file named &amp;quot;prefroamlist&amp;quot;.  This is your PRL file.  &lt;br /&gt;
&lt;br /&gt;
==Step 2==&lt;br /&gt;
Now back up that location to a tarball in /media/internal (the &amp;quot;Flash Drive&amp;quot; portion of your phone):&lt;br /&gt;
&lt;br /&gt;
 1) cd /var/lib/software&lt;br /&gt;
 2) tar -czvf /media/internal/my_1.4.5_prl_backup.tar.gz *&lt;br /&gt;
&lt;br /&gt;
You will now have a file named &amp;quot;my_1.4.5_prl_backup.tar.gz&amp;quot; in the Flash Drive portion.  It's highly recommended that you put your phone in USB mode now and copy that file to your computer.&lt;br /&gt;
&lt;br /&gt;
==Step 3==&lt;br /&gt;
After running the Doctor that you created following the [http://www.webos-internals.org/wiki/WebOS_2_Upgrade Upgrade Guide], you are ready to restore that information:&lt;br /&gt;
&lt;br /&gt;
 1) novaterm&lt;br /&gt;
 2) cd /var/lib/software&lt;br /&gt;
 3) tar -xvf /media/internal/my_1.4.5_prl_backup.tar.gz&lt;br /&gt;
 4) Immediately reboot your phone (Orange+Sym+R is the quickest).&lt;br /&gt;
&lt;br /&gt;
==Step 4==&lt;br /&gt;
Verify that your phone is still your phone and check your PRL version:&lt;br /&gt;
 1) Device Info: The first page at the top shows your phone number.&lt;br /&gt;
 2) Device Info: Tap &amp;quot;More Info&amp;quot; at the bottom: Verify PRL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Manually Updating=&lt;br /&gt;
One way to get an updated PRL file is to have a webOS 1.4.5 device handy.  Update the PRL on the 1.4.5 device and DO NOT reboot.&lt;br /&gt;
 1) Navigate to /var/lib/software/ModemFiles&lt;br /&gt;
&lt;br /&gt;
There should be a file named &amp;quot;prefroamlist&amp;quot;.  Make a copy.&lt;br /&gt;
 1) cp /var/lib/software/ModemFiles/prefroamlist /media/internal/&lt;br /&gt;
&lt;br /&gt;
Now it must be renamed and tarred (using 60677 only as an example - it must be named properly)&lt;br /&gt;
 1) cd /media/internal/&lt;br /&gt;
 2) mv prefroamlist Sprint_60677.prl&lt;br /&gt;
 3) tar -cf prl_update.tar Sprint_60677.prl&lt;br /&gt;
&lt;br /&gt;
Get the .tar file onto the flash Drive portion of your webOS 2.1 device, then:&lt;br /&gt;
 1) PmModemUpdater &amp;lt; /media/internal/prl_update.tar -m&lt;br /&gt;
&lt;br /&gt;
It will disconnect the phone from the network and update the PRL.  The output is similar to the following:&lt;br /&gt;
&lt;br /&gt;
 root@My Pre:/# PmModemUpdater &amp;lt; /media/internal/prl_update.tar&lt;br /&gt;
 $ Modem is powered-on &lt;br /&gt;
 Warning!  Please make sure you have a fully charged battery or are connected to an external source before you do your update.&lt;br /&gt;
 Warning!  You can potentially trash your modem firmware if system loses power in the middle of updating firmware!&lt;br /&gt;
 Warning!  To abort, press CTRL+C.&lt;br /&gt;
 &lt;br /&gt;
 PmModemUpdater Version 5.2.1.8  Nov. 2010 @Palm Inc&lt;br /&gt;
 &lt;br /&gt;
 $ Creating temp file&lt;br /&gt;
 $ Processing file ....&lt;br /&gt;
 (05624/981179198) powerd (stop) running, process 5008&lt;br /&gt;
 (05624/981575927) powerd (stop) pre-stop, (main) process 5008&lt;br /&gt;
 (05624/981820067) powerd (stop) stopping, process 5008&lt;br /&gt;
 (05624/982491454) powerd (stop) killed, process 5008&lt;br /&gt;
 (05625/56618651) powerd (stop) post-stop&lt;br /&gt;
 (05625/57686766) powerd (stop) waiting&lt;br /&gt;
 $ PowerD Stopped successfully!&lt;br /&gt;
 (05625/150734862) PmWanDaemon (stop) running, process 5065&lt;br /&gt;
 (05625/151864012) PmWanDaemon (stop) pre-stop, (main) process 5065&lt;br /&gt;
 (05625/152565917) PmWanDaemon (stop) stopping, process 5065&lt;br /&gt;
 (05625/153786620) PmWanDaemon (stop) killed, process 5065&lt;br /&gt;
 (05630/184609374) PmWanDaemon (stop) post-stop&lt;br /&gt;
 (05630/184822997) PmWanDaemon (stop) waiting&lt;br /&gt;
 $ PmWanDaemon Stopped successfully!&lt;br /&gt;
 (05630/274270018) TelephonyInterfaceLayer (stop) running, process 5012&lt;br /&gt;
 (05630/274636229) TelephonyInterfaceLayer (stop) pre-stop, (main) process 5012&lt;br /&gt;
 (05630/274880370) TelephonyInterfaceLayer (stop) stopping, process 5012&lt;br /&gt;
 (05630/311745604) TelephonyInterfaceLayer (stop) killed, process 5012&lt;br /&gt;
 (05630/311989745) TelephonyInterfaceLayer (stop) post-stop&lt;br /&gt;
 (05630/312142333) TelephonyInterfaceLayer (stop) waiting&lt;br /&gt;
 $ TIL Stopped successfully!&lt;br /&gt;
 {&amp;quot;returnValue&amp;quot;:true}&lt;br /&gt;
 Pass-through disabled&lt;br /&gt;
 $ Passthrough Disabled!.&lt;br /&gt;
 $ Acquired exclusive access to port /dev/modemdiag&lt;br /&gt;
 $ Disable handshaking in ROM&lt;br /&gt;
 $ Going for PRI/PRL update...No modem reset...&lt;br /&gt;
 $ Probing modem.............&lt;br /&gt;
 *************************************************&lt;br /&gt;
 *   	Modem Firmware Info                 *&lt;br /&gt;
 *************************************************&lt;br /&gt;
 * COMP DATE     = Nov 04 201019:05:0911/04/2010      &lt;br /&gt;
 * REL  DATE     = 11/04/2010      &lt;br /&gt;
 * HW VERSION    = A20700E1    &lt;br /&gt;
 * MOB MODEL     = AC    &lt;br /&gt;
 * RADIO TYPE    = CDMA   &lt;br /&gt;
 * PRL VERSION    =60676&lt;br /&gt;
 * PRI CRC        =0x8EF3&lt;br /&gt;
 * EX BUILD ID   = RC1.7(557)     &lt;br /&gt;
 *************************************************&lt;br /&gt;
 &amp;lt;INFO&amp;gt; saving existing tokens&lt;br /&gt;
 $ Successfully configured default charging device&lt;br /&gt;
 $ Finished detecting Modem!&lt;br /&gt;
 $ USB port active for UPDATE!&lt;br /&gt;
 $ No version file found in the package!&lt;br /&gt;
 $ Will Update PRI/PRL files as no firmware version file &lt;br /&gt;
 $ CDMA Carrier Items Update ...............&lt;br /&gt;
 $ PRI Version from Modem is 8961(1.35) &lt;br /&gt;
 $ Updating PRI file to Modem EFS .... &lt;br /&gt;
 $ No PRI File to Update...&lt;br /&gt;
 $ Updating PRL .....&lt;br /&gt;
 $ PRL Sprint_60677.prl Update Success!&lt;br /&gt;
 $ Enable handshaking in ROM  Enable handshaking in ROM &lt;br /&gt;
 $ Please wait while restoring TIL/WAN.....&lt;br /&gt;
 (05632/444924315) powerd (start) waiting&lt;br /&gt;
 (05632/446175536) powerd (start) starting&lt;br /&gt;
 (05632/446999510) powerd (start) pre-start, process 6933&lt;br /&gt;
 (05632/464455565) powerd (start) spawned, process 6936&lt;br /&gt;
 (05632/465584716) powerd (start) post-start, (main) process 6936&lt;br /&gt;
 (05632/466408690) powerd (start) running, process 6936&lt;br /&gt;
 $ powerd Restored successfully!&lt;br /&gt;
 (05632/505135497) TelephonyInterfaceLayer (start) waiting&lt;br /&gt;
 (05632/506295165) TelephonyInterfaceLayer (start) starting&lt;br /&gt;
 (05632/507058104) TelephonyInterfaceLayer (start) pre-start&lt;br /&gt;
 (05632/507821044) TelephonyInterfaceLayer (start) spawned, process 6940&lt;br /&gt;
 (05632/508583983) TelephonyInterfaceLayer (start) post-start, (main) process 6940&lt;br /&gt;
 (05632/509316405) TelephonyInterfaceLayer (start) running, process 6940&lt;br /&gt;
 $ TIL Restored successfully!&lt;br /&gt;
 (05634/553170165) PmWanDaemon (start) waiting&lt;br /&gt;
 (05634/553994139) PmWanDaemon (start) starting&lt;br /&gt;
 (05634/554268798) PmWanDaemon (start) pre-start&lt;br /&gt;
 (05634/554604491) PmWanDaemon (start) spawned, process 6955&lt;br /&gt;
 (05634/554940184) PmWanDaemon (start) post-start, (main) process 6955&lt;br /&gt;
 (05634/555245360) PmWanDaemon (start) running, process 6955&lt;br /&gt;
 $ PmWanDaemon Restored successfully!&lt;br /&gt;
 $ Your device is ready for use.  &lt;br /&gt;
 $ Releasing lock to port /dev/modemdiag&lt;br /&gt;
 root@My Pre:/# &lt;br /&gt;
&lt;br /&gt;
You will see the &amp;quot;Update Success!&amp;quot; line shortly after the &amp;quot;Modem Firmware Info&amp;quot; section.  Although it doesn't seem necessary, it would be a good idea to reboot your phone now.  After the reboot, verify the PRL Version:&lt;br /&gt;
 1) Device Info --&amp;gt; More Info&lt;br /&gt;
 2) At the bottom it will say your PRL version&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15659</id>
		<title>Application:Govnah</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Govnah&amp;diff=15659"/>
		<updated>2011-04-27T20:03:12Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Summary */  Move icon to left like other App pages.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
This page is currently available in two languages:&lt;br /&gt;
:[[Image:Australia.png]] [[Image:USA.png]] [[Application:Govnah]]&lt;br /&gt;
:[[Image:Germany.png]] [[Application:Govnah-DE]]&lt;br /&gt;
:[[Image:France.png]] [[Application:Govnah-FR]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Govnah&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 0.7.5 &amp;lt;br /&amp;gt;(2010-10-22)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=GovnahHome4Life-0.6.1.png&lt;br /&gt;
|description=}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Icon_WebOSInternals_Govnah.png|frameless|left]]&lt;br /&gt;
Advanced webOS kernels provide mechanisms to control various operating parameters on the device such as clock speed.  These kernels expose one or more &amp;quot;governors&amp;quot; which can control those parameters. An example of such a kernel is the [[Application:UberKernel|UberKernel]].  This application is available through [[Preware]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Purpose===&lt;br /&gt;
The application ''Govnah'' does two things:&lt;br /&gt;
:* It provides a real-time graph of CPU speed, CPU temperature, memory usage and system load &lt;br /&gt;
:* Provides a mechanism for setting the parameters of the &amp;quot;governors&amp;quot; exposed by the kernel and configuring other kernel features.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Real World Examples===&lt;br /&gt;
&lt;br /&gt;
The Uber-Kernel exposes a governor called ''on-demand''.  The on-demand governor increases and decreases clock speed based on the percentage of CPU usage. &lt;br /&gt;
&lt;br /&gt;
The ''on-demand'' governor exposes the following parameters which can be set by Govnah: &lt;br /&gt;
:* scaling_max_freq - Set the maximum frequency your CPU is allowed to scale to.&lt;br /&gt;
:* scaling_min_freq - Same as scaling_max_freq but setting a minimum value.&lt;br /&gt;
:* sampling_rate - How often you want the kernel to look at the CPU usage (in microseconds) Typically this is set to values of 10000 or more.&lt;br /&gt;
:* up_threshold - This defines what the average CPU usage percentage increase between samplings for the kernel to decide to increase the CPU frequency. &lt;br /&gt;
:* ignore_nice_load - If '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
:* powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. The bias is in tenths of a percent (0 to 1000).  A setting of 100 will result in a 10% smaller increase in CPU speed for a given usage than a setting of 0 would result in.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each &amp;quot;Governor&amp;quot; in the kernel tells ''Govnah'' what parameters it has that may be set and may also say what the limits of those parameters are.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Current Governors===&lt;br /&gt;
&lt;br /&gt;
Current governors available in the Uber-Kernel and supported by Govnah include: &lt;br /&gt;
:* On-demand - described above, increases clock speed in response to increases in CPU load. &lt;br /&gt;
:* Conservative - The opposite of on-demand conservative decreases CPU clock speed in response to decreases in CPU load. &lt;br /&gt;
:* Userspace - sets the CPU speed to a defined rate as chosen by LunaSysMgr&lt;br /&gt;
:* powersave - sets the CPU speed to the min frequency value&lt;br /&gt;
:* performance - sets the CPU speed to the max frequency value&lt;br /&gt;
:* screenstate - runs at a higher speed when the screen is on and at 500MHz when the screen is off &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
The following guide assumes a Palm Pre/Pre+ that has the original 1.4.1.1 kernel and no over-clocking patches.&lt;br /&gt;
&lt;br /&gt;
#On Preware's home screen, type &amp;quot;Gov&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;Govnah&amp;quot; and &amp;quot;Install&amp;quot;&lt;br /&gt;
#If you have not yet installed a &amp;quot;Kernel&amp;quot;, on Preware's home screen, type &amp;quot;uber&amp;quot; and hit enter.&lt;br /&gt;
#Select &amp;quot;[[Application:UberKernel|UberKernel (Palm Pre/Pre+)]]&amp;quot; and &amp;quot;Install&amp;quot;&lt;br /&gt;
#Restart your phone as promted&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Brief Usage=&lt;br /&gt;
===Where To Start===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapProfile-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|To begin accessing the power of Govnah's control over the Linux Kernel, tap the &amp;quot;Profile&amp;quot; row at the top of the main screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapAdvanced-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Here is the list of stored Govnah Profiles.  Profiles are a simple way for you store various settings that you wish to be applied at boot-time.  You have the ability to store several different profiles for testing the best settings for '''your''' usage.  Tap &amp;quot;Advanced Settings&amp;quot; at the top to access the individual settings that get stored in the profiles.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Settings===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahAdvSettings2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|This is the list of configurable items.  They are explained in more depth below.  You are ''strongly'' encouraged to read about what these settings mean and do.  Not all of them are beneficial to you or your battery.  Most of the defaults are a happy medium between the two.  The main one to change is &amp;quot;CPU Frequency&amp;quot;.  Tap that now.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU Frequency===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahCPUFreq-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|The first time you boot your Pre/Pixi after installing Govnah and UberKernel, it will be running at 600MHz.  This is where you ramp it up to 800MHz.  Select &amp;quot;800Mhz&amp;quot; in the &amp;quot;Set Speed&amp;quot; section and tap &amp;quot;Apply Settings&amp;quot;.  Your phone will immediately be running at 800Mhz.  Gesture Swipe left return to the &amp;quot;Advanced Settings&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compressed Swap (compcache)===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:govnahCompSwap-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Compressed swap (compcache) is simply an amount of RAM (memory) that is reserved for compressing data loaded into RAM when the amount of RAM needed exceeds the space available. In a nut shell this provides more RAM space for application data to be loaded in RAM. The trade off is slightly reduced performance of the RAM for the data that is being compressed and uncompressed. But is faster than if the data were in a swap space on the internal storage drive (memory). To use this feature you must first set the amount of space that will be reserved and then toggle compcache enabled to on. Then click apply to make the settings active. If you desire to change the amount of space reserved once it has been active you must turn compcache enabled to off and click apply. Then change the amount of space reserved, turn compcache enabled to on, and click apply to make the new setting active.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Saving your Profile===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahPalm4Life-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|After leaving the step above, you will have ended up back at the &amp;quot;Advanced Settings&amp;quot; screen where the button &amp;quot;Save Current Profile&amp;quot; is at the bottom. This is where you can make your Pre/Pixi set to boot with your faster speed.  Set the name you want here and tap &amp;quot;Save As New Profile&amp;quot;.  Gesture swipe left to return to the &amp;quot;Profiles&amp;quot; screen.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Profile Management===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahMegaProfiles2-0.6.1.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|As you can clearly see, you can save many different profiles for testing various settings to find what best suits you and your usage patterns to find that &amp;quot;sweet spot&amp;quot; between speed and battery savings.  Only you can find this.  [http://forums.precentral.net/webos-internals/244701-govnah.html People can help suggest] what works for them, but no two devices are '''exactly''' the same.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Governors In-Depth=&lt;br /&gt;
* Generic items (needed for all)&lt;br /&gt;
** scaling_max_freq - Set the maximum frequency your CPU(s) are allowed to scale to. Look at the output from scaling_available_frequencies&lt;br /&gt;
** scaling_min_freq - Same as scaling_max_freq but setting a value that will not allow the CPU(s) to go below.&lt;br /&gt;
&lt;br /&gt;
* ondemand&lt;br /&gt;
** sampling_rate - This is measured in microseconds (one millionth of a second). This is how often you want the kernel to look at the CPU usage and to make decisions on what to do about the frequency. Typically this is set to values of around '10000' or more. If you wanted to set the sampling rate to 1 second you would set it to 1000000 like in the following example.&lt;br /&gt;
** sampling_rate_(min|max) - This is minimum and maximum sampling rates available that you may set 'sampling_rate' to. I believe in microseconds also.&lt;br /&gt;
** sampling_down_factor: this parameter controls the rate that the CPU makes a decision on when to decrease the frequency. When set to its default value of '5' it means that at 1/5 the sampling_rate the kernel makes a decision to lower the frequency. Five &amp;quot;lower rate&amp;quot; decisions have to be made in a row before the CPU frequency is actually lower. If set to '1' then the frequency decreases as quickly as it increases, if set to '2' it decreases at half the rate of the increase.&lt;br /&gt;
** up_threshold - This defines what the average CPU usage between the samplings of 'sampling_rate' needs to be for the kernel to make a decision on whether or not it should increase the frequency. For example when it is set to its default value of '80' it means that between the checking intervals the CPU needs to be on average more than 80% in use to then decide that the CPU frequency needs to be increased. &lt;br /&gt;
** ignore_nice_load - This parameter takes a value of '0' or '1'. When set to '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. &lt;br /&gt;
** powersave_bias - This modifies the behavior of the ondemand governor to save more power by reducing the target frequency by a specified percentage. By default, (powersave_bias  = 0), the ondemand governor selects the minimum processor frequency that can still complete a workload with minimal idle time. Doing so should result in the highest performance to power efficiency ratio. In some cases, you might prefer a greater emphasis on power efficiency than performance. In this case, set the powersave_bias parameter to a value between 1 and 1000 to reduce the target frequency by one-thousandth of that value. For example, set powersave_bias to 100 for a one-tenth reduction in target frequency. In this case, if the governor chooses a target frequency of 2 GHz (with powersave_bias  = 100), the governor instead will request 1.8GHz – a one-tenth reduction. If 1.8 GHz is an exact match with an available hardware frequency (listed in the scaling_available_freq parameter), the processor is set to this frequency. If 1.8 GHz is not available, the processor fluctuates between the closest available upper and lower frequencies for an average frequency of 1.8 GHz. (from IBM web page). The original author of the ondemand powersave_bias code explains it as &amp;quot;For example, If ondemand requests 2.0GHz based on utilization, and powersave_bias=100, this code will knock 10% off the target and seek a target of 1.8GHz instead of 2.0GHz until the next sampling. If 1.8 is an exact match with an hardware frequency we use it, otherwise we average our time between the frequency next higher than 1.8 and next lower than 1.8&amp;quot; (from http://osdir.com/ml/kernel.cpufreq/2006-07/msg00114.html ) - the key word appears to be &amp;quot;average&amp;quot;. The author also warns &amp;quot;In practice, users will not be able to detect a difference between 0.1% increments, but 1.0% increments turned out to be too large. Also, the max value of 1000 (100%) would simply peg the system in its deepest power saving P-state, unless the processor really has a hardware P-state at 0Hz&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* conservative&lt;br /&gt;
** freq_step - This describes what percentage steps the CPU freq should be increased and decreased smoothly by. By default the CPU frequency will increase in 5% chunks of your maximum CPU frequency. You can change this value to anywhere between 0 and 100 where '0' will effectively lock your CPU at a speed regardless of its load whilst '100' will, in theory, make it behave identically to the &amp;quot;ondemand&amp;quot; governor. &lt;br /&gt;
** down_threshold - This is same as the 'up_threshold' found for the &amp;quot;ondemand&amp;quot; governor but for the opposite direction. For example when set to its default value of '20' it means that if the CPU usage needs to be below 20% between samples to have the frequency decreased. &lt;br /&gt;
** sampling_rate - same as ondemand.&lt;br /&gt;
** sampling_rate_(min|max) - same as ondemand.&lt;br /&gt;
** up_threshold - same as ondemand.&lt;br /&gt;
** ignore_nice_load - same as ondemand.&lt;br /&gt;
&lt;br /&gt;
* userspace&lt;br /&gt;
** scaling_setspeed - one of the values from scaling_available_frequencies&lt;br /&gt;
** NB - when userspace is selected LunaSysMgr will change the frequency as it feels.&lt;br /&gt;
&lt;br /&gt;
* powersave&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
* performance&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
* screenstate&lt;br /&gt;
** Nothing special&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Developer Notes=&lt;br /&gt;
===Relaunching for Cross-App Integration===&lt;br /&gt;
There are 2 different launch params. One to get a list of profiles returned to your app, and one to apply a profile to the phone. This was implemented in v0.3.1.&lt;br /&gt;
&lt;br /&gt;
===Profile List===&lt;br /&gt;
The code below is how you would launch govnah and tell it to return a list of profiles to your app:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'get-profiles',&lt;br /&gt;
				returnid: 'app.to.relaunch'&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to replace the returnid parameters value 'app.to.relaunch' with your apps id.&lt;br /&gt;
&lt;br /&gt;
The object below will be sent to your app-assistants handleLaunch function. (But with real data obviously.)&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type: 'govnah-profiles',&lt;br /&gt;
	profiles:&lt;br /&gt;
	[&lt;br /&gt;
		{&lt;br /&gt;
			id: 1,&lt;br /&gt;
			name: 'Palm Default'&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			id: 8,&lt;br /&gt;
			name: 'Awesome Profile!'&lt;br /&gt;
		},&lt;br /&gt;
		{...}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Profile Apply===&lt;br /&gt;
The code below is how you use the list of profiles you received in the prior relaunch to have govnah apply a profile.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
this.controller.serviceRequest&lt;br /&gt;
(&lt;br /&gt;
	'palm://com.palm.applicationManager',&lt;br /&gt;
	{&lt;br /&gt;
		method: 'launch',&lt;br /&gt;
		parameters:&lt;br /&gt;
		{&lt;br /&gt;
			id: 'org.webosinternals.govnah',&lt;br /&gt;
			params:&lt;br /&gt;
			{&lt;br /&gt;
				type: 'set-profile',&lt;br /&gt;
				profileid: 1&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Replace 'profileid' parameters value with the profile id you wish govnah to apply. Note that 'profilename' is also an accepted parameter. This launch will not relaunch your app, it will simply apply if the profileid/name you requested actually exists. (And will just ignore your request if it doesn't.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
* http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html&lt;br /&gt;
* http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaai/cpufreq/TheOndemandGovernor.htm&lt;br /&gt;
* http://fasterdata.es.net/TCP-tuning/linux.html&lt;br /&gt;
* http://www.pdfgeni.com/book/Performance-analysis-of-loss-based-high-speed-TCP-congestion-control-algorithms-pdf.html - collection of documents on implementation of different IPv4 congestion control methods.&lt;br /&gt;
* http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt - Kernel documentation for the standard Linux CPU frequency governors&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Sprint_PRL_Update&amp;diff=15647</id>
		<title>Sprint PRL Update</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Sprint_PRL_Update&amp;diff=15647"/>
		<updated>2011-04-25T14:58:50Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Initial Typing.  Not complete.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; '''This work is in progress and is not finished.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
When you upgrade your Pre to webOS 2.1 using [http://www.webos-internals.org/wiki/WebOS_2_Upgrade the meta-doctor], Sprint users lose the ability to update their PRL ('''P'''referred '''R'''oaming '''L'''ist).  This guide aids in restoring that capability.  It requires that novacom be installed on a computer because the steps require shell access to the Linux command line of your Pre.  This guide DOES NOT discuss illegally obtained and unreleased versions of the software required to do this &amp;quot;normally&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 NOTE:&lt;br /&gt;
 You absolutely '''CANNOT''' use files from another phone's /var/lib/software on your phone.&lt;br /&gt;
 That location contains unique information for YOUR phone.&lt;br /&gt;
 If you restore someone else's files to your phone, it will become THEIR phone and no longer YOURS.&lt;br /&gt;
 The only way to fix this situation is to Doctor back to 1.4.5 and start over.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Overview=&lt;br /&gt;
1) Back up /var/lib/software/* ''before'' upgrading to webOS 2.1&amp;lt;br&amp;gt;&lt;br /&gt;
2) Restore /var/lib/software/* ''after'' upgrading to webOS 2.1&amp;lt;br&amp;gt;&lt;br /&gt;
3) Use PmModemUpdater to update your PRL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Prerequisites=&lt;br /&gt;
You '''must''' have novacom installed and functioning on a computer.  You can go about this in a couple ways:&lt;br /&gt;
&lt;br /&gt;
1) Get the novacom installer [https://developer.palm.com/index.php?option=com_content&amp;amp;view=article&amp;amp;layout=page&amp;amp;id=1661 directly from Palm].&amp;lt;br&amp;gt;&lt;br /&gt;
2) Use the [http://forums.precentral.net/canuck-coding/278224-universal-novacom-installer-uni-v1-11-a.html Universal Novacom Installer] to help do it for you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Procedure=&lt;br /&gt;
==Step 1==&lt;br /&gt;
While your Pre is still running webOS 1.4.5, update PRL:&lt;br /&gt;
 1) Phone --&amp;gt; App-Menu --&amp;gt; Preferences &amp;amp; Accounts --&amp;gt; Update PRL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 NOTE:&lt;br /&gt;
 As of April 21st 2011, some people are getting PRL# 01115, and others are getting PRL# 60678.&lt;br /&gt;
 It is unknown why at this time.&lt;br /&gt;
 It is believed that it has something to do with the length of time the account has been open.&lt;br /&gt;
 The 01115 has some data roaming changes in it that boost data rates for some customers in certain areas.&lt;br /&gt;
 Unofficial changelogs can be [http://www.batonrougebroadband.info found here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After this, check to make sure that you have &amp;quot;prefroamlist&amp;quot; on your phone:&lt;br /&gt;
&lt;br /&gt;
 1) Plug your Pre into your computer.  DO NOT put it in USB Mode.&lt;br /&gt;
 2) novaterm (will open a Linux shell to your phone).&lt;br /&gt;
 3) cd /var/lib/software/ModemFiles&lt;br /&gt;
 4) ls&lt;br /&gt;
&lt;br /&gt;
You should see a file named &amp;quot;prefroamlist&amp;quot;.  This is your PRL file.  &lt;br /&gt;
&lt;br /&gt;
==Step 2==&lt;br /&gt;
Now back up that location to a tarball in /media/internal (the &amp;quot;Flash Drive&amp;quot; portion of your phone):&lt;br /&gt;
&lt;br /&gt;
 1) cd /var/lib/software&lt;br /&gt;
 2) tar -czvf /media/internal/my_1.4.5_prl_backup.tar.gz *&lt;br /&gt;
&lt;br /&gt;
You will now have a file named &amp;quot;my_1.4.5_prl_backup.tar.gz&amp;quot; in the Flash Drive portion.  It's highly recommended that you put your phone in USB mode now and copy that file to your computer.&lt;br /&gt;
&lt;br /&gt;
==Step 3==&lt;br /&gt;
After running the Doctor that you created following the [http://www.webos-internals.org/wiki/WebOS_2_Upgrade Upgrade Guide], you are ready to restore that information:&lt;br /&gt;
&lt;br /&gt;
 1) novaterm&lt;br /&gt;
 2) cd /var/lib/software&lt;br /&gt;
 3) tar -xvf /media/internal/my_1.4.5_prl_backup.tar.gz&lt;br /&gt;
 4) Immediately reboot your phone (Orange+Sym+R is the quickest).&lt;br /&gt;
&lt;br /&gt;
==Step 4==&lt;br /&gt;
Verify that your phone is still your phone and check your PRL version:&lt;br /&gt;
 1) Device Info: The first page at the top shows your phone number.&lt;br /&gt;
 2) Device Info: Tap &amp;quot;More Info&amp;quot; at the bottom: Verify PRL.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15645</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15645"/>
		<updated>2011-04-25T11:42:42Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Added &amp;quot;Installing&amp;quot;. Updated &amp;quot;Status&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but has become largely abandoned at this point.  I am dusting it off, fixing issues, and adding features.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Key Features=&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  As I think of them I will continue to add features as well.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Installing=&lt;br /&gt;
The official App Catalog Version can be found in the App Catalog on your device, or through [http://www.precentral.net/simple-big-book-1 this web page].  The git version (raw source) can be downloaded by using git on your computer:&lt;br /&gt;
 git clone git://git.webos-internals.org/applications/simplebigbook.git&lt;br /&gt;
And installing it with Preware by building an ipk and transferring it to your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15643</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15643"/>
		<updated>2011-04-25T11:36:59Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but has become largely abandoned at this point.  I am dusting it off, fixing issues, and adding features.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Key Features=&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
The git version is receiving continual updates as things are found to be wrong (typos in the text, etc.).  As I think of them I will continue to add features as well.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=15623</id>
		<title>How To Remove VoiceDial</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=15623"/>
		<updated>2011-04-23T15:20:52Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Summary ===&lt;br /&gt;
For those plagued by the buggy and inaccurate VoiceDial that comes with webOS 2.1 (meta-doctor or otherwise), here's how to disable/remove it as cleanly as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
All the VoiceDial packages in webOS 2.1:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; ipkg list_installed | grep voice&lt;br /&gt;
 &lt;br /&gt;
 contacts.plugin.pmvoicecommand&lt;br /&gt;
 palmvoicecodec&lt;br /&gt;
 palmvoicedecoder&lt;br /&gt;
 palmvoiceencoder&lt;br /&gt;
 pmvoicecommand&lt;br /&gt;
 pmvoicecommand-dede&lt;br /&gt;
 pmvoicecommand-engb&lt;br /&gt;
 pmvoicecommand-enus&lt;br /&gt;
 pmvoicecommand-eses&lt;br /&gt;
 pmvoicecommand-esmx&lt;br /&gt;
 pmvoicecommand-frca&lt;br /&gt;
 pmvoicecommand-frfr&lt;br /&gt;
 pmvoicecommand-itit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable System Service ===&lt;br /&gt;
The simplest and easiest way to stop VoiceDial from getting in your way and crashing the MediaServer (kills system sounds) is to simply disable the service from starting at boot-time.  This requires NO file / file system alterations:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
Reboot.  You'll be VoiceDial free.  The codecs and such will still be loading and the actual app will still be there, but it won't work anymore so you won't have it randomly popping up and killing MediaServer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Complete Removal (No Way Back) ===&lt;br /&gt;
If you have absolutly NO desire to EVER re-install it, then you can simply:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,rw /&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; for PKG in $(ipkg list_installed | grep voice | awk '{print $1}') ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,ro /&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
To remove it from the list of services to start at boot time.  There is no way to &amp;quot;re-install&amp;quot; VoiceDial with this method.  The next method ''can'' make it possible to &amp;quot;re-install&amp;quot; VoiceDial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Complete Removal (Reversible) ===&lt;br /&gt;
If you even ''THINK'' you ''may'' want to re-install it at some future time, it gets a little tricky.  In the Doctor, we have IPKs for everything EXCEPT the codecs.  These need to be backed up BEFORE removing the packages themselves.  This handy dandy script will back up the codecs to a tarball in /media/internal/VoiceDialBackup, remove all the packages, and remove the service from boot-time:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 VCBACKUP=&amp;quot;/media/internal/VoiceCommandBackup&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vMaking codec backup dir at &amp;quot;${VCBACKUP}&amp;quot;\\n&lt;br /&gt;
 if [ ! -d &amp;quot;${VCBACKUP}&amp;quot; ] ; then mkdir &amp;quot;${VCBACKUP}&amp;quot;; fi&lt;br /&gt;
 &lt;br /&gt;
 cd /&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,rw /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vBacking up codecs\\n&lt;br /&gt;
 tar -czvf &amp;quot;${VCBACKUP}&amp;quot;/VoiceCommandExtras.tar.gz /usr/lib/libpalmvoicecodec.so /usr/lib/gstreamer-0.10/libpalmvoicedecoder.so /usr/lib/gstreamer-0.10/libpalmvoiceencoder.so&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving all VoiceDial packages\\n&lt;br /&gt;
 for PKG in $(ipkg list_installed | grep voice | awk '{print $1'}) ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,ro /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving VoiceDial from boot-time service list\\n&lt;br /&gt;
 luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=15621</id>
		<title>How To Remove VoiceDial</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=15621"/>
		<updated>2011-04-23T15:18:52Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Separated No Way Back from Reverible removals.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Summary ===&lt;br /&gt;
For those plagued by the buggy and inaccurate VoiceDial that comes with webOS 2.1 (meta-doctor or otherwise), here's how to disable/remove it as cleanly as possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
All the VoiceDial packages in webOS 2.1:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; ipkg list_installed | grep voice&lt;br /&gt;
 &lt;br /&gt;
 contacts.plugin.pmvoicecommand&lt;br /&gt;
 palmvoicecodec&lt;br /&gt;
 palmvoicedecoder&lt;br /&gt;
 palmvoiceencoder&lt;br /&gt;
 pmvoicecommand&lt;br /&gt;
 pmvoicecommand-dede&lt;br /&gt;
 pmvoicecommand-engb&lt;br /&gt;
 pmvoicecommand-enus&lt;br /&gt;
 pmvoicecommand-eses&lt;br /&gt;
 pmvoicecommand-esmx&lt;br /&gt;
 pmvoicecommand-frca&lt;br /&gt;
 pmvoicecommand-frfr&lt;br /&gt;
 pmvoicecommand-itit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable System Service ===&lt;br /&gt;
The simplest and easiest way to stop VoiceDial from getting in your way and crashing the MediaServer (kills system sounds) is to simply disable the service from starting at boot-time.  This requires NO file / file system alterations:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
Reboot.  You'll be VoiceDial free.  The codecs and such will still be loading and the actual app will still be there, but it won't work anymore so you won't have it randomly popping up and killing MediaServer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Complete Removal (No Way Back) ===&lt;br /&gt;
If you have absolutly NO desire to EVER re-install it, then you can simply:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,rw /&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; for PKG in $(ipkg list_installed | grep voice | awk '{print $1}') ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,ro /&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
To remove it from the list of services to start at boot time.  There is no way to &amp;quot;re-install&amp;quot; VoiceDial with this method.  The next method ''can'' make it possible to &amp;quot;re-install&amp;quot; VoiceDial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Complete Removal (Reversible) ===&lt;br /&gt;
If you even ''THINK'' you ''may'' want to re-install it at some future time, it gets a little tricky.  In the Doctor, we have IPKs for everything EXCEPT the codecs.  These need to be backed up BEFORE removing the packages themselves.  This handy dandy script will back up the codecs to your /media/internal, remove all the packages, and remove the service from boot-time:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 VCBACKUP=&amp;quot;/media/internal/VoiceCommandBackup&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vMaking codec backup dir at &amp;quot;${VCBACKUP}&amp;quot;\\n&lt;br /&gt;
 if [ ! -d &amp;quot;${VCBACKUP}&amp;quot; ] ; then mkdir &amp;quot;${VCBACKUP}&amp;quot;; fi&lt;br /&gt;
 &lt;br /&gt;
 cd /&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,rw /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vBacking up codecs\\n&lt;br /&gt;
 tar -czvf &amp;quot;${VCBACKUP}&amp;quot;/VoiceCommandExtras.tar.gz /usr/lib/libpalmvoicecodec.so /usr/lib/gstreamer-0.10/libpalmvoicedecoder.so /usr/lib/gstreamer-0.10/libpalmvoiceencoder.so&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving all VoiceDial packages\\n&lt;br /&gt;
 for PKG in $(ipkg list_installed | grep voice | awk '{print $1'}) ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,ro /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving VoiceDial from boot-time service list\\n&lt;br /&gt;
 luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=15619</id>
		<title>How To Remove VoiceDial</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=15619"/>
		<updated>2011-04-23T15:16:09Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Summary ===&lt;br /&gt;
For those plagued by the buggy and inaccurate VoiceDial that comes with webOS 2.1 (meta-doctor or otherwise), here's how to disable/remove it as cleanly as possible.&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
All the VoiceDial packages in webOS 2.1:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; ipkg list_installed | grep voice&lt;br /&gt;
 &lt;br /&gt;
 contacts.plugin.pmvoicecommand&lt;br /&gt;
 palmvoicecodec&lt;br /&gt;
 palmvoicedecoder&lt;br /&gt;
 palmvoiceencoder&lt;br /&gt;
 pmvoicecommand&lt;br /&gt;
 pmvoicecommand-dede&lt;br /&gt;
 pmvoicecommand-engb&lt;br /&gt;
 pmvoicecommand-enus&lt;br /&gt;
 pmvoicecommand-eses&lt;br /&gt;
 pmvoicecommand-esmx&lt;br /&gt;
 pmvoicecommand-frca&lt;br /&gt;
 pmvoicecommand-frfr&lt;br /&gt;
 pmvoicecommand-itit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable System Service ===&lt;br /&gt;
The simplest and easiest way to stop VoiceDial from getting in your way and crashing the MediaServer (kills system sounds) is to simply disable the service from starting at boot-time.  This requires NO file / file system alterations:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
Reboot.  You'll be VoiceDial free.  The codecs and such will still be loading and the actual app will still be there, but it won't work anymore so you won't have it randomly popping up and killing MediaServer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Complete Removal ===&lt;br /&gt;
If you have absolutly NO desire to EVER re-install it, then you can simply:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,rw /&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; for PKG in $(ipkg list_installed | grep voice | awk '{print $1}') ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,ro /&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
To remove it from the list of services to start at boot time.&lt;br /&gt;
&lt;br /&gt;
'''BUT'''&lt;br /&gt;
&lt;br /&gt;
If you even ''THINK'' you ''may'' want to re-install it at some future time, it gets a little tricky.  In the Doctor, we have IPKs for everything EXCEPT the codecs.  These need to be backed up BEFORE removing the packages themselves.  This handy dandy script will back up the codecs to your /media/internal, remove all the packages, and remove the service from boot-time:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 VCBACKUP=&amp;quot;/media/internal/VoiceCommandBackup&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vMaking codec backup dir at &amp;quot;${VCBACKUP}&amp;quot;\\n&lt;br /&gt;
 if [ ! -d &amp;quot;${VCBACKUP}&amp;quot; ] ; then mkdir &amp;quot;${VCBACKUP}&amp;quot;; fi&lt;br /&gt;
 &lt;br /&gt;
 cd /&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,rw /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vBacking up codecs\\n&lt;br /&gt;
 tar -czvf &amp;quot;${VCBACKUP}&amp;quot;/VoiceCommandExtras.tar.gz /usr/lib/libpalmvoicecodec.so /usr/lib/gstreamer-0.10/libpalmvoicedecoder.so /usr/lib/gstreamer-0.10/libpalmvoiceencoder.so&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving all VoiceDial packages\\n&lt;br /&gt;
 for PKG in $(ipkg list_installed | grep voice | awk '{print $1'}) ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,ro /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving VoiceDial from boot-time service list\\n&lt;br /&gt;
 luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=15617</id>
		<title>How To Remove VoiceDial</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=15617"/>
		<updated>2011-04-23T14:11:22Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Added service disable as a quick option. Minor edits.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Summary ===&lt;br /&gt;
For those plagued by the buggy and inaccurate VoiceDial that comes with webOS 2.1 (meta-doctor or otherwise), here's how to disable/remove it as cleanly as possible.&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
All the VoiceDial packages in webOS 2.1:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; ipkg list_installed | grep voice&lt;br /&gt;
 &lt;br /&gt;
 contacts.plugin.pmvoicecommand&lt;br /&gt;
 palmvoicecodec&lt;br /&gt;
 palmvoicedecoder&lt;br /&gt;
 palmvoiceencoder&lt;br /&gt;
 pmvoicecommand&lt;br /&gt;
 pmvoicecommand-dede&lt;br /&gt;
 pmvoicecommand-engb&lt;br /&gt;
 pmvoicecommand-enus&lt;br /&gt;
 pmvoicecommand-eses&lt;br /&gt;
 pmvoicecommand-esmx&lt;br /&gt;
 pmvoicecommand-frca&lt;br /&gt;
 pmvoicecommand-frfr&lt;br /&gt;
 pmvoicecommand-itit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable System Service ===&lt;br /&gt;
The simplest and easiest way to stop VoiceDial from getting in your way and crashing the MediaServer (kills system sounds) is to simply disable the service from starting at boot-time.  This requires NO file / fiel system alterations:&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
Reboot.  You'll be VoiceDial free.  The codecs and such will still be loading and the actual app will still be there, but it won't work anymore so you won't have it randomly popping upand killing MediaServer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Complete Removal ===&lt;br /&gt;
If you have absolutly NO desire to EVER re-install it, then you can simply:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,rw /&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; for PKG in $(ipkg list_installed | grep voice | awk '{print $1}') ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; mount -oremount,ro /&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
To remove it from the list of services to start at boot time.&lt;br /&gt;
&lt;br /&gt;
'''BUT'''&lt;br /&gt;
&lt;br /&gt;
If you even ''THINK'' you may want to re-install it at some future time, it gets a little tricky.  In the Doctor, we have IPKs for everything EXCEPT the codecs.  These need to be backed up BEFORE removing the packages themselves.  This handy dandy script will back up the codecs to your /media/internal, remove all the packages, and remove the service from boot-time:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 VCBACKUP=&amp;quot;/media/internal/VoiceCommandBackup&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vMaking codec backup dir at &amp;quot;${VCBACKUP}&amp;quot;\\n&lt;br /&gt;
 if [ ! -d &amp;quot;${VCBACKUP}&amp;quot; ] ; then mkdir &amp;quot;${VCBACKUP}&amp;quot;; fi&lt;br /&gt;
 &lt;br /&gt;
 cd /&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,rw /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vBacking up codecs\\n&lt;br /&gt;
 tar -czvf &amp;quot;${VCBACKUP}&amp;quot;/VoiceCommandExtras.tar.gz /usr/lib/libpalmvoicecodec.so /usr/lib/gstreamer-0.10/libpalmvoicedecoder.so /usr/lib/gstreamer-0.10/libpalmvoiceencoder.so&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving all VoiceDial packages\\n&lt;br /&gt;
 for PKG in $(ipkg list_installed | grep voice | awk '{print $1'}) ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,ro /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving VoiceDial from boot-time service list\\n&lt;br /&gt;
 luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=15571</id>
		<title>How To Remove VoiceDial</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=15571"/>
		<updated>2011-04-22T01:37:18Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== SUMMARY ===&lt;br /&gt;
For those plagued by the buggy and inaccurate VoiceDial that comes in the meta-doctor for webOS 2.1, here's how to remove it as cleanly as possible.&lt;br /&gt;
&lt;br /&gt;
=== BACKGROUND ===&lt;br /&gt;
All the VoiceDial packages in webOS 2.1:&lt;br /&gt;
&lt;br /&gt;
 ipkg list_installed | grep voice&lt;br /&gt;
 &lt;br /&gt;
 contacts.plugin.pmvoicecommand&lt;br /&gt;
 palmvoicecodec&lt;br /&gt;
 palmvoicedecoder&lt;br /&gt;
 palmvoiceencoder&lt;br /&gt;
 pmvoicecommand&lt;br /&gt;
 pmvoicecommand-dede&lt;br /&gt;
 pmvoicecommand-engb&lt;br /&gt;
 pmvoicecommand-enus&lt;br /&gt;
 pmvoicecommand-eses&lt;br /&gt;
 pmvoicecommand-esmx&lt;br /&gt;
 pmvoicecommand-frca&lt;br /&gt;
 pmvoicecommand-frfr&lt;br /&gt;
 pmvoicecommand-itit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== REMOVAL ===&lt;br /&gt;
If you have absolutly NO desire to EVER re-install it, then you can simply:&lt;br /&gt;
&lt;br /&gt;
 mount -oremount,rw /&lt;br /&gt;
 for PKG in $(ipkg list_installed | grep voice | awk '{print $1}') ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 mount -oremount,ro /&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
To remove it from the list of services to start at boot time.&lt;br /&gt;
&lt;br /&gt;
'''BUT'''&lt;br /&gt;
&lt;br /&gt;
If you even ''THINK'' you may want to re-install it at some future time, it gets a little tricky.  In the Doctor, we have IPKs for everything EXCEPT the codecs.  These need to be backed up BEFORE removing the packages themselves.  This handy dandy script will back up the codecs to your /media/internal, remove all the packages, and remove the service from boot-time:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 VCBACKUP=&amp;quot;/media/internal/VoiceCommandBackup&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vMaking codec backup dir at &amp;quot;${VCBACKUP}&amp;quot;\\n&lt;br /&gt;
 if [ ! -d &amp;quot;${VCBACKUP}&amp;quot; ] ; then mkdir &amp;quot;${VCBACKUP}&amp;quot;; fi&lt;br /&gt;
 &lt;br /&gt;
 cd /&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,rw /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vBacking up codecs\\n&lt;br /&gt;
 tar -czvf &amp;quot;${VCBACKUP}&amp;quot;/VoiceCommandExtras.tar.gz /usr/lib/libpalmvoicecodec.so /usr/lib/gstreamer-0.10/libpalmvoicedecoder.so /usr/lib/gstreamer-0.10/libpalmvoiceencoder.so&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving all VoiceDial packages\\n&lt;br /&gt;
 for PKG in $(ipkg list_installed | grep voice | awk '{print $1'}) ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,ro /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving VoiceDial from boot-time service list\\n&lt;br /&gt;
 luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember &lt;br /&gt;
Enjoy!&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=15569</id>
		<title>How To Remove VoiceDial</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=How_To_Remove_VoiceDial&amp;diff=15569"/>
		<updated>2011-04-22T01:35:13Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Created page with &amp;quot;=== SUMMARY === For those plagued by the buggy and inaccurate VoiceDial that comes in the meta-doctor for webOS 2.1, here's how to remove it as cleanly as possible.  === BACKGROU...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== SUMMARY ===&lt;br /&gt;
For those plagued by the buggy and inaccurate VoiceDial that comes in the meta-doctor for webOS 2.1, here's how to remove it as cleanly as possible.&lt;br /&gt;
&lt;br /&gt;
=== BACKGROUND ===&lt;br /&gt;
All the VoiceDial packages in webOS 2.1:&lt;br /&gt;
&lt;br /&gt;
 ipkg list_installed | grep voice&lt;br /&gt;
 &lt;br /&gt;
 contacts.plugin.pmvoicecommand&lt;br /&gt;
 palmvoicecodec&lt;br /&gt;
 palmvoicedecoder&lt;br /&gt;
 palmvoiceencoder&lt;br /&gt;
 pmvoicecommand&lt;br /&gt;
 pmvoicecommand-dede&lt;br /&gt;
 pmvoicecommand-engb&lt;br /&gt;
 pmvoicecommand-enus&lt;br /&gt;
 pmvoicecommand-eses&lt;br /&gt;
 pmvoicecommand-esmx&lt;br /&gt;
 pmvoicecommand-frca&lt;br /&gt;
 pmvoicecommand-frfr&lt;br /&gt;
 pmvoicecommand-itit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== REMOVAL ===&lt;br /&gt;
If you have absolutly NO desire to EVER re-install it, then you can simply:&lt;br /&gt;
&lt;br /&gt;
 mount -oremount,rw /&lt;br /&gt;
 for PKG in $(ipkg list_installed | grep voice | awk '{print $1}') ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 mount -oremount,ro /&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
To remove it from the list of services to start at boot time.&lt;br /&gt;
&lt;br /&gt;
'''BUT'''&lt;br /&gt;
&lt;br /&gt;
If you even 'THINK' you may want to re-install it at some future time, it gets a little tricky.  In the Doctor, we have IPKs for everything EXCEPT the codecs.  These need to be backed up BEFORE removing the packages themselves.  This handy dandy script will back up the codes to your /media/internal, remove all the packages, and remove the service from boot-time:&lt;br /&gt;
&lt;br /&gt;
 VCBACKUP=&amp;quot;/media/internal/VoiceCommandBackup&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vMaking codec backup dir at &amp;quot;${VCBACKUP}&amp;quot;\\n&lt;br /&gt;
 if [ ! -d &amp;quot;${VCBACKUP}&amp;quot; ] ; then mkdir &amp;quot;${VCBACKUP}&amp;quot;; fi&lt;br /&gt;
 &lt;br /&gt;
 cd /&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,rw /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vBacking up codecs\\n&lt;br /&gt;
 tar -czvf &amp;quot;${VCBACKUP}&amp;quot;/VoiceCommandExtras.tar.gz /usr/lib/libpalmvoicecodec.so /usr/lib/gstreamer-0.10/libpalmvoicedecoder.so /usr/lib/gstreamer-0.10/libpalmvoiceencoder.so&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving all VoiceDial packages\\n&lt;br /&gt;
 for PKG in $(ipkg list_installed | grep voice | awk '{print $1'}) ; do ipkg remove -force-depends &amp;quot;$PKG&amp;quot; ; done&lt;br /&gt;
 &lt;br /&gt;
 mount -oremount,ro /&lt;br /&gt;
 &lt;br /&gt;
 echo -e \\vRemoving VoiceDial from boot-time service list\\n&lt;br /&gt;
 luna-send -n 1 palm://com.palm.systemservice/setPreferences '{&amp;quot;enableVoiceCommand&amp;quot;:false}'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15517</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15517"/>
		<updated>2011-04-18T20:56:00Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but has become largely abandoned at this point.  I am dusting it off, fixing issues, and adding features.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Key Features=&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
This  app is not dead yet!  I am in the process of giving this app a complete over-haul.  I am currently proof-reading the entire text.  Most other features are done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15515</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15515"/>
		<updated>2011-04-18T20:55:42Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.2.3 - April, 17, 2011&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but has become largely abandoned at this point.  I am dusting it off, fixing issues, and adding features.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Key Features=&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
This  app is not dead yet!  I am in the process of giving this app a complete over-haul.  I am currently proof-reading the entire text.  Most other features are done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15499</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=15499"/>
		<updated>2011-04-16T14:12:55Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.1.0 - November 29, 2010&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but has become largely abandoned at this point.  I am dusting it off, fixing issues, and adding features.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Key Features=&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
This  app is not dead yet!  I am in the process of giving this app a complete over-haul.  I am currently proof-reading the entire text.  Most other features are done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_2_Upgrade&amp;diff=15023</id>
		<title>WebOS 2 Upgrade</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_2_Upgrade&amp;diff=15023"/>
		<updated>2011-04-08T01:21:36Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Added bit about turing off virus scanners on Windoze.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
With the release of the webOS 2.1.0 doctor by HP for O2 and Vodafone Pre+ devices, there is now a legal way to get webOS 2.1 onto the legacy devices of carriers that are not onboard with the 2.x upgrade. Compatible devices include all Pre and Pre Plus devices. This is not compatible with Pixi devices.&lt;br /&gt;
&lt;br /&gt;
'''You must read this page from top to bottom twice before starting this procedure.  You must complete all steps from 0 to 6. Do not omit any steps. Do not improvise. Do not think you can ignore the instructions. If you do not follow these instructions precisely, completely and without error, you will not achieve your goal and you will annoy a lot of people with a lot of unnecessary questions in the process.'''&lt;br /&gt;
&lt;br /&gt;
= Disclaimer =&lt;br /&gt;
'''This is a process that uses official HP software in unofficial ways.  You should always be prepared for the unlikely possibility that your device may be completely wiped and your Palm profile may be permanently destroyed. Do not proceed unless you have made appropriate backups and are OK with that. Working knowledge of MetaDoctor and Linux systems in general is needed.'''&lt;br /&gt;
&lt;br /&gt;
If you feel the need to ask whether you should do this on your primary phone, then you should not, as that indicates that you have not yet taken the required precautions and backups in case something goes wrong.&lt;br /&gt;
&lt;br /&gt;
= Other Tutorials =&lt;br /&gt;
'''Note that this wiki page is always the authoritative source of information about this process, so you should refer to this page first for any and all instructions. Here are some other pages which you may find useful in addition to this page. They do not replace the information on this page, which you should read from top to bottom first.'''&lt;br /&gt;
== Tutorials that have been updated to match the latest instructions ==&lt;br /&gt;
* ''PreCentral'' forum user @malpha recorded a two-part [http://www.youtube.com/watch?v=CJB8NJ72kZg video overview] of the process as she followed this step-by-step. {Sprint Pre-, Ubuntu}.&lt;br /&gt;
== Tutorials that are out of date and should not be relied upon ==&lt;br /&gt;
* ''PreCentral'' forum user @djwhitey recorded a 9-minute [http://www.youtube.com/watch?v=PF2ciiNFxLc walkthrough] (includes Activation Error). {Sprint Pre-, Win7 x86, Ubuntu Server 10.04}.&lt;br /&gt;
* ''PreCentral'' forum user @innocentbystander has written a start-to-finish guide to installing and building the Meta Doctor under Mac OS 10.6 for those with little or no experience with the command line. It can be found [http://forums.precentral.net/showthread.php?p=2885787 here].&lt;br /&gt;
&lt;br /&gt;
= Using MetaDoctor Scripts =&lt;br /&gt;
&lt;br /&gt;
== Step 0: Backup your device ==&lt;br /&gt;
Make sure you have copies of all the data that you want to preserve from your palm profile.  There is a possibility that you will need to clear your palm profile to be successful in this upgrade, so you should act as if that is going to happen from the start.&lt;br /&gt;
&lt;br /&gt;
Also, make sure you run the [[Application:SaveRestore]] application from Preware to back up your application data - you don't want to lose your Angry Birds progress, do you?&lt;br /&gt;
&lt;br /&gt;
Then copy all the files from the USB drive onto your PC to keep them safe, including music, downloads, and pictures.  The webOS Doctor has been known to wipe your USB drive without warning, so you should act as if that is going to happen from the start.&lt;br /&gt;
&lt;br /&gt;
If your phone is set to use the Palm Profile as the default location for contacts you may want to manually export these. To check how many palm profile contacts you have: Contacts App -&amp;gt; Preferences &amp;amp; Accounts -&amp;gt; tap &amp;quot;Palm Profile&amp;quot; under the &amp;quot;accounts&amp;quot; subsection. &lt;br /&gt;
To manually export contacts see this post: [http://forums.precentral.net/webos-synergy-synchronization/215705-howto-transfer-contacts-palm-profile-gmail-yahoo-mail-easier-way-2.html#post2886607 PreCentral Forums - How To Transfer contacts]. They can be imported back onto your phone by emailing the file of exported contacts to yourself, and opening that attachment on your phone.&lt;br /&gt;
&lt;br /&gt;
A guide for backing up using Save/Restore can be found [http://www.precentral.net/backing-your-application-data-settings-save-restore-homebrew here].&lt;br /&gt;
&lt;br /&gt;
== Step 1: Prerequisites ==&lt;br /&gt;
=== Disk Space ===&lt;br /&gt;
&lt;br /&gt;
You should allow up to 10GB of disk space for this process.&lt;br /&gt;
&lt;br /&gt;
=== MetaDoctor ===&lt;br /&gt;
&lt;br /&gt;
See [[Application:MetaDoctor]] for information on how to install MetaDoctor.&lt;br /&gt;
&lt;br /&gt;
Note that the procedure for the WebOS 2 Upgrade is on this page.  The MetaDoctor is simply a tool which is used by this procedure.  You need to complete only Step 1: Setting up Meta-Doctor on that page.  When you get to the end of Step 1: Setting up Meta-Doctor on that page, you should come back to this page and continue the procedure on this page.&lt;br /&gt;
&lt;br /&gt;
'''Note If you are using Cygwin on Windows 7 or Vista, it is extremely important to disable UAC. If you don't disable it you may get permission errors when building the Doctor, and even if it succesfully runs and reflashes your Pre, it won't work correctly.  YOU HAVE BEEN WARNED. &lt;br /&gt;
http://windows.microsoft.com/en-US/windows-vista/Turn-User-Account-Control-on-or-off '''&lt;br /&gt;
&lt;br /&gt;
=== Palm SDK ===  &lt;br /&gt;
	&lt;br /&gt;
See [http://developer.palm.com/index.php?option=com_content&amp;amp;view=article&amp;amp;layout=page&amp;amp;id=1661 Palm Developer Website] for Windows and [http://developer.palm.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=1585 for Ubuntu].  &lt;br /&gt;
Whilst the Palm SDK is not strictly required to complete this procedure, it is the best way to install the novacom and novaterm programs which are used to transfer files to and from your device and to access the command line on your device.&lt;br /&gt;
&lt;br /&gt;
=== Novacom Drivers === &lt;br /&gt;
&lt;br /&gt;
If you are unable to get the official novacom drivers from the Palm SDK to connect to your device, you can alternately try Jason Robitaille's  [http://universal-novacom-installer.googlecode.com/files/Universal%20Novacom%20Installer.jar Universal Novacom Driver Installer]&lt;br /&gt;
&lt;br /&gt;
These drivers are necessary to interface with the Pre. The Installer is cross-platform and supports Windows (32bit and 64bit), Mac OS, and Ubuntu (32bit and 64bit).  Note that it does not support the Pre 2 on Ubuntu.  For that you'll need Linux-specific drivers, which HP makes available [https://cdn.downloads.palm.com/sdkdownloads/2.1.0.519/sdkBinaries/palm-novacom_1.0.64_i386.deb here]for 32-bit and [https://cdn.downloads.palm.com/sdkdownloads/2.1.0.519/sdkBinaries/palm-novacom_1.0.64_amd64.deb here] for 64-bit.&lt;br /&gt;
&lt;br /&gt;
== Step 2: Prepare your Palm Profile ==&lt;br /&gt;
With unsupported carrier/device/OS combinations, it may be necessary to clear some Palm Profile data to allow you to sign in on webOS 2.x devices. The process is as follows:&lt;br /&gt;
'''Warning: this will delete data from your Palm Profile, including but not limited to: calendars, contacts, account information, email signatures, bookmarks, memos, tasks, SSM/MMS messages, and icon/launcher arrangement.'''&lt;br /&gt;
# Open the Backup app.&lt;br /&gt;
# Turn off backups, confirming that you wish to erase your palm profile information.&lt;br /&gt;
&lt;br /&gt;
'''This step is extremely important if you find that after finishing the webOS 2.1 installation your saved apps don't download to your device automatically and your Palm Profile account name under Accounts is &amp;quot;Dr. Skipped Firstuse&amp;quot;. You should delete your profile info and Doctor again.'''&lt;br /&gt;
&lt;br /&gt;
NOTE: The latest scripts (as of 5:00pm EST) MAY allow direct conversion of a 1.4.5 profile to 2.1.0 without deleting Palm Profile data.  Please read the information under &amp;quot;Palm Profile&amp;quot; below to understand the issues that my arise from attempting this, as well as the required solutions to resolve those issues.&lt;br /&gt;
&lt;br /&gt;
== Step 3: Run device-specific MetaDoctor script ==&lt;br /&gt;
The MetaDoctor scripts will automatically download the latest necessary webOS doctors, extract and replace CDMA radio firmware as necessary, and will build and launch the modified webOS Doctor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Windows users''': Before proceeding ''ANY'' further, disable, turn off, unload, shutdown, kill, uninstall if you have to, your virus scanner.  Virus scanners lock the files as they are reading them which causes corruption of The Doctor's file(s) which leads to failed installs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A NOTE ON &amp;quot;RE-DOCTORING&amp;quot;:''' If this is not your first time through this process, you should do a &amp;quot;git pull&amp;quot; and a &amp;quot;make clobber&amp;quot; to ensure you have the latest scripts and a pristine build folder.  From the command line (I use Cygwin), type &amp;quot;cd meta-doctor&amp;quot; without the quotes and press enter. Then type &amp;quot;git pull&amp;quot; without the quotes and press enter.  Then type &amp;quot;make clobber&amp;quot; without the quotes and press enter. Voila! You now have the latest scripts and a clean folder to build your doctor in.&lt;br /&gt;
&lt;br /&gt;
'''From the meta-doctor directory''', run the meta-script that corresponds to your device (note that the strings enclosed by &amp;amp;lt; and &amp;amp;gt; in the following line are placeholders for values that you must supply - you cannot type the string exactly as shown):&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-&amp;amp;lt;carrier&amp;amp;gt;-&amp;amp;lt;device&amp;amp;gt;-&amp;amp;lt;version&amp;amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should replace &amp;amp;lt;carrier&amp;amp;gt;, &amp;amp;lt;device&amp;amp;gt;, and &amp;amp;lt;version&amp;amp;gt; with the specific values that match your particular situation, using the detailed information given in the section below that matches your particular device and carrier.&lt;br /&gt;
&lt;br /&gt;
A list of all the scripts can be found by typing&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
ls ./scripts/&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
'''For those who for what ever reason will never be using their phone on a cellular network and wish to use the phone only on wifi, just add &amp;quot;--wifi-only&amp;quot; as an extra argument to the meta-script:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-&amp;amp;lt;carrier&amp;amp;gt;-&amp;amp;lt;device&amp;amp;gt;-&amp;amp;lt;version&amp;amp;gt; --wifi-only&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again, you should replace &amp;amp;lt;device&amp;amp;gt;, &amp;amp;lt;carrier&amp;amp;gt;, and &amp;amp;lt;version&amp;amp;gt; with the specific values that match your particular situation, using the detailed information given in the section below that matches your particular device and carrier.&lt;br /&gt;
&lt;br /&gt;
Then, when your device boots after step 4, all you need to do is configure and start wifi and then run the Gesture Tutorial and you should be good to go. Note that in this case the end of the palm profile login procedure will appear to cycle forever, so just manually reboot the device using Opt-Sym-R when that happens.&lt;br /&gt;
&lt;br /&gt;
Specific additional information for each of the supported device and carrier combinations can be found below:&lt;br /&gt;
&lt;br /&gt;
=== AT&amp;amp;T Pre+ ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-att-preplus-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 1.40.50 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You will not be able to purchase apps that require a minimum webOS 2.x version.&lt;br /&gt;
&lt;br /&gt;
=== BellMo Pre ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-bellmo-pre-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 1.40.50 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You will not be able to purchase apps that require a minimum webOS 2.x version.&lt;br /&gt;
&lt;br /&gt;
=== O2 Pre ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-o2-pre-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
=== O2 Pre+ ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-o2-preplus-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
=== Sprint Pre ===&lt;br /&gt;
'''Be aware that there is no publicly available solution for Sprint Navigation or Sprint PRL Update for this procedure.  If you depend on either of those things, you should not upgrade to webOS 2.x'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-sprint-pre-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
=== Sprint FrankenPre 2 ===&lt;br /&gt;
'''Be aware that there is no publicly available solution for Sprint Navigation or Sprint PRL Update for this procedure.  If you depend on either of those things, you should not upgrade to webOS 2.x'''&lt;br /&gt;
&lt;br /&gt;
NOTE: Tokens are no longer needed to create a Sprint FrankenPre 2. You only need to run the script below. However, it is still a good idea to capture and store the tokens from each phone for potential future use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-sprint-franken-unlocked-pre2-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Voice Dial&amp;quot; app may not work. Please see the Voice Dialing section below to remedy this.&lt;br /&gt;
&lt;br /&gt;
=== Telcel Pre ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-telcel-pre-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 1.40.00 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You will not be able to purchase apps that require a minimum webOS 2.x version.&lt;br /&gt;
&lt;br /&gt;
'''In Fact, it seems Palm has already locked out all the Telcel activated devices, so, even if you managed to hack your Meta Doctor to have a 1.4.5 profile and see the paid apps in the Catalog, you won't be able to insert your credit card data and won't be able to buy apps anymore.'''&lt;br /&gt;
&lt;br /&gt;
=== Verizon Pre+ ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-verizon-preplus-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
In order to update your PRL, you will need to manually program your phone OTA by dialing *228 from the dialer, and choose the &amp;quot;Program your phone&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
=== Verizon FrankenPre 2 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-verizon-franken-unlocked-pre2-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 2.1.0 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You should be able to purchase apps that require a minimum webOS 2.x version (depending upon geo-restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
In order to update your PRL, you will need to manually program your phone OTA by dialing *228 from the dialer, and choose the &amp;quot;Program your phone&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Voice Dial&amp;quot; app may not work. Please see the Voice Dialing section below to remedy this.&lt;br /&gt;
&lt;br /&gt;
=== WR Pre ===&lt;br /&gt;
&lt;br /&gt;
For WR devices, you should attempt to use the O2 script above first, and if you end up with a 9.9.9 version in your palm profile, then use this WR script instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
./scripts/meta-wr-pre-2.1.0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will end up with version 1.40.50 listed in your palm profile, and version 2.1.0 listed in the Device Info application.&lt;br /&gt;
&lt;br /&gt;
You will not be able to purchase apps that require a minimum webOS 2.x version.&lt;br /&gt;
&lt;br /&gt;
== Step 4: Run the modified webOS Doctor ==&lt;br /&gt;
The meta-script will automatically launch the modified webOS Doctor for you.  However, if you need to move it to a different location and run it manually, the modified doctor will be a '''.jar''' file located in the build output directory: &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;meta-doctor/build/meta-sprint-pre-2.1.0/webosdoctorp101ueu-wr-2.1.0.jar&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the directory path will change from that example based on which script you ran, and the script will tell you the exact pathname shortly after it starts running.&lt;br /&gt;
&lt;br /&gt;
Do not USB connect the phone until WebOS Doctor specifically says to.&lt;br /&gt;
&lt;br /&gt;
NOTE: There have been reports that, for some users, the modified webOS doctor fails to recognize the USB connection.  Similarly, up-graders have also noted that in some instances their Pre will &amp;quot;disconnect&amp;quot; from the webOS Doctor (while running) and re-boot into v.1.4.5. It has been observed that Doctoring, while putting ones Pre through the &amp;quot;Recovery&amp;quot; Reboot (as detailed [http://www.webos-internals.org/wiki/How_To_Recover here]) may mitigate these issues, and allow the Doctor to continue. There is also an instance where after pressing the &amp;quot;next&amp;quot; button to start the Doctor, the phone appeared to need charging before the Doctor would start( on a 95% full battery), and then stalled at 0%.  Putting the phone into emergency recovery mode appeared to solve this problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Note: Sprint users please read the PRL section '''before''' running The Doctor: [http://www.webos-internals.org/wiki/WebOS_2_Upgrade#Sprint_2 &amp;quot;5.9.1 Sprint&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
== Step 5: There is no Step 5 == &lt;br /&gt;
&lt;br /&gt;
There used to be a complex set of additional steps required here.  Too many people had trouble following them, so we automated it.  You should proceed directly to Step 6.&lt;br /&gt;
&lt;br /&gt;
== Step 6: Donate to WebOS Internals and purchase the Preware Homebrew Documentation app ==&lt;br /&gt;
If this worked for you, we would appreciate a donation at http://donate.webos-internals.org - and if you want to thank Rod Whitby personally for the many hours that he put into creating the Meta-Doctor and this upgrade procedure, you should purchase the [http://developer.palm.com/appredirect/?packageid=org.preware.docs Preware Homebrew Documentation] app from the official app catalog, and leave a nice 5 star review containing your message of thanks.&lt;br /&gt;
&lt;br /&gt;
= Caveats =&lt;br /&gt;
&lt;br /&gt;
== OTA Updates ==&lt;br /&gt;
It is extremely unlikely that any Pre or Pre+ device will ever get another OTA update.  If you preform this procedure on those devices, you should not expect OTA updates.&lt;br /&gt;
&lt;br /&gt;
Performing this procedure on a Pre 2 device may allow it to receive OTA updates, but there is no guarantee.&lt;br /&gt;
&lt;br /&gt;
== App Catalog ==&lt;br /&gt;
If your palm profile record says version 1.40.50, you will not be able to purchase apps that are marked as only compatible with webOS versions 2.x and above.  This cannot be changed for these devices at this time.  If your palm profile record says version 2.1.0, then you should be able to purchase all apps (depending upon your geographical restrictions and country of first activation).&lt;br /&gt;
&lt;br /&gt;
=== Masquerading ===&lt;br /&gt;
Palm's servers only accept certain device/OS combinations as valid. While some combinations of carrier and devices running 2.1 are accepted, others have to report to the palm profile server that they are running webOS 1.4.5. This is done automatically, and cannot be changed for these devices at this time.&lt;br /&gt;
&lt;br /&gt;
== Carrier-Specific Applications ==&lt;br /&gt;
Some carrier apps are not working in webOS 2.1.  Apps that have been tested and are known to install cleanly and work will be added to the custom webOS Doctor for the appropriate device/carrier.&lt;br /&gt;
&lt;br /&gt;
Known working carrier apps are listed below.&lt;br /&gt;
&lt;br /&gt;
=== Sprint ===&lt;br /&gt;
* Sprint Portal&lt;br /&gt;
* Sprint TV&lt;br /&gt;
* Sprint Football Live&lt;br /&gt;
* NASCAR&lt;br /&gt;
&lt;br /&gt;
===Verizon Wireless ===&lt;br /&gt;
* All Verizon apps should be working at this time. However, '''no one has tested the VZW Navigator subscription''' to confirm that the service carries over to a Meta-Doctored phone.  You could be the first!&lt;br /&gt;
&lt;br /&gt;
=== AT&amp;amp;T ===&lt;br /&gt;
* No testing or reports of AT&amp;amp;T Carrier Apps&lt;br /&gt;
&lt;br /&gt;
== Patches ==&lt;br /&gt;
Not all patches have been ported over yet.  If you want to check for a certain patch, please see webOS Internals' [http://patches.webos-internals.org/?do=browse&amp;amp;webosver=2.1.0&amp;amp;category=all webOS-Patches Web Portal].&lt;br /&gt;
&lt;br /&gt;
== Adobe Flash ==&lt;br /&gt;
Adobe Flash is not included in this webOS 2.1 doctor, but can be added with files from a VZW Pre 2 2.0.1 doctor.&lt;br /&gt;
&lt;br /&gt;
=== Adding Flash Support ===&lt;br /&gt;
The easiest way to enable Adobe Flash on your webOS 2.1.0 legacy device is by creating a modular package and installing that, along with a patch to make the Adobe Flash preferences visible in the browser. Or you can do it manually. See ([http://www.webos-internals.org/wiki/Adding_flash_support here]) for more detail.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
* '''OVERCLOCKING IS NOW SUPPORTED'''.  Palm has just released the source code for the kernel used in webOS 2.1.0. An experimental version of UberKernel has already appeared in the experimental feeds, but casual users should wait for a stable one.&lt;br /&gt;
* The Pre Plus has 512 MB of memory and thus runs 2.1 quite well, but this is not the case with the original Pre since it has only 256 MB.  Luckily, Palm adopted WebOS Internals's configuration of the standard Linux compcache technology that was ported to the custom kernels, and it comes active, but with only 10 MB. One potential way to enhance performance in original Pre devices is to make the compcache bigger.&lt;br /&gt;
&lt;br /&gt;
=== Increase compcache size, Temporary Method ===&lt;br /&gt;
You can use the Govnah application to increase the size of the compcache. Disable compcache, change the size, and then reenable.&lt;br /&gt;
&lt;br /&gt;
=== Increase compcache size, Permanent Method ===&lt;br /&gt;
You have to edit the file /etc/event.d/compcache and change the value from 10240 to 32768.&lt;br /&gt;
&lt;br /&gt;
For example, you could follow these steps:&lt;br /&gt;
&lt;br /&gt;
#Make sure '''novacomd''' is running on your computer.&lt;br /&gt;
#Use a terminal (as described on the Wiki page [http://www.webos-internals.org/wiki/Portal:Accessing_Linux Accessing Linux on the Pre... ]) to run '''novaterm''' and access your phone. Type in the following: &amp;lt;pre&amp;gt;/usr/sbin/rootfs_open -t&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;vi /etc/event.d/compcache&amp;lt;/pre&amp;gt;&lt;br /&gt;
#vi is a bit different so, for those not familiar with how it works, the fastest way to navigate and make the required edit is in parentheses below:&lt;br /&gt;
##Go down to line 10 (Type &amp;lt;tt&amp;gt;10&amp;lt;/tt&amp;gt; then hit &amp;lt;tt&amp;gt;Shift+G&amp;lt;/tt&amp;gt;)&lt;br /&gt;
##Move to the first &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; (Type &amp;lt;tt&amp;gt;4w&amp;lt;/tt&amp;gt;)&lt;br /&gt;
##Enter replace mode (&amp;lt;tt&amp;gt;Shift+R&amp;lt;/tt&amp;gt;) and type &amp;lt;tt&amp;gt;32768&amp;lt;/tt&amp;gt;&lt;br /&gt;
##Exit back to command mode (Press &amp;lt;tt&amp;gt;Esc&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;Ctrl+C&amp;lt;/tt&amp;gt;)&lt;br /&gt;
##Save and Quit (Type &amp;lt;tt&amp;gt;:wq&amp;lt;/tt&amp;gt;)&lt;br /&gt;
#Reboot your Pre and verify it's working by using Govnah. While you are still in novaterm, you can type the following to reboot:&amp;lt;pre&amp;gt;/sbin/reboot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Palm Profile ==&lt;br /&gt;
* Some people have had problems signing in to existing Palm Profiles on 2.1 due to backup data. To make sure that you can sign in to your profile on 2.1, you should disable backups before doctoring to 2.1 and delete server side backups. Of course, this deletes most of the data in your Palm Profile (memos, tasks, calender entries, accounts, ...). Your apps will be restored on 2.1, but that is about it. Note that not all people have issues with backups. If you would rather not delete your Palm Profile data, you can try doctoring to 2.1 without turning backups off and see if restoring everything works. If it doesn't, you'll have to doctor back to 1.4.5 to turn off backups or use a new Palm Profile, though.&lt;br /&gt;
&lt;br /&gt;
* If you get 9.9.9 in palm.com/palmprofile, then you can doctor back to 1.4.5 for your carrier and log in, then delete backup info in backup app and then 2.1.0 metadoctor it.&lt;br /&gt;
&lt;br /&gt;
* If you get &amp;quot;Dr. Skipped Firstuse&amp;quot; as the name of your palm profile in the new accounts app in 2.1.0 and/or if the gesture application creates a blank screen, you have a false profile problem.  You need to doctor back to 1.4.5 for your carrier and login in, then delete backup info in backup app and then 2.1.0 metadoctor it.  To avoid this problem, redownload the latest version of the metadoctor and run the appropiate script with the &amp;lt;tt&amp;gt;--wifi-only&amp;lt;/tt&amp;gt; switch. Note: Only use &amp;lt;tt&amp;gt;--wifi-only&amp;lt;/tt&amp;gt; if you do not intend to have cellular service on the device as this option disables the modem update and renders cellular service inoperable without re-doctoring.&lt;br /&gt;
&lt;br /&gt;
* Alternative fix for above problem: If your profile works fine but the Impostah app and the Accounts app show your profile name as &amp;quot;Dr. Skipped First Use&amp;quot; although your phone ran the first use app after doctoring, erase your backup data from the backup app by turning off backups and choose Erase Apps and Data from the reset options in the Device Info app.&lt;br /&gt;
&lt;br /&gt;
*If you get stuck at the &amp;quot;Auto Locate&amp;quot; selection screen during the login process, you can re-doctor using the same 2.1 doctor file and it will go through.  It appears to be an issue when creating a new profile in 2.1 rather than &amp;quot;porting&amp;quot; your 1.4.5 profile to 2.1.  After the second doctoring, you will &amp;quot;Sign In&amp;quot; to an existing profile (the one you created during the first profile login after doctoring), rather than creating a new profile.&lt;br /&gt;
&lt;br /&gt;
==GPS==&lt;br /&gt;
Step-by-step approach for those experiencing problems with GPS following upgrade.&lt;br /&gt;
# To enable GPS functionality go to the &amp;quot;Location Services&amp;quot; application (click &amp;quot;Turn On&amp;quot; if GPS has been completely disabled). From there go to the &amp;quot;Preferences&amp;quot; menu in the top left hand corner and select the &amp;quot;Locate Me Using...&amp;quot; sub-menu item. Ensure that both &amp;quot;GPS&amp;quot; and &amp;quot;Google Services&amp;quot; are enabled (you may be prompted to accept the Terms of Service). Close the &amp;quot;Location Services&amp;quot; application.&lt;br /&gt;
# Next you need to bring up the &amp;quot;GPS Information&amp;quot; application; to do this dial ##477# (or #*477# on GSM/UMTS Pres) in the phone application (the &amp;quot;477&amp;quot; corresponds to the letter keys &amp;quot;GPS&amp;quot;).&lt;br /&gt;
# Click the &amp;quot;Get Fix&amp;quot; button. You may receive a &amp;quot;GPS Error - Position Unavailable&amp;quot; message which you can close. Keep pressing &amp;quot;Get Fix&amp;quot; until a fix is established (it may take several attempts). You will know a fix has been established when some statistics (Latitude, Longitude etc) are displayed.&lt;br /&gt;
# Once a fix has been established, GPS should continue to function normally thereafter.&lt;br /&gt;
&lt;br /&gt;
==Voice Dialing==&lt;br /&gt;
For the Sprint-Franken-Pre2 (Pre2-GSM-Unlocked confirmed + sprint-pre(-)comm) and perhaps the Verizon-Franken-Pre2, the voice dialing application may not work after the metadoctor procedure above.  The application may or may not even launch after tapped.  You may experience problems with sound intermittently not working, esp. when playing media, or using the phone.  This will be corrected automatically with a webOS OTA Update to 2.1.0.  When the phone prompts for the update, install it.&lt;br /&gt;
&lt;br /&gt;
To speed up the process, go to the &amp;quot;System Updates&amp;quot; app on your phone. The WebOS 2.1 update should appear after it searches for updates. (The update for a Sprint FrankenPre2 is ~7MB and only took a few minutes to install).&lt;br /&gt;
&lt;br /&gt;
==PRL==&lt;br /&gt;
=== Sprint ===&lt;br /&gt;
After applying 2.1.0 to a Sprint device using this method, there is currently no known way to update the PRL.  There are permissions issues, and the conventional &amp;quot;Update Profile&amp;quot; and &amp;quot;Update PRL&amp;quot; from the Phone options will no longer work. The provisioner service binary from the Sprint 1.4.5 doctor does not work on webOS 2.x, so a version of that service for 2.x is required for this to ever work. It is not expected that this situation will change before Sprint releases another webOS phone running webOS 2.0 or above.&lt;br /&gt;
&lt;br /&gt;
:* It is possible to preserve a backup of the current PRL (60677 as of 03/27/11) and &amp;quot;push&amp;quot; it back onto a doctored-to-2.1.0 phone with the following procedure:&lt;br /&gt;
::* Before doctoring to 2.1&lt;br /&gt;
::# Update your PRL and Network settings&lt;br /&gt;
::# Connect your phone to your computer via a USB cable&lt;br /&gt;
::# Do the following (example was done in Terminal on OS X 10.6):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[dario@guarneri ~]$ novaterm&lt;br /&gt;
root@YourPre:/# tar -czvf /media/internal/prl.tar.gz /var/lib/software&lt;br /&gt;
root@YourPre:/# exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::* After doctoring to 2.1 and all basic setup/configuration is done&lt;br /&gt;
::# Again, connect your phone to your computer via a USB cable&lt;br /&gt;
::# Do the following (example was done in Terminal on OS X 10.6): &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[dario@guarneri ~]$ novaterm&lt;br /&gt;
root@YourPre:/# rootfs_open -t&lt;br /&gt;
root@YourPre:/# cd /&lt;br /&gt;
root@YourPre:/# tar -zxvf /media/internal/prl.tar.gz&lt;br /&gt;
root@YourPre:/# exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
::* Now reboot your phone to ensure the new PRL takes effect and to &amp;quot;close&amp;quot; (make read-only) your root filesystem.&lt;br /&gt;
&lt;br /&gt;
=== Verizon ===&lt;br /&gt;
In order to update your PRL, you will need to manually program your phone OTA by dialing '''*228''' from the dialer, and choose the &amp;quot;Program your phone&amp;quot; option.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=14521</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=14521"/>
		<updated>2011-03-25T01:12:54Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: Add links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.1.0 (OLD!)&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from [http://www.precentral.net/simple-bible Simple Bible].  It was re-worked into Simple Big Book by Rick B and John K, but has become largely abandoned at this point.  I am dusting it off, fixing issues, and adding features.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Key Features=&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!).&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
This  app is not dead yet!  I am in the process of giving this app a complete over-haul.  I am currently proof-reading the entire text.  Most other features are done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*FIXED: On orientation change, the page scrolls wildly.&lt;br /&gt;
&lt;br /&gt;
*The larger chapters take a short pause to load.  There's a way with AJAX to load a single DIV, ''then'' load the rest of the surrounding text.  This is (seemingly) easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the [http://www.precentral.net/simple-bible Simple Bible] folks and was/is licensed under the [http://www.gnu.org/licenses/ GPL].  Simple Big Book is listed as [http://www.gnu.org/licenses/gpl.html GLPv3].  I need to check with the [http://www.precentral.net/simple-bible Simple Bible] people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the [http://en.wikipedia.org/wiki/Public_domain public domain].  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. [http://aa.org/lang/en/subpage.cfm?page=94 AA has not given permission] for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=14401</id>
		<title>Application:SimpleBigBook</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:SimpleBigBook&amp;diff=14401"/>
		<updated>2011-03-22T12:05:16Z</updated>

		<summary type="html">&lt;p&gt;Xanadu73: /* Remaining Known Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Simple Big Book&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.1.0 (OLD!)&lt;br /&gt;
|tag=Self-Help&lt;br /&gt;
|screenshot=Simplebigbook.png&lt;br /&gt;
|description=GPLv3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Summary=&lt;br /&gt;
&amp;lt;!--{{icon|Bookicon.png|float:right;}}--&amp;gt;&lt;br /&gt;
[[image:Bookicon.png|frameless|left]]&lt;br /&gt;
Simple Big Book is an application which presents you with the first edition of the A.A. Big Book originally printed in 1939.  The code for this app was originally from Simple Bible.  It was re-worked into Simple Big Book by Rick B and John K, but has become largely abandoned at this point.  I am dusting it off, fixing issues, and adding features.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Key Features=&lt;br /&gt;
*Complete main text of the A.A. Big Book (1st Edition), including some appendices.&lt;br /&gt;
*Remembers the exact location in the book you were when you close it for easy resuming.&lt;br /&gt;
*Exhibition mode that cycles though sentences from the entire text (speed configurable in main app).&lt;br /&gt;
*For webOS1.*, Exhibition is accessible in the app menu (&amp;quot;Quote Generator&amp;quot;) so you can still experience it.&lt;br /&gt;
*Full screen mode.  Double-tap the screen to active/deactivate. There's a preference for the app starting full screen, too.&lt;br /&gt;
*Day/Night mode (palm-light &amp;amp; palm-dark) for easy reading in darker situations. (Thank you yet again, Jev!)&lt;br /&gt;
*Search function that acts on the entire book in a configurable any/all/phrase fashion.&lt;br /&gt;
*Text laid out in the fashion of the 4th edition (as best as possible).&lt;br /&gt;
*Several external support and help links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Status=&lt;br /&gt;
This  app is not dead yet!  I am in the process of giving this app a complete over-haul.  I am currently proof-reading the entire text.  Most other features are done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
=Remaining Known Issues=&lt;br /&gt;
While I've fixed a lot of the usage hindering issues, a couple still remain that I will fix once the basic framework of the app is solid, which is not far away.&lt;br /&gt;
&lt;br /&gt;
*FIXED: On orientation change, the page scrolls wildly.&lt;br /&gt;
&lt;br /&gt;
*The larger chapters take a short pause to load.  There's an AJAX load function that will load a single DIV, ''then'' load the rest of the surrounding text.  This is easy to do, but it'll throw off the search function and things like that requiring a good bit of re-write.  I need it to WORK first...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=License=&lt;br /&gt;
The original code as written by the Simple Bible folks and was/is licensed under the GPL.  Simple Big Book is listed as GLPv3.  I need to check with the Simple Bible people and see if that's accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notes=&lt;br /&gt;
The first edition of Alcoholics Anonymous is in the public domain.  This version contains the foreword, the Doctor's Opinion, the front sections, and Dr. Bob's story from the first edition. The page numbers in this version correspond to those in the third and fourth editions.  The stories in the back of the third and fourth editions of Alcoholics Anonymous are copyright by the AA World Services Inc and by The AA Grapevine, Inc. AA has not given permission for the distribution of those stories in this form at this time.&lt;/div&gt;</summary>
		<author><name>Xanadu73</name></author>
	</entry>
</feed>