26.12.2010 21:29 Age: 1 year

Calibrate Sensor on Upside Down Dell Streak after Froyo 2.2 Android Upgrade

If your Dell Streak display went upside down after you upgraded to Android 2.2 Froyo, this article is for you - it shows you how to recalibrate your G-Sensor without needing to get root.


For some people, including me, the display of their Dell Streak turned upside-down when they did the OTA (Over the Air) upgrade to Android 2.2 Froyo. Switching off auto-rotate in the settings flipped it back up the right way, but this lost the portrait mode since the display was locked in landscape mode (albeit now the right way up).

How to fix it and regain the option of portrait mode? Googling did not reveal any easy way to fix it.

I tried installing a couple of apps called 'bubble' from Android market. These work like spirit levels, and showed that my phone calibration was way off - to centre the bubble I had to hold the phone almost vertically!! But if I used the apps own calibration utility then they functioned perfectly - so my G-sensor was working but just in need of calibration. (But these apps didn't calibrate my phone, they just stored their own settings to offset my miscalibrated phone).

I tried a few things which didn't work:

  • I tried booting into recovery mode where there is a screen calibration utility, but that didn't work.
  • I tried doing a full factory reset (which wiped all my data) but this didn't help. In fact I tried it twice - I was hoping that it would recalibrate as part of this process - I tried once with the phone flat on its back, and once with it held upright, but no success.

So how to calibrate it properly?

  • Some users who have rooted their phone could run a calibration utility (su /system/bin/sensorcalibutil_yamaha), but I didn't want to try that (and void my warranty) in case I needed to return it for repair.
  • Some posts referred to entering an engineering mode which included a calibration utility,  by dialling #*#*307*#*# (and #*#*308*#*# to exit engineering mode) but this seems to have been disabled by the Froyo upgrade - it now asks for a password :(
  • Google found me lots more secret codes that I could dial - but many of them did nothing, and I discovered some that weren't listed, so it seems that again Froyo on Streak has changed some codes that worked previously. (Beware if you decide to try codes at random - you may come across codes which force a hardware reset and wipe your phone, and some which may make other changes which you then don't know how to reverse - which is why I stopped trying out codes at random...)

Eventually I found a way to do it, without root, by entering what seemed to be engineering mode by a different route...

The Solution

I found another way to enter engineering mode and run a calibration utility. It looks a bit long, but that's because I've put in a lot of detail - it actually only takes a couple of minutes.

Do this at your own risk. It didn't brick my phone (and I've rerun it a few times to take these screenshots) but I take no responsibility for what may happen to your phone...

  1. Ensure 'Auto rotate screen' is turned on before doing the adjustment (Settings / Display)

  2. Power down the phone
  3. Restart the phone in Fastboot mode. This is done by powering up the phone whilst holding the camera button pressed down. This can be tricky to get right - sometimes the phone just starts up normally - so just wait for it to finish booting up, then power down and try again. Try doing it like this: hold down the camera button, then also hold down the power button, then briefly release then press again the camera button.



  4. In Fastboot mode there is a little keypad on the screen. Type *#301#.



  5. This brings you to a list of options. Type 08 (Sensor) and then press 'Enter'.





  6. Lay the phone flat, and press 'Run'.



  7. Calibration only takes a few seconds, then press 'Save'.



  8. Now we have the first puzzle. This screen shows you that your G-Sensor calibrated OK, but the only way out of the screen is a button marked Fail, and it shows two other red fails on the screen, for Proximity Test and ALS.
  9. To pass the proximity test, wave your hand near the front facing camera.



  10. To pass the ALS test, shine a light on the front facing camera.



  11. When all tests are passed, a 'Pass' button appears. Press 'Pass' and you are back to the Engineering menu.



  12. Type 00 (for Exit) and press 'Enter', which takes you back to the Fastboot screen.



  13. Puzzle number 2.There doesn't seem to be a way to exit the Fastboot mode. Perhaps there is a code that I don't know, or perhaps you could take out the battery. But there is another way.
  14. Type code *#7589 and this takes you to another menu. Puzzle number 3. This menu also doesn't have an Exit option...



  15. Use the volume buttons to move down the list to item 'OS' and press the camera button to select it.






  16. Use the volume buttons to move down to 'Jump to APPSBL' and select it with the camera button, and display will blank and then the phone will boot.
  17. You should now have a working autorotate with landscape, portrait (and now optionally, upside down!) all working as they should.



© Simon Child 2010.


John, 27-12-10 18:35:
Excellent, mine was off by enough that it occasionally went upside down when held flat, this fixed it.
GriZlore, 27-12-10 19:09:
Many THANKS !

Dell told me it was a hardware fault LOL !

I found this via the Modaco forum

http://android.modaco.com/content/dell-streak-streak-modaco-com/327599/how-to-fix-screen-orientation-problem-for-2-2/
Derek, 27-12-10 22:47:
Fascinating... wonder what other secrets are hidden under that micro-OS
Ivan, 29-12-10 02:38:
thankyou very much for this very useful bit of wizardry i was going to take my streak back to o2 tomoro and use the not fit for purpose issue to get a replacement but now i dont have to just the sync issue to work on now
Tej, 03-01-11 23:47:
Mate you are a living legend! Thank you my phone is the right way round.
Ian, 05-01-11 11:02:
Followed to a T and everything matched up but no change to upside down problem. Maybe it's the UK O2 Froyo that's stuffing it. Thanks though.
Arman, 10-01-11 16:14:
Hi, I have a Dell Streak with android 2.2. After calibration I can play games!!! thank you!!
Arman.
Abdul, 17-01-11 13:46:
Hi, I tried the above mentioned steps. But after reboot,the screen is still the same. It doesn't change even after moving the phone from vertical position to horizontal position.
Is there a problem in the accelerometer or apps? Could you please help me out a way to test the accelerometer. I tried modifying the configs in the kernel configurations.

Thanks in advance.

Regards,
Abdul
Abdul, 17-01-11 13:48:
Hi,

My previous message might not be relevant. But will be thankful for the help provided in this regard.

Regards,
Abdul
sonny, 21-01-11 02:47:
Abdul - There's an app on Android Market, Sensor Monitor, that will let you see of your accelerometers are working.

Add comment

* - required field

*




*