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...
- Ensure 'Auto rotate screen' is turned on before doing the adjustment (Settings / Display)

- Power down the phone
- 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.

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

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


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

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

- 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.
- To pass the proximity test, wave your hand near the front facing camera.

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

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

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

- 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.
- Type code *#7589 and this takes you to another menu. Puzzle number 3. This menu also doesn't have an Exit option...

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


- 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.
- You should now have a working autorotate with landscape, portrait (and now optionally, upside down!) all working as they should.


© Simon Child 2010.

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/
Arman.
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
My previous message might not be relevant. But will be thankful for the help provided in this regard.
Regards,
Abdul