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.

FAQ

From The XDAndroid Project
Revision as of 21:31, 12 June 2011 by Raf (talk | contribs) (rootfs)
Jump to navigation Jump to search


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.)

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.

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 (scratch that, on kernels after 1313 native USB tethering works!!), 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

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 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

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.
  • 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 - everything except USB Mass Storage should work in respect to USB

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.

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).

WEP doesn't work, see below.

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

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!

Note - there's an additional bug that is RHOD400/500 specific (worldphone in GSM mode only!!!) - if you are using a kernel after 1253 (aka 20110210_213850) the radio will shut off with the screen, causing missed calls, messages, etc. Stick to 1253 if you're using a RHOD400/500 worldphone as a GSM device until the issue is resolved.

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...) (See also keyboard.)
  • Alternatively, and perhaps slightly easier - in the app Spare Parts (on the Market if your build doesn't include it in AndroidApps/Other) 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.