<?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=JohnTomawski</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=JohnTomawski"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/JohnTomawski"/>
	<updated>2026-04-21T00:49:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Patch_webOS_Logging_Information_from_Within_Scripts&amp;diff=20427</id>
		<title>Patch webOS Logging Information from Within Scripts</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Patch_webOS_Logging_Information_from_Within_Scripts&amp;diff=20427"/>
		<updated>2011-12-06T16:34:44Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{template:patch}}&lt;br /&gt;
One of the most basic forms of debugging information available is to print a message.  By liberally scattering such print statements throughout code, you can see the value of certain variables within your code.  Mojo provides this functionality using the the equivalent of Unix syslog from within applications.&lt;br /&gt;
&lt;br /&gt;
Looking in the home directory of an application, you should see a file named //framework_config.json//.  An example of a full path to this file would be ///usr/palm/applications/com.palm.app.messaging/framework_config.json//.  A stock version of this file will most likely contain the sequence:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;{&lt;br /&gt;
    &amp;quot;logLevel&amp;quot;: 0&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mojo supports three levels of logging at this time: Mojo.Log.error, Mojo.Log.warning and Mojo.Log.info.  These correspond to the values 0, 10 and 20, respectively.  If you change that logLevel to a value greater than 0, 10 or 20, then **all** of that level and lower Mojo.Log statements will log each time that application is run.  At this time it appears that a reboot of the Pre is required to cause this change to take effect.  As logging consumes resources, it is suggested that once you complete your debugging, you reset the value back to zero and reboot your Pre to clear logging.&lt;br /&gt;
&lt;br /&gt;
NB: It may be necessary to change the logLevel value to a much higher value, eg. 99.&lt;br /&gt;
&lt;br /&gt;
Once the value has been changed and the Pre rebooted, Mojo.Log output values will be visable in ///var/log/messages//.  An easy way to watch them is to ssh into your rooted Pre and type&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;tail -f /var/log/messages&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will generate a scrolling log of this file including the Mojo.Log messages (as well as additional system information).  To stop the tail, use ^C (Control-C).&lt;br /&gt;
&lt;br /&gt;
In its most basic form, Mojo.Log simply concatenates together the passed values and prints them.  Some additional formatting options are available, see the file ///usr/palm/frameworks/mojo/submissions/175.7/javascripts/log.js// on your Pre for additional information.&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Apache&amp;diff=19711</id>
		<title>Apache</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Apache&amp;diff=19711"/>
		<updated>2011-10-28T20:37:52Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I've successfully loaded apache/mysql/php/net-snmp onto the Pre, and tested it with a popular NMS tool &amp;quot;Cacti&amp;quot;. It runs very well.&lt;br /&gt;
&lt;br /&gt;
All of the prerequisite packages were installed from optware (ipkg-opt install apache mysql php-apache php-mysql net-snmp cron)&lt;br /&gt;
&lt;br /&gt;
Here are some screenshots:&lt;br /&gt;
&lt;br /&gt;
[[Image:Cacti1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Cacti2.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Cacti3.png]]&lt;br /&gt;
&lt;br /&gt;
Basic instructions are:&lt;br /&gt;
&lt;br /&gt;
1. Install the above ipk's&lt;br /&gt;
&lt;br /&gt;
2. Configure apache to load the php module, and the appropriate directory assignments (ex. /cacti/)&lt;br /&gt;
&lt;br /&gt;
3. Configure the cron job.&lt;br /&gt;
&lt;br /&gt;
4. Configure whatever LAMP application you want to use.&lt;br /&gt;
&lt;br /&gt;
5. Configure cron and init scripts to run at boot time.&lt;br /&gt;
&lt;br /&gt;
6. Allow port 8000 traffic to specific interfaces. (iptables)&lt;br /&gt;
&lt;br /&gt;
-nebula&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=18373</id>
		<title>WebOS Internals PDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=18373"/>
		<updated>2011-09-07T20:02:00Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: /* Verified installed clean list */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: SDL]]&lt;br /&gt;
Palm's binary sdk  the &amp;quot;Plugin Developer Kit&amp;quot; became available to all developers in March 2010.&lt;br /&gt;
&lt;br /&gt;
When the widk was developed, the Palm PDK didn't exist, and until Dec 2010, it was not possible to run the PDK in Linux.  If you would like to run the official Palm PDK, see [[PDK on Linux]] for directions.&lt;br /&gt;
&lt;br /&gt;
In addition to the PDK, webOS Internals has released a full &amp;quot;WIDK&amp;quot; (webOS Internals Development Kit) for you using Scratchbox2.  &lt;br /&gt;
&lt;br /&gt;
Less than 10% of developers in the webOS developer community use Linux variants. Among those 10% there are dozens of different linux distributions that people use. Palm, therefore has chosen to support only Mac and Windows platforms for their PDK.  Palm recommends that Linux based developers use the webOS-internals WIDK instead.  &lt;br /&gt;
&lt;br /&gt;
We ''strongly'' urge the open-source homebrew community to standardize on this WIDK.   It uses the same underlying technologies, and is entirely open.  &lt;br /&gt;
&lt;br /&gt;
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.&lt;br /&gt;
&lt;br /&gt;
As installed below, the install process uses a script which extracts the required Palm provided files from a copy of webOS doctor, and  downloads from other sources, and builds a complete compilation environment automatically which can compile SDL and openGLES apps for webOS.  &lt;br /&gt;
&lt;br /&gt;
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 11.04 32 bit. See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva.  If you want to run the WIDK on other distributions and are willing to support that yourself and not ask webOS Internals any questions about it then please enjoy and if you succeed come back here and make a new article on how you did it.  Otherwise, use the recommended OS.&lt;br /&gt;
&lt;br /&gt;
The webOS Internals team ''strongly suggest'' apt-get install into the Ubuntu environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 11.04 server with very little effort on any operating system. &lt;br /&gt;
&lt;br /&gt;
Developers wanting to work in a Gentoo environment 'without' SB2 can consider using the [http://www.webos-internals.org/wiki/Gentoo_NDK PuffTheMagic NDK].&lt;br /&gt;
&lt;br /&gt;
==SB2 Homepage==&lt;br /&gt;
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.&lt;br /&gt;
&lt;br /&gt;
== Installation on Ubuntu for webOS PDK cross compiling ==&lt;br /&gt;
&lt;br /&gt;
If setting up in a Virtual Box instance, it is recommended that you first complete the openSSH config as described in the VirtualBox tips for Windows users to the right.  This is helpful even with a Linux host, as SSH into the PDK Virtual Machine will allow copy and paste of the commands listed below and reduce errors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:right; width:30%&amp;quot;&amp;gt;{{Ubuntu_VM_notes_for_Windows_users}}&amp;lt;/div&amp;gt;&lt;br /&gt;
===Toolchain===&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
Your Ubuntu installation will need the following installed.  If you do not have them, run the command after the package name. You can test if they are found by just typing the command name.  If it says command not found, you need to install it.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|'''git''' || sudo apt-get install git-core&lt;br /&gt;
|-&lt;br /&gt;
|'''gcc''' || sudo apt-get install build-essential&lt;br /&gt;
|-&lt;br /&gt;
|'''curl''' || sudo apt-get install curl&lt;br /&gt;
|-&lt;br /&gt;
|'''unzip'''|| sudo apt-get install unzip&lt;br /&gt;
|-&lt;br /&gt;
|'''7zip *'''|| sudo apt-get install p7zip-full&lt;br /&gt;
|-&lt;br /&gt;
|'''autoconf'''|| sudo apt-get install autoconf&lt;br /&gt;
|-&lt;br /&gt;
|'''subversion'''|| sudo apt-get install subversion&lt;br /&gt;
|-&lt;br /&gt;
|'''libtool'''|| sudo apt-get install libtool&lt;br /&gt;
|-&lt;br /&gt;
|'''wget'''|| sudo apt-get install wget&lt;br /&gt;
|-&lt;br /&gt;
|'''pkg-config'''|| sudo apt-get install pkg-config&lt;br /&gt;
|-&lt;br /&gt;
|'''gettext'''|| sudo apt-get install gettext&lt;br /&gt;
|-&lt;br /&gt;
|'''fakeroot'''|| sudo apt-get install fakeroot&lt;br /&gt;
|-&lt;br /&gt;
|'''javac *'''|| sudo apt-get install sun-java6-jdk&lt;br /&gt;
|-&lt;br /&gt;
|'''ant'''|| sudo apt-get install ant&lt;br /&gt;
|-&lt;br /&gt;
|'''cmake'''|| sudo apt-get install cmake&lt;br /&gt;
|-&lt;br /&gt;
|'''xsltproc'''|| sudo apt-get install xsltproc&lt;br /&gt;
|-&lt;br /&gt;
|'''intltool'''|| sudo apt-get install intltool&lt;br /&gt;
|-&lt;br /&gt;
|'''mkimage'''|| sudo apt-get install uboot-mkimage&lt;br /&gt;
|-&lt;br /&gt;
|'''lsdiff'''|| sudo apt-get install patchutils&lt;br /&gt;
|-&lt;br /&gt;
|'''flex'''|| sudo apt-get install flex&lt;br /&gt;
|-&lt;br /&gt;
|'''bison'''|| sudo apt-get install bison&lt;br /&gt;
|-&lt;br /&gt;
|'''libssl-dev'''|| sudo apt-get install libssl-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''zlib1g-dev'''|| sudo apt-get install zlib1g-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''xar *'''|| sudo apt-get install xar&lt;br /&gt;
|-&lt;br /&gt;
|'''help2man'''|| sudo apt-get install help2man&lt;br /&gt;
|-&lt;br /&gt;
|'''texinfo'''|| sudo apt-get install texinfo&lt;br /&gt;
|-&lt;br /&gt;
|'''automake 1.10'''|| sudo apt-get install automake1.10&lt;br /&gt;
|-&lt;br /&gt;
|'''autopoint'''|| sudo apt-get install autopoint&lt;br /&gt;
|-&lt;br /&gt;
|'''xutils-dev'''|| sudo apt-get install xutils-dev&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* 7-Zip version 4.59 or greater is needed&lt;br /&gt;
* it has been reported that sun-java6-jdk isn't necessary&lt;br /&gt;
* On Ubuntu 11.04 xar might not install using &amp;lt;code&amp;gt;sudo apt-get install xar&amp;lt;/code&amp;gt; See Note 2 Below&lt;br /&gt;
&lt;br /&gt;
If you're uncertain at all, and you're using Ubuntu 11.04, just cut and paste the following.  If they are already installed, they'll be skipped. xar is not included in the code below.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install git-core build-essential curl unzip p7zip-full autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison libssl-dev zlib1g-dev libbz2-dev help2man texinfo automake1.10 autopoint xutils-dev cmake&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are a beginner with Ubuntu Linux Distribution, you should update all the packages on your system to avoid problems when you will compile.&lt;br /&gt;
&lt;br /&gt;
'''Note 2:''' If &amp;lt;code&amp;gt;xar&amp;lt;/code&amp;gt; cannot be installed with &amp;lt;code&amp;gt;sudo apt-get install xar&amp;lt;/code&amp;gt;, then you have to download two &amp;lt;code&amp;gt;.deb&amp;lt;/code&amp;gt;-files manually and install them (in the order they are listed):&lt;br /&gt;
* If you're using Ubuntu 11.04:&lt;br /&gt;
# [http://packages.ubuntu.com/hardy/libxar1 libxar1]&lt;br /&gt;
# [http://packages.ubuntu.com/hardy/xar xar]&lt;br /&gt;
* If you're using Debian 6.0.2 (Squeeze):&lt;br /&gt;
# [http://packages.debian.org/lenny/libxar1 libxar1]&lt;br /&gt;
# [http://packages.debian.org/lenny/xar xar]&lt;br /&gt;
&lt;br /&gt;
After that execute the above command again.&lt;br /&gt;
&lt;br /&gt;
Use these 2 command line :&amp;lt;BR&amp;gt;&lt;br /&gt;
Update repositories   :&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
And next, update the packages :&lt;br /&gt;
 sudo aptitude safe-upgrade&lt;br /&gt;
&lt;br /&gt;
If you're on a 64-bit system, you will also need to install the ia32-libs package.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The ''make toolchain'' command and later steps will download approximately a half-gig of tools and sources from various locations.  Do not start this if you do not have time for a large download.  Additionally, if you already have downloaded a copy of the correct version of the WebOS doctor, you can reduce the download time by copying the doctor file into cross-compile/doctors/ with the correct name.  This will cause the appropriate command to skip that download.  Note that codesourcery rate limts downloads and at a minimum this process will take 10 to 15 minutes irrespective of your connection speed. &lt;br /&gt;
&lt;br /&gt;
====Start setup====&lt;br /&gt;
Create a preware folder, copy the cross-compile tools into it (if you have not installed git, apt-get install git-core), and use a make script to begin the set up of the compilation toolchain. &lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /srv/preware&lt;br /&gt;
 cd /srv/preware&lt;br /&gt;
 sudo chmod 777 .&lt;br /&gt;
 git clone git://git.webos-internals.org/preware/cross-compile.git&lt;br /&gt;
 cd cross-compile&lt;br /&gt;
 make toolchain&lt;br /&gt;
&lt;br /&gt;
If errors occur, browse the [http://git.webos-internals.org/preware/cross-compile/ repository online] and checkout earlier commits until you get something that gets through &amp;quot;make toolchain&amp;quot; and the later &amp;quot;make stage&amp;quot; commands like so:&lt;br /&gt;
&lt;br /&gt;
 git checkout &amp;lt;commit-ish&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Verify sh shell====&lt;br /&gt;
On Ubuntu /bin/sh is a symbolic link to dash.  This will cause errors with the make stage command below, as some of the scripts assume bash.  Run the following command to see what shell sh is linked to.&lt;br /&gt;
&lt;br /&gt;
  ls -l /bin/sh&lt;br /&gt;
&lt;br /&gt;
If the result is a link to dash:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx 1 root root 4 2010-07-06 23:55 /bin/sh -&amp;gt; dash&lt;br /&gt;
&lt;br /&gt;
You will want to correct it with the following:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg-reconfigure dash&lt;br /&gt;
&lt;br /&gt;
You will be asked if you want to &amp;quot;Install dash as /bin/sh?&amp;quot;.  Select &amp;quot;&amp;lt;No&amp;gt;&amp;quot; and bash will be used.  Rerun the command to verify:&lt;br /&gt;
&lt;br /&gt;
  ls -l /bin/sh&lt;br /&gt;
&lt;br /&gt;
You should now see:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx 1 root root 4 2010-07-09 21:12 /bin/sh -&amp;gt; bash&lt;br /&gt;
&lt;br /&gt;
====Setup Scratchbox====&lt;br /&gt;
Now, use apt-get to setup scratchbox...&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install scratchbox2 qemu-kvm-extras (in Debian install qemu-user and qemu-system instead of qemu-kvm-extras)&lt;br /&gt;
&lt;br /&gt;
...and set it up for compiling for webOS. &lt;br /&gt;
&lt;br /&gt;
 cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc&lt;br /&gt;
 PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc&lt;br /&gt;
 PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv6 arm-none-linux-gnueabi-gcc&lt;br /&gt;
 cd /srv/preware/cross-compile&lt;br /&gt;
&lt;br /&gt;
On some distributions such as recent Debian and Ubuntu, you'll have compiler problems with these values - use sb2-qemu-arm instead of qemu-arm in the sb2-init command lines above.&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 make setup&lt;br /&gt;
&lt;br /&gt;
Once this setup is complete, compiling sdl apps for webOS is very simple. Note that the set up for i686 is not yet determined.&lt;br /&gt;
&lt;br /&gt;
==Verified installed clean list==&lt;br /&gt;
&lt;br /&gt;
If you have successfully built the WIDK from scratch, with NO problems, feel free to add your information to this list.  This will help us assess what distributions and versions it is fully compatible with.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''IRC name'''&lt;br /&gt;
|'''Linux Distribution'''&lt;br /&gt;
|'''Version'''&lt;br /&gt;
|'''Date'''&lt;br /&gt;
|'''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
|Scoutcamper&lt;br /&gt;
|Ubuntu&lt;br /&gt;
|9.04,9.10,10.04,10.10&lt;br /&gt;
|10-18-10&lt;br /&gt;
|Works Great!&lt;br /&gt;
|-&lt;br /&gt;
|elpollodiablo1&lt;br /&gt;
|Ubuntu&lt;br /&gt;
|11.04&lt;br /&gt;
|7-13-11&lt;br /&gt;
|Works With updated Wiki Info&lt;br /&gt;
|-&lt;br /&gt;
|nebula&lt;br /&gt;
|Ubuntu&lt;br /&gt;
|11.04&lt;br /&gt;
|9-7-11&lt;br /&gt;
|It works!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Errors during make stage ==&lt;br /&gt;
&lt;br /&gt;
===automake1.10===&lt;br /&gt;
&lt;br /&gt;
If you see the error below, you need the latest automake (1.10)&lt;br /&gt;
&lt;br /&gt;
 /usr/share/automake-1.9/am/depend2.am: am__fastdepOBJC does not appear in AM_CONDITIONAL&lt;br /&gt;
 configure.in:88: installing `./config.guess'&lt;br /&gt;
 configure.in:88: installing `./config.sub'&lt;br /&gt;
 Makefile.am: installing `./INSTALL'&lt;br /&gt;
 autoreconf2.50: automake failed with exit status: 1&lt;br /&gt;
&lt;br /&gt;
Install automake1.10 and it should work (according to [http://old.nabble.com/AC_PROG_OBJC-and-automake-1.9-td22434760.html this page])&lt;br /&gt;
&lt;br /&gt;
====Fix mmap errors====&lt;br /&gt;
The following commands appear redundant.  They are not.  The install this fixes your mmap config to fix an mmap: permission denied error, but we don't need the package itself. (Do each command separately with cut and paste).&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install qemu-arm-static&lt;br /&gt;
 sudo apt-get remove qemu-arm-static&lt;br /&gt;
&lt;br /&gt;
It appears that this package has been renamed qemu-kvm-extras-static in Ubuntu 11.04.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;OR&amp;lt;/span&amp;gt; As a workaround, if this package is not available, &lt;br /&gt;
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;vm.mmap_min_addr = 4096&amp;quot; &amp;gt; /etc/sysctl.d/mmap_min_addr.conf&lt;br /&gt;
 /etc/init.d/procps restart&lt;br /&gt;
&lt;br /&gt;
(note that the value should not be &amp;quot;0&amp;quot;. 4096 is chosen to avoid null pointer attacks.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Libtool===&lt;br /&gt;
&lt;br /&gt;
 make[5]: Entering directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6/src'&lt;br /&gt;
 /bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..    -Wall -g -O2 -MT libdotconf_la-dotconf.lo -MD -MP -MF .deps/libdotconf_la-dotconf.Tpo -c -o libdotconf_la-dotconf.lo `test -f 'dotconf.c' || echo './'`dotconf.c&lt;br /&gt;
 libtool: Version mismatch error.  This is libtool 2.2.6b, but the&lt;br /&gt;
 libtool: definition of this LT_INIT comes from libtool 2.2.6.&lt;br /&gt;
 libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b&lt;br /&gt;
 libtool: and run autoconf again.&lt;br /&gt;
 make[5]: *** [libdotconf_la-dotconf.lo] Error 63&lt;br /&gt;
 make[5]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6/src'&lt;br /&gt;
 make[4]: *** [install-recursive] Error 1&lt;br /&gt;
 make[4]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6'&lt;br /&gt;
 make[3]: *** [build/armv6.built] Error 2&lt;br /&gt;
 make[3]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf'&lt;br /&gt;
 make[2]: *** [build_common/libdotconf] Error 2&lt;br /&gt;
 make[2]: Leaving directory `/srv/preware/cross-compile'&lt;br /&gt;
 make[1]: *** [staging-armv6] Error 2&lt;br /&gt;
 make[1]: Leaving directory `/srv/preware/cross-compile'&lt;br /&gt;
 make: *** [stage] Error 2&lt;br /&gt;
&lt;br /&gt;
Confirmed by 3 people. Fix this by either (your choice)&lt;br /&gt;
*upgrading to Ubuntu 10.04 or newer (the WIDK now relies on a slightly newer version of libtool that's not in 9.10 or earlier)&lt;br /&gt;
*updating libtool to 2.2.6b-2 (backported to 9.10, see available downloads on http://linuxappfinder.com/package/libtool#ubuntu_karmicpartner)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you're getting an error where sb2-init gives you the following output:&lt;br /&gt;
&lt;br /&gt;
 checking for gcc... gcc&lt;br /&gt;
 checking for C compiler default output file name... a.out&lt;br /&gt;
 checking whether the C compiler works... configure: error: cannot run C compiled programs.&lt;br /&gt;
 If you meant to cross compile, use `--host'.&lt;br /&gt;
 See `config.log' for more details.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Running /usr/bin/sb2-build-libtool failed&lt;br /&gt;
 You can run this manually later, otherwise your&lt;br /&gt;
 sb2 environment is correctly setup and ready to use&lt;br /&gt;
&lt;br /&gt;
You need to upgrade qemu. Alternatively, if your sb2-init output fails with a different output, like this:&lt;br /&gt;
&lt;br /&gt;
 checking for gcc... gcc&lt;br /&gt;
 checking for C compiler default output file name... a.out&lt;br /&gt;
 checking whether the C compiler works... configure: error: cannot run C compiled programs.&lt;br /&gt;
 If you meant to cross compile, use `--host'.&lt;br /&gt;
 See `config.log' for more details.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 sb2-init completed successfully, have fun!&lt;br /&gt;
&lt;br /&gt;
Then you need to upgrade scratchbox, too (install 2.0 instead of 1.99).&lt;br /&gt;
&lt;br /&gt;
=== ecore ===&lt;br /&gt;
*TRUE and FALSE are not defined:&lt;br /&gt;
Manually add the definition:&lt;br /&gt;
&lt;br /&gt;
 #ifndef TRUE&lt;br /&gt;
 # define TRUE 1&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
 #ifndef FALSE&lt;br /&gt;
 # define FALSE 0&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;$po_makefile_in&amp;lt;/code&amp;gt; could not be found:&lt;br /&gt;
**Open the file &amp;lt;code&amp;gt;/srv/preware/cross-compile/packages/dev-e/ecore/build/src/configure.ac&amp;lt;/code&amp;gt; and search for the line with: &amp;lt;code&amp;gt;$po_makefile_in&amp;lt;/code&amp;gt; (in my case line 1437) and replace it with &amp;lt;code&amp;gt;po/Makefile.in&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /bin/sh errors ===&lt;br /&gt;
If you are getting a &amp;quot;bad fd number&amp;quot; or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)&lt;br /&gt;
&lt;br /&gt;
Go back through the Verify sh shell section above to correct.&lt;br /&gt;
&lt;br /&gt;
=== further download errors ===&lt;br /&gt;
&lt;br /&gt;
rwhitby's suggestion:&lt;br /&gt;
&lt;br /&gt;
If you don't need that package which is failing for you, just move it to the nonworking directory and try again.&lt;br /&gt;
&lt;br /&gt;
14 July 2011=Using Rod's approach: So far I had to move fuse, unionfs-fuse, dev-gl, voip and x (pango and pixman failed). Using Ubuntu 11.04.&lt;br /&gt;
&lt;br /&gt;
=== X--tag=CC: command not found ===&lt;br /&gt;
&lt;br /&gt;
While running '''make stage''' on Ubuntu 10.10, I got the following error during compilation of sdl-gfx:&lt;br /&gt;
&lt;br /&gt;
 /bin/sh ./libtool --tag=CC   --mode=compile gcc -DPACKAGE_NAME=\&amp;quot;\&amp;quot; -DPACKAGE_TARNAME=\&amp;quot;\&amp;quot; -DPACKAGE_VERSION=\&amp;quot;\&amp;quot; -DPACKAGE_STRING=\&amp;quot;\&amp;quot; -DPACKAGE_BUGREPORT=\&amp;quot;\&amp;quot; -DPACKAGE_URL=\&amp;quot;\&amp;quot; -DPACKAGE=\&amp;quot;SDL_gfx\&amp;quot; -DVERSION=\&amp;quot;2.0.20\&amp;quot; -DSTDC_HEADERS=1  -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1  -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\&amp;quot;.libs/\&amp;quot; -DX_DISPLAY_MISSING=1 -DBUILD_DLL -I.     -g -O2 -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT SDL_gfxPrimitives.lo -MD -MP -MF .deps/SDL_gfxPrimitives.Tpo -c -o  SDL_gfxPrimitives.lo SDL_gfxPrimitives.c&lt;br /&gt;
 ./libtool: line 847: X--tag=CC: command not found&lt;br /&gt;
 ./libtool: line 880: libtool: ignoring unknown tag : command not found&lt;br /&gt;
 ./libtool: line 847: X--mode=compile: command not found&lt;br /&gt;
 ./libtool: line 1014: *** Warning: inferring the mode of operation is deprecated.: command not found&lt;br /&gt;
 ./libtool: line 1015: *** Future versions of Libtool will require --mode=MODE be specified.: command not found&lt;br /&gt;
 ./libtool: line 1158: Xgcc: command not found&lt;br /&gt;
 ./libtool: line 1158: X-DPACKAGE_NAME=&amp;quot;&amp;quot;: command not found&lt;br /&gt;
 ./libtool: line 1158: X-DPACKAGE_TARNAME=&amp;quot;&amp;quot;: command not found&lt;br /&gt;
&lt;br /&gt;
In order to fix this problem, I had to run this command to set &amp;lt;code&amp;gt;$echo&amp;lt;/code&amp;gt; (which gets used in line 847 of the libtool script):&lt;br /&gt;
&lt;br /&gt;
 export echo=echo&lt;br /&gt;
&lt;br /&gt;
and re-run &amp;lt;code&amp;gt;make stage&amp;lt;/code&amp;gt; in the same shell session.&lt;br /&gt;
&lt;br /&gt;
=== missing macro AM_PATH_SDL in making libsdl-gfx ===&lt;br /&gt;
In Ubuntu Server 11.04 amd64 I had to install the package libsdl1.2-dev to get past this.  I also needed the X--tag=CC fix above.&lt;br /&gt;
Also for Ubuntu 11.04 i386 install the package libsdl1.2-dev.&lt;br /&gt;
&lt;br /&gt;
==Sample build of [[Application:Doom]]==&lt;br /&gt;
&lt;br /&gt;
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.&lt;br /&gt;
&lt;br /&gt;
==In Process Enhancements==&lt;br /&gt;
[[Extracting the PDK on Linux]]&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:FreeTether&amp;diff=18137</id>
		<title>Application:FreeTether</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:FreeTether&amp;diff=18137"/>
		<updated>2011-08-30T20:09:57Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: /* USB Tethering */&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=freeTether&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 1.1.2&lt;br /&gt;
|tag=Networking&lt;br /&gt;
|screenshot=Freetether_main.png&lt;br /&gt;
|description=&amp;lt;div style='position: absolute; bottom: 0; right: 0; padding-right: 28px; padding-bottom: 16px'&amp;gt;{{FreeTetherDonation}}&amp;lt;/div&amp;gt;}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
[[image:Icon_FreeTether.png|frameless|left]]&lt;br /&gt;
freeTether is an open source tethering application for webOS that turns your device into an access point/gateway that allows you to share your device's cellular data connection with other devices via WiFi, Bluetooth or USB.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
The following information will help with installing freeTether on your device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Preparing Your Device ====&lt;br /&gt;
The following steps should be taken to prepare your device for the installation of freeTether.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
===== Remove Other Tethering Solutions =====&lt;br /&gt;
It is highly recommended to remove all previous versions of freeTether and freeTetherD, as well as, Mobile Hotspot. Other tethering solutions may conflict with freeTether as well.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Method ====&lt;br /&gt;
The following method is the recommend way to install freeTether. By installing with Preware, you'll be certain to have access to the latest versions of freeTether.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
===== [[Preware]] =====&lt;br /&gt;
&lt;br /&gt;
# Open Preware&lt;br /&gt;
# Start typing “freetether” (no quotes), then press the enter/return key.&lt;br /&gt;
# Tap freeTether from the list&lt;br /&gt;
# Tap the Install button&lt;br /&gt;
&lt;br /&gt;
'''Or'''&lt;br /&gt;
&lt;br /&gt;
# Open Preware&lt;br /&gt;
# Tap Available Packages&lt;br /&gt;
# Tap Application &amp;gt; System Utilities&lt;br /&gt;
# Tap freeTether from the list&lt;br /&gt;
# Tap the Install button&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Updating ====&lt;br /&gt;
&lt;br /&gt;
freeTether updates can be found and installed via Preware&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== System/Device Compatibility ==&lt;br /&gt;
Here is a list of some systems and their current status/compatibility with freeTether.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| &lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Bluetooth&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| USB&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| WIFI (Open)&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| WIFI (WPA)&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| Linux&lt;br /&gt;
| Good&lt;br /&gt;
| Good&lt;br /&gt;
| Good&lt;br /&gt;
| Good&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| MacOSX &amp;lt;=10.5&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| MacOSX 10.6&lt;br /&gt;
| Good&lt;br /&gt;
| Broken&lt;br /&gt;
| Good&lt;br /&gt;
| Good&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| Windows 7 (x86)&lt;br /&gt;
| ?&lt;br /&gt;
| Good&lt;br /&gt;
| Good&lt;br /&gt;
| Good&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| Windows 7 (x64)&lt;br /&gt;
| Can work&lt;br /&gt;
| Good&lt;br /&gt;
| Good&lt;br /&gt;
| Good&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| PS3&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| Good&lt;br /&gt;
| Good&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| Wii&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| Good&lt;br /&gt;
| Needs Work&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| iPad&lt;br /&gt;
| N/A&lt;br /&gt;
| N/A&lt;br /&gt;
| Good&lt;br /&gt;
| Good&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
The following information will help to understand and use freeTether. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Overview =====&lt;br /&gt;
&lt;br /&gt;
There are a number of different preferences and options that can be configured for freeTether. Each of the sections below contain information for configuring and using those preferences and options.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
From within freeTether, you can learn more about the particular preferences and options by pressing the help button ''(blue question mark)'' found throughout the preferences and options areas. Pressing the help button will toggle the preferences or option fields blue. Tapping on a preference or option while the help is enabled will give you a description of that particular preference or option. Tap the help button again to exit the help.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;span style=&amp;quot;color:#8a0002&amp;quot;&amp;gt;General Preferences&amp;lt;/span&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Accessing General Preferences:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
# Tap or Swipe down the app menu and select General Prefs.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Configuring General Preferences:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
'''Auto WiFi Tether:''' ''[Enabled | Disabled]''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This setting automatically enables WiFi tethering when freeTether starts.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Auto BT Tether:''' ''[Enabled | Disabled]''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This setting automatically enables Bluetooth tethering when freeTether starts.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Auto USB Tether:''' ''[Enabled | Disabled]''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This setting automatically enables USB tethering when freeTether starts.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;span style=&amp;quot;color:#8a0002&amp;quot;&amp;gt;TCP/IP Preferences&amp;lt;/span&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Accessing TCP/IP Preferences:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The TCP/IP preferences can be accessed two ways:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
# Tap or Swipe down the app menu and select TCP/IP Prefs.&lt;br /&gt;
# Tap the DHCP Server section shown below the Tethered Interfaces list.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Configuring TCP/IP Preferences:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
''(Note: If invalid settings are configured for the TCP/IP Preferences, the text in the preferences and the DHCP Server section shown below the Tethered Interfaces list will turn a crimson red color to indicate that invalid settings were used. In addition the on/off toggles for the three tethering modes will be disabled. You will have to correct the TCP/IP Preferences before you can enable the interfaces.)''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
'''Gateway:''' ''[Default: 192.168.100.1]''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This setting determines the router or default gateway IP address.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Subnet:''' ''[Default: 255.255.255.0]''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This setting determines the subnet address for the network which the default gateway is on. &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''DHCP Start:''' ''[Default: 192.168.100.50]''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This setting determines the start of the DHCP lease pool. &lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Max Leases:''' ''[Default: 15]''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This setting determines the maximum number of DHCP leases that will be given out at a given time.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Lease Time:''' ''[Default: 7200]''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This setting determines ''(in seconds)'' how long a DHCP lease will last before expiring.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;span style=&amp;quot;color:#8a0002&amp;quot;&amp;gt;WiFi Tetheing&amp;lt;/span&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Accessing WiFi Preferences:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The WiFi preferences can be accessed two ways:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
# Tap or Swipe down the app menu and select WiFi Prefs.&lt;br /&gt;
# Tap the WiFi section in the Tethered Interfaces list.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Configuring WiFi Tethering:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
'''Network:''' ''[Default: freeTether]''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This setting determines the ESSID of the WiFi access point.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Security:''' ''[Open | WPA Personal] [Default: Open]''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This setting determines the encryption used by the WiFi access point.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
''(Note: The following settings are only displayed if the Security setting is changed from Open to WPA Personal)''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Passphrase:'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This setting determines the secret passphrase which is required when connection to an encrypted WiFi access point. Tapping the passphrase field will toggle between hiding and showing the passphrase in clear text.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
To configure your own or to generate a random passphrase, tap the Set Passphase button. A passphrase can be created two ways:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
# Tap the text field ''(above the Generate Random button)'' and enter your own passphrase. ''(minimum of eight (8) characters.)'' Then tap the Set Passphrase button.&lt;br /&gt;
# Tap the Generate Random button to have freeTether generate a passphrase for you. Then tap the Set Passphrase button.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Enabling WiFi Tethering:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Tap the On|Off toggle on the WiFi section in the Tethered Interfaces list.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;span style=&amp;quot;color:#8a0002&amp;quot;&amp;gt;Bluetooth Tetheing&amp;lt;/span&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Accessing Bluetooth Preferences:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The Bluetooth preferences can be accessed two ways:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
# Tap or Swipe down the app menu and select Bluetooth Prefs.&lt;br /&gt;
# Tap the Bluetooth section in the Tethered Interfaces list.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Configuring Bluetooth Tethering:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
'''PAN Profile:''' ''[Enabled | Disabled] [Default: Enabled]''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This setting determines if the personal area network (PAN) bluetooth profile is enabled or disabled. This option is not 1005 functional yet. Use at your own risk.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Enabling Bluetooth Tethering:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Tap the On|Off toggle on the Bluetooth section in the Tethered Interfaces list.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;span style=&amp;quot;color:#8a0002&amp;quot;&amp;gt;USB Tethering&amp;lt;/span&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Accessing USB Preferences:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
There are no Bluetooth preferences at this time.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Configuring USB Tethering:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Configuring computers to connect to freeTether using USB tethering is outside the scope of this wiki, however, there is a WebOS-Internals wiki page that contains a section (Computer Setup) with instructions on configuring your computer's operating system with specific drivers so that it will be able to work with freeTether's USB tethering, found [http://www.webos-internals.org/wiki/USBnet_Setup#Computer_Setup here].&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#3399ff&amp;quot;&amp;gt;'''Enabling USB Tethering:'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Tap the On|Off toggle on the USB section in the Tethered Interfaces list.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting/FAQ ==&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
'''Q: What version of webOS is freeTether available for?'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A: freeTether is only available for webOS 1.4.5 and later.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Q: I think I've found a bug. What should I do?'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A: Please review the bug/features listed [http://redmine.webos-internals.org/projects/freetether/issues here] before submitting your own. You should also consider removing all other tethering solutions and then try again; as one of the other tethering solutions may be causing the issue with freeTether.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Q: I am unable to change the preferences for the tethered interface?'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
A: You can not change the tethered interfaces settings when the interface is on. Turn the interface off, change your settings, then turn the interface back on.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
===== Support Development =====&lt;br /&gt;
::{{FreeTetherDonation}}&lt;br /&gt;
&lt;br /&gt;
===== Official Forum =====&lt;br /&gt;
::* [http://forums.precentral.net/webos-internals/279353-freetether-1-0-x.html Official PreCentral Forum Thread]&lt;br /&gt;
&lt;br /&gt;
===== Official Bug/Feature Request Site =====&lt;br /&gt;
::*[http://redmine.webos-internals.org/projects/freetether/issues Official Bug/Feature Request Site]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Changelog =====&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
:'''1.1.2 - Current Release''' - (''Released April. 11th, 2011'')&lt;br /&gt;
:* Makes sure custom TCP prefs are used on startup&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''1.1.1'''&lt;br /&gt;
:* Added options to auto-tether interfaces on app startup&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''1.1.0'''&lt;br /&gt;
:* Set the &amp;quot;default&amp;quot; gateway/router IP to 192.168.100.1&lt;br /&gt;
:* Add help overlay to all options&lt;br /&gt;
:* Set font color TCP settings to crimson if invalid&lt;br /&gt;
:* Disable main toggles if there are invalid TCP settings&lt;br /&gt;
:* Turn &amp;quot;DHCP Server&amp;quot; text crimson if there are invalid TCP settings&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''1.0.0'''&lt;br /&gt;
:* Moved out of testing feeds into public feeds. Initial public release.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''0.99.15'''&lt;br /&gt;
:* Fixed TCP/IP settings not saving&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''0.99.14'''&lt;br /&gt;
:* Fixed cookie bug not saving preferences&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''0.99.13'''&lt;br /&gt;
:* Disable settings while interface active&lt;br /&gt;
:* Add TCP/IP Preferences&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''0.99.12'''&lt;br /&gt;
:* Default to Open for wifi tethering&lt;br /&gt;
:* Styling tweaks&lt;br /&gt;
:* Show passphrase hint&lt;br /&gt;
:* Menu options for each interface&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''0.99.11'''&lt;br /&gt;
:* Add client info scene&lt;br /&gt;
:* End freeTether service on app close&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''0.99.10'''&lt;br /&gt;
:* Default to WPA for wifi tethering&lt;br /&gt;
:* Provide default passphrase&lt;br /&gt;
:* Enforce min passphrase length&lt;br /&gt;
:* Random passphrase generator&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''0.99.9'''&lt;br /&gt;
:* Service fixes for race conditions and client list reporting&lt;br /&gt;
:* Save and restore interface state&lt;br /&gt;
:* Fix spinner states and multi-interface toggling&lt;br /&gt;
:* Fix client list to correctly update hostnames&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''0.99.7'''&lt;br /&gt;
:* Bluetooth PAN profile&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''0.99.6'''&lt;br /&gt;
:* USB, Bluetooth and WiFi support&lt;br /&gt;
:* webOS 1.4.5 and 2.x.x support&lt;br /&gt;
:* Improved UI&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Known Issues =====&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Please see the issues list [http://redmine.webos-internals.org/projects/freetether/issues here] for more information on the known issues.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WhoIsWho&amp;diff=17839</id>
		<title>WhoIsWho</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WhoIsWho&amp;diff=17839"/>
		<updated>2011-08-25T01:58:22Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the WebOS Internals developers, and the projects and activities for which each is responsible.  Names are listed in chronological order of officially joining the WebOS Internals team.&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=rwhitby|realname=Rod Whitby|twitter=@webosinternals|responsibility=Founder and Project Lead for WebOS Internals and Preware |aboutme=Homebrew Ecosystem Architect. Lead developer for Save/Restore. Co-Lead developer for Preware, Govnah and UberKernel.  Co-developer for a number of other packages. Oh, and a family and full-time day job too.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=ka6sox|realname=Tom King|responsibility=Chief Server Infrastructure Architect and Sys-Admin Team Lead(aka BOFH), Facilitator |aboutme=FT:High Power RF, VHDL/Verilog Design, Play Time: Dabble with Kernel development.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=rboatright|realname=Rick Boatright|responsibility=Chief Evangelist|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=destinal|realname=Eric Duprey|responsibility=That would be telling|aboutme=Hacker, security geek, one of the original devs behind the WebOS Internals &amp;quot;Terminal&amp;quot; application}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=PuffTheMagic|realname=Ryan Hope|responsibility=Play devil's advocate|aboutme=Research assistant / cognitive science grad student by day; webos developer by night }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=egaudet|realname=Eric Gaudet|responsibility=AUPT architect and randomness|aboutme=Busy debugging}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=oil|realname=Brandon VanBelle|twitter=@DontBlameOil|responsibility=Minister of Awesomeness|aboutme=It's not my fault!}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=dtzWill|realname=Will Dietz|responsibility=Various WebOS Internals games, X11, WIDK management|aboutme=CS grad student who spends entirely too much time on WebOS }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=zsoc|realname=|responsibility=Multimedia subsystem architect|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=uNiXpSyChO|realname=Marco Benton|responsibility=BOFH and Kernel hacker|aboutme=[[Full-time]]; SysAdmin, SAN Admin, Network Admin. [[Part-time]]; System integration and network design consulting. [[Free-time]]; programming - since that's what i used to do full-time 20 years ago. }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=sbromwich|realname=Steve Bromwich|responsibility=Kernel developer|aboutme=Dilettante kernel programmer concentrating mostly on extending battery life.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=codecrumb|realname=|responsibility=The Warthog (kernel &amp;amp; patches)|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=cryptk|realname=Chris Jowett|twitter=@cryptkcoding|responsibility=Server administration and management|aboutme=I work as a full time linux systems administratior as my day job and lend that knowledge to keep the WebOS Internals servers running as well as they possibly can.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=sconix|realname=Janne Julkunen|responsibility=Creating advanced patches and developing Mode Switcher|aboutme=Involved with Linux way too much :)}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=oakridge outdoors|realname=Dustin|twitter=@oakridgoutdoors||responsibility=Wiki Editor|aboutme=Father, Husband, Sys Admin and Avid Hunting/Outdoors/webOS Enthusiast}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=bpadalino|realname=Brian Padalino|responsibility=The other set of eyes.|aboutme=First one to get a root shell on the Pre in the IRC channel.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=nebula|realname=John Tomawski|responsibility=Moral support and general hacking.|aboutme=Network Engineer by day, drummer by night. I put a Nintendo emulator and VNC on the Pre when it came out. Basic coding, nothing crazy. }}&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WhoIsWho&amp;diff=17837</id>
		<title>WhoIsWho</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WhoIsWho&amp;diff=17837"/>
		<updated>2011-08-25T01:54:16Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the WebOS Internals developers, and the projects and activities for which each is responsible.  Names are listed in chronological order of officially joining the WebOS Internals team.&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=rwhitby|realname=Rod Whitby|twitter=@webosinternals|responsibility=Founder and Project Lead for WebOS Internals and Preware |aboutme=Homebrew Ecosystem Architect. Lead developer for Save/Restore. Co-Lead developer for Preware, Govnah and UberKernel.  Co-developer for a number of other packages. Oh, and a family and full-time day job too.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=ka6sox|realname=Tom King|responsibility=Chief Server Infrastructure Architect and Sys-Admin Team Lead(aka BOFH), Facilitator |aboutme=FT:High Power RF, VHDL/Verilog Design, Play Time: Dabble with Kernel development.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=rboatright|realname=Rick Boatright|responsibility=Chief Evangelist|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=destinal|realname=Eric Duprey|responsibility=That would be telling|aboutme=Hacker, security geek, one of the original devs behind the WebOS Internals &amp;quot;Terminal&amp;quot; application}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=PuffTheMagic|realname=Ryan Hope|responsibility=Play devil's advocate|aboutme=Research assistant / cognitive science grad student by day; webos developer by night }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=egaudet|realname=Eric Gaudet|responsibility=AUPT architect and randomness|aboutme=Busy debugging}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=oil|realname=Brandon VanBelle|twitter=@DontBlameOil|responsibility=Minister of Awesomeness|aboutme=It's not my fault!}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=dtzWill|realname=Will Dietz|responsibility=Various WebOS Internals games, X11, WIDK management|aboutme=CS grad student who spends entirely too much time on WebOS }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=zsoc|realname=|responsibility=Multimedia subsystem architect|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=uNiXpSyChO|realname=Marco Benton|responsibility=BOFH and Kernel hacker|aboutme=[[Full-time]]; SysAdmin, SAN Admin, Network Admin. [[Part-time]]; System integration and network design consulting. [[Free-time]]; programming - since that's what i used to do full-time 20 years ago. }}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=sbromwich|realname=Steve Bromwich|responsibility=Kernel developer|aboutme=Dilettante kernel programmer concentrating mostly on extending battery life.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=codecrumb|realname=|responsibility=The Warthog (kernel &amp;amp; patches)|aboutme=}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=cryptk|realname=Chris Jowett|twitter=@cryptkcoding|responsibility=Server administration and management|aboutme=I work as a full time linux systems administratior as my day job and lend that knowledge to keep the WebOS Internals servers running as well as they possibly can.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=sconix|realname=Janne Julkunen|responsibility=Creating advanced patches and developing Mode Switcher|aboutme=Involved with Linux way too much :)}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=oakridge outdoors|realname=Dustin|twitter=@oakridgoutdoors||responsibility=Wiki Editor|aboutme=Father, Husband, Sys Admin and Avid Hunting/Outdoors/webOS Enthusiast}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=bpadalino|realname=Brian Padalino|responsibility=The other set of eyes.|aboutme=First one to get a root shell on the Pre in the IRC channel.}}&lt;br /&gt;
&lt;br /&gt;
{{AboutMe|alias=nebula|realname=John Tomawski|responsibility=Moral support and general hacking.|aboutme=It has something to do with Nintendo and VNC.}}&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:MetaDoctor&amp;diff=15993</id>
		<title>Application:MetaDoctor</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:MetaDoctor&amp;diff=15993"/>
		<updated>2011-05-14T19:43:58Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
This page is currently available in four languages:&lt;br /&gt;
:[[Image:Australia.png]] [[Image:USA.png]] [[Application:MetaDoctor]]&lt;br /&gt;
:[[Image:France.png]] [[Application:MetaDoctor-FR]]&lt;br /&gt;
:[[Image:Germany.png]] [[Application:MetaDoctor-DE]]&lt;br /&gt;
:[[Image:Mexico.png]] [[Image:Spain.png]] [[Application:MetaDoctor-ES]]&lt;br /&gt;
&lt;br /&gt;
= What is the Meta Doctor? =&lt;br /&gt;
&lt;br /&gt;
The Webos Internals Meta Doctor is a Makefile which can modify a copy of the Palm webOS Doctor to bypass the &amp;quot;First Use&amp;quot; application and allow the phone to run without having been activated on a cell network. It accomplishes this by reaching into Palm's distributed Doctor JAR file and making changes to it. It can prevent the first use app from running, as well as applying other tweaks to the OS.&lt;br /&gt;
&lt;br /&gt;
'''Documentation for the features that the MetaDoctor offers is at the top of the Makefile (you find out where that is later).'''&lt;br /&gt;
&lt;br /&gt;
= Step 1: Setting up Meta-Doctor=&lt;br /&gt;
&lt;br /&gt;
== Windows ==&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;
Windows users can use the meta doctor without harming your current installation of windows using simple Ubuntu installer called WUBI. Also no need for moding any partitions or installing any boot loaders. It will just appear as program in your installed software list and when you do not want it anymore simply uninstall it while in windows through Control Panel. It is easy and there is no virtual machine headaches of trying to configure USB, Network and File sharing with host computer... To access it you just reboot and choose Ubuntu from dual boot screen.&lt;br /&gt;
&lt;br /&gt;
# Download [http://www.ubuntu.com/getubuntu/download Ubuntu 11.04], look for the Ubuntu Desktop Edition, '''not the Windows Installer'''&lt;br /&gt;
# Burn that file to a cd or mount to virtual drive&lt;br /&gt;
# Run cd in windows (the wubi.exe file inside the disk, it also comes up in auto run) - '''Don't boot your machine with the CD (called as using the LiveCD, as this option won't give you enough space for the MetaDoctor process to complete.'''&lt;br /&gt;
# Click on '''Install Inside windows'''.&lt;br /&gt;
#: This will install Ubuntu while running Windows without the need of making a partition I would recomand making the install image the full recommended 30 gigs if you have the hard drive space and think you are interested in actually using the Ubuntu OS, otherwise the minimum recommended by Wubi should be just fine. &lt;br /&gt;
# Restart your computer and you can dual boot to Windows or Ubuntu &lt;br /&gt;
&lt;br /&gt;
The nice thing about this is that it will allow you to uninstall Ubuntu right from Windows as if it was never there and remove the dual boot, not to mention the fact you do not need to partition your drive.&lt;br /&gt;
&lt;br /&gt;
If you are still wondering what Wubi is the fallowing link should explain it to you better.&lt;br /&gt;
[https://wiki.ubuntu.com/WubiGuide Wubi Guide]&lt;br /&gt;
&lt;br /&gt;
Once you have installed WUBI, you should follow the instructions in the Linux section below.&lt;br /&gt;
&lt;br /&gt;
== Linux == &lt;br /&gt;
&lt;br /&gt;
# Open terminal from the ( Applications &amp;gt; Accessories ) menu.&lt;br /&gt;
# Update your package lists and install git and Java runtime (the Canonical Partner Repository is needed to install the Sun Java JRE because it was moved out of the Multiverse in Ubuntu 10.04).  Type: &amp;lt;pre&amp;gt;sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install git&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install sun-java6-jre&amp;lt;/pre&amp;gt; If the java install fails, look for support on the Java website [http://www.java.com/en/download/linux_manual.jsp here].  If you receive an error about git, repeat the command using git-core instead.&lt;br /&gt;
# Download and install the Palm Novacom software: [https://cdn.downloads.palm.com/sdkdownloads/2.1.0.519/sdkBinaries/palm-novacom_1.0.64_i386.deb 32-bit] or [https://cdn.downloads.palm.com/sdkdownloads/2.1.0.519/sdkBinaries/palm-novacom_1.0.64_amd64.deb 64-bit].  If you have trouble installing, you can find more information [https://developer.palm.com/content/resources/develop/sdk_pdk_download.html#c28522 here].&lt;br /&gt;
# Download the meta-doctor scripts using git.  Type: &amp;lt;pre&amp;gt;git clone git://git.webos-internals.org/tools/meta-doctor.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Navigate to the meta-doctor directory. &amp;lt;pre&amp;gt;cd meta-doctor&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Create a downloads directory.  Type: &amp;lt;pre&amp;gt;mkdir downloads&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mac OS X 10.6 ==&lt;br /&gt;
&lt;br /&gt;
#Install MacPorts first, which will allow us to easily install the necessary packages for MetaDoctor. [http://www.macports.org/install.php]. Please note that MacPorts requires Apple's Xcode Developer Tools (version 3.2.1 or later for Snow Leopard, 3.1.4 or later for Leopard, or 2.5 for Tiger), found at the [http://connect.apple.com/ Apple Developer Connection site] or on your Mac OS X installation CDs/DVD.&lt;br /&gt;
#Install md5sum: &amp;lt;pre&amp;gt;sudo port install md5sha1sum&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Install gnutar: &amp;lt;pre&amp;gt;sudo port install gnutar&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Install git: &amp;lt;pre&amp;gt;sudo port install git-core&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Install wget: &amp;lt;pre&amp;gt;sudo port install wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Now type: &amp;lt;pre&amp;gt;git clone git://git.webos-internals.org/tools/meta-doctor.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Install patch: &amp;lt;pre&amp;gt;sudo port install gpatch&amp;lt;/pre&amp;gt;&lt;br /&gt;
#If you do not have Java installed, do so. To install Java, click on the &amp;quot;Apple&amp;quot; icon and select &amp;quot;Software Update.&amp;quot; This will automatically update you to the latest version of Java if necessary, as Apple supplies their own version of Java. Further instructions can be found [http://support.apple.com/kb/HT1338?viewlocale=en_US here].&lt;br /&gt;
#Download and install the Palm Novacom software from http://developer.palm.com. The Mac OS X SDK is located [http://cdn.downloads.palm.com/sdkdownloads/1.4.5.465/sdkBinaries/Palm_webOS_SDK.1.4.5.465.dmg here].&lt;br /&gt;
#Open a terminal and navigate to the meta-doctor directory where the meta-doctor was copied to in step 6 above.&amp;lt;pre&amp;gt;cd meta-doctor&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Ensure that there is a downloads directory.  If there is not one, create one using &amp;lt;pre&amp;gt;mkdir downloads&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Step 2: Running the webOS Doctor=&lt;br /&gt;
&lt;br /&gt;
Note that if you are following a procedure on another wiki page which only requires the installation of the MetaDoctor and then tells you to return to that other page, then this is the place at which you should return.&lt;br /&gt;
&lt;br /&gt;
'''If you intend to enable WIFI Profiles, you must copy a file off of the phone before doctoring. See the section below on enabling wifi profiles.'''&lt;br /&gt;
&lt;br /&gt;
# Navigate to the meta-doctor directory in the terminal&lt;br /&gt;
# Download the latest webosdoctor file using the download paths found at [http://www.webos-internals.org/wiki/Webos_Doctor_Versions Webos Doctor Versions] .The wr version is the French,German,Irish,Spanish and UK GSM version.  An example (i.e. will not work, you need to look for the latest URL) download command would be: &amp;lt;pre&amp;gt;cd downloads&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;wget http://palm.cdnetworks.net/rom/pre/p1351r0d01082010/sr1ntp1351rod/webosdoctorp100ewwsprint.jar&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Rename the file that you download to include the version number for future reference (examples: webosdoctorp100ewwsprint-1.3.5.1.jar, webosdoctorp100eww-wr-1.1.3.jar, or webosdoctorp100ewwbellmo-1.2.1.jar).   An example (i.e. will not work, you need to work out the filename based on the URL you used to download it) command to do that would be:&amp;lt;pre&amp;gt;mv webosdoctorp100ewwbellmo.jar webosdoctorp100ewwbellmo-1.3.5.1.jar&amp;lt;/pre&amp;gt;&lt;br /&gt;
# If you would like Meta-Doctor to apply patches to webOS in order to add or change functionality from the factory install, open the Makefile with your favorite text editor and uncomment (remove the leading # characters from) the options you would like to use. &lt;br /&gt;
# Before doing the next step, make sure you change back into the meta-doctor directory first. All the following commands must be run from the meta-doctor directory.&lt;br /&gt;
# Type one of the following: &lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pre all-wr&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=preplus all-wr&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pixiplus all-wr&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pre all-sprint&amp;lt;/pre&amp;gt; &lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pixi all-sprint&amp;lt;/pre&amp;gt; &lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pre all-bellmo&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pre all-telcel&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=preplus all-verizonwireless&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pixiplus all-verizonwireless&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=preplus all-att&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pixiplus all-att&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: depending on the carrier in question.&lt;br /&gt;
'''Note ''': use make DEVICE=palm_smartphone_type all-wr for O2 Germany, UK and Ireland / Movistar Spain / SFR France&lt;br /&gt;
&lt;br /&gt;
This should begin a process within the terminal that should take 10 minutes max.&lt;br /&gt;
&lt;br /&gt;
=== Error conditions ===&lt;br /&gt;
&lt;br /&gt;
If an error message appears with unknown in a file name, check the file rename in step 8 above.&lt;br /&gt;
&lt;br /&gt;
=== If the build fails ===&lt;br /&gt;
&lt;br /&gt;
If the make command fails, you can use &amp;lt;pre&amp;gt;make clobber&amp;lt;/pre&amp;gt; to clean up the build directory. After this you can re-run the command.&lt;br /&gt;
&lt;br /&gt;
The updated doctor version has the same name as the original, but is in a new folder: ''meta-doctor/build/pre-p100eww-sprint-1.3.5.1/webosdoctorp100ewwsprint-1.3.5.1.jar''.&lt;br /&gt;
&lt;br /&gt;
If you are running in Ubuntu or Cygwin, you can just run the new jar file now.  &lt;br /&gt;
&lt;br /&gt;
If you are running Ubuntu using VM, you will need to copy the new jar out of the VM into your live desktop to run the jar in your native OS. &lt;br /&gt;
&lt;br /&gt;
CD to the folder where your new jar file is, and type something like: &lt;br /&gt;
&lt;br /&gt;
java -jar webosdoctorp100ewwsprint-1.3.5.1.jar&lt;br /&gt;
&lt;br /&gt;
If you were using a VM or some other virtual method, you will need to copy the jar file out to your main operating system before running it.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Windows host:''&lt;br /&gt;
&lt;br /&gt;
[http://ubuntuexperiment.wordpress.com/2008/11/12/sharing-folders-between-host-and-guest-os-in-virtualbox/ VirtualBox folder Sharing]&lt;br /&gt;
&lt;br /&gt;
[http://www.howtogeek.com/howto/ubuntu/how-to-share-folders-with-your-ubuntu-virtual-machine-guest/ VMWare folder Sharing]&lt;br /&gt;
&lt;br /&gt;
''Mac OSX host:''&lt;br /&gt;
&lt;br /&gt;
[http://davidherron.com/blog/topics/628-virtualbox-running-ubuntu-accessing-host-file-system-mac-os-x VirtualBox folder Sharing]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: ''NOTE: this only applies to WUBI Users''  &lt;br /&gt;
You should be able to run the JAR as if you had Linux installed natively because in a sense you do (as long as Java is installed and you run the Jar using Java) but if you rather run it in windows  &lt;br /&gt;
&lt;br /&gt;
Using terminal the following command in a Wubi installation of Ubuntu will copy the JAR file to the host Windows OS :&amp;lt;pre&amp;gt;cp /meta-doctor/build/pre-p100eww-sprint-1.2.1/webosdoctorp100ewwsprint-1.2.1.jar /host/webosdoctorp100ewwsprint-1.2.1.jar&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will place the Jar either in your Windows C:\ drive or whatever drive you installed Wubi to.&lt;br /&gt;
&lt;br /&gt;
== Once the Doctor is running ==&lt;br /&gt;
&lt;br /&gt;
# Select your language&lt;br /&gt;
# Accept the license agreement&lt;br /&gt;
# Connect your Pre to your PC via USB and select &amp;quot;Next&amp;quot; when it becomes available&lt;br /&gt;
&lt;br /&gt;
After completion the device will reboot and present you with the activation set-up.&lt;br /&gt;
&lt;br /&gt;
If your PC does not recognize your Pre and you cannot go past step 3 above, try the following steps:&lt;br /&gt;
&lt;br /&gt;
# With the USB cable connected, completely power off the Pre (hold down the power button until the option to power off appears)&lt;br /&gt;
# Hold down the Up button on the volume rocker&lt;br /&gt;
# While holding the Up button, power on the Pre&lt;br /&gt;
# &amp;quot;Next&amp;quot; should now be enabled - proceed with the recovery&lt;br /&gt;
{{tux|Tux_with_Pre.png|float:right;}}&lt;br /&gt;
The above steps will put the Pre into bootloader recovery mode and should allow the PC to recognize your device and proceed with the restore. In this mode the screen will display a giant USB logo instead of the usual Palm startup logo.&lt;br /&gt;
&lt;br /&gt;
When the process finishes, the Pre will reboot and your new modified image will have been installed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
After the doctor completes, you will need to run the &amp;quot;First Run&amp;quot; application. To do this, you will need an active internet connection. Either WiFi or Cellular. If you do not have WiFi and cannot connect to the Palm Profile servers, you might have a problem with your programming. This Meta Doctor (or webOS Doctor in general) could possibly erase the modem's programming. To resolve you will need to perform the following steps:&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This has only been confirmed to resolve Sprint CDMA issues, YMMV.&lt;br /&gt;
&lt;br /&gt;
'''Note 2:''' You should try to update your profile first. Open the phone app, open the App Menu and select ''Preferences'' then select ''Update Network Settings''. If you get an error, then procede with these instructions.&lt;br /&gt;
*'''1.''' Open the Phone App.&lt;br /&gt;
*'''2.''' Enter ''##MSL#'' (MSL= 6 digit lock code. Get this from Sprint.)&lt;br /&gt;
*'''3.''' Verify your MDN and MSID are incorrect. If they are incorrect, continue. If they are correct, this is not your problem and you should not continue.&lt;br /&gt;
*'''4.''' Select ''Edit''.&lt;br /&gt;
*'''5.''' Select the first box (MDN) and enter your 10-digit cellular number.&lt;br /&gt;
*'''6.''' Select the second box (MSID) and enter your 10-digit MSID (Get this from Sprint).&lt;br /&gt;
*'''7.''' Select ''Save''.&lt;br /&gt;
*'''8.''' Backswipe out of the the view.&lt;br /&gt;
*'''9.''' You should now be able to open complete '''Note 2''' above without any errors.&lt;br /&gt;
&lt;br /&gt;
You should now be able to run the ''First Use'' application without any problems.&lt;br /&gt;
&lt;br /&gt;
=If the Doctor will not run=&lt;br /&gt;
Go [http://www.webos-internals.org/wiki/How_To_Recover here] if you have further problems connecting your Pre to the running Meta'ed Doctor.&lt;br /&gt;
&lt;br /&gt;
=Miscellaneous=&lt;br /&gt;
Clarification for Linux beginners on where to place the prefsDB.sl file, per instructions in the makefile.&lt;br /&gt;
Steps:&lt;br /&gt;
1. Open makefile using a text editor (like WordPad) and use the instructions there to retrieve your prefsDB.sl file from your device. Save it somewhere convenient on your host machine (aka, computer).&lt;br /&gt;
2. Navigate to the meta-doctor directory and create the config directory: mkdir -p config&lt;br /&gt;
3. Rename your prefsDB.sl file to com.palm.wifi.prefsDB.sl&lt;br /&gt;
4. Put com.palm.wifi.prefsDB.sl in the config directory.&lt;br /&gt;
5. Continue following instructions in the makefile.&lt;br /&gt;
&lt;br /&gt;
==How to enable WIFI profiles==&lt;br /&gt;
To enable wifi profiles it is necessary to copy your wifi profile file off of your phone and place this in a directory, as well as enable the wifi profile option in the makefile. &lt;br /&gt;
&lt;br /&gt;
# Move to the meta-doctor directory (cd meta-doctor)&lt;br /&gt;
# Create a &amp;quot;config&amp;quot; folder in the meta-doctor directory (mkdir config)&lt;br /&gt;
# Copy the prefsDB.sl file off of your phone from the var/preferences/com.palm.wifi/ and into the &amp;quot;config&amp;quot; directory that you just created.&lt;br /&gt;
# Rename this file &amp;quot;com.palm.wifi.prefsDB.sl&amp;quot; without the quotes&lt;br /&gt;
# Open the makefile (which is in the meta-doctor directory) and remove the &amp;quot;#&amp;quot; from the line &amp;quot;# INSTALL_WIFI_PROFILES = 1&amp;quot;. Save the makefile.&lt;br /&gt;
# Build the custom doctor by running the script, or otherwise building it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On launch of the new doctor your wifi profile should automatically connect, but '''only if''' you had previously connected to the WIFI network you are trying to use.&lt;br /&gt;
&lt;br /&gt;
See these links for more information: [http://forums.precentral.net/webos-internals/276460-how-install-webos-2-1-0-pre-pre-using-meta-doctor-27.html#post2882495 Post 1], [http://discussion.treocentral.com/webos-internals/276460-how-install-webos-2-1-0-pre-pre-using-meta-doctor-43.html#post2884415 Post 2].&lt;br /&gt;
&lt;br /&gt;
==How to change a provider's DB-entry so 3G data can be used on the Pre==&lt;br /&gt;
&lt;br /&gt;
[http://forums.precentral.net/gsm-pre/211728-modifying-webos-carrier-network-settings.html#post2002079 This post] and [http://forums.precentral.net/palm-pre/209222-few-questions-about-german-palm-pre-6.html this thread] describe various ways to adjust the provider's data base in the Pre, so the 3G datacom works on non-supported networks. webOS 1.3.1 allows setting of the providers data directly from the activation screen for providers that are present in the DB. Some report that they are not able to do that and that they cannot get 3G datacom working on 1.3.1&lt;br /&gt;
&lt;br /&gt;
== Problems with Novacom ==&lt;br /&gt;
If you are Running a new Distro, like Archlinux, you could run into problem with novacom while trying to connect your pre. Running novacomd on the command line could provide further information. This may be a problem with libusb. Get a older version like described in [http://developer.palm.com/distribution/viewtopic.php?f=11&amp;amp;t=4233&amp;amp;start=0 this thread].&lt;br /&gt;
&lt;br /&gt;
== How to Install webOS 2.x on &amp;quot;unoffical&amp;quot; Devices==&lt;br /&gt;
With the release of the O2-DE webOS Doctor, efforts have been made to apply the techniques of MetaDoctor and create a custom doctor to apply 2.1.0 to devices that it was not been officially released for.  For those not faint of heart, a step-by-step can be found at the following:  [[WebOS 2 Upgrade]]&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:MetaDoctor&amp;diff=15991</id>
		<title>Application:MetaDoctor</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:MetaDoctor&amp;diff=15991"/>
		<updated>2011-05-14T19:42:32Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
This page is currently available in four languages:&lt;br /&gt;
:[[Image:Australia.png]] [[Image:USA.png]] [[Application:MetaDoctor]]&lt;br /&gt;
:[[Image:France.png]] [[Application:MetaDoctor-FR]]&lt;br /&gt;
:[[Image:Germany.png]] [[Application:MetaDoctor-DE]]&lt;br /&gt;
:[[Image:Mexico.png]] [[Image:Spain.png]] [[Application:MetaDoctor-ES]]&lt;br /&gt;
&lt;br /&gt;
= What is the Meta Doctor? =&lt;br /&gt;
&lt;br /&gt;
The Webos Internals Meta Doctor is a Makefile which can modify a copy of the Palm webOS Doctor to bypass the &amp;quot;First Use&amp;quot; application and allow the phone to run without having been activated on a cell network. It accomplishes this by reaching into Palm's distributed Doctor JAR file and making changes to it. It can prevent the first use app from running, as well as applying other tweaks to the OS.&lt;br /&gt;
&lt;br /&gt;
'''Documentation for the features that the MetaDoctor offers is at the top of the Makefile (you find out where that is later).'''&lt;br /&gt;
&lt;br /&gt;
= Step 1: Setting up Meta-Doctor=&lt;br /&gt;
&lt;br /&gt;
== Windows ==&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;
Windows users can use the meta doctor without harming your current installation of windows using simple Ubuntu installer called WUBI. Also no need for moding any partitions or installing any boot loaders. It will just appear as program in your installed software list and when you do not want it anymore simply uninstall it while in windows through Control Panel. It is easy and there is no virtual machine headaches of trying to configure USB, Network and File sharing with host computer... To access it you just reboot and choose Ubuntu from dual boot screen.&lt;br /&gt;
&lt;br /&gt;
# Download [http://www.ubuntu.com/getubuntu/download Ubuntu 11.04], look for the Ubuntu Desktop Edition, '''not the Windows Installer'''&lt;br /&gt;
# Burn that file to a cd or mount to virtual drive&lt;br /&gt;
# Run cd in windows (the wubi.exe file inside the disk, it also comes up in auto run) - '''Don't boot your machine with the CD (called as using the LiveCD, as this option won't give you enough space for the MetaDoctor process to complete.'''&lt;br /&gt;
# Click on '''Install Inside windows'''.&lt;br /&gt;
#: This will install Ubuntu while running Windows without the need of making a partition I would recomand making the install image the full recommended 30 gigs if you have the hard drive space and think you are interested in actually using the Ubuntu OS, otherwise the minimum recommended by Wubi should be just fine. &lt;br /&gt;
# Restart your computer and you can dual boot to Windows or Ubuntu &lt;br /&gt;
&lt;br /&gt;
The nice thing about this is that it will allow you to uninstall Ubuntu right from Windows as if it was never there and remove the dual boot, not to mention the fact you do not need to partition your drive.&lt;br /&gt;
&lt;br /&gt;
If you are still wondering what Wubi is the fallowing link should explain it to you better.&lt;br /&gt;
[https://wiki.ubuntu.com/WubiGuide Wubi Guide]&lt;br /&gt;
&lt;br /&gt;
Once you have installed WUBI, you should follow the instructions in the Linux section below.&lt;br /&gt;
&lt;br /&gt;
== Linux == &lt;br /&gt;
&lt;br /&gt;
# Open terminal from the ( Applications &amp;gt; Accessories ) menu.&lt;br /&gt;
# Update your package lists and install git and Java runtime (the Canonical Partner Repository is needed to install the Sun Java JRE because it was moved out of the Multiverse in Ubuntu 10.04).  Type: &amp;lt;pre&amp;gt;sudo add-apt-repository &amp;quot;deb http://archive.canonical.com/ lucid partner&amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get update&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install git&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;sudo apt-get install sun-java6-jre&amp;lt;/pre&amp;gt; If the java install fails, look for support on the Java website [http://www.java.com/en/download/linux_manual.jsp here].  If you receive an error about git, repeat the command using git-core instead.&lt;br /&gt;
# Download and install the Palm Novacom software: [https://cdn.downloads.palm.com/sdkdownloads/2.1.0.519/sdkBinaries/palm-novacom_1.0.64_i386.deb 32-bit] or [https://cdn.downloads.palm.com/sdkdownloads/2.1.0.519/sdkBinaries/palm-novacom_1.0.64_amd64.deb 64-bit].  If you have trouble installing, you can find more information [https://developer.palm.com/content/resources/develop/sdk_pdk_download.html#c28522 here].&lt;br /&gt;
# Download the meta-doctor scripts using git.  Type: &amp;lt;pre&amp;gt;git clone git://webos-internals.org/tools/meta-doctor.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Navigate to the meta-doctor directory. &amp;lt;pre&amp;gt;cd meta-doctor&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Create a downloads directory.  Type: &amp;lt;pre&amp;gt;mkdir downloads&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mac OS X 10.6 ==&lt;br /&gt;
&lt;br /&gt;
#Install MacPorts first, which will allow us to easily install the necessary packages for MetaDoctor. [http://www.macports.org/install.php]. Please note that MacPorts requires Apple's Xcode Developer Tools (version 3.2.1 or later for Snow Leopard, 3.1.4 or later for Leopard, or 2.5 for Tiger), found at the [http://connect.apple.com/ Apple Developer Connection site] or on your Mac OS X installation CDs/DVD.&lt;br /&gt;
#Install md5sum: &amp;lt;pre&amp;gt;sudo port install md5sha1sum&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Install gnutar: &amp;lt;pre&amp;gt;sudo port install gnutar&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Install git: &amp;lt;pre&amp;gt;sudo port install git-core&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Install wget: &amp;lt;pre&amp;gt;sudo port install wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Now type: &amp;lt;pre&amp;gt;git clone git://webos-internals.org/tools/meta-doctor.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Install patch: &amp;lt;pre&amp;gt;sudo port install gpatch&amp;lt;/pre&amp;gt;&lt;br /&gt;
#If you do not have Java installed, do so. To install Java, click on the &amp;quot;Apple&amp;quot; icon and select &amp;quot;Software Update.&amp;quot; This will automatically update you to the latest version of Java if necessary, as Apple supplies their own version of Java. Further instructions can be found [http://support.apple.com/kb/HT1338?viewlocale=en_US here].&lt;br /&gt;
#Download and install the Palm Novacom software from http://developer.palm.com. The Mac OS X SDK is located [http://cdn.downloads.palm.com/sdkdownloads/1.4.5.465/sdkBinaries/Palm_webOS_SDK.1.4.5.465.dmg here].&lt;br /&gt;
#Open a terminal and navigate to the meta-doctor directory where the meta-doctor was copied to in step 6 above.&amp;lt;pre&amp;gt;cd meta-doctor&amp;lt;/pre&amp;gt;&lt;br /&gt;
#Ensure that there is a downloads directory.  If there is not one, create one using &amp;lt;pre&amp;gt;mkdir downloads&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Step 2: Running the webOS Doctor=&lt;br /&gt;
&lt;br /&gt;
Note that if you are following a procedure on another wiki page which only requires the installation of the MetaDoctor and then tells you to return to that other page, then this is the place at which you should return.&lt;br /&gt;
&lt;br /&gt;
'''If you intend to enable WIFI Profiles, you must copy a file off of the phone before doctoring. See the section below on enabling wifi profiles.'''&lt;br /&gt;
&lt;br /&gt;
# Navigate to the meta-doctor directory in the terminal&lt;br /&gt;
# Download the latest webosdoctor file using the download paths found at [http://www.webos-internals.org/wiki/Webos_Doctor_Versions Webos Doctor Versions] .The wr version is the French,German,Irish,Spanish and UK GSM version.  An example (i.e. will not work, you need to look for the latest URL) download command would be: &amp;lt;pre&amp;gt;cd downloads&amp;lt;/pre&amp;gt;&amp;lt;pre&amp;gt;wget http://palm.cdnetworks.net/rom/pre/p1351r0d01082010/sr1ntp1351rod/webosdoctorp100ewwsprint.jar&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Rename the file that you download to include the version number for future reference (examples: webosdoctorp100ewwsprint-1.3.5.1.jar, webosdoctorp100eww-wr-1.1.3.jar, or webosdoctorp100ewwbellmo-1.2.1.jar).   An example (i.e. will not work, you need to work out the filename based on the URL you used to download it) command to do that would be:&amp;lt;pre&amp;gt;mv webosdoctorp100ewwbellmo.jar webosdoctorp100ewwbellmo-1.3.5.1.jar&amp;lt;/pre&amp;gt;&lt;br /&gt;
# If you would like Meta-Doctor to apply patches to webOS in order to add or change functionality from the factory install, open the Makefile with your favorite text editor and uncomment (remove the leading # characters from) the options you would like to use. &lt;br /&gt;
# Before doing the next step, make sure you change back into the meta-doctor directory first. All the following commands must be run from the meta-doctor directory.&lt;br /&gt;
# Type one of the following: &lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pre all-wr&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=preplus all-wr&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pixiplus all-wr&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pre all-sprint&amp;lt;/pre&amp;gt; &lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pixi all-sprint&amp;lt;/pre&amp;gt; &lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pre all-bellmo&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pre all-telcel&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=preplus all-verizonwireless&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pixiplus all-verizonwireless&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=preplus all-att&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: &amp;lt;pre&amp;gt;make DEVICE=pixiplus all-att&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: depending on the carrier in question.&lt;br /&gt;
'''Note ''': use make DEVICE=palm_smartphone_type all-wr for O2 Germany, UK and Ireland / Movistar Spain / SFR France&lt;br /&gt;
&lt;br /&gt;
This should begin a process within the terminal that should take 10 minutes max.&lt;br /&gt;
&lt;br /&gt;
=== Error conditions ===&lt;br /&gt;
&lt;br /&gt;
If an error message appears with unknown in a file name, check the file rename in step 8 above.&lt;br /&gt;
&lt;br /&gt;
=== If the build fails ===&lt;br /&gt;
&lt;br /&gt;
If the make command fails, you can use &amp;lt;pre&amp;gt;make clobber&amp;lt;/pre&amp;gt; to clean up the build directory. After this you can re-run the command.&lt;br /&gt;
&lt;br /&gt;
The updated doctor version has the same name as the original, but is in a new folder: ''meta-doctor/build/pre-p100eww-sprint-1.3.5.1/webosdoctorp100ewwsprint-1.3.5.1.jar''.&lt;br /&gt;
&lt;br /&gt;
If you are running in Ubuntu or Cygwin, you can just run the new jar file now.  &lt;br /&gt;
&lt;br /&gt;
If you are running Ubuntu using VM, you will need to copy the new jar out of the VM into your live desktop to run the jar in your native OS. &lt;br /&gt;
&lt;br /&gt;
CD to the folder where your new jar file is, and type something like: &lt;br /&gt;
&lt;br /&gt;
java -jar webosdoctorp100ewwsprint-1.3.5.1.jar&lt;br /&gt;
&lt;br /&gt;
If you were using a VM or some other virtual method, you will need to copy the jar file out to your main operating system before running it.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Windows host:''&lt;br /&gt;
&lt;br /&gt;
[http://ubuntuexperiment.wordpress.com/2008/11/12/sharing-folders-between-host-and-guest-os-in-virtualbox/ VirtualBox folder Sharing]&lt;br /&gt;
&lt;br /&gt;
[http://www.howtogeek.com/howto/ubuntu/how-to-share-folders-with-your-ubuntu-virtual-machine-guest/ VMWare folder Sharing]&lt;br /&gt;
&lt;br /&gt;
''Mac OSX host:''&lt;br /&gt;
&lt;br /&gt;
[http://davidherron.com/blog/topics/628-virtualbox-running-ubuntu-accessing-host-file-system-mac-os-x VirtualBox folder Sharing]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: ''NOTE: this only applies to WUBI Users''  &lt;br /&gt;
You should be able to run the JAR as if you had Linux installed natively because in a sense you do (as long as Java is installed and you run the Jar using Java) but if you rather run it in windows  &lt;br /&gt;
&lt;br /&gt;
Using terminal the following command in a Wubi installation of Ubuntu will copy the JAR file to the host Windows OS :&amp;lt;pre&amp;gt;cp /meta-doctor/build/pre-p100eww-sprint-1.2.1/webosdoctorp100ewwsprint-1.2.1.jar /host/webosdoctorp100ewwsprint-1.2.1.jar&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will place the Jar either in your Windows C:\ drive or whatever drive you installed Wubi to.&lt;br /&gt;
&lt;br /&gt;
== Once the Doctor is running ==&lt;br /&gt;
&lt;br /&gt;
# Select your language&lt;br /&gt;
# Accept the license agreement&lt;br /&gt;
# Connect your Pre to your PC via USB and select &amp;quot;Next&amp;quot; when it becomes available&lt;br /&gt;
&lt;br /&gt;
After completion the device will reboot and present you with the activation set-up.&lt;br /&gt;
&lt;br /&gt;
If your PC does not recognize your Pre and you cannot go past step 3 above, try the following steps:&lt;br /&gt;
&lt;br /&gt;
# With the USB cable connected, completely power off the Pre (hold down the power button until the option to power off appears)&lt;br /&gt;
# Hold down the Up button on the volume rocker&lt;br /&gt;
# While holding the Up button, power on the Pre&lt;br /&gt;
# &amp;quot;Next&amp;quot; should now be enabled - proceed with the recovery&lt;br /&gt;
{{tux|Tux_with_Pre.png|float:right;}}&lt;br /&gt;
The above steps will put the Pre into bootloader recovery mode and should allow the PC to recognize your device and proceed with the restore. In this mode the screen will display a giant USB logo instead of the usual Palm startup logo.&lt;br /&gt;
&lt;br /&gt;
When the process finishes, the Pre will reboot and your new modified image will have been installed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
After the doctor completes, you will need to run the &amp;quot;First Run&amp;quot; application. To do this, you will need an active internet connection. Either WiFi or Cellular. If you do not have WiFi and cannot connect to the Palm Profile servers, you might have a problem with your programming. This Meta Doctor (or webOS Doctor in general) could possibly erase the modem's programming. To resolve you will need to perform the following steps:&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This has only been confirmed to resolve Sprint CDMA issues, YMMV.&lt;br /&gt;
&lt;br /&gt;
'''Note 2:''' You should try to update your profile first. Open the phone app, open the App Menu and select ''Preferences'' then select ''Update Network Settings''. If you get an error, then procede with these instructions.&lt;br /&gt;
*'''1.''' Open the Phone App.&lt;br /&gt;
*'''2.''' Enter ''##MSL#'' (MSL= 6 digit lock code. Get this from Sprint.)&lt;br /&gt;
*'''3.''' Verify your MDN and MSID are incorrect. If they are incorrect, continue. If they are correct, this is not your problem and you should not continue.&lt;br /&gt;
*'''4.''' Select ''Edit''.&lt;br /&gt;
*'''5.''' Select the first box (MDN) and enter your 10-digit cellular number.&lt;br /&gt;
*'''6.''' Select the second box (MSID) and enter your 10-digit MSID (Get this from Sprint).&lt;br /&gt;
*'''7.''' Select ''Save''.&lt;br /&gt;
*'''8.''' Backswipe out of the the view.&lt;br /&gt;
*'''9.''' You should now be able to open complete '''Note 2''' above without any errors.&lt;br /&gt;
&lt;br /&gt;
You should now be able to run the ''First Use'' application without any problems.&lt;br /&gt;
&lt;br /&gt;
=If the Doctor will not run=&lt;br /&gt;
Go [http://www.webos-internals.org/wiki/How_To_Recover here] if you have further problems connecting your Pre to the running Meta'ed Doctor.&lt;br /&gt;
&lt;br /&gt;
=Miscellaneous=&lt;br /&gt;
Clarification for Linux beginners on where to place the prefsDB.sl file, per instructions in the makefile.&lt;br /&gt;
Steps:&lt;br /&gt;
1. Open makefile using a text editor (like WordPad) and use the instructions there to retrieve your prefsDB.sl file from your device. Save it somewhere convenient on your host machine (aka, computer).&lt;br /&gt;
2. Navigate to the meta-doctor directory and create the config directory: mkdir -p config&lt;br /&gt;
3. Rename your prefsDB.sl file to com.palm.wifi.prefsDB.sl&lt;br /&gt;
4. Put com.palm.wifi.prefsDB.sl in the config directory.&lt;br /&gt;
5. Continue following instructions in the makefile.&lt;br /&gt;
&lt;br /&gt;
==How to enable WIFI profiles==&lt;br /&gt;
To enable wifi profiles it is necessary to copy your wifi profile file off of your phone and place this in a directory, as well as enable the wifi profile option in the makefile. &lt;br /&gt;
&lt;br /&gt;
# Move to the meta-doctor directory (cd meta-doctor)&lt;br /&gt;
# Create a &amp;quot;config&amp;quot; folder in the meta-doctor directory (mkdir config)&lt;br /&gt;
# Copy the prefsDB.sl file off of your phone from the var/preferences/com.palm.wifi/ and into the &amp;quot;config&amp;quot; directory that you just created.&lt;br /&gt;
# Rename this file &amp;quot;com.palm.wifi.prefsDB.sl&amp;quot; without the quotes&lt;br /&gt;
# Open the makefile (which is in the meta-doctor directory) and remove the &amp;quot;#&amp;quot; from the line &amp;quot;# INSTALL_WIFI_PROFILES = 1&amp;quot;. Save the makefile.&lt;br /&gt;
# Build the custom doctor by running the script, or otherwise building it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On launch of the new doctor your wifi profile should automatically connect, but '''only if''' you had previously connected to the WIFI network you are trying to use.&lt;br /&gt;
&lt;br /&gt;
See these links for more information: [http://forums.precentral.net/webos-internals/276460-how-install-webos-2-1-0-pre-pre-using-meta-doctor-27.html#post2882495 Post 1], [http://discussion.treocentral.com/webos-internals/276460-how-install-webos-2-1-0-pre-pre-using-meta-doctor-43.html#post2884415 Post 2].&lt;br /&gt;
&lt;br /&gt;
==How to change a provider's DB-entry so 3G data can be used on the Pre==&lt;br /&gt;
&lt;br /&gt;
[http://forums.precentral.net/gsm-pre/211728-modifying-webos-carrier-network-settings.html#post2002079 This post] and [http://forums.precentral.net/palm-pre/209222-few-questions-about-german-palm-pre-6.html this thread] describe various ways to adjust the provider's data base in the Pre, so the 3G datacom works on non-supported networks. webOS 1.3.1 allows setting of the providers data directly from the activation screen for providers that are present in the DB. Some report that they are not able to do that and that they cannot get 3G datacom working on 1.3.1&lt;br /&gt;
&lt;br /&gt;
== Problems with Novacom ==&lt;br /&gt;
If you are Running a new Distro, like Archlinux, you could run into problem with novacom while trying to connect your pre. Running novacomd on the command line could provide further information. This may be a problem with libusb. Get a older version like described in [http://developer.palm.com/distribution/viewtopic.php?f=11&amp;amp;t=4233&amp;amp;start=0 this thread].&lt;br /&gt;
&lt;br /&gt;
== How to Install webOS 2.x on &amp;quot;unoffical&amp;quot; Devices==&lt;br /&gt;
With the release of the O2-DE webOS Doctor, efforts have been made to apply the techniques of MetaDoctor and create a custom doctor to apply 2.1.0 to devices that it was not been officially released for.  For those not faint of heart, a step-by-step can be found at the following:  [[WebOS 2 Upgrade]]&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Linux_Applications_Communications&amp;diff=8834</id>
		<title>Portal:Linux Applications Communications</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Linux_Applications_Communications&amp;diff=8834"/>
		<updated>2010-02-01T06:23:26Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&amp;lt;!-- NOTE NOTE NOTE NOT  leave this comment at the top of the page. &lt;br /&gt;
&lt;br /&gt;
     copy this template and fill it in for each applicaton:  &lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=&lt;br /&gt;
|site=&lt;br /&gt;
|user=&lt;br /&gt;
|article=&lt;br /&gt;
|category=&lt;br /&gt;
|description=&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{portal-application-type&lt;br /&gt;
|type=Linux&lt;br /&gt;
|tag=Communication&lt;br /&gt;
|title=List of applications that are for Communications.&lt;br /&gt;
|list=&lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=F5VPN&lt;br /&gt;
|site=http://google.com/&lt;br /&gt;
|user=JohnTomawski&lt;br /&gt;
|article=F5VPN&lt;br /&gt;
|category=Communication&lt;br /&gt;
|description=Empty&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=sdlVNC&lt;br /&gt;
|site=http://google.com/&lt;br /&gt;
|user=zonyl&lt;br /&gt;
|article=sdlVNC&lt;br /&gt;
|category=Communication&lt;br /&gt;
|description=Empty&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Linux_Applications_Communications&amp;diff=8833</id>
		<title>Portal:Linux Applications Communications</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Linux_Applications_Communications&amp;diff=8833"/>
		<updated>2010-02-01T06:22:33Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&amp;lt;!-- NOTE NOTE NOTE NOT  leave this comment at the top of the page. &lt;br /&gt;
&lt;br /&gt;
     copy this template and fill it in for each applicaton:  &lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=&lt;br /&gt;
|site=&lt;br /&gt;
|user=&lt;br /&gt;
|article=&lt;br /&gt;
|category=&lt;br /&gt;
|description=&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{portal-application-type&lt;br /&gt;
|type=Linux&lt;br /&gt;
|tag=Communication&lt;br /&gt;
|title=List of applications that are for Communications.&lt;br /&gt;
|list=&lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=F5VPN&lt;br /&gt;
|user=JohnTomawski&lt;br /&gt;
|article=F5VPN&lt;br /&gt;
|category=Communication&lt;br /&gt;
|description=Empty&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=sdlVNC&lt;br /&gt;
|user=zonyl&lt;br /&gt;
|article=sdlVNC&lt;br /&gt;
|category=Communication&lt;br /&gt;
|description=Empty&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Linux_Applications_Communications&amp;diff=8832</id>
		<title>Portal:Linux Applications Communications</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Linux_Applications_Communications&amp;diff=8832"/>
		<updated>2010-02-01T06:21:51Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&amp;lt;!-- NOTE NOTE NOTE NOT  leave this comment at the top of the page. &lt;br /&gt;
&lt;br /&gt;
     copy this template and fill it in for each applicaton:  &lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=&lt;br /&gt;
|site=&lt;br /&gt;
|user=&lt;br /&gt;
|article=&lt;br /&gt;
|category=&lt;br /&gt;
|description=&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{portal-application-type&lt;br /&gt;
|type=Linux&lt;br /&gt;
|tag=Communication&lt;br /&gt;
|title=List of applications that are for Communications.&lt;br /&gt;
|list=&lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=F5VPN&lt;br /&gt;
|site=google.com&lt;br /&gt;
|user=JohnTomawski&lt;br /&gt;
|article=F5VPN&lt;br /&gt;
|category=Communication&lt;br /&gt;
|description=Empty&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=sdlVNC&lt;br /&gt;
|site=google.com&lt;br /&gt;
|user=zonyl&lt;br /&gt;
|article=sdlVNC&lt;br /&gt;
|category=Communication&lt;br /&gt;
|description=Empty&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Linux_Applications_Communications&amp;diff=8831</id>
		<title>Portal:Linux Applications Communications</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Linux_Applications_Communications&amp;diff=8831"/>
		<updated>2010-02-01T06:21:25Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&amp;lt;!-- NOTE NOTE NOTE NOT  leave this comment at the top of the page. &lt;br /&gt;
&lt;br /&gt;
     copy this template and fill it in for each applicaton:  &lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=&lt;br /&gt;
|site=&lt;br /&gt;
|user=&lt;br /&gt;
|article=&lt;br /&gt;
|category=&lt;br /&gt;
|description=&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{portal-application-type&lt;br /&gt;
|type=Linux&lt;br /&gt;
|tag=Communication&lt;br /&gt;
|title=List of applications that are for Communications.&lt;br /&gt;
|list=&lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=F5VPN&lt;br /&gt;
|user=JohnTomawski&lt;br /&gt;
|article=F5VPN&lt;br /&gt;
|category=Communication&lt;br /&gt;
|description=Empty&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=sdlVNC&lt;br /&gt;
|user=zonyl&lt;br /&gt;
|article=sdlVNC&lt;br /&gt;
|category=Communication&lt;br /&gt;
|description=Empty&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Linux_Applications_Communications&amp;diff=8830</id>
		<title>Portal:Linux Applications Communications</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Linux_Applications_Communications&amp;diff=8830"/>
		<updated>2010-02-01T06:20:45Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&amp;lt;!-- NOTE NOTE NOTE NOT  leave this comment at the top of the page. &lt;br /&gt;
&lt;br /&gt;
     copy this template and fill it in for each applicaton:  &lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=&lt;br /&gt;
|site=&lt;br /&gt;
|user=&lt;br /&gt;
|article=&lt;br /&gt;
|category=&lt;br /&gt;
|description=&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{portal-application-type&lt;br /&gt;
|type=Linux&lt;br /&gt;
|tag=Communication&lt;br /&gt;
|title=List of applications that are for Communications.&lt;br /&gt;
|list=&lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=F5VPN&lt;br /&gt;
|site=http://google.com/&lt;br /&gt;
|user=JohnTomawski&lt;br /&gt;
|article=F5VPN&lt;br /&gt;
|category=Communication&lt;br /&gt;
|description=Empty&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{portal-application-item&lt;br /&gt;
|name=sdlVNC&lt;br /&gt;
|site=http://google.com/&lt;br /&gt;
|user=zonyl&lt;br /&gt;
|article=sdlVNC&lt;br /&gt;
|category=Communication&lt;br /&gt;
|description=Empty&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Next_steps&amp;diff=8828</id>
		<title>Next steps</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Next_steps&amp;diff=8828"/>
		<updated>2010-02-01T06:15:51Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{deprecated|&lt;br /&gt;
'''If all you want to do is install an SFTP server''': Just go to the Optware section in [[Preware]] and install it from there.  Then go to the [http://www.webos-internals.org/wiki/Application:OpenSSH OpenSSH package homepage] and read the instructions there to create an SSH key for use when accessing your phone via ssh or sftp.&lt;br /&gt;
&lt;br /&gt;
'''Otherwise''': continue as below.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Automated Setup of Optware, Users and Access=&lt;br /&gt;
The webOS community asks that users who have obtained access to the Linux subsystem install a standard set of software  to ensure everyone has the necessary tools in place to use the resources the community is providing.&lt;br /&gt;
&lt;br /&gt;
In particular, this includes the Optware package manager.  Palm's webOS uses the ''ipkg'' package manager internally.  The community has a version of ''ipkg''  called  ''ipkg-opt'' which accesses the Optware library of over 1300 Linux programs available for installation on the Pre. &lt;br /&gt;
&lt;br /&gt;
Palm has indicated that they have no intention of using the /opt directory, so we direct our installs to /opt/bin rather than /bin to avoid being overwritten  by future Palm software upgrades. &lt;br /&gt;
&lt;br /&gt;
In addition, the standard package  creates a non-root user, installs ''sudo'', and includes a SSH program (''Dropbear'') and SFTP program. &lt;br /&gt;
&lt;br /&gt;
For your convenience, we've packaged all this up into a simple script.&lt;br /&gt;
&lt;br /&gt;
==Optware Setup (Manual)==&lt;br /&gt;
&lt;br /&gt;
===Installing Optware in the Emulator?===&lt;br /&gt;
If you're attempting to install these packages to your emulator, you must first add sufficient space by [[Adding_Disks_to_the_Emulator|enabling a virtual disk]].&lt;br /&gt;
&lt;br /&gt;
After completing the process of obtaining access to your Pre, do the following: &lt;br /&gt;
&lt;br /&gt;
'''Type each line exactly as it appears.  Copying and pasting is probably a good idea.''' &lt;br /&gt;
''' This is confirmed to work with webOS 1.3.1 '''&lt;br /&gt;
''Note to Windows Putty users:  To paste in putty, simply right-click and the program pastes into the terminal whatever you have copied to the clipboard.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://gitorious.org/webos-internals/bootstrap/blobs/raw/master/optware-bootstrap-manual.sh&lt;br /&gt;
 chmod 755 ./optware-bootstrap-manual.sh&lt;br /&gt;
 sh optware-bootstrap-manual.sh&lt;br /&gt;
 source /etc/profile.d/optware&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Follow the on-screen instructions.  &lt;br /&gt;
&lt;br /&gt;
If you want to review the script before you run it, you can look here: &lt;br /&gt;
&lt;br /&gt;
[http://gitorious.org/webos-internals/bootstrap/blobs/master/optware-bootstrap.sh http://gitorious.org/webos-internals/bootstrap/blobs/master/optware-bootstrap.sh]&lt;br /&gt;
&lt;br /&gt;
Note that using the WiFi connection for the above steps is to be highly recommended over the 3G or GSM options, which are reported as sometimes failing. (Turn on aeroplane mode then turn on and connect to WiFi)&lt;br /&gt;
&lt;br /&gt;
As part of this process, you will be creating an unprivileged user account that you can later use to log in to your device.  The username that you pick must be lowercase, longer than 3 characters, contain at least one letter, and may only be letters, numbers, dashes (-), and underscores (_).  Once you enter your username, you will enter a password.  Make sure to pick a strong password for your own security.  If you make a typo when entering your password, don't panic.  Once the script has finished running, simply type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
passwd username&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;username&amp;quot; should, of course, be the username that you created.  This will allow you to re-enter your password correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Finishing==&lt;br /&gt;
&lt;br /&gt;
There is no need to turn developer mode off.  If you do, you will not be able to use WebOS Quick Install, the SDK or Novaterm.  Leave it on. &lt;br /&gt;
&lt;br /&gt;
Once you are finished, you may SSH into your Pre with an SSH client like [http://www.chiark.greenend.org.uk/~sgtatham/putty/ Putty]:&lt;br /&gt;
*Find your IP address on your Pre with [http://checkmyip.com/ CheckMyIP.com]&lt;br /&gt;
**In many cases, you are in a local network, but checkmyip.com gives you the WAN addess.  Install whatismyip from the homebrew catalog to get your pre's ip address within the local network and use that&lt;br /&gt;
*SSH to that IP address on port 222&lt;br /&gt;
**If you're doing this over EVDO, there may be a lot of latency.  Be patient.&lt;br /&gt;
**You can optionally install [[Avahi]] and SSH to &amp;lt;tt&amp;gt;castle.local.&amp;lt;/tt&amp;gt;&lt;br /&gt;
**[[Tutorials_Linux_DDNS_for_EVDO|Dynamic DNS]] is helpful for consistently accessing the Pre over EVDO with a simple name.&lt;br /&gt;
*Log in with the username and password you created during the Optware installation&lt;br /&gt;
**Many operations cannot be carried out with the permissions of that username.  You'll need to [[Basic_Linux_Use#sudo|sudo]] those operations with the new username's password&lt;br /&gt;
&lt;br /&gt;
Only the default shell (/bin/ash) will work for ssh. To change your shell to bash (which will be located in /opt/bin/bash, once you've completed the quilt install procedure above), you will have to [http://www.webos-internals.org/wiki/Setup_Bash create] an /etc/shells file, and add the following lines:&lt;br /&gt;
&lt;br /&gt;
 /bin/ash&lt;br /&gt;
 /bin/sh&lt;br /&gt;
 /opt/bin/bash&lt;br /&gt;
&lt;br /&gt;
Then you will be able to edit /etc/passwd and change the shell parameter for the user you created. Note that if you try to change your shell without adding an /etc/shells the SSH server (Dropbear) will look like it is rejecting your password on subsequent connections.&lt;br /&gt;
&lt;br /&gt;
=Install Preware=&lt;br /&gt;
To start getting the most out of your new webOS Device you should install Preware. Continue on to the [[Application:Preware|Preware]] page. There you will see all the ways to install Preware on your device. Including stand-alone installers, package installation and an automated script like you did here.&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=User_talk:JohnTomawski&amp;diff=8266</id>
		<title>User talk:JohnTomawski</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=User_talk:JohnTomawski&amp;diff=8266"/>
		<updated>2010-01-12T01:55:25Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Any news on porting BlueZ, particularly the keyboard profile, to webOS? Thanks. {ProfJonathan}&lt;br /&gt;
&lt;br /&gt;
Ugh, sorry. I'm not the expert when it comes to BlueZ. Some of the other folks mentioned they would spin some cycles on it when they got a chance, though. {JohnTomawski}&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Apache&amp;diff=8265</id>
		<title>Apache</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Apache&amp;diff=8265"/>
		<updated>2010-01-12T01:54:23Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I've successfully loaded apache/mysql/php/net-snmp onto the Pre, and tested it with a popular NMS tool &amp;quot;Cacti&amp;quot;. It runs very well.&lt;br /&gt;
&lt;br /&gt;
All of the prerequisite packages were installed from optware (ipkg-opt install apache mysql php-apache php-mysql net-snmp cron)&lt;br /&gt;
&lt;br /&gt;
Here are some screenshots:&lt;br /&gt;
&lt;br /&gt;
[[Image:Cacti1.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Cacti2.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Cacti3.png]]&lt;br /&gt;
&lt;br /&gt;
Detailed instructions to follow, I'm at work right now :(&lt;br /&gt;
&lt;br /&gt;
Basic instructions are:&lt;br /&gt;
&lt;br /&gt;
1. Install the above ipk's&lt;br /&gt;
&lt;br /&gt;
2. Configure apache to load the php module, and the appropriate directory assignments (ex. /cacti/)&lt;br /&gt;
&lt;br /&gt;
3. Configure the cron job.&lt;br /&gt;
&lt;br /&gt;
4. Configure whatever LAMP application you want to use.&lt;br /&gt;
&lt;br /&gt;
5. Configure cron and init scripts to run at boot time.&lt;br /&gt;
&lt;br /&gt;
6. Allow port 8000 traffic to specific interfaces. (iptables)&lt;br /&gt;
&lt;br /&gt;
-nebula&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=New_Bluetooth&amp;diff=5351</id>
		<title>New Bluetooth</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=New_Bluetooth&amp;diff=5351"/>
		<updated>2009-09-05T02:22:42Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{thinking-page}}&lt;br /&gt;
&lt;br /&gt;
== We're working on replacing the proprietary Palm bluetooth engine, etc. with BlueZ. Here is where you will find the progress. It is likely to be just scribble for a few weeks. ==&lt;br /&gt;
&lt;br /&gt;
1. mv /usr/bin/PmBtStart /usr/bin/PmBtStart.old &amp;lt;br&amp;gt;&lt;br /&gt;
2. ps aux | grep PmBt &amp;lt;br&amp;gt;&lt;br /&gt;
3. kill -9 &amp;lt;PmBtStack PID&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
4. The bluetooth stack and engine should be stopped, soon. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Palm modifications to pulseaudio to remove BlueZ support (not all listed yet):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
-#### BlueZ support (optional) ####&lt;br /&gt;
-&lt;br /&gt;
-# Check whether --enable-bluez was given.&lt;br /&gt;
-if test &amp;quot;${enable_bluez+set}&amp;quot; = set; then&lt;br /&gt;
-  enableval=$enable_bluez;&lt;br /&gt;
-            case &amp;quot;${enableval}&amp;quot; in&lt;br /&gt;
-                yes) bluez=yes ;;&lt;br /&gt;
-                no) bluez=no ;;&lt;br /&gt;
-                *) { { $as_echo &amp;quot;$as_me:$LINENO: error: bad value ${enableval} for --disable-bluez&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;$as_me: error: bad value ${enableval} for --disable-bluez&amp;quot; &amp;gt;&amp;amp;2;}&lt;br /&gt;
-   { (exit 1); exit 1; }; } ;;&lt;br /&gt;
-            esac&lt;br /&gt;
-&lt;br /&gt;
-else&lt;br /&gt;
-  bluez=auto&lt;br /&gt;
-fi&lt;br /&gt;
-&lt;br /&gt;
-if test &amp;quot;x${bluez}&amp;quot; != xno ; then&lt;br /&gt;
-&lt;br /&gt;
-pkg_failed=no&lt;br /&gt;
-{ $as_echo &amp;quot;$as_me:$LINENO: checking for BLUEZ&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo_n &amp;quot;checking for BLUEZ... &amp;quot; &amp;gt;&amp;amp;6; }&lt;br /&gt;
-&lt;br /&gt;
-if test -n &amp;quot;$PKG_CONFIG&amp;quot;; then&lt;br /&gt;
-    if test -n &amp;quot;$BLUEZ_CFLAGS&amp;quot;; then&lt;br /&gt;
-        pkg_cv_BLUEZ_CFLAGS=&amp;quot;$BLUEZ_CFLAGS&amp;quot;&lt;br /&gt;
-    else&lt;br /&gt;
-        if test -n &amp;quot;$PKG_CONFIG&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
-    { ($as_echo &amp;quot;$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \&amp;quot; bluez &amp;gt;= 3.0 \&amp;quot;&amp;quot;) &amp;gt;&amp;amp;5&lt;br /&gt;
-  ($PKG_CONFIG --exists --print-errors &amp;quot; bluez &amp;gt;= 3.0 &amp;quot;) 2&amp;gt;&amp;amp;5&lt;br /&gt;
-  ac_status=$?&lt;br /&gt;
-  $as_echo &amp;quot;$as_me:$LINENO: \$? = $ac_status&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-  (exit $ac_status); }; then&lt;br /&gt;
-  pkg_cv_BLUEZ_CFLAGS=`$PKG_CONFIG --cflags &amp;quot; bluez &amp;gt;= 3.0 &amp;quot; 2&amp;gt;/dev/null`&lt;br /&gt;
-else&lt;br /&gt;
-  pkg_failed=yes&lt;br /&gt;
-fi&lt;br /&gt;
-    fi&lt;br /&gt;
-else&lt;br /&gt;
-	pkg_failed=untried&lt;br /&gt;
-fi&lt;br /&gt;
-if test -n &amp;quot;$PKG_CONFIG&amp;quot;; then&lt;br /&gt;
-    if test -n &amp;quot;$BLUEZ_LIBS&amp;quot;; then&lt;br /&gt;
-        pkg_cv_BLUEZ_LIBS=&amp;quot;$BLUEZ_LIBS&amp;quot;&lt;br /&gt;
-    else&lt;br /&gt;
-        if test -n &amp;quot;$PKG_CONFIG&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
-    { ($as_echo &amp;quot;$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \&amp;quot; bluez &amp;gt;= 3.0 \&amp;quot;&amp;quot;) &amp;gt;&amp;amp;5&lt;br /&gt;
-  ($PKG_CONFIG --exists --print-errors &amp;quot; bluez &amp;gt;= 3.0 &amp;quot;) 2&amp;gt;&amp;amp;5&lt;br /&gt;
-  ac_status=$?&lt;br /&gt;
-  $as_echo &amp;quot;$as_me:$LINENO: \$? = $ac_status&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-  (exit $ac_status); }; then&lt;br /&gt;
-  pkg_cv_BLUEZ_LIBS=`$PKG_CONFIG --libs &amp;quot; bluez &amp;gt;= 3.0 &amp;quot; 2&amp;gt;/dev/null`&lt;br /&gt;
-else&lt;br /&gt;
-  pkg_failed=yes&lt;br /&gt;
-fi&lt;br /&gt;
-    fi&lt;br /&gt;
-else&lt;br /&gt;
-	pkg_failed=untried&lt;br /&gt;
-fi&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-if test $pkg_failed = yes; then&lt;br /&gt;
-&lt;br /&gt;
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then&lt;br /&gt;
-        _pkg_short_errors_supported=yes&lt;br /&gt;
-else&lt;br /&gt;
-        _pkg_short_errors_supported=no&lt;br /&gt;
-fi&lt;br /&gt;
-        if test $_pkg_short_errors_supported = yes; then&lt;br /&gt;
-	        BLUEZ_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors &amp;quot; bluez &amp;gt;= 3.0 &amp;quot;`&lt;br /&gt;
-        else&lt;br /&gt;
-	        BLUEZ_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors &amp;quot; bluez &amp;gt;= 3.0 &amp;quot;`&lt;br /&gt;
-        fi&lt;br /&gt;
-	# Put the nasty error message in config.log where it belongs&lt;br /&gt;
-	echo &amp;quot;$BLUEZ_PKG_ERRORS&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-&lt;br /&gt;
-	{ $as_echo &amp;quot;$as_me:$LINENO: result: no&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;no&amp;quot; &amp;gt;&amp;amp;6; }&lt;br /&gt;
-&lt;br /&gt;
-            HAVE_BLUEZ=0&lt;br /&gt;
-            if test &amp;quot;x$bluez&amp;quot; = xyes ; then&lt;br /&gt;
-                { { $as_echo &amp;quot;$as_me:$LINENO: error: *** BLUEZ support not found&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;$as_me: error: *** BLUEZ support not found&amp;quot; &amp;gt;&amp;amp;2;}&lt;br /&gt;
-   { (exit 1); exit 1; }; }&lt;br /&gt;
-            fi&lt;br /&gt;
-&lt;br /&gt;
-elif test $pkg_failed = untried; then&lt;br /&gt;
-&lt;br /&gt;
-            HAVE_BLUEZ=0&lt;br /&gt;
-            if test &amp;quot;x$bluez&amp;quot; = xyes ; then&lt;br /&gt;
-                { { $as_echo &amp;quot;$as_me:$LINENO: error: *** BLUEZ support not found&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;$as_me: error: *** BLUEZ support not found&amp;quot; &amp;gt;&amp;amp;2;}&lt;br /&gt;
-   { (exit 1); exit 1; }; }&lt;br /&gt;
-            fi&lt;br /&gt;
-&lt;br /&gt;
-else&lt;br /&gt;
-	BLUEZ_CFLAGS=$pkg_cv_BLUEZ_CFLAGS&lt;br /&gt;
-	BLUEZ_LIBS=$pkg_cv_BLUEZ_LIBS&lt;br /&gt;
-        { $as_echo &amp;quot;$as_me:$LINENO: result: yes&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;yes&amp;quot; &amp;gt;&amp;amp;6; }&lt;br /&gt;
-	HAVE_BLUEZ=1&lt;br /&gt;
-fi&lt;br /&gt;
-else&lt;br /&gt;
-    HAVE_BLUEZ=0&lt;br /&gt;
-fi&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
- if test &amp;quot;x$HAVE_BLUEZ&amp;quot; = x1; then&lt;br /&gt;
-  HAVE_BLUEZ_TRUE=&lt;br /&gt;
-  HAVE_BLUEZ_FALSE='#'&lt;br /&gt;
-else&lt;br /&gt;
-  HAVE_BLUEZ_TRUE='#'&lt;br /&gt;
-  HAVE_BLUEZ_FALSE=&lt;br /&gt;
-fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not that it's anything to do with BlueZ... This is what happens when PmBtEngine is started with the flag &amp;quot;-t&amp;quot; (Start with test functions enabled)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root@castle:/usr/bin# ./PmBtEngine -t&lt;br /&gt;
Starting PmBtEngine daemon...&lt;br /&gt;
(process:3626): Powerd-DEBUG: IdlerShm already exists... reusing&lt;br /&gt;
&lt;br /&gt;
** (process:3626): DEBUG: _powerd_server_up connected was true (powerd is already running)&lt;br /&gt;
Initializing BtEngine components&lt;br /&gt;
[PWR]: Initializing Power&lt;br /&gt;
[ MEM ] Initializing&lt;br /&gt;
[ MEM ] Initializing - list 0x40099dd0&lt;br /&gt;
[ MEM ] Starting&lt;br /&gt;
[CFG]: BtConfigInit: Initializing BT configuration module&lt;br /&gt;
[Core]: In PmBtEngineEventHandlerInitialize&lt;br /&gt;
[Core]: BtEngineEventHandler created successfully&lt;br /&gt;
[BSF]: calling init_pmalloc&lt;br /&gt;
*****ERROR: PmBtOsLogInit: Logs are already initialized&lt;br /&gt;
[BSF]: calling init_sched&lt;br /&gt;
[BSF]: calling init_bchs_msg_converter&lt;br /&gt;
[BSF]: calling SPP_init_converter&lt;br /&gt;
[BSF]: calling HFG_init_converter&lt;br /&gt;
[BSF]: calling BSL_init_converter&lt;br /&gt;
[BSF]: calling SC_init_converter&lt;br /&gt;
[BSF]: calling CM_init_converter&lt;br /&gt;
[BSF]: calling SD_init_converter&lt;br /&gt;
[BSF]: calling AV_init_converter&lt;br /&gt;
[BSF]: calling AVRCP_init_converter&lt;br /&gt;
[BSF]: calling PAS_init_converter&lt;br /&gt;
[BSF]: calling OPC_init_converter&lt;br /&gt;
[BSF]: calling peer_register_converter&lt;br /&gt;
[BSF]: calling peer_com_init&lt;br /&gt;
sched: external send registered&lt;br /&gt;
peer_com: connection to server established...&lt;br /&gt;
peer_com: performing peer_com version 2 handshake...&lt;br /&gt;
peer_com: server has replied to handshake, code 0x0001...&lt;br /&gt;
[BSF]: SchedulerThreadFn: Sched started:  CSR 16.3.9&lt;br /&gt;
[BSF]: Bluetooth--&amp;gt; init_test&lt;br /&gt;
[BSF]: init_test: Signalling sched&lt;br /&gt;
[BSF]: Bluetooth &amp;lt;== init_test&lt;br /&gt;
[Core]: Find profile - unable to find profile 0xff02&lt;br /&gt;
[Core]: Successfully registered profile -- GAP&lt;br /&gt;
[TM]: TmProfMgrRegisterInit:Tm Profile registration status 0x0&lt;br /&gt;
[Core]: Find profile - unable to find profile 0xff04&lt;br /&gt;
[Core]: Successfully registered profile -- BT Co-Existance Profile&lt;br /&gt;
[COEX]: CoExProfMgrRegisterInit:CoEx Profile registration status 0x0&lt;br /&gt;
[COEX]: CoExProfMgrRegisterInit:CoEx Profile Set IPC Registration func, err= 0x0&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x111f&lt;br /&gt;
[Core]: Successfully registered profile -- hfp/hsp&lt;br /&gt;
[HFG]: BtHfgProfMgrRegisterInit:HFG Profile registration status 0x0&lt;br /&gt;
[HFG]: BtHfgProfMgrRegisterInit:HFG Profile Set IPC Registration func, err= 0x0&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x110d&lt;br /&gt;
[Core]: Successfully registered profile -- a2dp&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x112f&lt;br /&gt;
[Core]: Successfully registered profile -- pbap&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x1115&lt;br /&gt;
[Core]: Successfully registered profile -- pan&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x110e&lt;br /&gt;
[Core]: Successfully registered profile -- avrcp&lt;br /&gt;
[Core]: Find profile - unable to find profile 0xf001&lt;br /&gt;
[Core]: Successfully registered profile -- BT Test Mode&lt;br /&gt;
[TM]: TmProfMgrRegisterInit:Tm Profile registration status 0x0&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x1105&lt;br /&gt;
[Core]: Successfully registered profile -- opp&lt;br /&gt;
[Core]: BtProfMgrStartupProfiles: Entered&lt;br /&gt;
[Core]: Initializing profile GAP&lt;br /&gt;
[Core]: Initializing profile BT Co-Existance Profile&lt;br /&gt;
[Core]: Initializing profile hfp/hsp&lt;br /&gt;
[BSF]: SC_SET_SECURITY_MODE_CFM: Status = 0x0&lt;br /&gt;
[Core]: Initializing profile a2dp&lt;br /&gt;
[Core]: Initializing profile pbap&lt;br /&gt;
[Core]: Initializing profile pan&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x10&lt;br /&gt;
*****ERROR:[IPC]: PmBtMsgLunaSendNotification: Cannot find Category for given profile uuid=0xff03&lt;br /&gt;
[PAN]: PanActivate: Entered&lt;br /&gt;
[Core]: Initializing profile avrcp&lt;br /&gt;
[Core]: Initializing profile BT Test Mode&lt;br /&gt;
[Core]: Initializing profile opp&lt;br /&gt;
[OPP]: PmBtBsaifHandleOppPrim: Security mode successfully set&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0x10&lt;br /&gt;
*****ERROR:[IPC]: PmBtMsgLunaSendNotification: Cannot find Category for given profile uuid=0xff03&lt;br /&gt;
[HFG]: Battery Level Change 5&lt;br /&gt;
[BSF]: ####### default in CmPrim handler 0x8035,&lt;br /&gt;
[COEX]: CoExIpcInit: Initializing&lt;br /&gt;
[HFG] PmBtMsgHfgInit: Initializing&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = pan   event = 0x10&lt;br /&gt;
*****ERROR:[IPC]: PmBtMsgLunaSendNotification: Cannot find Category for given profile uuid=0xff03&lt;br /&gt;
[PAN]: PanStatusHandler: PAN activated&lt;br /&gt;
[A2DP]: PmBtMsgA2dpInit: Initializing&lt;br /&gt;
[AVRCP]: PmBtMsgAvrcpInit: Initializing&lt;br /&gt;
[OPP]: PmBtMsgOppInit: Initializing&lt;br /&gt;
[COEX] PmBtWifiStatusNotification: 1&lt;br /&gt;
[HFG] PmBtTelephonySrvCallback: 1&lt;br /&gt;
[HFG] Querying for current calls&lt;br /&gt;
[HFG] PmBtAudioSrvCallback: 1&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
[HFG]: PmBtVoiceStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;voice_dialing_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
[HFG]: PmBtCallStatusNotification: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;errorText&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;errorCode&amp;quot;:0}&lt;br /&gt;
[HFG]: PmBtPowerStatusNotification: Failed to find string response&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[PHONEBOOK]: PmBtContactsStatusCallback: 0&lt;br /&gt;
[HFG]: PbMonitor Started&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;media_back_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
[COEX] WifiDisabled&lt;br /&gt;
[HFG]: PmBtCallStatusNotification: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;errorText&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;errorCode&amp;quot;:0}&lt;br /&gt;
[HFG]: PmBtPowerStatusNotification: Failed to find string response&lt;br /&gt;
[HFG] QueryPlatformCallback: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;extended&amp;quot;:{&amp;quot;meid&amp;quot;:&amp;quot;HI,THERE&amp;quot;,&amp;quot;platformType&amp;quot;:&amp;quot;cdma&amp;quot;}}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
[HFG]: PmBtVoiceStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;voice_dialing_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
** (process:3626): DEBUG: Registered object path: Client com.palm.netcfg /com/palm/netcfg&lt;br /&gt;
[HFG] PhoneNumberCallback: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;errorCode&amp;quot;:0,&amp;quot;extended&amp;quot;:{&amp;quot;number&amp;quot;:&amp;quot;1112223456&amp;quot;},&amp;quot;subscribed&amp;quot;:false}&lt;br /&gt;
[HFG] IMSICallback: {&amp;quot;returnValue&amp;quot;:false,&amp;quot;errorText&amp;quot;:&amp;quot;Carrier network returned failure&amp;quot;,&amp;quot;errorCode&amp;quot;:102}&lt;br /&gt;
[HFG] QueryPlatformCallback: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;extended&amp;quot;:{&amp;quot;meid&amp;quot;:&amp;quot;HI,THERE&amp;quot;,&amp;quot;platformType&amp;quot;:&amp;quot;cdma&amp;quot;}}&lt;br /&gt;
[HFG] PhoneNumberCallback: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;errorCode&amp;quot;:0,&amp;quot;extended&amp;quot;:{&amp;quot;number&amp;quot;:&amp;quot;1112223456&amp;quot;},&amp;quot;subscribed&amp;quot;:false}&lt;br /&gt;
[HFG] IMSICallback: {&amp;quot;returnValue&amp;quot;:false,&amp;quot;errorText&amp;quot;:&amp;quot;Carrier network returned failure&amp;quot;,&amp;quot;errorCode&amp;quot;:102}&lt;br /&gt;
[HFG]:GetCurrentNetType - failed to find type&lt;br /&gt;
[HFG]: SendSignalStrength - couldn't find network type&lt;br /&gt;
[COEX]: CoExEventHandler&lt;br /&gt;
[COEX]: Enabling all BT channels for use&lt;br /&gt;
[BSF]: Setting afh channel map&lt;br /&gt;
[HFG]:GetCurrentNetType - failed to find type&lt;br /&gt;
[HFG]: SendSignalStrength - couldn't find network type&lt;br /&gt;
[HFG]:GetCurrentNetType - failed to find type&lt;br /&gt;
[HFG]: SendSignalStrength - couldn't find network type&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[HFG]:GetCurrentNetType - failed to find type&lt;br /&gt;
[HFG]: SendSignalStrength - couldn't find network type&lt;br /&gt;
[HFG]: IMSI Setting&lt;br /&gt;
[HFG]:  Data Status Indication:&lt;br /&gt;
[HFG]: Command assigning subscriber info: 1112223456 129&lt;br /&gt;
[BSF]:CM_SET_AFH_CHANNEL_CLASS_CFM&lt;br /&gt;
[HFG]: IMSI Setting&lt;br /&gt;
[HFG]:  Data Status Indication:&lt;br /&gt;
[HFG]: HFG already activated&lt;br /&gt;
[HFG]: Command assigning subscriber info: 1112223456 129&lt;br /&gt;
[HFG]: PbMonitor Ended&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[Core]: BtProfMgrCallAllProfEventHandlers: Entered&lt;br /&gt;
*****ERROR:[GAP]: Gap Event 0x3 Not Found&lt;br /&gt;
[COEX]: CoExEventHandler&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp associate req&lt;br /&gt;
[CFG]: BtConfigFindProfile: found profile 0x110d&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connect req&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp associate req&lt;br /&gt;
[HFG]: HfgAssociate&lt;br /&gt;
[CFG]: BtConfigFindProfile: found profile 0x111f&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Connect req&lt;br /&gt;
[HFG]: HfgConnect&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xb&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xb&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Connecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connected, error=0x11b&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connected, error=0x0&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;enabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:89,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[AVRCP]: *** AVRCP_CONNECT_IND: **** , conn id=0&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile avrcp Connected, error=0x0&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[A2DP]: Received Media Play Event in invalid state, 8&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;maxVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:89,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:78,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:67,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:56,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:45,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:34,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:23,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:12,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;minVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;minVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:11,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:22,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:33,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:44,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:55,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:66,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:77,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:88,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;maxVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:89,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:78,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:67,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:56,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:45,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:34,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:23,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:12,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;minVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;minVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:11,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:22,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:33,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:44,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:55,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:66,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:77,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:88,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;maxVolume&amp;quot;}&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is what happens when PmBtEngine is started:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[SIG]: Received SIGINT, Stopping BT Engine&lt;br /&gt;
[SIG]: Received Signal to stop, Stopping BT Engine&lt;br /&gt;
Tearing down components&lt;br /&gt;
[Core]: Shutting down profile GAP&lt;br /&gt;
[Core]: Shutting down profile BT Co-Existance Profile&lt;br /&gt;
[Core]: Shutting down profile hfp/hsp&lt;br /&gt;
[HFG]: HfgDisconnect&lt;br /&gt;
[HFG]: HfgDisconnect&lt;br /&gt;
[HFG]: Canceling connection request&lt;br /&gt;
[HFG]: Canceling connection request&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Disconnecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Disconnecting&lt;br /&gt;
*****ERROR:[HFG]: HfgShutdown: Error in waiting to disconnect Hfg&lt;br /&gt;
[HFG]: Waiting for deactivation&lt;br /&gt;
[HFG]: Deactivated&lt;br /&gt;
[Core]: Shutting down profile a2dp&lt;br /&gt;
[A2DP]: Rx Events           : 48299&lt;br /&gt;
[A2DP]: Rx maxPollCount     : 27495&lt;br /&gt;
[A2DP]: Rx notStreaming     : 1&lt;br /&gt;
[A2DP]: Rx pollFailed       : 0&lt;br /&gt;
[A2DP]: Rx dataOverrun      : 0&lt;br /&gt;
[A2DP]: Rx shortRead        : 0&lt;br /&gt;
[A2DP]: Rx readFail         : 0&lt;br /&gt;
[A2DP]: Rx writeSuccess     : 0&lt;br /&gt;
[A2DP]: Rx writeFail        : 0&lt;br /&gt;
[A2DP]: Tx Events           : 48299&lt;br /&gt;
[A2DP]: Tx dataReady        : 48299&lt;br /&gt;
[A2DP]: Tx dataNotReady     : 0&lt;br /&gt;
[A2DP]: Tx dataSent         : 48299&lt;br /&gt;
[A2DP]: Tx dataNotStreaming : 0&lt;br /&gt;
[A2DP]: Tx encodeFail       : 0&lt;br /&gt;
[A2DP]: Tx pollFailed       : 0&lt;br /&gt;
[A2DP]: Tx pollSucces       : 48299&lt;br /&gt;
[A2DP]: Exiting PmBtA2dpEncodeAudio .....&lt;br /&gt;
[A2DP]: A2dpShutdown: Waiting to deactivate&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Disconnecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Disconnecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp BtProfDisConnected&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x11&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Deactivated&lt;br /&gt;
[Core]: Shutting down profile pbap&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp BtProfDisConnected&lt;br /&gt;
[AVRCP]: *** AVRCP_DISCONNECT_IND: ****&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile avrcp BtProfDisConnected&lt;br /&gt;
*****ERROR:[PBAP]: PbapWaitForDeactivate: Error in waiting to deactivate PBAP&lt;br /&gt;
[Core]: Shutting down profile pan&lt;br /&gt;
[PAN]: PanShutdown: Waiting to deactivate&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = pan   event = 0x11&lt;br /&gt;
[Core]: BtProfMgr:  profile pan Deactivated&lt;br /&gt;
[PAN]: PanStatusHandler: PAN deactivated&lt;br /&gt;
** (process:3626): DEBUG: Registered object path: Client com.palm.netcfg /com/palm/netcfg&lt;br /&gt;
[Core]: Shutting down profile avrcp&lt;br /&gt;
[Core]: Shutting down profile BT Test Mode&lt;br /&gt;
[Core]: Shutting down profile opp&lt;br /&gt;
[BSF]:sched_task_deinit&lt;br /&gt;
[BSF]: SchedulerThreadFn: Sched is closed&lt;br /&gt;
[BSF]: Bluetooth--&amp;gt; deinit_test&lt;br /&gt;
[BSF]:peer_com_deinit&lt;br /&gt;
peer_com: rx-thread cancel error&lt;br /&gt;
[BSF]:deinit_sched&lt;br /&gt;
[BSF]:deinit_pmalloc&lt;br /&gt;
*****ERROR:[STACK]: OUTSTANDING MEMORY ALLOCS IN STACK************&lt;br /&gt;
*****ERROR:[STACK]: maxAllocatedMemory=5543 bytes&lt;br /&gt;
*****ERROR:[STACK]: maxNumberOfConcurrentAllocations=90&lt;br /&gt;
*****ERROR:[STACK]: Memory allocated:&lt;br /&gt;
*****ERROR:[STACK]: 00 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 01 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 02 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 03 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 04 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=5, serialize_sd_prim.c, Deserialize_SdUnregisterServiceRecordCfm, 1123, 0xeae80, size=8&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=5, sched/sched.c, do_put_message, 682, 0xe6ee0, size=16&lt;br /&gt;
*****ERROR:[STACK]: 05 - (null)              :          24 bytes&lt;br /&gt;
*****ERROR:[STACK]: 06 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 07 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 08 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 09 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 10 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 11 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 12 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 13 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 14 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 15 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 16 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 17 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 18 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 19 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 20 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 21 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 22 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 23 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 24 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 25 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 26 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 27 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 28 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 29 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 30 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf400, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf4f8, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdb980, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdeb10, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdeb20, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdbe98, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdbea8, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdbeb8, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf4d8, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf4e8, size=12&lt;br /&gt;
*****ERROR:[STACK]: ** - ENVIRONMENT         :         120 bytes&lt;br /&gt;
*****ERROR:*******************************144&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is what happens when you disable and re-enable a bluetooth headset:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[Core]: BtProfMgrGetConnectedDev: GetConnectedDev function not implemented, profile=GAP&lt;br /&gt;
[Core]: BtProfMgrGetConnectedDev: GetConnectedDev function not implemented, profile=BT Co-Existance Profile&lt;br /&gt;
[Core]: BtProfMgrGetConnectedDev: GetConnectedDev function not implemented, profile=BT Test Mode&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Disconnect req&lt;br /&gt;
[HFG]: HfgDisconnect&lt;br /&gt;
[HFG]: Disconnecting HFG&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Disconnecting&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Disconnect req&lt;br /&gt;
[A2DP]: Rx Events           : 19377&lt;br /&gt;
[A2DP]: Rx maxPollCount     : 8&lt;br /&gt;
[A2DP]: Rx notStreaming     : 1&lt;br /&gt;
[A2DP]: Rx pollFailed       : 0&lt;br /&gt;
[A2DP]: Rx dataOverrun      : 0&lt;br /&gt;
[A2DP]: Rx shortRead        : 0&lt;br /&gt;
[A2DP]: Rx readFail         : 0&lt;br /&gt;
[A2DP]: Rx writeSuccess     : 0&lt;br /&gt;
[A2DP]: Rx writeFail        : 0&lt;br /&gt;
[A2DP]: Tx Events           : 19377&lt;br /&gt;
[A2DP]: Tx dataReady        : 19377&lt;br /&gt;
[A2DP]: Tx dataNotReady     : 0&lt;br /&gt;
[A2DP]: Tx dataSent         : 19377&lt;br /&gt;
[A2DP]: Tx dataNotStreaming : 0&lt;br /&gt;
[A2DP]: Tx encodeFail       : 0&lt;br /&gt;
[A2DP]: Tx pollFailed       : 0&lt;br /&gt;
[A2DP]: Tx pollSucces       : 19377&lt;br /&gt;
[A2DP]: Exiting PmBtA2dpEncodeAudio .....&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Disconnecting&lt;br /&gt;
[HFG]: HandleHfgPrim: HFG_DISCONNECT_IND set disconnected 0x0&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp BtProfDisConnected&lt;br /&gt;
[HFG]: BtHfgStackDisconnectInd:&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;phone_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:false}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;phone_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:false}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;disabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_bluetooth_sco&amp;quot;}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;disabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_bluetooth_sco&amp;quot;}&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp BtProfDisConnected&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_back_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:false}&lt;br /&gt;
[AVRCP]: *** AVRCP_DISCONNECT_IND: ****&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile avrcp BtProfDisConnected&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;disabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;}&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp associate req&lt;br /&gt;
[HFG]: HfgAssociate&lt;br /&gt;
[CFG]: BtConfigFindProfile: found profile 0x111f&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Connect req&lt;br /&gt;
[HFG]: HfgConnect&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp associate req&lt;br /&gt;
[CFG]: BtConfigFindProfile: found profile 0x110d&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connect req&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xb&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Connecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xb&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connected, error=0x0&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;enabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:false}&lt;br /&gt;
[HFG]: HandleHfgPrim: HFG_SUPPORTED_FEATURES_IND: 0x18&lt;br /&gt;
[HFG]: Remote Device Supports - Voice Recognition&lt;br /&gt;
[HFG]: Remote Device Supports - Remote Volume Control&lt;br /&gt;
[HFG]: HFG_SERVICE_CONNECT_IND set connected 0x0&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Connected, error=0x0&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;enabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_bluetooth_sco&amp;quot;}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;enabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_bluetooth_sco&amp;quot;}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;phone_bluetooth_sco&amp;quot;,&amp;quot;volume&amp;quot;:51,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:false}&lt;br /&gt;
[HFG]: HandleVolumeChange: volume 51&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;phone_bluetooth_sco&amp;quot;,&amp;quot;volume&amp;quot;:51,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:false}&lt;br /&gt;
[HFG]: HandleVolumeChange: volume 51&lt;br /&gt;
[HFG]: BtHfgConnectingIndHandler&lt;br /&gt;
[HFG]:  Connected to AA:BB:CC:DD:EE:FF&lt;br /&gt;
[HFG]: Passing Noise Reduction to telephony: {&amp;quot;carkit&amp;quot;:false,&amp;quot;echocancellation&amp;quot;:true}&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[HFG]: ESCO Support enabled&lt;br /&gt;
[HFG]: BtHfgConnectingIndHandler - no calls&lt;br /&gt;
[HFG]: Sco routing request&lt;br /&gt;
[HFG]: push audio to HFG&lt;br /&gt;
[HFG]: Adjust Speaker Volume Cmd: 8&lt;br /&gt;
[HFG]: Setting Speaker Volume: 0x8&lt;br /&gt;
[HFG]: Sco routing request&lt;br /&gt;
[HFG]: push audio to HFG&lt;br /&gt;
[HFG]: Adjust Speaker Volume Cmd: 8&lt;br /&gt;
[HFG]: Setting Speaker Volume: 0x8&lt;br /&gt;
[AVRCP]: *** AVRCP_CONNECT_IND: **** , conn id=0&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile avrcp Connected, error=0x0&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[HFG]: HFG_SPEAKER_GAIN_IND&lt;br /&gt;
[HFG]: BtHfgStackSpeakerGainIndHandler:   8&lt;br /&gt;
[HFG]: passing kBtStackSpeakerGainInd on to Prim&lt;br /&gt;
[HFG]: HFG_STATUS_IND&lt;br /&gt;
[HFG]: HFG_STATUS_IND&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=New_Bluetooth&amp;diff=5350</id>
		<title>New Bluetooth</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=New_Bluetooth&amp;diff=5350"/>
		<updated>2009-09-05T02:21:22Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{thinking-page}}&lt;br /&gt;
&lt;br /&gt;
== We're working on replacing the proprietary Palm bluetooth engine, etc. with BlueZ. Here is where you will find the progress. It is likely to be just scribble for a few weeks. ==&lt;br /&gt;
&lt;br /&gt;
1. mv /usr/bin/PmBtStart /usr/bin/PmBtStart.old &amp;lt;br&amp;gt;&lt;br /&gt;
2. ps aux | grep PmBt &amp;lt;br&amp;gt;&lt;br /&gt;
3. kill -9 &amp;lt;PmBtStack PID&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
4. The bluetooth stack and engine should be stopped, soon. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Palm modifications to pulseaudio to remove BlueZ support (not all listed yet):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
-#### BlueZ support (optional) ####&lt;br /&gt;
-&lt;br /&gt;
-# Check whether --enable-bluez was given.&lt;br /&gt;
-if test &amp;quot;${enable_bluez+set}&amp;quot; = set; then&lt;br /&gt;
-  enableval=$enable_bluez;&lt;br /&gt;
-            case &amp;quot;${enableval}&amp;quot; in&lt;br /&gt;
-                yes) bluez=yes ;;&lt;br /&gt;
-                no) bluez=no ;;&lt;br /&gt;
-                *) { { $as_echo &amp;quot;$as_me:$LINENO: error: bad value ${enableval} for --disable-bluez&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;$as_me: error: bad value ${enableval} for --disable-bluez&amp;quot; &amp;gt;&amp;amp;2;}&lt;br /&gt;
-   { (exit 1); exit 1; }; } ;;&lt;br /&gt;
-            esac&lt;br /&gt;
-&lt;br /&gt;
-else&lt;br /&gt;
-  bluez=auto&lt;br /&gt;
-fi&lt;br /&gt;
-&lt;br /&gt;
-if test &amp;quot;x${bluez}&amp;quot; != xno ; then&lt;br /&gt;
-&lt;br /&gt;
-pkg_failed=no&lt;br /&gt;
-{ $as_echo &amp;quot;$as_me:$LINENO: checking for BLUEZ&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo_n &amp;quot;checking for BLUEZ... &amp;quot; &amp;gt;&amp;amp;6; }&lt;br /&gt;
-&lt;br /&gt;
-if test -n &amp;quot;$PKG_CONFIG&amp;quot;; then&lt;br /&gt;
-    if test -n &amp;quot;$BLUEZ_CFLAGS&amp;quot;; then&lt;br /&gt;
-        pkg_cv_BLUEZ_CFLAGS=&amp;quot;$BLUEZ_CFLAGS&amp;quot;&lt;br /&gt;
-    else&lt;br /&gt;
-        if test -n &amp;quot;$PKG_CONFIG&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
-    { ($as_echo &amp;quot;$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \&amp;quot; bluez &amp;gt;= 3.0 \&amp;quot;&amp;quot;) &amp;gt;&amp;amp;5&lt;br /&gt;
-  ($PKG_CONFIG --exists --print-errors &amp;quot; bluez &amp;gt;= 3.0 &amp;quot;) 2&amp;gt;&amp;amp;5&lt;br /&gt;
-  ac_status=$?&lt;br /&gt;
-  $as_echo &amp;quot;$as_me:$LINENO: \$? = $ac_status&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-  (exit $ac_status); }; then&lt;br /&gt;
-  pkg_cv_BLUEZ_CFLAGS=`$PKG_CONFIG --cflags &amp;quot; bluez &amp;gt;= 3.0 &amp;quot; 2&amp;gt;/dev/null`&lt;br /&gt;
-else&lt;br /&gt;
-  pkg_failed=yes&lt;br /&gt;
-fi&lt;br /&gt;
-    fi&lt;br /&gt;
-else&lt;br /&gt;
-	pkg_failed=untried&lt;br /&gt;
-fi&lt;br /&gt;
-if test -n &amp;quot;$PKG_CONFIG&amp;quot;; then&lt;br /&gt;
-    if test -n &amp;quot;$BLUEZ_LIBS&amp;quot;; then&lt;br /&gt;
-        pkg_cv_BLUEZ_LIBS=&amp;quot;$BLUEZ_LIBS&amp;quot;&lt;br /&gt;
-    else&lt;br /&gt;
-        if test -n &amp;quot;$PKG_CONFIG&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
-    { ($as_echo &amp;quot;$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \&amp;quot; bluez &amp;gt;= 3.0 \&amp;quot;&amp;quot;) &amp;gt;&amp;amp;5&lt;br /&gt;
-  ($PKG_CONFIG --exists --print-errors &amp;quot; bluez &amp;gt;= 3.0 &amp;quot;) 2&amp;gt;&amp;amp;5&lt;br /&gt;
-  ac_status=$?&lt;br /&gt;
-  $as_echo &amp;quot;$as_me:$LINENO: \$? = $ac_status&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-  (exit $ac_status); }; then&lt;br /&gt;
-  pkg_cv_BLUEZ_LIBS=`$PKG_CONFIG --libs &amp;quot; bluez &amp;gt;= 3.0 &amp;quot; 2&amp;gt;/dev/null`&lt;br /&gt;
-else&lt;br /&gt;
-  pkg_failed=yes&lt;br /&gt;
-fi&lt;br /&gt;
-    fi&lt;br /&gt;
-else&lt;br /&gt;
-	pkg_failed=untried&lt;br /&gt;
-fi&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-if test $pkg_failed = yes; then&lt;br /&gt;
-&lt;br /&gt;
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then&lt;br /&gt;
-        _pkg_short_errors_supported=yes&lt;br /&gt;
-else&lt;br /&gt;
-        _pkg_short_errors_supported=no&lt;br /&gt;
-fi&lt;br /&gt;
-        if test $_pkg_short_errors_supported = yes; then&lt;br /&gt;
-	        BLUEZ_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors &amp;quot; bluez &amp;gt;= 3.0 &amp;quot;`&lt;br /&gt;
-        else&lt;br /&gt;
-	        BLUEZ_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors &amp;quot; bluez &amp;gt;= 3.0 &amp;quot;`&lt;br /&gt;
-        fi&lt;br /&gt;
-	# Put the nasty error message in config.log where it belongs&lt;br /&gt;
-	echo &amp;quot;$BLUEZ_PKG_ERRORS&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-&lt;br /&gt;
-	{ $as_echo &amp;quot;$as_me:$LINENO: result: no&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;no&amp;quot; &amp;gt;&amp;amp;6; }&lt;br /&gt;
-&lt;br /&gt;
-            HAVE_BLUEZ=0&lt;br /&gt;
-            if test &amp;quot;x$bluez&amp;quot; = xyes ; then&lt;br /&gt;
-                { { $as_echo &amp;quot;$as_me:$LINENO: error: *** BLUEZ support not found&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;$as_me: error: *** BLUEZ support not found&amp;quot; &amp;gt;&amp;amp;2;}&lt;br /&gt;
-   { (exit 1); exit 1; }; }&lt;br /&gt;
-            fi&lt;br /&gt;
-&lt;br /&gt;
-elif test $pkg_failed = untried; then&lt;br /&gt;
-&lt;br /&gt;
-            HAVE_BLUEZ=0&lt;br /&gt;
-            if test &amp;quot;x$bluez&amp;quot; = xyes ; then&lt;br /&gt;
-                { { $as_echo &amp;quot;$as_me:$LINENO: error: *** BLUEZ support not found&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;$as_me: error: *** BLUEZ support not found&amp;quot; &amp;gt;&amp;amp;2;}&lt;br /&gt;
-   { (exit 1); exit 1; }; }&lt;br /&gt;
-            fi&lt;br /&gt;
-&lt;br /&gt;
-else&lt;br /&gt;
-	BLUEZ_CFLAGS=$pkg_cv_BLUEZ_CFLAGS&lt;br /&gt;
-	BLUEZ_LIBS=$pkg_cv_BLUEZ_LIBS&lt;br /&gt;
-        { $as_echo &amp;quot;$as_me:$LINENO: result: yes&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;yes&amp;quot; &amp;gt;&amp;amp;6; }&lt;br /&gt;
-	HAVE_BLUEZ=1&lt;br /&gt;
-fi&lt;br /&gt;
-else&lt;br /&gt;
-    HAVE_BLUEZ=0&lt;br /&gt;
-fi&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
- if test &amp;quot;x$HAVE_BLUEZ&amp;quot; = x1; then&lt;br /&gt;
-  HAVE_BLUEZ_TRUE=&lt;br /&gt;
-  HAVE_BLUEZ_FALSE='#'&lt;br /&gt;
-else&lt;br /&gt;
-  HAVE_BLUEZ_TRUE='#'&lt;br /&gt;
-  HAVE_BLUEZ_FALSE=&lt;br /&gt;
-fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not that it's anything to do with BlueZ... This is what happens when PmBtEngine is started with the flag &amp;quot;-t&amp;quot; (Start with test functions enabled)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root@castle:/usr/bin# ./PmBtEngine -t&lt;br /&gt;
Starting PmBtEngine daemon...&lt;br /&gt;
(process:3626): Powerd-DEBUG: IdlerShm already exists... reusing&lt;br /&gt;
&lt;br /&gt;
** (process:3626): DEBUG: _powerd_server_up connected was true (powerd is already running)&lt;br /&gt;
Initializing BtEngine components&lt;br /&gt;
[PWR]: Initializing Power&lt;br /&gt;
[ MEM ] Initializing&lt;br /&gt;
[ MEM ] Initializing - list 0x40099dd0&lt;br /&gt;
[ MEM ] Starting&lt;br /&gt;
[CFG]: BtConfigInit: Initializing BT configuration module&lt;br /&gt;
[Core]: In PmBtEngineEventHandlerInitialize&lt;br /&gt;
[Core]: BtEngineEventHandler created successfully&lt;br /&gt;
[BSF]: calling init_pmalloc&lt;br /&gt;
*****ERROR: PmBtOsLogInit: Logs are already initialized&lt;br /&gt;
[BSF]: calling init_sched&lt;br /&gt;
[BSF]: calling init_bchs_msg_converter&lt;br /&gt;
[BSF]: calling SPP_init_converter&lt;br /&gt;
[BSF]: calling HFG_init_converter&lt;br /&gt;
[BSF]: calling BSL_init_converter&lt;br /&gt;
[BSF]: calling SC_init_converter&lt;br /&gt;
[BSF]: calling CM_init_converter&lt;br /&gt;
[BSF]: calling SD_init_converter&lt;br /&gt;
[BSF]: calling AV_init_converter&lt;br /&gt;
[BSF]: calling AVRCP_init_converter&lt;br /&gt;
[BSF]: calling PAS_init_converter&lt;br /&gt;
[BSF]: calling OPC_init_converter&lt;br /&gt;
[BSF]: calling peer_register_converter&lt;br /&gt;
[BSF]: calling peer_com_init&lt;br /&gt;
sched: external send registered&lt;br /&gt;
peer_com: connection to server established...&lt;br /&gt;
peer_com: performing peer_com version 2 handshake...&lt;br /&gt;
peer_com: server has replied to handshake, code 0x0001...&lt;br /&gt;
[BSF]: SchedulerThreadFn: Sched started:  CSR 16.3.9&lt;br /&gt;
[BSF]: Bluetooth--&amp;gt; init_test&lt;br /&gt;
[BSF]: init_test: Signalling sched&lt;br /&gt;
[BSF]: Bluetooth &amp;lt;== init_test&lt;br /&gt;
[Core]: Find profile - unable to find profile 0xff02&lt;br /&gt;
[Core]: Successfully registered profile -- GAP&lt;br /&gt;
[TM]: TmProfMgrRegisterInit:Tm Profile registration status 0x0&lt;br /&gt;
[Core]: Find profile - unable to find profile 0xff04&lt;br /&gt;
[Core]: Successfully registered profile -- BT Co-Existance Profile&lt;br /&gt;
[COEX]: CoExProfMgrRegisterInit:CoEx Profile registration status 0x0&lt;br /&gt;
[COEX]: CoExProfMgrRegisterInit:CoEx Profile Set IPC Registration func, err= 0x0&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x111f&lt;br /&gt;
[Core]: Successfully registered profile -- hfp/hsp&lt;br /&gt;
[HFG]: BtHfgProfMgrRegisterInit:HFG Profile registration status 0x0&lt;br /&gt;
[HFG]: BtHfgProfMgrRegisterInit:HFG Profile Set IPC Registration func, err= 0x0&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x110d&lt;br /&gt;
[Core]: Successfully registered profile -- a2dp&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x112f&lt;br /&gt;
[Core]: Successfully registered profile -- pbap&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x1115&lt;br /&gt;
[Core]: Successfully registered profile -- pan&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x110e&lt;br /&gt;
[Core]: Successfully registered profile -- avrcp&lt;br /&gt;
[Core]: Find profile - unable to find profile 0xf001&lt;br /&gt;
[Core]: Successfully registered profile -- BT Test Mode&lt;br /&gt;
[TM]: TmProfMgrRegisterInit:Tm Profile registration status 0x0&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x1105&lt;br /&gt;
[Core]: Successfully registered profile -- opp&lt;br /&gt;
[Core]: BtProfMgrStartupProfiles: Entered&lt;br /&gt;
[Core]: Initializing profile GAP&lt;br /&gt;
[Core]: Initializing profile BT Co-Existance Profile&lt;br /&gt;
[Core]: Initializing profile hfp/hsp&lt;br /&gt;
[BSF]: SC_SET_SECURITY_MODE_CFM: Status = 0x0&lt;br /&gt;
[Core]: Initializing profile a2dp&lt;br /&gt;
[Core]: Initializing profile pbap&lt;br /&gt;
[Core]: Initializing profile pan&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x10&lt;br /&gt;
*****ERROR:[IPC]: PmBtMsgLunaSendNotification: Cannot find Category for given profile uuid=0xff03&lt;br /&gt;
[PAN]: PanActivate: Entered&lt;br /&gt;
[Core]: Initializing profile avrcp&lt;br /&gt;
[Core]: Initializing profile BT Test Mode&lt;br /&gt;
[Core]: Initializing profile opp&lt;br /&gt;
[OPP]: PmBtBsaifHandleOppPrim: Security mode successfully set&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0x10&lt;br /&gt;
*****ERROR:[IPC]: PmBtMsgLunaSendNotification: Cannot find Category for given profile uuid=0xff03&lt;br /&gt;
[HFG]: Battery Level Change 5&lt;br /&gt;
[BSF]: ####### default in CmPrim handler 0x8035,&lt;br /&gt;
[COEX]: CoExIpcInit: Initializing&lt;br /&gt;
[HFG] PmBtMsgHfgInit: Initializing&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = pan   event = 0x10&lt;br /&gt;
*****ERROR:[IPC]: PmBtMsgLunaSendNotification: Cannot find Category for given profile uuid=0xff03&lt;br /&gt;
[PAN]: PanStatusHandler: PAN activated&lt;br /&gt;
[A2DP]: PmBtMsgA2dpInit: Initializing&lt;br /&gt;
[AVRCP]: PmBtMsgAvrcpInit: Initializing&lt;br /&gt;
[OPP]: PmBtMsgOppInit: Initializing&lt;br /&gt;
[COEX] PmBtWifiStatusNotification: 1&lt;br /&gt;
[HFG] PmBtTelephonySrvCallback: 1&lt;br /&gt;
[HFG] Querying for current calls&lt;br /&gt;
[HFG] PmBtAudioSrvCallback: 1&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
[HFG]: PmBtVoiceStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;voice_dialing_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
[HFG]: PmBtCallStatusNotification: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;errorText&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;errorCode&amp;quot;:0}&lt;br /&gt;
[HFG]: PmBtPowerStatusNotification: Failed to find string response&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[PHONEBOOK]: PmBtContactsStatusCallback: 0&lt;br /&gt;
[HFG]: PbMonitor Started&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;media_back_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
[COEX] WifiDisabled&lt;br /&gt;
[HFG]: PmBtCallStatusNotification: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;errorText&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;errorCode&amp;quot;:0}&lt;br /&gt;
[HFG]: PmBtPowerStatusNotification: Failed to find string response&lt;br /&gt;
[HFG] QueryPlatformCallback: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;extended&amp;quot;:{&amp;quot;meid&amp;quot;:&amp;quot;HI,THERE&amp;quot;,&amp;quot;platformType&amp;quot;:&amp;quot;cdma&amp;quot;}}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
[HFG]: PmBtVoiceStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;voice_dialing_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
** (process:3626): DEBUG: Registered object path: Client com.palm.netcfg /com/palm/netcfg&lt;br /&gt;
[HFG] PhoneNumberCallback: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;errorCode&amp;quot;:0,&amp;quot;extended&amp;quot;:{&amp;quot;number&amp;quot;:&amp;quot;1112223456&amp;quot;},&amp;quot;subscribed&amp;quot;:false}&lt;br /&gt;
[HFG] IMSICallback: {&amp;quot;returnValue&amp;quot;:false,&amp;quot;errorText&amp;quot;:&amp;quot;Carrier network returned failure&amp;quot;,&amp;quot;errorCode&amp;quot;:102}&lt;br /&gt;
[HFG] QueryPlatformCallback: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;extended&amp;quot;:{&amp;quot;meid&amp;quot;:&amp;quot;HI,THERE&amp;quot;,&amp;quot;platformType&amp;quot;:&amp;quot;cdma&amp;quot;}}&lt;br /&gt;
[HFG] PhoneNumberCallback: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;errorCode&amp;quot;:0,&amp;quot;extended&amp;quot;:{&amp;quot;number&amp;quot;:&amp;quot;1112223456&amp;quot;},&amp;quot;subscribed&amp;quot;:false}&lt;br /&gt;
[HFG] IMSICallback: {&amp;quot;returnValue&amp;quot;:false,&amp;quot;errorText&amp;quot;:&amp;quot;Carrier network returned failure&amp;quot;,&amp;quot;errorCode&amp;quot;:102}&lt;br /&gt;
[HFG]:GetCurrentNetType - failed to find type&lt;br /&gt;
[HFG]: SendSignalStrength - couldn't find network type&lt;br /&gt;
[COEX]: CoExEventHandler&lt;br /&gt;
[COEX]: Enabling all BT channels for use&lt;br /&gt;
[BSF]: Setting afh channel map&lt;br /&gt;
[HFG]:GetCurrentNetType - failed to find type&lt;br /&gt;
[HFG]: SendSignalStrength - couldn't find network type&lt;br /&gt;
[HFG]:GetCurrentNetType - failed to find type&lt;br /&gt;
[HFG]: SendSignalStrength - couldn't find network type&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[HFG]:GetCurrentNetType - failed to find type&lt;br /&gt;
[HFG]: SendSignalStrength - couldn't find network type&lt;br /&gt;
[HFG]: IMSI Setting&lt;br /&gt;
[HFG]:  Data Status Indication:&lt;br /&gt;
[HFG]: Command assigning subscriber info: 1112223456 129&lt;br /&gt;
[BSF]:CM_SET_AFH_CHANNEL_CLASS_CFM&lt;br /&gt;
[HFG]: IMSI Setting&lt;br /&gt;
[HFG]:  Data Status Indication:&lt;br /&gt;
[HFG]: HFG already activated&lt;br /&gt;
[HFG]: Command assigning subscriber info: 1112223456 129&lt;br /&gt;
[HFG]: PbMonitor Ended&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[Core]: BtProfMgrCallAllProfEventHandlers: Entered&lt;br /&gt;
*****ERROR:[GAP]: Gap Event 0x3 Not Found&lt;br /&gt;
[COEX]: CoExEventHandler&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp associate req&lt;br /&gt;
[CFG]: BtConfigFindProfile: found profile 0x110d&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connect req&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp associate req&lt;br /&gt;
[HFG]: HfgAssociate&lt;br /&gt;
[CFG]: BtConfigFindProfile: found profile 0x111f&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Connect req&lt;br /&gt;
[HFG]: HfgConnect&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xb&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xb&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Connecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connected, error=0x11b&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connected, error=0x0&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;enabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:89,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[AVRCP]: *** AVRCP_CONNECT_IND: **** , conn id=0&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile avrcp Connected, error=0x0&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[A2DP]: Received Media Play Event in invalid state, 8&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;maxVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:89,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:78,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:67,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:56,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:45,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:34,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:23,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:12,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;minVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;minVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:11,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:22,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:33,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:44,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:55,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:66,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:77,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:88,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;maxVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:89,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:78,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:67,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:56,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:45,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:34,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:23,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:12,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;minVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;minVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:11,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:22,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:33,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:44,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:55,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:66,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:77,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:88,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;maxVolume&amp;quot;}&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is what happens when PmBtEngine is started:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[SIG]: Received SIGINT, Stopping BT Engine&lt;br /&gt;
[SIG]: Received Signal to stop, Stopping BT Engine&lt;br /&gt;
Tearing down components&lt;br /&gt;
[Core]: Shutting down profile GAP&lt;br /&gt;
[Core]: Shutting down profile BT Co-Existance Profile&lt;br /&gt;
[Core]: Shutting down profile hfp/hsp&lt;br /&gt;
[HFG]: HfgDisconnect&lt;br /&gt;
[HFG]: HfgDisconnect&lt;br /&gt;
[HFG]: Canceling connection request&lt;br /&gt;
[HFG]: Canceling connection request&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Disconnecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Disconnecting&lt;br /&gt;
*****ERROR:[HFG]: HfgShutdown: Error in waiting to disconnect Hfg&lt;br /&gt;
[HFG]: Waiting for deactivation&lt;br /&gt;
[HFG]: Deactivated&lt;br /&gt;
[Core]: Shutting down profile a2dp&lt;br /&gt;
[A2DP]: Rx Events           : 48299&lt;br /&gt;
[A2DP]: Rx maxPollCount     : 27495&lt;br /&gt;
[A2DP]: Rx notStreaming     : 1&lt;br /&gt;
[A2DP]: Rx pollFailed       : 0&lt;br /&gt;
[A2DP]: Rx dataOverrun      : 0&lt;br /&gt;
[A2DP]: Rx shortRead        : 0&lt;br /&gt;
[A2DP]: Rx readFail         : 0&lt;br /&gt;
[A2DP]: Rx writeSuccess     : 0&lt;br /&gt;
[A2DP]: Rx writeFail        : 0&lt;br /&gt;
[A2DP]: Tx Events           : 48299&lt;br /&gt;
[A2DP]: Tx dataReady        : 48299&lt;br /&gt;
[A2DP]: Tx dataNotReady     : 0&lt;br /&gt;
[A2DP]: Tx dataSent         : 48299&lt;br /&gt;
[A2DP]: Tx dataNotStreaming : 0&lt;br /&gt;
[A2DP]: Tx encodeFail       : 0&lt;br /&gt;
[A2DP]: Tx pollFailed       : 0&lt;br /&gt;
[A2DP]: Tx pollSucces       : 48299&lt;br /&gt;
[A2DP]: Exiting PmBtA2dpEncodeAudio .....&lt;br /&gt;
[A2DP]: A2dpShutdown: Waiting to deactivate&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Disconnecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Disconnecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp BtProfDisConnected&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x11&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Deactivated&lt;br /&gt;
[Core]: Shutting down profile pbap&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp BtProfDisConnected&lt;br /&gt;
[AVRCP]: *** AVRCP_DISCONNECT_IND: ****&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile avrcp BtProfDisConnected&lt;br /&gt;
*****ERROR:[PBAP]: PbapWaitForDeactivate: Error in waiting to deactivate PBAP&lt;br /&gt;
[Core]: Shutting down profile pan&lt;br /&gt;
[PAN]: PanShutdown: Waiting to deactivate&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = pan   event = 0x11&lt;br /&gt;
[Core]: BtProfMgr:  profile pan Deactivated&lt;br /&gt;
[PAN]: PanStatusHandler: PAN deactivated&lt;br /&gt;
** (process:3626): DEBUG: Registered object path: Client com.palm.netcfg /com/palm/netcfg&lt;br /&gt;
[Core]: Shutting down profile avrcp&lt;br /&gt;
[Core]: Shutting down profile BT Test Mode&lt;br /&gt;
[Core]: Shutting down profile opp&lt;br /&gt;
[BSF]:sched_task_deinit&lt;br /&gt;
[BSF]: SchedulerThreadFn: Sched is closed&lt;br /&gt;
[BSF]: Bluetooth--&amp;gt; deinit_test&lt;br /&gt;
[BSF]:peer_com_deinit&lt;br /&gt;
peer_com: rx-thread cancel error&lt;br /&gt;
[BSF]:deinit_sched&lt;br /&gt;
[BSF]:deinit_pmalloc&lt;br /&gt;
*****ERROR:[STACK]: OUTSTANDING MEMORY ALLOCS IN STACK************&lt;br /&gt;
*****ERROR:[STACK]: maxAllocatedMemory=5543 bytes&lt;br /&gt;
*****ERROR:[STACK]: maxNumberOfConcurrentAllocations=90&lt;br /&gt;
*****ERROR:[STACK]: Memory allocated:&lt;br /&gt;
*****ERROR:[STACK]: 00 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 01 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 02 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 03 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 04 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=5, serialize_sd_prim.c, Deserialize_SdUnregisterServiceRecordCfm, 1123, 0xeae80, size=8&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=5, sched/sched.c, do_put_message, 682, 0xe6ee0, size=16&lt;br /&gt;
*****ERROR:[STACK]: 05 - (null)              :          24 bytes&lt;br /&gt;
*****ERROR:[STACK]: 06 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 07 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 08 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 09 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 10 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 11 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 12 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 13 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 14 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 15 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 16 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 17 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 18 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 19 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 20 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 21 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 22 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 23 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 24 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 25 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 26 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 27 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 28 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 29 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 30 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf400, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf4f8, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdb980, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdeb10, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdeb20, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdbe98, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdbea8, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdbeb8, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf4d8, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf4e8, size=12&lt;br /&gt;
*****ERROR:[STACK]: ** - ENVIRONMENT         :         120 bytes&lt;br /&gt;
*****ERROR:*******************************144&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is what happens when you disable and re-enable a bluetooth headset:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[Core]: BtProfMgrGetConnectedDev: GetConnectedDev function not implemented, profile=GAP&lt;br /&gt;
[Core]: BtProfMgrGetConnectedDev: GetConnectedDev function not implemented, profile=BT Co-Existance Profile&lt;br /&gt;
[Core]: BtProfMgrGetConnectedDev: GetConnectedDev function not implemented, profile=BT Test Mode&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Disconnect req&lt;br /&gt;
[HFG]: HfgDisconnect&lt;br /&gt;
[HFG]: Disconnecting HFG&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Disconnecting&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Disconnect req&lt;br /&gt;
[A2DP]: Rx Events           : 19377&lt;br /&gt;
[A2DP]: Rx maxPollCount     : 8&lt;br /&gt;
[A2DP]: Rx notStreaming     : 1&lt;br /&gt;
[A2DP]: Rx pollFailed       : 0&lt;br /&gt;
[A2DP]: Rx dataOverrun      : 0&lt;br /&gt;
[A2DP]: Rx shortRead        : 0&lt;br /&gt;
[A2DP]: Rx readFail         : 0&lt;br /&gt;
[A2DP]: Rx writeSuccess     : 0&lt;br /&gt;
[A2DP]: Rx writeFail        : 0&lt;br /&gt;
[A2DP]: Tx Events           : 19377&lt;br /&gt;
[A2DP]: Tx dataReady        : 19377&lt;br /&gt;
[A2DP]: Tx dataNotReady     : 0&lt;br /&gt;
[A2DP]: Tx dataSent         : 19377&lt;br /&gt;
[A2DP]: Tx dataNotStreaming : 0&lt;br /&gt;
[A2DP]: Tx encodeFail       : 0&lt;br /&gt;
[A2DP]: Tx pollFailed       : 0&lt;br /&gt;
[A2DP]: Tx pollSucces       : 19377&lt;br /&gt;
[A2DP]: Exiting PmBtA2dpEncodeAudio .....&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Disconnecting&lt;br /&gt;
[HFG]: HandleHfgPrim: HFG_DISCONNECT_IND set disconnected 0x0&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp BtProfDisConnected&lt;br /&gt;
[HFG]: BtHfgStackDisconnectInd:&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;phone_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:false}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;phone_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:false}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;disabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_bluetooth_sco&amp;quot;}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;disabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_bluetooth_sco&amp;quot;}&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp BtProfDisConnected&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_back_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:false}&lt;br /&gt;
[AVRCP]: *** AVRCP_DISCONNECT_IND: ****&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile avrcp BtProfDisConnected&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;disabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;}&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp associate req&lt;br /&gt;
[HFG]: HfgAssociate&lt;br /&gt;
[CFG]: BtConfigFindProfile: found profile 0x111f&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Connect req&lt;br /&gt;
[HFG]: HfgConnect&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp associate req&lt;br /&gt;
[CFG]: BtConfigFindProfile: found profile 0x110d&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connect req&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xb&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Connecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xb&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connected, error=0x0&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;enabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:false}&lt;br /&gt;
[HFG]: HandleHfgPrim: HFG_SUPPORTED_FEATURES_IND: 0x18&lt;br /&gt;
[HFG]: Remote Device Supports - Voice Recognition&lt;br /&gt;
[HFG]: Remote Device Supports - Remote Volume Control&lt;br /&gt;
[HFG]: HFG_SERVICE_CONNECT_IND set connected 0x0&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Connected, error=0x0&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;enabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_bluetooth_sco&amp;quot;}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;enabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_bluetooth_sco&amp;quot;}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;phone_bluetooth_sco&amp;quot;,&amp;quot;volume&amp;quot;:51,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:false}&lt;br /&gt;
[HFG]: HandleVolumeChange: volume 51&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;phone_bluetooth_sco&amp;quot;,&amp;quot;volume&amp;quot;:51,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:false}&lt;br /&gt;
[HFG]: HandleVolumeChange: volume 51&lt;br /&gt;
[HFG]: BtHfgConnectingIndHandler&lt;br /&gt;
[HFG]:  Connected to 00:19:7f:50:3f:15&lt;br /&gt;
[HFG]: Passing Noise Reduction to telephony: {&amp;quot;carkit&amp;quot;:false,&amp;quot;echocancellation&amp;quot;:true}&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[HFG]: ESCO Support enabled&lt;br /&gt;
[HFG]: BtHfgConnectingIndHandler - no calls&lt;br /&gt;
[HFG]: Sco routing request&lt;br /&gt;
[HFG]: push audio to HFG&lt;br /&gt;
[HFG]: Adjust Speaker Volume Cmd: 8&lt;br /&gt;
[HFG]: Setting Speaker Volume: 0x8&lt;br /&gt;
[HFG]: Sco routing request&lt;br /&gt;
[HFG]: push audio to HFG&lt;br /&gt;
[HFG]: Adjust Speaker Volume Cmd: 8&lt;br /&gt;
[HFG]: Setting Speaker Volume: 0x8&lt;br /&gt;
[AVRCP]: *** AVRCP_CONNECT_IND: **** , conn id=0&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile avrcp Connected, error=0x0&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[HFG]: HFG_SPEAKER_GAIN_IND&lt;br /&gt;
[HFG]: BtHfgStackSpeakerGainIndHandler:   8&lt;br /&gt;
[HFG]: passing kBtStackSpeakerGainInd on to Prim&lt;br /&gt;
[HFG]: HFG_STATUS_IND&lt;br /&gt;
[HFG]: HFG_STATUS_IND&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=New_Bluetooth&amp;diff=5348</id>
		<title>New Bluetooth</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=New_Bluetooth&amp;diff=5348"/>
		<updated>2009-09-05T02:14:42Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: New page: {{thinking-page}}  == We're working on replacing the proprietary Palm bluetooth engine, etc. with BlueZ. Here is where you will find the progress. It is likely to be just scribble for a fe...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{thinking-page}}&lt;br /&gt;
&lt;br /&gt;
== We're working on replacing the proprietary Palm bluetooth engine, etc. with BlueZ. Here is where you will find the progress. It is likely to be just scribble for a few weeks. ==&lt;br /&gt;
&lt;br /&gt;
1. mv /usr/bin/PmBtStart /usr/bin/PmBtStart.old &amp;lt;br&amp;gt;&lt;br /&gt;
2. ps aux | grep PmBt &amp;lt;br&amp;gt;&lt;br /&gt;
3. kill -9 &amp;lt;PmBtStack PID&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
4. The bluetooth stack and engine should be stopped, soon. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Palm modifications to pulseaudio to remove BlueZ support (not all listed yet):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
-#### BlueZ support (optional) ####&lt;br /&gt;
-&lt;br /&gt;
-# Check whether --enable-bluez was given.&lt;br /&gt;
-if test &amp;quot;${enable_bluez+set}&amp;quot; = set; then&lt;br /&gt;
-  enableval=$enable_bluez;&lt;br /&gt;
-            case &amp;quot;${enableval}&amp;quot; in&lt;br /&gt;
-                yes) bluez=yes ;;&lt;br /&gt;
-                no) bluez=no ;;&lt;br /&gt;
-                *) { { $as_echo &amp;quot;$as_me:$LINENO: error: bad value ${enableval} for --disable-bluez&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;$as_me: error: bad value ${enableval} for --disable-bluez&amp;quot; &amp;gt;&amp;amp;2;}&lt;br /&gt;
-   { (exit 1); exit 1; }; } ;;&lt;br /&gt;
-            esac&lt;br /&gt;
-&lt;br /&gt;
-else&lt;br /&gt;
-  bluez=auto&lt;br /&gt;
-fi&lt;br /&gt;
-&lt;br /&gt;
-if test &amp;quot;x${bluez}&amp;quot; != xno ; then&lt;br /&gt;
-&lt;br /&gt;
-pkg_failed=no&lt;br /&gt;
-{ $as_echo &amp;quot;$as_me:$LINENO: checking for BLUEZ&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo_n &amp;quot;checking for BLUEZ... &amp;quot; &amp;gt;&amp;amp;6; }&lt;br /&gt;
-&lt;br /&gt;
-if test -n &amp;quot;$PKG_CONFIG&amp;quot;; then&lt;br /&gt;
-    if test -n &amp;quot;$BLUEZ_CFLAGS&amp;quot;; then&lt;br /&gt;
-        pkg_cv_BLUEZ_CFLAGS=&amp;quot;$BLUEZ_CFLAGS&amp;quot;&lt;br /&gt;
-    else&lt;br /&gt;
-        if test -n &amp;quot;$PKG_CONFIG&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
-    { ($as_echo &amp;quot;$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \&amp;quot; bluez &amp;gt;= 3.0 \&amp;quot;&amp;quot;) &amp;gt;&amp;amp;5&lt;br /&gt;
-  ($PKG_CONFIG --exists --print-errors &amp;quot; bluez &amp;gt;= 3.0 &amp;quot;) 2&amp;gt;&amp;amp;5&lt;br /&gt;
-  ac_status=$?&lt;br /&gt;
-  $as_echo &amp;quot;$as_me:$LINENO: \$? = $ac_status&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-  (exit $ac_status); }; then&lt;br /&gt;
-  pkg_cv_BLUEZ_CFLAGS=`$PKG_CONFIG --cflags &amp;quot; bluez &amp;gt;= 3.0 &amp;quot; 2&amp;gt;/dev/null`&lt;br /&gt;
-else&lt;br /&gt;
-  pkg_failed=yes&lt;br /&gt;
-fi&lt;br /&gt;
-    fi&lt;br /&gt;
-else&lt;br /&gt;
-	pkg_failed=untried&lt;br /&gt;
-fi&lt;br /&gt;
-if test -n &amp;quot;$PKG_CONFIG&amp;quot;; then&lt;br /&gt;
-    if test -n &amp;quot;$BLUEZ_LIBS&amp;quot;; then&lt;br /&gt;
-        pkg_cv_BLUEZ_LIBS=&amp;quot;$BLUEZ_LIBS&amp;quot;&lt;br /&gt;
-    else&lt;br /&gt;
-        if test -n &amp;quot;$PKG_CONFIG&amp;quot; &amp;amp;&amp;amp; \&lt;br /&gt;
-    { ($as_echo &amp;quot;$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \&amp;quot; bluez &amp;gt;= 3.0 \&amp;quot;&amp;quot;) &amp;gt;&amp;amp;5&lt;br /&gt;
-  ($PKG_CONFIG --exists --print-errors &amp;quot; bluez &amp;gt;= 3.0 &amp;quot;) 2&amp;gt;&amp;amp;5&lt;br /&gt;
-  ac_status=$?&lt;br /&gt;
-  $as_echo &amp;quot;$as_me:$LINENO: \$? = $ac_status&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-  (exit $ac_status); }; then&lt;br /&gt;
-  pkg_cv_BLUEZ_LIBS=`$PKG_CONFIG --libs &amp;quot; bluez &amp;gt;= 3.0 &amp;quot; 2&amp;gt;/dev/null`&lt;br /&gt;
-else&lt;br /&gt;
-  pkg_failed=yes&lt;br /&gt;
-fi&lt;br /&gt;
-    fi&lt;br /&gt;
-else&lt;br /&gt;
-	pkg_failed=untried&lt;br /&gt;
-fi&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-if test $pkg_failed = yes; then&lt;br /&gt;
-&lt;br /&gt;
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then&lt;br /&gt;
-        _pkg_short_errors_supported=yes&lt;br /&gt;
-else&lt;br /&gt;
-        _pkg_short_errors_supported=no&lt;br /&gt;
-fi&lt;br /&gt;
-        if test $_pkg_short_errors_supported = yes; then&lt;br /&gt;
-	        BLUEZ_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors &amp;quot; bluez &amp;gt;= 3.0 &amp;quot;`&lt;br /&gt;
-        else&lt;br /&gt;
-	        BLUEZ_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors &amp;quot; bluez &amp;gt;= 3.0 &amp;quot;`&lt;br /&gt;
-        fi&lt;br /&gt;
-	# Put the nasty error message in config.log where it belongs&lt;br /&gt;
-	echo &amp;quot;$BLUEZ_PKG_ERRORS&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-&lt;br /&gt;
-	{ $as_echo &amp;quot;$as_me:$LINENO: result: no&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;no&amp;quot; &amp;gt;&amp;amp;6; }&lt;br /&gt;
-&lt;br /&gt;
-            HAVE_BLUEZ=0&lt;br /&gt;
-            if test &amp;quot;x$bluez&amp;quot; = xyes ; then&lt;br /&gt;
-                { { $as_echo &amp;quot;$as_me:$LINENO: error: *** BLUEZ support not found&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;$as_me: error: *** BLUEZ support not found&amp;quot; &amp;gt;&amp;amp;2;}&lt;br /&gt;
-   { (exit 1); exit 1; }; }&lt;br /&gt;
-            fi&lt;br /&gt;
-&lt;br /&gt;
-elif test $pkg_failed = untried; then&lt;br /&gt;
-&lt;br /&gt;
-            HAVE_BLUEZ=0&lt;br /&gt;
-            if test &amp;quot;x$bluez&amp;quot; = xyes ; then&lt;br /&gt;
-                { { $as_echo &amp;quot;$as_me:$LINENO: error: *** BLUEZ support not found&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;$as_me: error: *** BLUEZ support not found&amp;quot; &amp;gt;&amp;amp;2;}&lt;br /&gt;
-   { (exit 1); exit 1; }; }&lt;br /&gt;
-            fi&lt;br /&gt;
-&lt;br /&gt;
-else&lt;br /&gt;
-	BLUEZ_CFLAGS=$pkg_cv_BLUEZ_CFLAGS&lt;br /&gt;
-	BLUEZ_LIBS=$pkg_cv_BLUEZ_LIBS&lt;br /&gt;
-        { $as_echo &amp;quot;$as_me:$LINENO: result: yes&amp;quot; &amp;gt;&amp;amp;5&lt;br /&gt;
-$as_echo &amp;quot;yes&amp;quot; &amp;gt;&amp;amp;6; }&lt;br /&gt;
-	HAVE_BLUEZ=1&lt;br /&gt;
-fi&lt;br /&gt;
-else&lt;br /&gt;
-    HAVE_BLUEZ=0&lt;br /&gt;
-fi&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
-&lt;br /&gt;
- if test &amp;quot;x$HAVE_BLUEZ&amp;quot; = x1; then&lt;br /&gt;
-  HAVE_BLUEZ_TRUE=&lt;br /&gt;
-  HAVE_BLUEZ_FALSE='#'&lt;br /&gt;
-else&lt;br /&gt;
-  HAVE_BLUEZ_TRUE='#'&lt;br /&gt;
-  HAVE_BLUEZ_FALSE=&lt;br /&gt;
-fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not that it's anything to do with BlueZ... Here's what is displayed as debug data when PmBtEngine is started with the flag &amp;quot;-t&amp;quot; (Start with test functions enabled)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root@castle:/usr/bin# ./PmBtEngine -t&lt;br /&gt;
Starting PmBtEngine daemon...&lt;br /&gt;
(process:3626): Powerd-DEBUG: IdlerShm already exists... reusing&lt;br /&gt;
&lt;br /&gt;
** (process:3626): DEBUG: _powerd_server_up connected was true (powerd is already running)&lt;br /&gt;
Initializing BtEngine components&lt;br /&gt;
[PWR]: Initializing Power&lt;br /&gt;
[ MEM ] Initializing&lt;br /&gt;
[ MEM ] Initializing - list 0x40099dd0&lt;br /&gt;
[ MEM ] Starting&lt;br /&gt;
[CFG]: BtConfigInit: Initializing BT configuration module&lt;br /&gt;
[Core]: In PmBtEngineEventHandlerInitialize&lt;br /&gt;
[Core]: BtEngineEventHandler created successfully&lt;br /&gt;
[BSF]: calling init_pmalloc&lt;br /&gt;
*****ERROR: PmBtOsLogInit: Logs are already initialized&lt;br /&gt;
[BSF]: calling init_sched&lt;br /&gt;
[BSF]: calling init_bchs_msg_converter&lt;br /&gt;
[BSF]: calling SPP_init_converter&lt;br /&gt;
[BSF]: calling HFG_init_converter&lt;br /&gt;
[BSF]: calling BSL_init_converter&lt;br /&gt;
[BSF]: calling SC_init_converter&lt;br /&gt;
[BSF]: calling CM_init_converter&lt;br /&gt;
[BSF]: calling SD_init_converter&lt;br /&gt;
[BSF]: calling AV_init_converter&lt;br /&gt;
[BSF]: calling AVRCP_init_converter&lt;br /&gt;
[BSF]: calling PAS_init_converter&lt;br /&gt;
[BSF]: calling OPC_init_converter&lt;br /&gt;
[BSF]: calling peer_register_converter&lt;br /&gt;
[BSF]: calling peer_com_init&lt;br /&gt;
sched: external send registered&lt;br /&gt;
peer_com: connection to server established...&lt;br /&gt;
peer_com: performing peer_com version 2 handshake...&lt;br /&gt;
peer_com: server has replied to handshake, code 0x0001...&lt;br /&gt;
[BSF]: SchedulerThreadFn: Sched started:  CSR 16.3.9&lt;br /&gt;
[BSF]: Bluetooth--&amp;gt; init_test&lt;br /&gt;
[BSF]: init_test: Signalling sched&lt;br /&gt;
[BSF]: Bluetooth &amp;lt;== init_test&lt;br /&gt;
[Core]: Find profile - unable to find profile 0xff02&lt;br /&gt;
[Core]: Successfully registered profile -- GAP&lt;br /&gt;
[TM]: TmProfMgrRegisterInit:Tm Profile registration status 0x0&lt;br /&gt;
[Core]: Find profile - unable to find profile 0xff04&lt;br /&gt;
[Core]: Successfully registered profile -- BT Co-Existance Profile&lt;br /&gt;
[COEX]: CoExProfMgrRegisterInit:CoEx Profile registration status 0x0&lt;br /&gt;
[COEX]: CoExProfMgrRegisterInit:CoEx Profile Set IPC Registration func, err= 0x0&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x111f&lt;br /&gt;
[Core]: Successfully registered profile -- hfp/hsp&lt;br /&gt;
[HFG]: BtHfgProfMgrRegisterInit:HFG Profile registration status 0x0&lt;br /&gt;
[HFG]: BtHfgProfMgrRegisterInit:HFG Profile Set IPC Registration func, err= 0x0&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x110d&lt;br /&gt;
[Core]: Successfully registered profile -- a2dp&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x112f&lt;br /&gt;
[Core]: Successfully registered profile -- pbap&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x1115&lt;br /&gt;
[Core]: Successfully registered profile -- pan&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x110e&lt;br /&gt;
[Core]: Successfully registered profile -- avrcp&lt;br /&gt;
[Core]: Find profile - unable to find profile 0xf001&lt;br /&gt;
[Core]: Successfully registered profile -- BT Test Mode&lt;br /&gt;
[TM]: TmProfMgrRegisterInit:Tm Profile registration status 0x0&lt;br /&gt;
[Core]: Find profile - unable to find profile 0x1105&lt;br /&gt;
[Core]: Successfully registered profile -- opp&lt;br /&gt;
[Core]: BtProfMgrStartupProfiles: Entered&lt;br /&gt;
[Core]: Initializing profile GAP&lt;br /&gt;
[Core]: Initializing profile BT Co-Existance Profile&lt;br /&gt;
[Core]: Initializing profile hfp/hsp&lt;br /&gt;
[BSF]: SC_SET_SECURITY_MODE_CFM: Status = 0x0&lt;br /&gt;
[Core]: Initializing profile a2dp&lt;br /&gt;
[Core]: Initializing profile pbap&lt;br /&gt;
[Core]: Initializing profile pan&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x10&lt;br /&gt;
*****ERROR:[IPC]: PmBtMsgLunaSendNotification: Cannot find Category for given profile uuid=0xff03&lt;br /&gt;
[PAN]: PanActivate: Entered&lt;br /&gt;
[Core]: Initializing profile avrcp&lt;br /&gt;
[Core]: Initializing profile BT Test Mode&lt;br /&gt;
[Core]: Initializing profile opp&lt;br /&gt;
[OPP]: PmBtBsaifHandleOppPrim: Security mode successfully set&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0x10&lt;br /&gt;
*****ERROR:[IPC]: PmBtMsgLunaSendNotification: Cannot find Category for given profile uuid=0xff03&lt;br /&gt;
[HFG]: Battery Level Change 5&lt;br /&gt;
[BSF]: ####### default in CmPrim handler 0x8035,&lt;br /&gt;
[COEX]: CoExIpcInit: Initializing&lt;br /&gt;
[HFG] PmBtMsgHfgInit: Initializing&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = pan   event = 0x10&lt;br /&gt;
*****ERROR:[IPC]: PmBtMsgLunaSendNotification: Cannot find Category for given profile uuid=0xff03&lt;br /&gt;
[PAN]: PanStatusHandler: PAN activated&lt;br /&gt;
[A2DP]: PmBtMsgA2dpInit: Initializing&lt;br /&gt;
[AVRCP]: PmBtMsgAvrcpInit: Initializing&lt;br /&gt;
[OPP]: PmBtMsgOppInit: Initializing&lt;br /&gt;
[COEX] PmBtWifiStatusNotification: 1&lt;br /&gt;
[HFG] PmBtTelephonySrvCallback: 1&lt;br /&gt;
[HFG] Querying for current calls&lt;br /&gt;
[HFG] PmBtAudioSrvCallback: 1&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
[HFG]: PmBtVoiceStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;voice_dialing_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
[HFG]: PmBtCallStatusNotification: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;errorText&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;errorCode&amp;quot;:0}&lt;br /&gt;
[HFG]: PmBtPowerStatusNotification: Failed to find string response&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[PHONEBOOK]: PmBtContactsStatusCallback: 0&lt;br /&gt;
[HFG]: PbMonitor Started&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;media_back_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
[COEX] WifiDisabled&lt;br /&gt;
[HFG]: PmBtCallStatusNotification: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;errorText&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;errorCode&amp;quot;:0}&lt;br /&gt;
[HFG]: PmBtPowerStatusNotification: Failed to find string response&lt;br /&gt;
[HFG] QueryPlatformCallback: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;extended&amp;quot;:{&amp;quot;meid&amp;quot;:&amp;quot;HI,THERE&amp;quot;,&amp;quot;platformType&amp;quot;:&amp;quot;cdma&amp;quot;}}&lt;br /&gt;
[HFG]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;phone_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
[HFG]: PmBtVoiceStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;requested&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;voice_dialing_front_speaker&amp;quot;,&amp;quot;volume&amp;quot;:50,&amp;quot;active&amp;quot;:false,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;subscribed&amp;quot;:true}&lt;br /&gt;
** (process:3626): DEBUG: Registered object path: Client com.palm.netcfg /com/palm/netcfg&lt;br /&gt;
[HFG] PhoneNumberCallback: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;errorCode&amp;quot;:0,&amp;quot;extended&amp;quot;:{&amp;quot;number&amp;quot;:&amp;quot;1112223456&amp;quot;},&amp;quot;subscribed&amp;quot;:false}&lt;br /&gt;
[HFG] IMSICallback: {&amp;quot;returnValue&amp;quot;:false,&amp;quot;errorText&amp;quot;:&amp;quot;Carrier network returned failure&amp;quot;,&amp;quot;errorCode&amp;quot;:102}&lt;br /&gt;
[HFG] QueryPlatformCallback: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;extended&amp;quot;:{&amp;quot;meid&amp;quot;:&amp;quot;HI,THERE&amp;quot;,&amp;quot;platformType&amp;quot;:&amp;quot;cdma&amp;quot;}}&lt;br /&gt;
[HFG] PhoneNumberCallback: {&amp;quot;returnValue&amp;quot;:true,&amp;quot;errorCode&amp;quot;:0,&amp;quot;extended&amp;quot;:{&amp;quot;number&amp;quot;:&amp;quot;1112223456&amp;quot;},&amp;quot;subscribed&amp;quot;:false}&lt;br /&gt;
[HFG] IMSICallback: {&amp;quot;returnValue&amp;quot;:false,&amp;quot;errorText&amp;quot;:&amp;quot;Carrier network returned failure&amp;quot;,&amp;quot;errorCode&amp;quot;:102}&lt;br /&gt;
[HFG]:GetCurrentNetType - failed to find type&lt;br /&gt;
[HFG]: SendSignalStrength - couldn't find network type&lt;br /&gt;
[COEX]: CoExEventHandler&lt;br /&gt;
[COEX]: Enabling all BT channels for use&lt;br /&gt;
[BSF]: Setting afh channel map&lt;br /&gt;
[HFG]:GetCurrentNetType - failed to find type&lt;br /&gt;
[HFG]: SendSignalStrength - couldn't find network type&lt;br /&gt;
[HFG]:GetCurrentNetType - failed to find type&lt;br /&gt;
[HFG]: SendSignalStrength - couldn't find network type&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[HFG]:GetCurrentNetType - failed to find type&lt;br /&gt;
[HFG]: SendSignalStrength - couldn't find network type&lt;br /&gt;
[HFG]: IMSI Setting&lt;br /&gt;
[HFG]:  Data Status Indication:&lt;br /&gt;
[HFG]: Command assigning subscriber info: 1112223456 129&lt;br /&gt;
[BSF]:CM_SET_AFH_CHANNEL_CLASS_CFM&lt;br /&gt;
[HFG]: IMSI Setting&lt;br /&gt;
[HFG]:  Data Status Indication:&lt;br /&gt;
[HFG]: HFG already activated&lt;br /&gt;
[HFG]: Command assigning subscriber info: 1112223456 129&lt;br /&gt;
[HFG]: PbMonitor Ended&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[Core]: BtProfMgrCallAllProfEventHandlers: Entered&lt;br /&gt;
*****ERROR:[GAP]: Gap Event 0x3 Not Found&lt;br /&gt;
[COEX]: CoExEventHandler&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp associate req&lt;br /&gt;
[CFG]: BtConfigFindProfile: found profile 0x110d&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connect req&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp associate req&lt;br /&gt;
[HFG]: HfgAssociate&lt;br /&gt;
[CFG]: BtConfigFindProfile: found profile 0x111f&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Connect req&lt;br /&gt;
[HFG]: HfgConnect&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xb&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xb&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Connecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connected, error=0x11b&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Connected, error=0x0&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;enabled&amp;quot;,&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;scenario&amp;quot;,&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:89,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[AVRCP]: *** AVRCP_CONNECT_IND: **** , conn id=0&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0xa&lt;br /&gt;
[Core]: BtProfMgr:  profile avrcp Connected, error=0x0&lt;br /&gt;
[Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP&lt;br /&gt;
[A2DP]: Received Media Play Event in invalid state, 8&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;maxVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:89,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:78,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:67,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:56,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:45,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:34,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:23,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:12,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;minVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;minVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:11,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:22,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:33,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:44,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:55,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:66,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:77,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:88,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;maxVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:89,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:78,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:67,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:56,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:45,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:34,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:23,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:12,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;minVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:0,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;minVolume&amp;quot;}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:11,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:22,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:33,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:44,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:55,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:66,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:77,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:88,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;volume&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true}&lt;br /&gt;
[A2DP]: PmBtAudioStatusNotification:  {&amp;quot;returnValue&amp;quot;:true,&amp;quot;action&amp;quot;:&amp;quot;changed&amp;quot;,&amp;quot;changed&amp;quot;:[&amp;quot;event&amp;quot;],&amp;quot;scenario&amp;quot;:&amp;quot;media_a2dp&amp;quot;,&amp;quot;volume&amp;quot;:100,&amp;quot;active&amp;quot;:true,&amp;quot;ringer switch&amp;quot;:true,&amp;quot;muted&amp;quot;:false,&amp;quot;slider&amp;quot;:true,&amp;quot;event&amp;quot;:&amp;quot;maxVolume&amp;quot;}&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
[HFG]: Operator is Sprint&lt;br /&gt;
[HFG]:  Network Status Indication:&lt;br /&gt;
[HFG]: Network Name: Sprint&lt;br /&gt;
[HFG]: Indicator Service: 0x1&lt;br /&gt;
[HFG]: Indicator Roaming: 0x0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here's what is displayed as debug data when PmBtEngine is started&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[SIG]: Received SIGINT, Stopping BT Engine&lt;br /&gt;
[SIG]: Received Signal to stop, Stopping BT Engine&lt;br /&gt;
Tearing down components&lt;br /&gt;
[Core]: Shutting down profile GAP&lt;br /&gt;
[Core]: Shutting down profile BT Co-Existance Profile&lt;br /&gt;
[Core]: Shutting down profile hfp/hsp&lt;br /&gt;
[HFG]: HfgDisconnect&lt;br /&gt;
[HFG]: HfgDisconnect&lt;br /&gt;
[HFG]: Canceling connection request&lt;br /&gt;
[HFG]: Canceling connection request&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Disconnecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = hfp/hsp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile hfp/hsp Disconnecting&lt;br /&gt;
*****ERROR:[HFG]: HfgShutdown: Error in waiting to disconnect Hfg&lt;br /&gt;
[HFG]: Waiting for deactivation&lt;br /&gt;
[HFG]: Deactivated&lt;br /&gt;
[Core]: Shutting down profile a2dp&lt;br /&gt;
[A2DP]: Rx Events           : 48299&lt;br /&gt;
[A2DP]: Rx maxPollCount     : 27495&lt;br /&gt;
[A2DP]: Rx notStreaming     : 1&lt;br /&gt;
[A2DP]: Rx pollFailed       : 0&lt;br /&gt;
[A2DP]: Rx dataOverrun      : 0&lt;br /&gt;
[A2DP]: Rx shortRead        : 0&lt;br /&gt;
[A2DP]: Rx readFail         : 0&lt;br /&gt;
[A2DP]: Rx writeSuccess     : 0&lt;br /&gt;
[A2DP]: Rx writeFail        : 0&lt;br /&gt;
[A2DP]: Tx Events           : 48299&lt;br /&gt;
[A2DP]: Tx dataReady        : 48299&lt;br /&gt;
[A2DP]: Tx dataNotReady     : 0&lt;br /&gt;
[A2DP]: Tx dataSent         : 48299&lt;br /&gt;
[A2DP]: Tx dataNotStreaming : 0&lt;br /&gt;
[A2DP]: Tx encodeFail       : 0&lt;br /&gt;
[A2DP]: Tx pollFailed       : 0&lt;br /&gt;
[A2DP]: Tx pollSucces       : 48299&lt;br /&gt;
[A2DP]: Exiting PmBtA2dpEncodeAudio .....&lt;br /&gt;
[A2DP]: A2dpShutdown: Waiting to deactivate&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Disconnecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0xc&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Disconnecting&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp BtProfDisConnected&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x11&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp Deactivated&lt;br /&gt;
[Core]: Shutting down profile pbap&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = a2dp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile a2dp BtProfDisConnected&lt;br /&gt;
[AVRCP]: *** AVRCP_DISCONNECT_IND: ****&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = avrcp   event = 0x9&lt;br /&gt;
[Core]: BtProfMgr:  profile avrcp BtProfDisConnected&lt;br /&gt;
*****ERROR:[PBAP]: PbapWaitForDeactivate: Error in waiting to deactivate PBAP&lt;br /&gt;
[Core]: Shutting down profile pan&lt;br /&gt;
[PAN]: PanShutdown: Waiting to deactivate&lt;br /&gt;
[Core]: BtProfMgr:  unhandled event Profile = pan   event = 0x11&lt;br /&gt;
[Core]: BtProfMgr:  profile pan Deactivated&lt;br /&gt;
[PAN]: PanStatusHandler: PAN deactivated&lt;br /&gt;
** (process:3626): DEBUG: Registered object path: Client com.palm.netcfg /com/palm/netcfg&lt;br /&gt;
[Core]: Shutting down profile avrcp&lt;br /&gt;
[Core]: Shutting down profile BT Test Mode&lt;br /&gt;
[Core]: Shutting down profile opp&lt;br /&gt;
[BSF]:sched_task_deinit&lt;br /&gt;
[BSF]: SchedulerThreadFn: Sched is closed&lt;br /&gt;
[BSF]: Bluetooth--&amp;gt; deinit_test&lt;br /&gt;
[BSF]:peer_com_deinit&lt;br /&gt;
peer_com: rx-thread cancel error&lt;br /&gt;
[BSF]:deinit_sched&lt;br /&gt;
[BSF]:deinit_pmalloc&lt;br /&gt;
*****ERROR:[STACK]: OUTSTANDING MEMORY ALLOCS IN STACK************&lt;br /&gt;
*****ERROR:[STACK]: maxAllocatedMemory=5543 bytes&lt;br /&gt;
*****ERROR:[STACK]: maxNumberOfConcurrentAllocations=90&lt;br /&gt;
*****ERROR:[STACK]: Memory allocated:&lt;br /&gt;
*****ERROR:[STACK]: 00 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 01 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 02 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 03 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 04 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=5, serialize_sd_prim.c, Deserialize_SdUnregisterServiceRecordCfm, 1123, 0xeae80, size=8&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=5, sched/sched.c, do_put_message, 682, 0xe6ee0, size=16&lt;br /&gt;
*****ERROR:[STACK]: 05 - (null)              :          24 bytes&lt;br /&gt;
*****ERROR:[STACK]: 06 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 07 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 08 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 09 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 10 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 11 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 12 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 13 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 14 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 15 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 16 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 17 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 18 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 19 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 20 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 21 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 22 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 23 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 24 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 25 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 26 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 27 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 28 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 29 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: 30 - (null)              :           0 bytes&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf400, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf4f8, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdb980, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdeb10, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdeb20, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdbe98, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdbea8, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdbeb8, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf4d8, size=12&lt;br /&gt;
*****ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf4e8, size=12&lt;br /&gt;
*****ERROR:[STACK]: ** - ENVIRONMENT         :         120 bytes&lt;br /&gt;
*****ERROR:*******************************144&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=2887</id>
		<title>Portal:Research</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=2887"/>
		<updated>2009-07-29T13:56:26Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&lt;br /&gt;
{{portal-header|&lt;br /&gt;
For cutting edge things being done with the device link to the article here.&lt;br /&gt;
}}&lt;br /&gt;
{{portal-two-columns&lt;br /&gt;
|column1=&lt;br /&gt;
===Research:===&lt;br /&gt;
&lt;br /&gt;
* [[Applications Bundled on the Pre]]&lt;br /&gt;
* [[Application_Framework|Application Framework]]&lt;br /&gt;
* [[Blocking Updates]]&lt;br /&gt;
* [[BlueZ|Replacing Palm bluetooth with BlueZ]]&lt;br /&gt;
* [[Boot_Chain|Boot Chain]]&lt;br /&gt;
* [[Bootie]]&lt;br /&gt;
* [[Decrypt SSL (trusted man-in-the-middle technique)|Decrypt SSL (trusted man-in-the-middle technique)]] &lt;br /&gt;
* [[Introspecting_Dbus|Introspecting Dbus]]&lt;br /&gt;
* [[Key Codes|Key Codes]] &lt;br /&gt;
* [[Pre Specific Hash Codes|Pre Specific Hash Codes]] &lt;br /&gt;
* [[Pictures from Self-Test|Pictures from Self-Test]] &lt;br /&gt;
* [[Restore Debug Log|Restore Debug Log]] &lt;br /&gt;
* [[Reverse_Engineering_WebOS_Doctor|Reverse Engineering WebOS Doctor]]&lt;br /&gt;
* [[Reverse_Engineering_WebOS_Quick_Install|Reverse Engineering WebOS Quick Install]]&lt;br /&gt;
* [[Rooted Pre Issues|Rooted Pre Issues]] &lt;br /&gt;
* [[Running Processes|Running Processes]] &lt;br /&gt;
* [[Symlink Applications|Symlink Applications]] &lt;br /&gt;
* [[System Sounds|System Sounds]] &lt;br /&gt;
* [[TestApps|TestApps]] &lt;br /&gt;
* [[Update Service Trace|Update Service Trace]] &lt;br /&gt;
* [[Tidbits|Tidbits]] &lt;br /&gt;
* [[WebOS Exploration - Various Information|WebOS Exploration - Various Information]] &lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
===Reference===&lt;br /&gt;
* [[webkit_transform|Webkit Transform]]- a powerful set of commands for manipulating elements.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:F5VPN&amp;diff=1165</id>
		<title>Application:F5VPN</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:F5VPN&amp;diff=1165"/>
		<updated>2009-07-20T23:39:15Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''1. Open root shell'''&lt;br /&gt;
&lt;br /&gt;
'''2. Install Python''' &lt;br /&gt;
&lt;br /&gt;
ipkg-opt install python24&lt;br /&gt;
&lt;br /&gt;
Configuring bzip2&lt;br /&gt;
Configuring libdb&lt;br /&gt;
Configuring libstdc++&lt;br /&gt;
Configuring ncursesw&lt;br /&gt;
Configuring openssl&lt;br /&gt;
Configuring python24&lt;br /&gt;
Configuring readline&lt;br /&gt;
Configuring zlib&lt;br /&gt;
&lt;br /&gt;
'''3. Download (GPLv3) F5 VPN Script (Written by James Knight)'''&lt;br /&gt;
&lt;br /&gt;
wget http://fuhm.net/software/f5vpn-login/f5vpn-login.py&lt;br /&gt;
&lt;br /&gt;
Usage: ./f5vpn-login.py [--{http,socks5}-proxy=host:port] [[user@]host]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Run VPN script with user@domain parameter'''&lt;br /&gt;
&lt;br /&gt;
root@castle:/media/internal# ./f5vpn-login.py jtomawski@&amp;lt;hidden&amp;gt;1ssl.&amp;lt;hidden&amp;gt;.com&lt;br /&gt;
password for jtomawski@&amp;lt;hidden&amp;gt;1ssl.&amp;lt;hidden&amp;gt;.com?&lt;br /&gt;
Session id gotten: abcd22222456712345678123404376a9&lt;br /&gt;
Getting params...&lt;br /&gt;
Got plugin params, execing vpn client&lt;br /&gt;
PPPD LOG: 'Using interface ppp1\n'&lt;br /&gt;
PPPD LOG: 'Connect: ppp1 &amp;lt;--&amp;gt; /dev/pts/2\n'&lt;br /&gt;
PPPD LOG: 'local  IP address &amp;lt;hidden&amp;gt;\nremote IP address &amp;lt;hidden&amp;gt;\n'&lt;br /&gt;
CALLING ip_up('ppp1', '/dev/pts/2', '&amp;lt;hidden&amp;gt;', '&amp;lt;hidden&amp;gt;')&lt;br /&gt;
VPN link is up!&lt;br /&gt;
&lt;br /&gt;
'''5. Test network access by browsing to internal resource'''&lt;br /&gt;
&lt;br /&gt;
Open internal wiki, etc.&lt;br /&gt;
&lt;br /&gt;
'''6. Ctrl-C to shutdown VPN link'''&lt;br /&gt;
&lt;br /&gt;
Shutting down pppd, please wait...&lt;br /&gt;
Shut-down.&lt;br /&gt;
root@castle:/media/internal#&lt;br /&gt;
&lt;br /&gt;
'''Screen captures:'''&lt;br /&gt;
&lt;br /&gt;
[[Image:F5VpnInternalLogin.png]] [[Image:F5InternalWiki.png]]&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:F5VPN&amp;diff=1164</id>
		<title>Application:F5VPN</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:F5VPN&amp;diff=1164"/>
		<updated>2009-07-20T23:39:03Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''1. Open root shell'''&lt;br /&gt;
&lt;br /&gt;
'''2. Install Python''' &lt;br /&gt;
&lt;br /&gt;
ipkg-opt install python24&lt;br /&gt;
&lt;br /&gt;
Configuring bzip2&lt;br /&gt;
Configuring libdb&lt;br /&gt;
Configuring libstdc++&lt;br /&gt;
Configuring ncursesw&lt;br /&gt;
Configuring openssl&lt;br /&gt;
Configuring python24&lt;br /&gt;
Configuring readline&lt;br /&gt;
Configuring zlib&lt;br /&gt;
&lt;br /&gt;
'''3. Download (GPLv3) F5 VPN Script (Written by James Knight)'''&lt;br /&gt;
&lt;br /&gt;
wget http://fuhm.net/software/f5vpn-login/f5vpn-login.py&lt;br /&gt;
&lt;br /&gt;
Usage: ./f5vpn-login.py [--{http,socks5}-proxy=host:port] [[user@]host]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Run VPN script with user@domain parameter'''&lt;br /&gt;
&lt;br /&gt;
root@castle:/media/internal# ./f5vpn-login.py jtomawski@&amp;lt;hidden&amp;gt;1ssl.&amp;lt;hidden&amp;gt;.com&lt;br /&gt;
password for jtomawski@&amp;lt;hidden&amp;gt;1ssl.&amp;lt;hidden&amp;gt;.com?&lt;br /&gt;
Session id gotten: abcd22222456712345678123404376a9&lt;br /&gt;
Getting params...&lt;br /&gt;
Got plugin params, execing vpn client&lt;br /&gt;
PPPD LOG: 'Using interface ppp1\n'&lt;br /&gt;
PPPD LOG: 'Connect: ppp1 &amp;lt;--&amp;gt; /dev/pts/2\n'&lt;br /&gt;
PPPD LOG: 'local  IP address &amp;lt;hidden&amp;gt;\nremote IP address &amp;lt;hidden&amp;gt;\n'&lt;br /&gt;
CALLING ip_up('ppp1', '/dev/pts/2', '&amp;lt;hidden&amp;gt;', '&amp;lt;hidden&amp;gt;')&lt;br /&gt;
VPN link is up!&lt;br /&gt;
&lt;br /&gt;
'''5. Test network access by browsing to internal resource'''&lt;br /&gt;
&lt;br /&gt;
Open internal wiki, etc.&lt;br /&gt;
&lt;br /&gt;
'''6. Ctrl-C to shutdown VPN link'''&lt;br /&gt;
&lt;br /&gt;
Shutting down pppd, please wait...&lt;br /&gt;
Shut-down.&lt;br /&gt;
root@castle:/media/internal#&lt;br /&gt;
&lt;br /&gt;
Screen captures:&lt;br /&gt;
&lt;br /&gt;
[[Image:F5VpnInternalLogin.png]] [[Image:F5InternalWiki.png]]&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:F5InternalWiki.png&amp;diff=1162</id>
		<title>File:F5InternalWiki.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:F5InternalWiki.png&amp;diff=1162"/>
		<updated>2009-07-20T23:38:33Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:F5VPN&amp;diff=1161</id>
		<title>Application:F5VPN</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:F5VPN&amp;diff=1161"/>
		<updated>2009-07-20T23:38:17Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''1. Open root shell'''&lt;br /&gt;
&lt;br /&gt;
'''2. Install Python''' &lt;br /&gt;
&lt;br /&gt;
ipkg-opt install python24&lt;br /&gt;
&lt;br /&gt;
Configuring bzip2&lt;br /&gt;
Configuring libdb&lt;br /&gt;
Configuring libstdc++&lt;br /&gt;
Configuring ncursesw&lt;br /&gt;
Configuring openssl&lt;br /&gt;
Configuring python24&lt;br /&gt;
Configuring readline&lt;br /&gt;
Configuring zlib&lt;br /&gt;
&lt;br /&gt;
'''3. Download (GPLv3) F5 VPN Script (Written by James Knight)'''&lt;br /&gt;
&lt;br /&gt;
wget http://fuhm.net/software/f5vpn-login/f5vpn-login.py&lt;br /&gt;
&lt;br /&gt;
Usage: ./f5vpn-login.py [--{http,socks5}-proxy=host:port] [[user@]host]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Run VPN script with user@domain parameter'''&lt;br /&gt;
&lt;br /&gt;
root@castle:/media/internal# ./f5vpn-login.py jtomawski@&amp;lt;hidden&amp;gt;1ssl.&amp;lt;hidden&amp;gt;.com&lt;br /&gt;
password for jtomawski@&amp;lt;hidden&amp;gt;1ssl.&amp;lt;hidden&amp;gt;.com?&lt;br /&gt;
Session id gotten: abcd22222456712345678123404376a9&lt;br /&gt;
Getting params...&lt;br /&gt;
Got plugin params, execing vpn client&lt;br /&gt;
PPPD LOG: 'Using interface ppp1\n'&lt;br /&gt;
PPPD LOG: 'Connect: ppp1 &amp;lt;--&amp;gt; /dev/pts/2\n'&lt;br /&gt;
PPPD LOG: 'local  IP address &amp;lt;hidden&amp;gt;\nremote IP address &amp;lt;hidden&amp;gt;\n'&lt;br /&gt;
CALLING ip_up('ppp1', '/dev/pts/2', '&amp;lt;hidden&amp;gt;', '&amp;lt;hidden&amp;gt;')&lt;br /&gt;
VPN link is up!&lt;br /&gt;
&lt;br /&gt;
'''5. Test network access by browsing to internal resource'''&lt;br /&gt;
&lt;br /&gt;
Open internal wiki, etc.&lt;br /&gt;
&lt;br /&gt;
'''6. Ctrl-C to shutdown VPN link'''&lt;br /&gt;
&lt;br /&gt;
Shutting down pppd, please wait...&lt;br /&gt;
Shut-down.&lt;br /&gt;
root@castle:/media/internal#&lt;br /&gt;
&lt;br /&gt;
Screen captures:&lt;br /&gt;
&lt;br /&gt;
[[Image:F5VpnInternalLogin.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:http://i29.tinypic.com/24est8z.png]]&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:F5VpnInternalLogin.png&amp;diff=1160</id>
		<title>File:F5VpnInternalLogin.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:F5VpnInternalLogin.png&amp;diff=1160"/>
		<updated>2009-07-20T23:37:47Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:F5VPN&amp;diff=1158</id>
		<title>Application:F5VPN</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:F5VPN&amp;diff=1158"/>
		<updated>2009-07-20T23:36:58Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''1. Open root shell'''&lt;br /&gt;
&lt;br /&gt;
'''2. Install Python''' &lt;br /&gt;
&lt;br /&gt;
ipkg-opt install python24&lt;br /&gt;
&lt;br /&gt;
Configuring bzip2&lt;br /&gt;
Configuring libdb&lt;br /&gt;
Configuring libstdc++&lt;br /&gt;
Configuring ncursesw&lt;br /&gt;
Configuring openssl&lt;br /&gt;
Configuring python24&lt;br /&gt;
Configuring readline&lt;br /&gt;
Configuring zlib&lt;br /&gt;
&lt;br /&gt;
'''3. Download (GPLv3) F5 VPN Script (Written by James Knight)'''&lt;br /&gt;
&lt;br /&gt;
wget http://fuhm.net/software/f5vpn-login/f5vpn-login.py&lt;br /&gt;
&lt;br /&gt;
Usage: ./f5vpn-login.py [--{http,socks5}-proxy=host:port] [[user@]host]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Run VPN script with user@domain parameter'''&lt;br /&gt;
&lt;br /&gt;
root@castle:/media/internal# ./f5vpn-login.py jtomawski@&amp;lt;hidden&amp;gt;1ssl.&amp;lt;hidden&amp;gt;.com&lt;br /&gt;
password for jtomawski@&amp;lt;hidden&amp;gt;1ssl.&amp;lt;hidden&amp;gt;.com?&lt;br /&gt;
Session id gotten: abcd22222456712345678123404376a9&lt;br /&gt;
Getting params...&lt;br /&gt;
Got plugin params, execing vpn client&lt;br /&gt;
PPPD LOG: 'Using interface ppp1\n'&lt;br /&gt;
PPPD LOG: 'Connect: ppp1 &amp;lt;--&amp;gt; /dev/pts/2\n'&lt;br /&gt;
PPPD LOG: 'local  IP address &amp;lt;hidden&amp;gt;\nremote IP address &amp;lt;hidden&amp;gt;\n'&lt;br /&gt;
CALLING ip_up('ppp1', '/dev/pts/2', '&amp;lt;hidden&amp;gt;', '&amp;lt;hidden&amp;gt;')&lt;br /&gt;
VPN link is up!&lt;br /&gt;
&lt;br /&gt;
'''5. Test network access by browsing to internal resource'''&lt;br /&gt;
&lt;br /&gt;
Open internal wiki, etc.&lt;br /&gt;
&lt;br /&gt;
'''6. Ctrl-C to shutdown VPN link'''&lt;br /&gt;
&lt;br /&gt;
Shutting down pppd, please wait...&lt;br /&gt;
Shut-down.&lt;br /&gt;
root@castle:/media/internal#&lt;br /&gt;
&lt;br /&gt;
Screen captures:&lt;br /&gt;
&lt;br /&gt;
[[Image:http://i26.tinypic.com/157oynq.png]]&lt;br /&gt;
&lt;br /&gt;
[[Image:http://i29.tinypic.com/24est8z.png]]&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:F5VPN&amp;diff=1157</id>
		<title>Application:F5VPN</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:F5VPN&amp;diff=1157"/>
		<updated>2009-07-20T23:36:22Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''1. Open root shell'''&lt;br /&gt;
&lt;br /&gt;
'''2. Install Python''' &lt;br /&gt;
&lt;br /&gt;
ipkg-opt install python24&lt;br /&gt;
&lt;br /&gt;
Configuring bzip2&lt;br /&gt;
Configuring libdb&lt;br /&gt;
Configuring libstdc++&lt;br /&gt;
Configuring ncursesw&lt;br /&gt;
Configuring openssl&lt;br /&gt;
Configuring python24&lt;br /&gt;
Configuring readline&lt;br /&gt;
Configuring zlib&lt;br /&gt;
&lt;br /&gt;
'''3. Download (GPLv3) F5 VPN Script (Written by James Knight)'''&lt;br /&gt;
&lt;br /&gt;
wget http://fuhm.net/software/f5vpn-login/f5vpn-login.py&lt;br /&gt;
&lt;br /&gt;
Usage: ./f5vpn-login.py [--{http,socks5}-proxy=host:port] [[user@]host]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Run VPN script with user@domain parameter'''&lt;br /&gt;
&lt;br /&gt;
root@castle:/media/internal# ./f5vpn-login.py jtomawski@&amp;lt;hidden&amp;gt;1ssl.&amp;lt;hidden&amp;gt;.com&lt;br /&gt;
password for jtomawski@&amp;lt;hidden&amp;gt;1ssl.&amp;lt;hidden&amp;gt;.com?&lt;br /&gt;
Session id gotten: abcd22222456712345678123404376a9&lt;br /&gt;
Getting params...&lt;br /&gt;
Got plugin params, execing vpn client&lt;br /&gt;
PPPD LOG: 'Using interface ppp1\n'&lt;br /&gt;
PPPD LOG: 'Connect: ppp1 &amp;lt;--&amp;gt; /dev/pts/2\n'&lt;br /&gt;
PPPD LOG: 'local  IP address &amp;lt;hidden&amp;gt;\nremote IP address &amp;lt;hidden&amp;gt;\n'&lt;br /&gt;
CALLING ip_up('ppp1', '/dev/pts/2', '&amp;lt;hidden&amp;gt;', '&amp;lt;hidden&amp;gt;')&lt;br /&gt;
VPN link is up!&lt;br /&gt;
&lt;br /&gt;
'''5. Test network access by browsing to internal resource'''&lt;br /&gt;
&lt;br /&gt;
Open internal wiki, etc.&lt;br /&gt;
&lt;br /&gt;
'''6. Ctrl-C to shutdown VPN link'''&lt;br /&gt;
&lt;br /&gt;
Shutting down pppd, please wait...&lt;br /&gt;
Shut-down.&lt;br /&gt;
root@castle:/media/internal#&lt;br /&gt;
&lt;br /&gt;
Screen captures:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img&amp;gt;http://i26.tinypic.com/157oynq.png&amp;lt;/img&amp;gt;&lt;br /&gt;
&amp;lt;img&amp;gt;http://i29.tinypic.com/24est8z.png&amp;lt;/img&amp;gt;&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:F5VPN&amp;diff=1142</id>
		<title>Application:F5VPN</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:F5VPN&amp;diff=1142"/>
		<updated>2009-07-20T23:27:41Z</updated>

		<summary type="html">&lt;p&gt;JohnTomawski: New page: '''1. Open root shell'''  '''2. Install Python'''   ipkg-opt install python24  Configuring bzip2 Configuring libdb Configuring libstdc++ Configuring ncursesw Configuring openssl Configurin...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''1. Open root shell'''&lt;br /&gt;
&lt;br /&gt;
'''2. Install Python''' &lt;br /&gt;
&lt;br /&gt;
ipkg-opt install python24&lt;br /&gt;
&lt;br /&gt;
Configuring bzip2&lt;br /&gt;
Configuring libdb&lt;br /&gt;
Configuring libstdc++&lt;br /&gt;
Configuring ncursesw&lt;br /&gt;
Configuring openssl&lt;br /&gt;
Configuring python24&lt;br /&gt;
Configuring readline&lt;br /&gt;
Configuring zlib&lt;br /&gt;
&lt;br /&gt;
'''3. Download (GPLv3) F5 VPN Script (Written by James Knight)'''&lt;br /&gt;
&lt;br /&gt;
wget http://fuhm.net/software/f5vpn-login/f5vpn-login.py&lt;br /&gt;
&lt;br /&gt;
Usage: ./f5vpn-login.py [--{http,socks5}-proxy=host:port] [[user@]host]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Run VPN script with user@domain parameter'''&lt;br /&gt;
&lt;br /&gt;
root@castle:/media/internal# ./f5vpn-login.py jtomawski@&amp;lt;hidden&amp;gt;1ssl.&amp;lt;hidden&amp;gt;.com&lt;br /&gt;
password for jtomawski@&amp;lt;hidden&amp;gt;1ssl.&amp;lt;hidden&amp;gt;.com?&lt;br /&gt;
Session id gotten: abcd22222456712345678123404376a9&lt;br /&gt;
Getting params...&lt;br /&gt;
Got plugin params, execing vpn client&lt;br /&gt;
PPPD LOG: 'Using interface ppp1\n'&lt;br /&gt;
PPPD LOG: 'Connect: ppp1 &amp;lt;--&amp;gt; /dev/pts/2\n'&lt;br /&gt;
PPPD LOG: 'local  IP address &amp;lt;hidden&amp;gt;\nremote IP address &amp;lt;hidden&amp;gt;\n'&lt;br /&gt;
CALLING ip_up('ppp1', '/dev/pts/2', '&amp;lt;hidden&amp;gt;', '&amp;lt;hidden&amp;gt;')&lt;br /&gt;
VPN link is up!&lt;br /&gt;
&lt;br /&gt;
'''5. Test network access by browsing to internal resource'''&lt;br /&gt;
&lt;br /&gt;
Open internal wiki, etc.&lt;br /&gt;
&lt;br /&gt;
'''6. Ctrl-C to shutdown VPN link'''&lt;br /&gt;
&lt;br /&gt;
Shutting down pppd, please wait...&lt;br /&gt;
Shut-down.&lt;br /&gt;
root@castle:/media/internal#&lt;/div&gt;</summary>
		<author><name>JohnTomawski</name></author>
	</entry>
</feed>