The XDAndroid Project is no longer active.
This site provides archived information from while the project was under development. Some links may no longer function.

Difference between revisions of "FAQ"

From The XDAndroid Project
Jump to navigation Jump to search
[checked revision][checked revision]
(links, formatting)
Line 7: Line 7:
 
== How can I tell what device I have? RAPH?  RHOD? ==
 
== How can I tell what device I have? RAPH?  RHOD? ==
  
When you go looking thru the STARTUPS folder of a build, the list might be daunting - do I have a RAPH?  RHOD?  DIAM?
+
When you go looking thru the STARTUPS folder of a build, the list might be daunting - do I have a RAPH (a.k.a. [[Wikipedia:HTC Touch Pro|HTC Touch Pro]])?  RHOD (a.k.a. [[Wikipedia:HTC Touch Pro2|HTC Touch Pro2]])?  DIAM (a.k.a. [[Wikipedia:HTC Touch Diamond|HTC Touch Diamond]]?
  
If you are confused, the easiest/quickest way to settle it is to pull the battery on the device - shut it down completely first, if you can.  Do not look on the battery itself, but on the phone itself - on the sticker it should say what device you have - 4 letters and 3 numbers.  Above the IMEI bar code...
+
If you are confused, the easiest/quickest way to settle it is to pull the battery on the device; shut it down completely first, if you can.  Do not look on the battery itself, but on the phone itself. On the sticker it should say what device you have — 4 letters and 3 numbers, above the [[Wikipedia:IMEI|IMEI]] bar code...
  
RHOD100
+
RHOD100
 
or
 
or
DIAM500
+
DIAM500
 
etc...
 
etc...
  
Line 29: Line 29:
 
== How do I overclock? ==
 
== How do I overclock? ==
  
Place this command in your <tt>startup.txt</tt> - <tt>acpuclock.oc_freq_khz=614400</tt> for 614.4mhz.  Choose multiples of 19.2mhz, or the system will default to the closest multiple for you (for example if you put in 700000 it will really be ~692mhz instead of 700mhz.)
+
Place this command in your <tt>[[startup.txt]]</tt>: <tt>acpuclock.oc_freq_khz=614400</tt> for 614.4&nbsp;MHz.  Choose multiples of 19.2&nbsp;MHz, or the system will default to the closest multiple for you (for example if you put in 700000 it will really be ~692&nbsp;MHz instead of 700&nbsp;MHz).  (See also [[Kernel boot command-line parameters]].)
  
 
== How do I migrate my contacts from Windows Mobile? ==
 
== How do I migrate my contacts from Windows Mobile? ==
Line 43: Line 43:
 
== Do I have to run this at the root of my SD? ==
 
== Do I have to run this at the root of my SD? ==
  
No, you can set a rel_path value in the <tt>startup.txt</tt> file.
+
No, you can set a rel_path value in the <tt>[[startup.txt]]</tt> file.
  
I have mine two folders deep - from within Android it would be /sdcard/Androids/TP2Ref.  My rel_path=Androids/TP2Ref.  This goes between the quotes, after set cmdline.
+
I have mine two folders deep; from within Android it would be /sdcard/Androids/TP2Ref.  My <code>rel_path=Androids/TP2Ref</code>.  This goes between the quotes, after <code>set cmdline</code>.
  
 
== How do I fix a non-functioning or miscalibrated touchscreen? ==
 
== How do I fix a non-functioning or miscalibrated touchscreen? ==
  
Delete the file <tt>ts-calibration</tt> from the same directory in which you run <tt>haret.exe</tt> to boot Android. During the next boot, the device will prompt for touchscreen re-calibration.
+
Delete the file <tt>ts-calibration</tt> from the same directory in which you run <tt>[[HaRET|haret.exe]]</tt> to boot Android. During the next boot, the device will prompt for touchscreen re-calibration.
  
If you have any issues calibrating, you might need to go back to an older kernel.  The .35 framebuffer commit seemed to cause this issue, so you can go to a kernel before it - [http://zimages.googlecode.com/files/htc-msm-linux-20101204_010857-package.tar.bz2 1231] for example works.
+
If you have any issues calibrating, you might need to go back to an older kernel.  The .35 framebuffer commit seemed to cause this issue, so you can go to a kernel before it; [http://zimages.googlecode.com/files/htc-msm-linux-20101204_010857-package.tar.bz2 1231] for example works.
  
 
== How do I prevent clock drift? ==
 
== How do I prevent clock drift? ==
  
XDAndroid currently suffers from two types of system clock drift. Gradual clock drifting may occur. To alleviate this, download ClockSync from the Andriod Market. An hourly synchronization setting is recommended.
+
XDAndroid currently suffers from two types of system clock drift. Gradual clock drifting may occur. To alleviate this, download [https://market.android.com/details?id=ru.org.amip.ClockSync ClockSync] from the Andriod Market. An hourly synchronization setting is recommended.
  
Additionally, the clock may be skewed by a matter of hours when rebooting back into Windows Mobile. When this occurs, the offset will likely be the same as the local timezone's offset from UTC (for instance, if in Eastern Standard Time, the clock will be five hours ahead when rebooting to Windows Mobile). This is due to time handling differences between Windows Mobile and the Linux kernel. It is recommended that Windows Mobile be configured to synchronize the clock automatically. Otherwise, a third-party application may be needed to maintain the clock properly.
+
Additionally, the clock may be skewed by a matter of hours when rebooting back into Windows Mobile. When this occurs, the offset will likely be the same as the local timezone's offset from [[Wikipedia:UTC|UTC]] (for instance, if in Eastern Standard Time, the clock will be five hours ahead when rebooting to Windows Mobile). This is due to time handling differences between Windows Mobile and the Linux kernel. It is recommended that Windows Mobile be configured to synchronize the clock automatically. Otherwise, a third-party application may be needed to maintain the clock properly.
  
 
== Why does GPS lock in the middle of the ocean off the coast of Ghana? ==
 
== Why does GPS lock in the middle of the ocean off the coast of Ghana? ==
  
This is a known bug, and it does have a fix!  Entropy512 has submitted a patch, and hopefully it will be integrated soon - [http://forum.xda-developers.com/showthread.php?t=969761 here] is his thread with directions on how to apply the fix yourself, until it does get integrated into the system.
+
This is a known bug, and it does have a fix!  Entropy512 has submitted a patch, and hopefully it will be integrated soon. [http://forum.xda-developers.com/showthread.php?t=969761 Here] is his thread with directions on how to apply the fix yourself, until it does get integrated into the system.
  
 
== How can I dial out with Google Voice? ==
 
== How can I dial out with Google Voice? ==
  
Some users have issues dialing outbound calls through Google Voice. If you experience this, add the following to your ''cmdline'' in <tt>startup.txt</tt>: <tt>north_am_dialing=1</tt>
+
Some users have issues dialing outbound calls through Google Voice. If you experience this, add the following to your ''cmdline'' in <tt>[[startup.txt]]</tt>: <tt>north_am_dialing=1</tt>
 +
 
 +
(See also [[Kernel boot command-line parameters]].)
  
 
== Which ''cmdline'' arguments are available in <tt>startup.txt</tt>? ==
 
== Which ''cmdline'' arguments are available in <tt>startup.txt</tt>? ==
  
See [[Kernel boot command-line parameters]]
+
See [[Kernel boot command-line parameters]].
  
== How can I tether (wifi/USB)? ==
+
== How can I tether (WiFi/USB)? ==
  
USB tethering doesn't work natively yet, but there is an app on the market called "EasyTether".  Free, but blocks HTTPS on the free version (note: adb is needed, see [[#How-To ADB]]
+
USB tethering doesn't work natively yet, but there is an app on the market called "[https://market.android.com/details?id=com.mstream.easytether_polyclef EasyTether]".  There is a free version ([https://market.android.com/details?id=com.mstream.easytether_beta EasyTether Lite]), but it blocks HTTPS (note: adb is needed, see [[#How-To ADB]]).
  
Wifi tethering *should* work out of the box (Settings -> Tethering & Portable Hotspot).  If it doesn't there's two options as far as I'm concerned - [http://southcape.org/2010/03/18/xdandroid-eclair-wifi-tethering/ XDAndroid Wifi Tether] or 'Barnacle' Wifi Tethering (on the Market).
+
WiFi tethering ''should'' work out of the box (Settings &rarr; Tethering & Portable Hotspot).  If it doesn't there are two options as far as I'm concerned: [http://southcape.org/2010/03/18/xdandroid-eclair-wifi-tethering/ XDAndroid Wifi Tether] or [https://market.android.com/details?id=net.szym.barnacle Barnacle Wifi Tether] (on the Market).
  
 
== Why does Google Goggles Fail? ==
 
== Why does Google Goggles Fail? ==
  
IPV6 is the reason, and despite popular belief our builds do support it, they just don't have it enabled.
+
[[Wikipedia:IPv6|IPv6]] is the reason, and despite popular belief our builds do support it, they just don't have it enabled.
  
To enable it once, 'modprobe ipv6' will enable it for that session.  To enable it on boot, add that line to your user.conf file, in the 'CustomCommands' section.
+
To enable it once, <code>modprobe ipv6</code> will enable it for that session.  To enable it on boot, add that line to your user.conf file, in the 'CustomCommands' section.
  
 
== What is ADB / How-To ADB ==
 
== What is ADB / How-To ADB ==
Line 87: Line 89:
 
ADB = Android Debugging Bridge.  [http://developer.android.com/guide/developing/tools/adb.html Official Google ADB Page]
 
ADB = Android Debugging Bridge.  [http://developer.android.com/guide/developing/tools/adb.html Official Google ADB Page]
  
It also kinda works like USB Mass Storage using an app called Droid Explorer.
+
It also kinda works like [[Wikipedia:USB Mass Storage|USB Mass Storage]] using a Windows app called [http://de.codeplex.com/ Droid Explorer].
  
 
In addition, you can use it to get a console connection into the phone.
 
In addition, you can use it to get a console connection into the phone.
  
If you want to pull logs, the most popular kind are dmesg, logcat and logcat -b radio.
+
If you want to pull logs, the most popular kind are <code>dmesg</code>, <code>logcat</code> and <code>logcat -b radio</code>.
  
adb shell dmesg > dmesg.txt will dump a dmesg log (kernel traces) to a file, dmesg.txt on your computer - note this command will drop dmesg.txt where ever you are currently running the command from - watch the path you are at!
+
<code>adb shell dmesg > dmesg.txt</code> will dump a dmesg log (kernel traces) to a file &mdash; dmesg.txt &mdash; on your computer.  Note this command will drop dmesg.txt where ever you are currently running the command from &mdash; watch the path you are at!
  
adb logcat > logcat.txt will dump a logcat file (userland traces).
+
<code>adb logcat > logcat.txt</code> will dump a logcat file (userland traces).
  
adb logcat -b radio > logcat_radio.txt will dump a logcat -b radio file (logcat specific to the radio/RIL).
+
<code>adb logcat -b radio > logcat_radio.txt</code> will dump a <code>logcat -b radio</code> file (logcat specific to the radio/[[Wikipedia:Radio Interface Layer|RIL]]).
  
You can also run these on the phone directly - note, dmesg runs and ends while the two logcat commands run continuously.  You will have to break them (CTRL-C) to get the log to quit and give you back a prompt.  There are many other ADB functions which I will not address here, please see the official ADB link above.
+
You can also run these on the phone directly. Note: dmesg runs and ends while the two logcat commands run continuously.  You will have to break them (CTRL-C) to get the log to quit and give you back a prompt.  There are many other ADB functions which I will not address here, please see the official ADB link above.
  
 
[http://forum.xda-developers.com/showthread.php?t=849718 Windows How-To]
 
[http://forum.xda-developers.com/showthread.php?t=849718 Windows How-To]
Line 109: Line 111:
 
APK = Android application package file [http://developer.android.com/guide/appendix/glossary.html from the Android Glossary]
 
APK = Android application package file [http://developer.android.com/guide/appendix/glossary.html from the Android Glossary]
  
Of course you can install apps thru the Market, but if you wish to install apps manually using an APK file, there is a folder - <tt>AndroidApps</tt> off of where you run <tt>haret.exe</tt> from.  Simply place the APK inside this folder, and on the next boot the APK will be installed on the system.  Notice there are folders within this main <tt>AndroidApps</tt> folder, do not place any APKs inside these folders - they are there for you to pick and choose some apps that some may find useful, but we didn't want to automatically install them for the sake of having a clean build.
+
Of course you can install apps through the Market, but if you wish to install apps manually using an APK file, there is a folder &mdash; <tt>AndroidApps</tt> &mdash; off of where you run <tt>[[HaRET|haret.exe]]</tt> from.  Simply place the APK inside this folder, and on the next boot the APK will be installed on the system.  Notice there are folders within this main <tt>AndroidApps</tt> folder. Do not place any APKs inside these folders. They are there for you to pick and choose some apps that some may find useful, but we didn't want to automatically install them for the sake of having a clean build.
  
 
There are some other methods for installing APKs, which pertain to native Android devices and are outside of the scope of this FAQ.
 
There are some other methods for installing APKs, which pertain to native Android devices and are outside of the scope of this FAQ.
Line 117: Line 119:
 
== Which features are not currently supported? ==
 
== Which features are not currently supported? ==
  
* BT - pairs but doesn't pass any audio/data
+
* [[Wikipedia:Bluetooth|Bluetooth]] - pairs but doesn't pass any audio/data
* 3.5mm jack - RHOD400/500 has this plug, and it doesn't work at the moment
+
* 3.5-mm jack - RHOD400/500 has this plug, and it doesn't work at the moment (audio works using a [http://www.amazon.com/gp/product/B001QD3MQE/ HTC ExtUSB adapter])
* USB - only works for adb (debugging)
+
* USB - only works for adb (debugging) and battery charging
  
 
For a more complete list, please see [http://forum.ppcgeeks.com/tp2-android-development/132515-read-before-you-post-something-isnt-working-known-issues-affecting-all-builds-2-9-a.html this PPC-Geeks forum thread] (thanks manekineko)
 
For a more complete list, please see [http://forum.ppcgeeks.com/tp2-android-development/132515-read-before-you-post-something-isnt-working-known-issues-affecting-all-builds-2-9-a.html this PPC-Geeks forum thread] (thanks manekineko)
Line 129: Line 131:
 
== How do I connect to WiFi networks with WEP encryption? ==
 
== How do I connect to WiFi networks with WEP encryption? ==
  
There is currently [http://bugs.xdandroid.com/show_bug.cgi?id=90 an issue with WiFi access points which use WEP encryption]. The system currently does not support WEP out of the box, but a Market app called '''wifi-ace''' will work around this issue until it is resolved by XDAndroid.
+
There is currently [http://bugs.xdandroid.com/show_bug.cgi?id=90 an issue with WiFi access points which use WEP encryption]. The system currently does not support WEP out of the box, but a Market app called '''[http://code.google.com/p/android-wifi-ace/ wifi-ace]''' will work around this issue until it is resolved by XDAndroid.
  
 
== Why do I not have service? ==
 
== Why do I not have service? ==
  
The main reason for not having service would be the force_cdma setting in the <tt>startup.txt</tt> file.  If you are using the phone as a GSM device, force_cdma=0 needs to be present in your cmdline with no other force_cdma statements!  This is the default, so if you do not have a force_cdma= statement, the default value is 0.  If you are using the device as CDMA, this needs to =1.  The phone cannot be used as both currently - one or the other, choose wisely.
+
The main reason for not having service would be the force_cdma setting in the <tt>[[startup.txt]]</tt> file.  If you are using the phone as a GSM device, <code>force_cdma=0</code> needs to be present in your cmdline with no other <code>force_cdma</code> statements!  This is the default, so if you do not have a <code>force_cdma=</code> statement, the default value is 0.  If you are using the device as [[Wikipedia:CDMA|CDMA]], this needs to =1.  The phone cannot simultaneously be used as both currently &mdash; one or the other, choose wisely.
  
In addition, if you're using a CDMA device in CDMA mode, you <b>must</b> remove the SIM card prior to booting!
+
In addition, if you're using a CDMA device in CDMA mode, you '''must''' remove the [[Wikipedia:SIM card|SIM card]] prior to booting!
  
 
== The power and end button do the same thing, what gives? ==
 
== The power and end button do the same thing, what gives? ==
Line 142: Line 144:
  
 
* F22 has been maintaining a modified rootfs ([http://forum.xda-developers.com/showthread.php?t=935710 thread]) file that allows you to change all sorts of button-mapping related things.  Hopefully it'll get committed soon!  (Hint hint F22...)
 
* F22 has been maintaining a modified rootfs ([http://forum.xda-developers.com/showthread.php?t=935710 thread]) file that allows you to change all sorts of button-mapping related things.  Hopefully it'll get committed soon!  (Hint hint F22...)
* Alternatively, and perhaps slightly easier - in the app Spare Parts (on the Market if your build doesn't include it) you can change the "End Key Behavior" so you can make it act as the home button - note, this only effects short press, not long press.
+
* Alternatively, and perhaps slightly easier - in the app [https://market.android.com/details?id=com.androidapps.spare_parts Spare Parts] (on the Market if your build doesn't include it) you can change the "End Key Behavior" so you can make it act as the home button. Note that this only effects short press, not long press.

Revision as of 08:38, 8 April 2011


General FAQs

How can I tell what device I have? RAPH? RHOD?

When you go looking thru the STARTUPS folder of a build, the list might be daunting - do I have a RAPH (a.k.a. HTC Touch Pro)? RHOD (a.k.a. HTC Touch Pro2)? DIAM (a.k.a. HTC Touch Diamond?

If you are confused, the easiest/quickest way to settle it is to pull the battery on the device; shut it down completely first, if you can. Do not look on the battery itself, but on the phone itself. On the sticker it should say what device you have — 4 letters and 3 numbers, above the IMEI bar code...

RHOD100

or

DIAM500

etc...


Rhodium:
599px-HTC Rhodium.jpg
Raphael:
HTC Raphael.jpg
Kovsky:
Htckovs100yk8.jpg
Topaz:
741px-HTC Topaz.jpg
Blackstone:
HTC Blackstone.jpg
Diamond:
HTC Diamond.jpg

How do I overclock?

Place this command in your startup.txt: acpuclock.oc_freq_khz=614400 for 614.4 MHz. Choose multiples of 19.2 MHz, or the system will default to the closest multiple for you (for example if you put in 700000 it will really be ~692 MHz instead of 700 MHz). (See also Kernel boot command-line parameters.)

How do I migrate my contacts from Windows Mobile?

How to sync WinMo with Google

In Android, simply add a Google account to sync normally. The account will eventually synchronize the contacts that were added to it by Windows Mobile as directed in the above page. Changes and additions to the contact list will be continuously synchronized between the two operating systems.

How much space do I need on my Storage Card?

The absolute-minimum supported card size is 512MB. For reference, a complete XDAndroid system will usually occupy about 480MB of space (including a 256MB data.img file which appears after initial installation).

Do I have to run this at the root of my SD?

No, you can set a rel_path value in the startup.txt file.

I have mine two folders deep; from within Android it would be /sdcard/Androids/TP2Ref. My rel_path=Androids/TP2Ref. This goes between the quotes, after set cmdline.

How do I fix a non-functioning or miscalibrated touchscreen?

Delete the file ts-calibration from the same directory in which you run haret.exe to boot Android. During the next boot, the device will prompt for touchscreen re-calibration.

If you have any issues calibrating, you might need to go back to an older kernel. The .35 framebuffer commit seemed to cause this issue, so you can go to a kernel before it; 1231 for example works.

How do I prevent clock drift?

XDAndroid currently suffers from two types of system clock drift. Gradual clock drifting may occur. To alleviate this, download ClockSync from the Andriod Market. An hourly synchronization setting is recommended.

Additionally, the clock may be skewed by a matter of hours when rebooting back into Windows Mobile. When this occurs, the offset will likely be the same as the local timezone's offset from UTC (for instance, if in Eastern Standard Time, the clock will be five hours ahead when rebooting to Windows Mobile). This is due to time handling differences between Windows Mobile and the Linux kernel. It is recommended that Windows Mobile be configured to synchronize the clock automatically. Otherwise, a third-party application may be needed to maintain the clock properly.

Why does GPS lock in the middle of the ocean off the coast of Ghana?

This is a known bug, and it does have a fix! Entropy512 has submitted a patch, and hopefully it will be integrated soon. Here is his thread with directions on how to apply the fix yourself, until it does get integrated into the system.

How can I dial out with Google Voice?

Some users have issues dialing outbound calls through Google Voice. If you experience this, add the following to your cmdline in startup.txt: north_am_dialing=1

(See also Kernel boot command-line parameters.)

Which cmdline arguments are available in startup.txt?

See Kernel boot command-line parameters.

How can I tether (WiFi/USB)?

USB tethering doesn't work natively yet, but there is an app on the market called "EasyTether". There is a free version (EasyTether Lite), but it blocks HTTPS (note: adb is needed, see #How-To ADB).

WiFi tethering should work out of the box (Settings → Tethering & Portable Hotspot). If it doesn't there are two options as far as I'm concerned: XDAndroid Wifi Tether or Barnacle Wifi Tether (on the Market).

Why does Google Goggles Fail?

IPv6 is the reason, and despite popular belief our builds do support it, they just don't have it enabled.

To enable it once, modprobe ipv6 will enable it for that session. To enable it on boot, add that line to your user.conf file, in the 'CustomCommands' section.

What is ADB / How-To ADB

ADB = Android Debugging Bridge. Official Google ADB Page

It also kinda works like USB Mass Storage using a Windows app called Droid Explorer.

In addition, you can use it to get a console connection into the phone.

If you want to pull logs, the most popular kind are dmesg, logcat and logcat -b radio.

adb shell dmesg > dmesg.txt will dump a dmesg log (kernel traces) to a file — dmesg.txt — on your computer. Note this command will drop dmesg.txt where ever you are currently running the command from — watch the path you are at!

adb logcat > logcat.txt will dump a logcat file (userland traces).

adb logcat -b radio > logcat_radio.txt will dump a logcat -b radio file (logcat specific to the radio/RIL).

You can also run these on the phone directly. Note: dmesg runs and ends while the two logcat commands run continuously. You will have to break them (CTRL-C) to get the log to quit and give you back a prompt. There are many other ADB functions which I will not address here, please see the official ADB link above.

Windows How-To

Linux (Ubuntu) How-To

What is an APK / How to install apps/programs

APK = Android application package file from the Android Glossary

Of course you can install apps through the Market, but if you wish to install apps manually using an APK file, there is a folder — AndroidApps — off of where you run haret.exe from. Simply place the APK inside this folder, and on the next boot the APK will be installed on the system. Notice there are folders within this main AndroidApps folder. Do not place any APKs inside these folders. They are there for you to pick and choose some apps that some may find useful, but we didn't want to automatically install them for the sake of having a clean build.

There are some other methods for installing APKs, which pertain to native Android devices and are outside of the scope of this FAQ.

HTC Touch Pro 2/Tilt 2 (Rhodium)

Which features are not currently supported?

  • Bluetooth - pairs but doesn't pass any audio/data
  • 3.5-mm jack - RHOD400/500 has this plug, and it doesn't work at the moment (audio works using a HTC ExtUSB adapter)
  • USB - only works for adb (debugging) and battery charging

For a more complete list, please see this PPC-Geeks forum thread (thanks manekineko)

Why is the device's notification LED always orange or green?

The notification LED indicates sleep state (orange LED indicates device is awake; green LED indicates device is in sleep mode). If the LED is always orange, the phone isn't properly sleeping. Make sure GPS is disabled, as this will prevent the phone from sleeping.

How do I connect to WiFi networks with WEP encryption?

There is currently an issue with WiFi access points which use WEP encryption. The system currently does not support WEP out of the box, but a Market app called wifi-ace will work around this issue until it is resolved by XDAndroid.

Why do I not have service?

The main reason for not having service would be the force_cdma setting in the startup.txt file. If you are using the phone as a GSM device, force_cdma=0 needs to be present in your cmdline with no other force_cdma statements! This is the default, so if you do not have a force_cdma= statement, the default value is 0. If you are using the device as CDMA, this needs to =1. The phone cannot simultaneously be used as both currently — one or the other, choose wisely.

In addition, if you're using a CDMA device in CDMA mode, you must remove the SIM card prior to booting!

The power and end button do the same thing, what gives?

In some of the older builds, power was mapped as home. There was a decision that was made (very controversial I might add) to remap power to be power. Problem is, the end key is also power by default. There's a couple of options:

  • F22 has been maintaining a modified rootfs (thread) file that allows you to change all sorts of button-mapping related things. Hopefully it'll get committed soon! (Hint hint F22...)
  • Alternatively, and perhaps slightly easier - in the app Spare Parts (on the Market if your build doesn't include it) you can change the "End Key Behavior" so you can make it act as the home button. Note that this only effects short press, not long press.