Właśnie dopadł mnie problem z nagłym brakiem działania akcelerometru.
Obracanie ekranu nie działa, sterowanie w grach też, programy typu "waserwaga" też nie działają.
Poszperałem w sieci i problem został rozwiązany - dlatego też ten poradnik, może kiedyś komus się przyda i nie będzie musiał szukać po różnych stronach.
Uwagi na początek:
1) urzadzenie musi być zrootowane
2) sposób nie wymaga "factory reset" (bo taki reset też pomaga na problem z czujnikiem przyspieszenia)
Na początek sprawdźmy czujniki:
- w telefonie wybieramy numer "*#0*#"
- pojawi nam się "LCD TEST", wybieramy opcję "sensor". Na kolejnym ekranie możemy przetestować czujnik zbliżeniowy, czujnik swiatła i "magnecit sensor". Ten ostatni nas interesuje. Jeśli ruszamy telefonem przy sprawnym (niezablokowanym) czujniku powinniśmy widzieć zmieniające sie wartości Magnetic, Azimuth, Pitch, Roll. W moim przypadku był tylko napis "need to calibration" i nic poza tym.
- wychodzimy z trybu testowego (jak nam się znudzi testowanie innych rzeczy
- uruchamiamy tryb "debugowanie USB" (właściwości / Aplikacje / Programowanie)
- podpinamy kabelek
- w komuterze odpalamy "cmd" a potem "adb.exe shell" (oczywiście musimy go mieć zainstalowanego
- po połączeniu się z naszym SGS wpisujemy:
su
/system/bin/sensorcalibutil_yamaha
Powinnismy otrzymać takie mniej więcej komunikaty:
=====================================
Sensor Calibration Utilities
Copyright (c) 2009 Yamaha Corporation
=====================================
Starting calibration utilities...
Starting measurement of the G-Sensor's fine offset...
To operate manual calibration of the acceleration sensor,
place your phone horizontally and set still.
Hit Enter key to continue:
G-Sensor's fine offset [116][48][-100]... OK
Calibration utilities succeed!
#
Jeśli tak jest, to sensor powinien juz działać. Jednak możemy otrzymać taki komunikat (taki był u mnie):
fgets: Unknown error: 0
msmachdep_SaveGsOffset failed
calibration utilities failed
W takim wypadku trzeba przejść do katalogu "/data/system" i skasować plik "ms3c_yamaha.cfg":
cd /data/system
rm ms3c_yamaha.cfg
I jeszcze raz uruchomić
/system/bin/sensorcalibutil_yamaha
Tym razem wszystko powinno pójść OK.
Rozłączamy kabelek i cieszymy się z działającego czujnika