Te damos la bienvenida a la comunidad de T!Estás a un paso de acceder al mejor contenido, creado por personas como vos.

O iniciá sesión con
¿No tenés una cuenta?
Muy buenas [email protected]!

En este nuevo tutorial me salgo de lo que estoy acostumbrado a publicar, ya que no hablaré sobre Ubuntu, sino acerca de Samsung Galaxy S4 (todas sus variantes).

Recientemente adquirí uno de estos celulares, y al liberarlo me surgió un problema con el sensor de proximidad (sensor utilizado al hacer llamadas).
Cabe mencionar que este error también suele ocurrir al actualizar nuestro dispositivo o al cambiar ROM (no siempre, pero a veces pasa).

La solución mediante Software la paso a explicar a continuación...

IMPORTANTE: tener nuestro Galaxy S4 Rooteado.

Paso 1: Diagnostico.
Lo primero que haremos sera confirmar si el sensor esta funcionando correcta o incorrectamente
- Abrimos la app Teléfono (el marcador de números).

- Marcamos *#0*#
- Se nos abrirá una "ventana" como esta:



- Presionamos en Sensor
- si al presionar Sensor nuestro cel empieza a vibrar sin parar y el fondo se muestra verde, y al poner nuestro dedo en el sensor no pasa nada (tenemos problemas en nuestro sensor).

Paso 2: Solución. (Re-calibrar el sensor)
- Instalar la app Android Terminal Emulator (buscarla en la Play Store).
Android terminal emulator

-Escribir en la consola (terminal) el siguiente comando para darle permisos Root.

$ su (presionar ENTER)

- encontraremos los dos valores decimales OFFSET y NORMAL STATE, lo sumaremos y el resultado
lo convertiremos a su equivalente en hexadecimal. (OJO: estos números cambian con cada dispositivos)
- para encontrar el OFFSET:
-comando:
cat /sys/devices/virtual/sensors/proximity_sensor/prox_cal

NOTESE que el valor retornado es algo como esto: 14, 65,100 (ese fue mi caso), de esos números nos inetresa el primero.
- Encontrar el NORMAL STATE:
comando:
cat /sys/devices/virtual/sensors/proximity_sensor/state

- esto nos retorna un valor. El mio fue 138
- Lo siguiente que haremos es sumar esos valores, 14 + 138 = 152
- el resultado lo convertimos a Hexadecimal, 152 = 98 en hexadecimal.

Paso 3: enviar el valor hexadecimal a /efs/prox_cal, para ello hacemos lo siguiente...
comando:
echo -en $'x98' > /efs/prox_cal
(98 es el resultado de la suma que obtenemos sumando el 1er valor del offset y el valor de normal state)

- Luego escribimos los siguientes comandos.

- chown system:system /efs/prox_cal
- chmod 644 /efs/prox_cal
- sync
- reboot

Listo!
tendría que haber funcionado, para probar si el problema se resolvió, marcamos *#0*#
presionamos Sensor
y si el fondo se muestra blanco y nuestro telefono no vibra A MENOS que acerquemos el dedo al sensor, todo esta resuelto.



Hasta aquí llega este pequeño tutorial, espero que sea de ayuda y no tengan que pagar por arreglar ese problema.

Cualquier duda o consulta me lo hacen saber.