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][unchecked revision]
Line 36: Line 36:
  
 
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.
 
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.
 
== How can I dial out with Google Voice? ==
 
 
This must be enabled in <tt>startup.txt</tt> with the following addition to the ''set cmdline'' section: <tt>north_am_dialing=1</tt>
 
 
= Bugs and Problems =
 
  
 
== I've run into a strange bug, what steps should I take to debug it? ==
 
== I've run into a strange bug, what steps should I take to debug it? ==
Line 54: Line 48:
  
 
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.
 
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.
 
== 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.
 
  
 
== Why do I not have cellular service? ==
 
== Why do I not have cellular service? ==
Line 67: Line 57:
 
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.
 
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.
  
== My clock is running slow, losing a few minutes an hour, how do I fix this? ==
+
== How can I dial out with Google Voice? ==
  
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.
+
This must be enabled in <tt>startup.txt</tt> with the following addition to the ''set cmdline'' section: <tt>north_am_dialing=1</tt>
 
 
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.
 
  
 
= Digging into XDAndroid =
 
= Digging into XDAndroid =

Revision as of 19:38, 19 February 2011

Getting Started

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

How do I install XDAndroid?

It is essential that you disable any overclocking you have in WinMo before you boot.

You can install XDAndroid from parts by following these instructions.

Alternatively, you can download an all-in-one package from here. If you use the all-in-one package, be sure to read all instructions in the first post of that thread.

How do I migrate my contacts from Windows Mobile?

The easiest way is to first sync your WinMo contacts 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 do I recalibrate my touch screen?

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.

Using Android

What are the buttons in XDAndroid?

  • Windows key: This is the menu button in Android.
  • 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 here that turns the End Call button into Home, which enables a long press to bring up the recently used applications menu for multitasking.

I've run into a strange bug, what steps should I take to debug it?

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: Known issues list

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.

  • Memory card corruption: Copy all of the files off of your SD card, and then run the 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?

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 do I not have cellular service?

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.

If you're on GSM, make sure that in your startup.txt file, there is no line that says force_cdma. Alternatively, you can set force_cdma=0, but that is the default.

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.

How can I dial out with Google Voice?

This must be enabled in startup.txt with the following addition to the set cmdline section: north_am_dialing=1

Digging into XDAndroid

What are all of the parts of XDAndroid?

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.

When you look at the files in your Android directory, you'll probably see something like the following:

  • 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 startup.txt?

See Kernel boot command-line parameters

How do I overclock Android?

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.

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.

Is there any way to remove Windows Mobile or make my device always boot up in Android?

There is significant development here, and it should soon be possible to remove Windows Mobile and boot directly into Android.

In the meantime, though, check out 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.

I hear that logs can be useful for the developers, how do I get useful logs for the developers?

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:

  1. 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 Droid Explorer, which will take care of all necessary driver installs.
  2. 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.
  3. An application called OSMonitor in the Market has the ability to export your current dmesg logs as a text file.

HTC Touch Pro 2/Tilt 2 (Rhodium)

Which features are not currently supported?

  • Camera - there is a test kernel to work out issues related to it.
  • BT - pairs but doesn't pass any audio/data
  • 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 this PPC-Geeks forum thread (thanks manekineko)