When I dial a number and have the L5 in my hand or on the desk, the screen goes black when the dial button us pressed. Later it comes up for short moments, impossible to hang up the call. It is reproducible fully. This is new since the last updates.
The issue https://source.puri.sm/Librem5/linux/-/merge_requests/637/diffs states that you are the author/origin of the merge of the proximity sensor changes which came down to my L5 on March 12. Since then my L5 is not usable anymore for phone calls, maybe already since March 2 (I checked my dial history for the day of last phone call which was still working). And now, what should be done?
Am I the only victim?
I have a 3D printed case which covers the back and sides; no screen protector. I pulled the L5 out of the case and now it is exactly as it was sent to me me and shows 5-6; see screen.
I just did some test calls to my landline phone at home and watching via SSH the value of the sensor. It is 6 when dialed and connected, and when I put my hand over the L5 it goes to 22… And the screen goes black and does not come back, even when the sensor goes down to 6 or 5. It is NOT fully reproducible.
When Light went to 0.0000 it was because I put another phone above the L5. Then I put it away again, Light came back to 11.xxx, but proximity never changes back to 0.
Running,
watch -n 1 cat /sys/bus/iio/*/*/in_proximity_raw
shows that the proximity sensor is working fine: it is 5-6, when I put the other phone above, it raises to 24++ and when I withdraw it again, it goes down to 6 again. So, the sensor is working. But monitor-sensor is not following the situation.
Oh I see, I read the article wrong, my mistake. The next thing I would try is looping that big “get” command in a different process (either another terminal window or via a short bash script) and then run monitor-sensor.
It is following the situation. The threshold value for Evergreen batch has been set to 5 in the previous kernel update, meant to improve sensor’s responsiveness against hair. Most devices report levels of 2 or 3 when at rest, your one reports higher values for some reason. The next update bumps it up to 7.
What about if watch cat /sys/bus/iio/*/*/in_proximity_raw says 4 or 5, with or without covering the screen? This is with no case and the original screen protector.
I have used the phone as a daily driver since October, and the screen does not turn black during calls. I just assumed the feature was not implemented.
Thanks for the tip. Covering the earpiece and selfie camera firmly with my thumb still gives 4 or 5.
Edit: As in covering the area between the earpiece and camera at the same time. But this sounds like I should send an email to support.
This gives you later a better way to match the time of dialing a call, etc, with the value of the proximity sensor. And, dimming the screen should only happen when in a call and having the L5, for example, near your ear. Not generally when you do something else on your display.
I.e. the dimming has also to do with the gnome-calls app, and not only the sensor. Can someone (@guido.gunther, @dos) shed a bit light on this to understand it better.
There is definitely something also wrong with the app gnome-calls:
I received a call in the L5 and when I wanted to answer it, the screen went black. In only saw the incoming call for a short moment but could not hit the answer button.
I had to wait until the caller hung up.
Then I tried to reproduce this problem calling my L5 from my iPhone and was connected via SSH to monitor the sensor without hitting answer, only from time to time tapping the sensor with the finger while the L5 was ringing:
maybe it needs to account for a saturation hysteresis curve where it does account for variations between covering and uncovering the sensor with different resting states and rates of change due to differences in terms of whether it is used during daylight or in a dark room, and variations in screen protectors, and sensor differences etc
Or a simple sensitivity slider could be added to mobile settings to do quick adjustments by the user.