Installing Android-ia image on Surface Pro* 2 breaks accelerometer

Introduction

I have been experimenting with installing various Android images on mobile devices having Intel Haswell (4th Generation Intel® Core™ Processors) as there is a lot interest among Android enthusiasts to find good, working images.  The problem is that, at the moment, there doesn't seem to be a good publicly available image that works across all devices.  Because of the wide variety of device ingredients that can make up a PC/2-in-1/Ultrabook/Tablet there always seems to be some component that doesn't quite work.  
 
I came across an interesting issue this morning while reading a post that "Jason" reported via the 01.org's Android-IA mailing list (see link.)  This mailing list is for those who are interested in Intel's project on building an Android image that works with Intel processors.
 
Here is a description of the problem followed by the resolution.
 

Problem: 

Jason installed the latest available Android image from 01.org dated July 2013 (android-4.2.2_r1-ia3) on a Microsoft Surface Pro 2 in live mode from a USB stick. He reported that most everything seemed to function, except WiFi. However, after he rebooted back into Windows 8, the auto-rotate feature was broken. It turns out that this is a known issue with Surface Pro 2 (this is the model that has the Haswell processors.) Even a wipe and reinstall of Windows does not fix it. Note that if the system is rebooted in Android, the sensor worked again. Fortunately, Jason found a thread reporting this same issue on Microsoft.com. (look for kartng's) response.
 

Solution:

Tell the "Surface" to forget everything it knows about the hardware and start from scratch.

  1. Boot the Surface Pro 2 into Windows 8.
  2. Hold the volume rocker in the up position and hold down on the power button until the Surface shuts down.  Continue holding down both the volume up and power buttons until the Surface turns back on and show's the "Surface" splash screen.  Continue holding down both buttons until the Surface Pro 2 turns off a second time.  Release both buttons.
  3. Turn the Surface Pro 2 on again.  If you've done everything right, you should see "Updating Your System" appear on the splash screen along with a percentage counter. Don't touch the Surface until it completes this process and you see the lock screen.
  4. Login. You should have rotation and tilt again.

The Android-x86 community is also busy testing their Android 4.3 image out on the Surface so you might want to see what develops from there as well.

I am figuring that as more users become interested in installing Android on their various Intel devices, this issue, or others like it might occur. The solution above is very straight-forward and can save you hours of time trying to get technical help from your OEM or other discussion forums.  I would suggest finding out how to perform a "hard reset" for your device just incase you find yourself needing it.

Android Resources:

 

For more complete information about compiler optimizations, see our Optimization Notice.