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
[unchecked revision][pending revision]
m
 
(93 intermediate revisions by 8 users not shown)
Line 1: Line 1:
=Getting Started=
+
<!-- IF YOU ARE EDITING THIS PAGE, BE AWARE:
 +
    All edits are subject to review. Your revisions will not be visible to the world until
 +
    accepted. Quality assurance will be done regularly by the Wiki editing team. -->
  
== What is XDAndroid? ==
+
=General FAQs=
  
XDAndroid is a project to port Android onto older HTC phones.
+
== How can I tell what device I have? RAPH?  RHOD? ==
  
There are two main parts of XDAndroid, which combine to form a complete port:
+
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]])?
* Kernel/drivers: You can find packages to run Android on old HTC phones from a variety of sources, but whatever package you use, all rely upon the kernels/drivers created here by the XDAndroid team to enable the basic hardware.
 
  
* Android system: The Android system forms all of the parts of the phone's interface that you can directly interact with. Once the kernel/drivers have setup the hardware, you can add on an Android system port of your choice to form a complete build. Many system ports are available, both in terms of different versions (2.1 Eclair, 2.2 Froyo, 2.3 Gingerbread, etc.) and different starting points in the case of ports written by those outside of XDAndroid.<br>XDAndroid releases an "official" system port you can use, which is directly ported over by the XDAndroid team from the [http://source.android.com/ Android Open Source Project], and is very close to stock. Many of the alternative builds you come across are modifications of the XDAndroid system, containing customizations that deviate farther from stock Android, while others have different starting points altogether, and are ports of the ROMs found on official shipping devices that have already been customized (but still use the same basic kernel/drivers found here).
+
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 &mdash; 4 letters and 3 numbers, above the [[Wikipedia:IMEI|IMEI]] bar code... It's the last part of the FCC ID (in gray)
  
== How much space do I need on my Storage Card? ==
+
RHOD100
 +
or
 +
DIAM500
 +
etc...
 +
 
 +
 
 +
{| cellpadding="20" cellspacing="0"
 +
|Devices with physical keyboards:
 +
|-
 +
|Rhodium: [[File:599px-HTC_Rhodium.jpg|thumb]]
 +
|Raphael: [[File:HTC_Raphael.jpg‎|160px|thumb]]
 +
|Kovsky: [[File:Htckovs100yk8.jpg‎|150px|thumb]]
 +
|-
 +
|Devices without physical keyboards:
 +
|-
 +
|Topaz: [[File:741px-HTC_Topaz.jpg|230px|thumb]]
 +
|Blackstone: [[File:HTC_Blackstone.jpg|thumb]]
 +
|Diamond: [[File:HTC_Diamond.jpg‎|110px|thumb]]
 +
|}
  
The absolute minimum supported card size is 512MB. For reference, a complete XDAndroid system will usually occupy about 480MB of space (including a 256MB <tt>data.img</tt> file which appears after initial installation).
+
== How do I overclock? ==
  
== How do I install XDAndroid? ==
+
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]].)
  
For all builds, '''it is essential that you disable any overclocking you have in WinMo before you boot Haret.'''
+
The 'max' you can overclock varies by device, and some devices can be pushed farther than others.  It seems best to establish what max you can hit in WinMo, and apply that to Android (disable OC in WinMo before booting Android...)  Anything over 700 seems risky, although some RHODs run up in the 800+ range without issue.  If you're having problems, ramp this value down first, if not completely disabling it before moving on to other troubleshooting steps.
  
You can download an all-in-one package from [http://forum.xda-developers.com/showthread.php?t=951962 here], which contains a recent kernel with the latest official XDAndroid system build for Froyo. If you use the all-in-one package, be sure to read all instructions in the first post of that thread.
+
== HaRET failing to boot? ==
 +
:''See also [[HaRET]].''
 +
# Don't overclock WinMo.
 +
# Look over the directions in the build thread again.  Make sure you have all the necessary files, in the correct location.
 +
# If it's still failing to boot, format your SD card using the [http://www.eocfiles.com/bdc86eb1ed2989c30dcd1902e84939ae/bootdisks/SP27608.exe HP Tool] (for Linux, whatever tool seems to do the job &mdash; it's just the built-in Windows/WinMo format utilities that seem broken...)
  
You can also install XDAndroid from parts by following [http://xdandroid.com/wiki/Installation_Guide these instructions].
+
== How can I update? ==
  
If you want to install a different build from a 3rd party, you can follow the directions they provide.
+
Well if you're adventurous and want to try upgraded the components of the build, see the [[Incremental Updates]] page.
  
 
== How do I migrate my contacts from Windows Mobile? ==
 
== How do I migrate my contacts from Windows Mobile? ==
  
The easiest way is to first [http://www.google.com/support/mobile/bin/answer.py?answer=138636&topic=14299 sync your WinMo contacts with Google].
+
[http://www.google.com/support/mobile/bin/answer.py?answer=138636&topic=14299 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.
 
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 do I recalibrate my touch screen? ==
+
== 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 <tt>data.img</tt> file which appears after initial installation).
 +
 
 +
== Do I have to run this at the root of my SD? ==
  
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.
+
No, you can set a rel_path value in the <tt>[[startup.txt]]</tt> file.
  
If you have any issues calibrating, you might need to go back to an older kernel.  The .35 framebuffer commit seemed to cause a problem where you can't see the calibration squares, making it seem like your device is hung with just text on the screen. You can get this by going to a kernel before it - [http://zimages.googlecode.com/files/htc-msm-linux-20101204_010857-package.tar.bz2 1231] for example works.
+
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>.
  
= Using Android =
+
== Why can Android not see my SD card?  It says "No SD inserted"!! ==
  
== What are the buttons in XDAndroid? ==
+
Well, the theory is the built-in Windows and WinMo format utilities are broken.  Backup all the data on the card, do a full format, FAT32 on the card using the [http://www.eocfiles.com/bdc86eb1ed2989c30dcd1902e84939ae/bootdisks/SP27608.exe HP Tool].  Restore all the data on the card, and apps within Android should now see the card.
 +
It seems that this error occurs when there's no partition table on the SD card (even if the card is FAT32 formated). You can reformat it with Mac OS X Disk Utility. As long as you put a partition table (MBR format), Android will be able to read your FAT32 formated partition.
  
* Windows key: This is the menu button in Android.
+
== How do I fix a non-functioning or miscalibrated touchscreen? ==
* End Call: This not only ends calls, but can be setup under Spare Parts to take you to the home screen.
 
* Back: Back
 
* Call: Bring up dialer
 
* Power: Power. Press and hold to bring up the power menu.
 
  
You can use an alternative rootfs available [http://forum.xda-developers.com/showthread.php?t=935710 here] that turns the End Call button into Home, which enables a long press to bring up the recently used applications menu for multitasking.
+
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.
  
== I've run into a strange bug, what steps should I take to debug it? ==
+
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.
  
The first thing you should do is check the known issues list to see if this is a known problem. The following is a known issue list targeted towards Rhodiums, but it generally applies to all devices on XDAndroid: [http://forum.ppcgeeks.com/tp2-android-development/132515-read-before-you-post-something-isnt-working-known-issues-affecting-all-builds-2-9-a.html Known issues list]. It also contains solutions where available, so there is your added incentive to read it!
+
== How do I prevent clock drift? ==
  
If your bug isn't in the list, then you should test to see if your memory card or data.img file has become corrupted. This is a common problem at this stage, unfortunately, and resolves many, many problems.
+
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.
* Memory card corruption: Copy all of the files off of your SD card, and then run the [http://www.pcworld.com/downloads/file/fid,64963-order,4/description.html HP card formatter] to format your card. This formats the card at a low level, and takes some time. After your card is formatted, copy the files back onto the card and see if your problem is resolved.
 
* Data.img corruption: Navigate to your Android directory, and rename your data.img file to data.bak. The next time you start Android, it will boot into a clean slate with a new data.img file. Test whether this fixes your issue. If it does, then your problem was due to a corrupted data.img file, and you should continue using the new, clean install. If it does not, you can delete the new data.img, and rename your data.bak back to data.img.
 
  
== Why is the device's notification LED always orange or green? ==
+
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.
  
The notification LED indicates sleep state (orange LED indicates device is awake; green LED indicates device is in sleep mode).  It is normal to see your phone's LED occasionally turn from green to orange while it is sleeping, this is the phone waking up to perform some task. 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.
+
== Why does GPS lock take forever? ==
  
== Why do I not have cellular service? ==
+
Basically our Android port doesn't support any advanced GPS features like warm injection.  Read more [http://forum.xda-developers.com/showthread.php?t=969761 here].
  
That depends on whether you have a GSM or a CDMA phone. You have a GSM phone if you got your phone anywhere outside of North America, or in North America, if you're on T-Mobile or AT&T. You have a CDMA phone if you have Sprint, Verizon, or Telus service in North America. CDMA Touch Pro 2's are world phones, and can also be used on GSM networks; if you plan to do so, follow the instructions for GSM service rather than CDMA service.
+
We've noticed that if you use QuickGPS in WinMo (or even get a GPS lock in WinMo) prior to booting Android, the GPS lock times in Android are greatly reduced.
  
If you're on GSM, make sure that in your <tt>startup.txt</tt> file, there is no line that says force_cdma. Alternatively, you can set force_cdma=0, but that is the default.
+
== Which ''cmdline'' arguments are available in <tt>startup.txt</tt>? ==
  
If you're on CDMA, make sure there is a line in your startup.txt inside of ''set cmdline'' that says force_cdma=1, and furthermore, physically remove the SIM card from your phone if you have a CDMA Touch Pro 2. If you do not remove the SIM card from your phone, your connection will be unreliable, and may work sometimes, but then will receive no service at others.
+
See [[Kernel boot command-line parameters]]. Note - some of these commands are outdated and deprecated (will be ignored).
  
== How can I dial out with Google Voice? ==
+
== WiFi doesn't work at all? ==
  
This must be enabled in <tt>startup.txt</tt> with the following addition to the ''set cmdline'' section: <tt>north_am_dialing=1</tt>
+
If you upgraded your kernel (see [[Incremental Updates]]) then make sure the modules-xxxx.tar.gz file matches the kernel (zImage).  Sometimes the modules don't unpack correctly either, if you suspect this is the case (you know you've matched the zImage to the modules correctly) then try [http://forum.xda-developers.com/showpost.php?p=16616048&postcount=70 this trick] (thanks Starfox).
  
== How do I upgrade my XDAndroid install to have the hot new functionality I see people talking about? ==
+
If you have tried to use WiFi and every possible fix suggested fails - and the error states "Unable to scan" the issue probably lies in the <tt>wifi-nvram.txt</tt> file - basically Android doesn't know the MAC address of your WLAN card.
  
Developers are coming out with new functionality all the time! To get the new functionality onto your device, you can either install the parts yourself, which is really easy, or wait until a whole new package is released.
+
See [http://forum.xda-developers.com/showpost.php?p=9187263&postcount=80 F22's post] on how to workaround this issue.  Not everyone needs this fix, and we haven't determined why some do and others do not...  Unfortunately you have to cp this file.  You can try to add the cp line in your froyo.user.conf, but all other methods (bind mount, symlink) seem to fail - so don't bother.
  
To upgrade a part, all you have to do is download the new files, get rid of the old ones, and copy over the new ones. In the case of a kernel upgrade, take particular care to either delete or rename the old modules file as well as the zImage file.
+
== How can I tether (WiFi/USB)? ==
  
You can generally upgrade the kernel (zImage and modules) and the rootfs without having to start from scratch with a new data.img.
+
USB Tethering should "just work" now. Make sure it is enabled in Settings &rarr; Wireless & Networks &rarr; Tethering & portable hotspot &rarr; USB Tethering.
  
You're also free to try installing a new system.ext2 file without deleting your existing data.img, however, this is a lot dicier, and depends on how many changes were made in the underlying system file.
+
WiFi tethering ''should'' work out of the box (Settings &rarr; Wireless & Networks &rarr; Tethering & Portable Hotspot).  If it doesn't there are a couple of options: [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). Neither of these solutions use a true AP, only adhoc.  If your device requires a true AP (not adhoc!!) then the built-in wireless tethering solution is the only option.
  
= Digging into XDAndroid =
+
== What is ADB / How-To ADB ==
  
== How do all of the parts of XDAndroid fit together? ==
+
ADB = Android Debugging Bridge.  [http://developer.android.com/guide/developing/tools/adb.html Official Google ADB Page]
  
Android is a framework that runs on top of Linux. In order to get Android running on our devices, first we must get Linux running on the hardware with all drivers implemented, and then, we hook Android into these drivers. Thus, broadly viewed, the XDAndroid project is divided into two parts: the kernel/drivers and the Android port.
+
It also kinda works like [[Wikipedia:USB Mass Storage|USB Mass Storage]] using a Windows app called [http://de.codeplex.com/ Droid Explorer].
  
When you look at the files in your Android directory, you'll probably see something like the following:
+
In addition, you can use it to get a console connection into the phone.
* zImage: The Linux kernel and drivers.
 
* modules-###: Additional drivers for the kernel. Your system will load without this, but things like wifi may not work, or you may encounter instability.
 
* initrd.gz: Used in the Linux boot process.
 
* system.ext2: Most of the Android framework.
 
* rootfs.img: Parts of the Android framework that are customized for our devices.
 
* data.img: This file contains what would be your internal memory on a real Android device. Whenever you install a program it goes in to here. A new empty one will be automatically created if you don't have one.
 
* haret.exe: Reboots you from Windows into XDAndroid.
 
* startup.txt: Commands passed to XDAndroid on bootup that are customized by the user.
 
* ts-calibration: Contains calibration information for the touch screen. If you don't have this file, you will be prompted to calibrate your screen on startup.
 
* AndroidApps: A folder where if you copy any apks into it, they will be automatically installed on bootup.
 
  
== What ''cmdline'' arguments are available in <tt>startup.txt</tt>? ==
+
[[Logs]] can be pulled with adb.
  
See [[Kernel boot command-line parameters]]
+
There are many other ADB functions which I will not address here, please see the official ADB link above.
  
== How do I overclock Android? ==
+
[http://forum.xda-developers.com/showthread.php?t=849718 Windows How-To]
  
You can add into your startup.txt ''set cmdline'' section the command acpuclock.oc_freq_khz=### where ### is a number. Overclocking can be set to any multiple of 19,200 khz. For example, acpuclock.oc_freq_khz=768000 will overclock to 768Mhz (this is 19,200 x 40), while acpuclock.oc_freq_khz=614400 will overclock to 614.4Mhz (this is 19,200 x 32). Values in between a proper multiple of 19,200 will be rounded down.
+
[http://forum.xda-developers.com/showthread.php?p=11823740 Linux (Ubuntu) How-To]
  
As with all overclocking, you proceed at your own risk, and devices vary in their capabilities. There have been reports of some users achieving overclocks as high as 800Mhz, but the norm is far lower, and most devices lose stability by around 700Mhz.
+
[http://forum.xda-developers.com/showthread.php?t=1099481 Further Reading] (thanks slycker)
  
== Is there any way to remove Windows Mobile or make my device always boot up in Android? ==
+
== What is an APK / How to install apps/programs ==
  
There is significant development here, and it should soon be possible to remove Windows Mobile and boot directly into Android.
+
APK = Android application package file [http://developer.android.com/guide/appendix/glossary.html from the Android Glossary]
  
In the meantime, though, check out [http://forum.xda-developers.com/showthread.php?t=623792 Gen.Y Dualboot]. This application will present a dualboot option screen at the very beginning of Windows Mobile startup, and you can set it to automatically boot you into Android.
+
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 <span class="plainlinks">[http://www.proposable.com <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">proposal software</span>] 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.
  
== I hear that logs can be useful for the developers, how do I get useful logs for the developers? ==
+
There are some other methods for installing APKs, which pertain to native Android devices and are outside of the scope of this FAQ.
  
Kernel dmesg logs are very helpful to the kernel developers in determining why something isn't working. There's a number of ways you can get these:
+
== How can I theme the build? ==
  
# If you install ADB, you can connect to your computer and see your dmesg logs on your computer. The easiest way to install ADB is to install [http://de.codeplex.com/ Droid Explorer], which will take care of all necessary driver installs.
+
Entropy512 has created [http://forum.xda-developers.com/showpost.php?p=14514109&postcount=1516 a post] on this subject.
# If you experienced a crash, you can find the dmesg log from your previous boot automatically saved under /data/system/dropbox. It will be the most recent SYSTEM_LAST_KMSG file. Unfortunately, you can only see this directory if you are running root, so you can either use ADB/Droid Explorer, a file manager like Root Explorer, or the terminal.
 
# An application called [https://market.android.com/details?id=com.eolwral.osmonitor OSMonitor] in the Market has the ability to export your current dmesg logs as a text file.
 
  
=Community=
+
== Can I store apps on the SD card / I'm out of space!! ==
  
==What are the major forums dedicated to discussing XDAndroid? ==
+
Well first of all, everything is on the SD card - so the apps are already on your SD card.  Please don't use app2sd for this reason... it won't work. However, instead of being directly on the SD they're stored in this <tt>data.img</tt> file (along with every other user-related thing like SMS's, phone call log, etc etc). So if you go to Settings -> SD Card & Phone Storage -> "Internal phone storage" is basically this <tt>data.img</tt> file. There is a pretty slick app that allows you to expand the size of this file - just make sure you have the space on your SD!  [http://forum.xda-developers.com/showthread.php?t=824154 Data Expansion Tool]
Most CDMA users are found on PPCGeeks, and most GSM users are found on xdadevelopers. The forums are generally segregated by device type, but there are a lot of cross posts between forums even for people on other devices.
 
* [http://forum.ppcgeeks.com/tp2-android-development/ PPCGeeks Touch Pro 2 Android Development]
 
* [http://forum.xda-developers.com/forumdisplay.php?f=589 xdadevelopers Touch Pro 2 Android Development]
 
* [http://forum.xda-developers.com/forumdisplay.php?f=623 xdadevelopers Touch Diamond2 Android Development]
 
* [http://forum.xda-developers.com/forumdisplay.php?f=577 xdadevelopers TouchHD Android Development]
 
* [http://forum.xda-developers.com/forumdisplay.php?f=609 xdadevelopers Touch Pro Android Development]
 
  
==What are the major IRC channels dedicated to discussing XDAndroid?==
+
== What about MMS? ==
Development discussion is separated on two channels, both on Freenode:
 
* #htc-linux is for kernel development
 
* #xdandroid is for Android system development
 
  
Support is available on #xdandroid. Please do not bother the developers on #htc-linux with support issues.
+
With the new RIL & MMS work by hyc (Sprint was especially broken...) MMS is now possible in both directions!  You have to get [[Version FRX07]] and set your APN according to [[MMS]].
  
 
=HTC Touch Pro 2/Tilt 2 (Rhodium)=
 
=HTC Touch Pro 2/Tilt 2 (Rhodium)=
Line 145: Line 146:
 
== Which features are not currently supported? ==
 
== Which features are not currently supported? ==
  
* Camera - there is a [http://forum.xda-developers.com/showthread.php?t=883966 test kernel] to work out issues related to it.
+
* [[Wikipedia:Bluetooth|Bluetooth]] - Fix is in the works.  See [http://forum.xda-developers.com/showthread.php?t=1076884 this thread] for more information on how to manually setup the fix.  Not easy!  Still a WIP as well.
* BT - pairs but doesn't pass any audio/data
+
* USB - everything except USB Mass Storage should work in respect to USB.  You can use Droid Explorer (Windows app) which leverages ADB to sort-of "fake" USB mass storage.
* 3.5mm jack - RHOD400/500 has this plug, and it doesn't work at the moment
 
* USB - only works for adb (debugging)
 
  
 
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)
 +
 +
== 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 '''[http://code.google.com/p/android-wifi-ace/ wifi-ace]''' will work around this issue until it is resolved by XDAndroid.

Latest revision as of 11:36, 28 November 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... It's the last part of the FCC ID (in gray)

RHOD100

or

DIAM500

etc...


Devices with physical keyboards:
Rhodium:
599px-HTC Rhodium.jpg
Raphael:
HTC Raphael.jpg
Kovsky:
Htckovs100yk8.jpg
Devices without physical keyboards:
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.)

The 'max' you can overclock varies by device, and some devices can be pushed farther than others. It seems best to establish what max you can hit in WinMo, and apply that to Android (disable OC in WinMo before booting Android...) Anything over 700 seems risky, although some RHODs run up in the 800+ range without issue. If you're having problems, ramp this value down first, if not completely disabling it before moving on to other troubleshooting steps.

HaRET failing to boot?

See also HaRET.
  1. Don't overclock WinMo.
  2. Look over the directions in the build thread again. Make sure you have all the necessary files, in the correct location.
  3. If it's still failing to boot, format your SD card using the HP Tool (for Linux, whatever tool seems to do the job — it's just the built-in Windows/WinMo format utilities that seem broken...)

How can I update?

Well if you're adventurous and want to try upgraded the components of the build, see the Incremental Updates page.

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.

Why can Android not see my SD card? It says "No SD inserted"!!

Well, the theory is the built-in Windows and WinMo format utilities are broken. Backup all the data on the card, do a full format, FAT32 on the card using the HP Tool. Restore all the data on the card, and apps within Android should now see the card. It seems that this error occurs when there's no partition table on the SD card (even if the card is FAT32 formated). You can reformat it with Mac OS X Disk Utility. As long as you put a partition table (MBR format), Android will be able to read your FAT32 formated partition.

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 take forever?

Basically our Android port doesn't support any advanced GPS features like warm injection. Read more here.

We've noticed that if you use QuickGPS in WinMo (or even get a GPS lock in WinMo) prior to booting Android, the GPS lock times in Android are greatly reduced.

Which cmdline arguments are available in startup.txt?

See Kernel boot command-line parameters. Note - some of these commands are outdated and deprecated (will be ignored).

WiFi doesn't work at all?

If you upgraded your kernel (see Incremental Updates) then make sure the modules-xxxx.tar.gz file matches the kernel (zImage). Sometimes the modules don't unpack correctly either, if you suspect this is the case (you know you've matched the zImage to the modules correctly) then try this trick (thanks Starfox).

If you have tried to use WiFi and every possible fix suggested fails - and the error states "Unable to scan" the issue probably lies in the wifi-nvram.txt file - basically Android doesn't know the MAC address of your WLAN card.

See F22's post on how to workaround this issue. Not everyone needs this fix, and we haven't determined why some do and others do not... Unfortunately you have to cp this file. You can try to add the cp line in your froyo.user.conf, but all other methods (bind mount, symlink) seem to fail - so don't bother.

How can I tether (WiFi/USB)?

USB Tethering should "just work" now. Make sure it is enabled in Settings → Wireless & Networks → Tethering & portable hotspot → USB Tethering.

WiFi tethering should work out of the box (Settings → Wireless & Networks → Tethering & Portable Hotspot). If it doesn't there are a couple of options: XDAndroid Wifi Tether or Barnacle Wifi Tether (on the Market). Neither of these solutions use a true AP, only adhoc. If your device requires a true AP (not adhoc!!) then the built-in wireless tethering solution is the only option.

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.

Logs can be pulled with adb.

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

Further Reading (thanks slycker)

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 proposal software 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.

How can I theme the build?

Entropy512 has created a post on this subject.

Can I store apps on the SD card / I'm out of space!!

Well first of all, everything is on the SD card - so the apps are already on your SD card. Please don't use app2sd for this reason... it won't work. However, instead of being directly on the SD they're stored in this data.img file (along with every other user-related thing like SMS's, phone call log, etc etc). So if you go to Settings -> SD Card & Phone Storage -> "Internal phone storage" is basically this data.img file. There is a pretty slick app that allows you to expand the size of this file - just make sure you have the space on your SD! Data Expansion Tool

What about MMS?

With the new RIL & MMS work by hyc (Sprint was especially broken...) MMS is now possible in both directions! You have to get Version FRX07 and set your APN according to MMS.

HTC Touch Pro 2/Tilt 2 (Rhodium)

Which features are not currently supported?

  • Bluetooth - Fix is in the works. See this thread for more information on how to manually setup the fix. Not easy! Still a WIP as well.
  • USB - everything except USB Mass Storage should work in respect to USB. You can use Droid Explorer (Windows app) which leverages ADB to sort-of "fake" USB mass storage.

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

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.