Nefunkční Proximity senzor na Samsung Galaxy S4 (CM12)
Dobry den, mam problem ked vytocim cislo tak mam stale ciernu obrazovku az kim ten druhy nezlozi. Vymenil som original novy senzor ale nepomohlo. Problem je ze som nainstaloval cm12 a neviem bud vypnut moznost aby sa nevypla obrazovka automaticky pocas hovoru alebo potrebujem nejake manualne nastavenie cez terminal. Skusal som cez app senzor box for android otestovat senzor ale podla neho vobec nereaguje. Ja mam sgs4 fakijem za odpoved
- Marek položil otázku před 9 roky
- naposledy upraveno před 9 roky
- Abyste mohli přidat komentář, musíte se přihlásit.
Bude ještě potřeba nastavit správnou hodnotu pro citlivost senzoru…
Pro zjištění aktuální hodnoty naměřené proximity senzorem je možné použít následující kód *#0*# (vytočte). Pak vyberte možnost SENSORS a Proximity sensor.
Pokud telefon v tomto menu nevibruje a činí tak jen když přiložíte prst na proximity senzor, pak není potřeba provádět rekalibraci (to nejspíš nebude váš případ, jinak by vše fungovalo)
Pokud telefon vibruje v tomto menu aniž přiložíte prst na proximity senzor, zadejte na terminálu následující (automatická kalibrace senzoru):
$ su
# echo 0 > /sys/devices/virtual/sensors/proximity_sensor/prox_cal
# echo 1 > /sys/devices/virtual/sensors/proximity_sensor/prox_cal
Restartujte a ověřte pomocí menu *#0*# – vibruje, nebo nevibruje stále?
Pokud stále vibruje bez prstu na senzoru, pak je potřeba manuálně kalibrovat vložením správné hodnoty do ur /efs/prox_cal.it – jedná se o hexadecimální hodnotu a je potřeba ji převést.
Nyní potřebujete zjistit krajní hodnoty pro kalibraci – to uděláte následujícím příkazem na terminálu:
cat /sys/devices/virtual/sensors/proximity_sensor/prox_cal
funkce vrátí 3 hodnoty – poznamenejte si tu první. Příklad: vrací 5,64,100 – vás zajímá hodnota 5.
Dále potřebujete zjistit normální stav senzoru (hodnota, kterou senzor udává v běžném stavu kdy není zakryt) – spustíte tento příkaz na terminálu:
cat /sys/devices/virtual/sensors/proximity_sensor/state
zapište si vrácenou hodnotu – příklad: 64
Nyní obě hodnoty sečtěte: 5 + 64 = 69
A převeďte je na hexadecimální hodnotu (použijte převodník zde: http://www.binaryhexconverter.com/decimal-to-hex-converter):
V uvedeném příkladu je po převodu hexadecimální hodnota 45.
Teď je možné výslednou hodnotu zapsat do /efs/prox_cal následujícím příkazem:
# echo -en $ ‚\x45‚ > /efs/prox_cal
(nezapomeňte si těch 45 přepsat na tu vaší zjištěnou a převedenou hodnotu, jinak to ne bude fungovat)
Nakonec spusťte ještě následující sekvenci příkazů:
# chown system:system /efs/prox_cal
# chmod 644 /efs/prox_cal
# sync
# Reboot
Po restartu opět ověřte funkci senzoru pomocí kódu *#0*# a pak SENSORS. Telefon musí vybrovat jen když přiložíte prst na proximity senzor.
Dejte vědět, jak jste dopadl, zda to tentokrát zabralo nebo ne. Předtím jsem vám poslal podobný postup, ale chybělo v něm zjištění a vypočtení správné hodnoty, takže jste tam zapsal 74 uvedených v příkladu a to pro váš telefon nemohlo jistě sedět… Pokud důkladně projdete tento druhý postup tak by to mělo zafungovat.
- Tomáš Frajer odpověděl před 9 roky
- Abyste mohli přidat komentář, musíte se přihlásit.
Nainstalujte si terminal emulator (je potřeba root, ale ten máte když jedete na cm12):
https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=cs
První krok – Manuální rekalibrace senzoru (zadejte přes terminál):
$ su
$ echo –en $‚\x74′ > /efs/prox_cal
$ chown system:system /efs/prox_cal
$ chmod 644 /efs/prox_cal
$ sync
Restartujte telefon.
Po restartu vyzkoušejte zda je OK. Senzor by měl fungovat, ale jen na velmi blízkou vzdálenost.
Druhý krok – Pro kalibraci vzdálenosti je potřeba spustit následující:
$ su
$ echo 0 > /sys/class/sensors/proximity_sensor/prox_cal
$ echo 1 > /sys/class/sensors/proximity_sensor/prox_cal
Restartujte telefon.
- Tomáš Frajer odpověděl před 9 roky
- Abyste mohli přidat komentář, musíte se přihlásit.
Podařilo se problém vyřešit tímto detailnějším postupem?
- Tomáš Frajer odpověděl před 9 roky
- Abyste mohli přidat komentář, musíte se přihlásit.
Nejdříve se prosím přihlaš.