sailfishos-sony-tama / main

Documentation, releases, and issues
MIT License
36 stars 7 forks source link

Calls not always start display #129

Closed rinigus closed 3 years ago

rinigus commented 3 years ago

On 4.0.1.48, when calling phone, display is not always lid up

Failed, just on a table:

Mar 10 08:39:55 XperiaXZ2Compact kernel: PM: suspend exit 2021-03-10 06:39:55.153794256 UTC
Mar 10 08:39:55 XperiaXZ2Compact healthd: battery l=50 v=3792 t=26.0 h=2 st=3 c=121 fc=2520000 chg=
Mar 10 08:39:55 XperiaXZ2Compact healthd: battery l=50 v=3792 t=26.0 h=2 st=3 c=121 fc=2520000 chg=
Mar 10 08:39:55 XperiaXZ2Compact healthd: battery l=50 v=3792 t=26.0 h=2 st=3 c=121 fc=2520000 chg=
Mar 10 08:39:55 XperiaXZ2Compact healthd: battery l=50 v=3792 t=26.0 h=2 st=3 c=121 fc=2520000 chg=
Mar 10 08:39:55 XperiaXZ2Compact healthd: battery l=50 v=3792 t=26.0 h=2 st=3 c=121 fc=2520000 chg=
Mar 10 08:39:55 XperiaXZ2Compact healthd: battery l=50 v=3792 t=26.0 h=2 st=3 c=121 fc=2520000 chg=
Mar 10 08:39:55 XperiaXZ2Compact mce[1955]: tklock.c: tklock_datapipe_uiexception_type_cb(): uiexception_type = none -> call
Mar 10 08:39:55 XperiaXZ2Compact [5350]: [D] unknown:0 -         Type: "org.freedesktop.Telepathy.Channel.Type.StreamedMedia"
Mar 10 08:39:55 XperiaXZ2Compact [5350]: [D] unknown:0 -         Interfaces: ("org.freedesktop.Telepathy.Channel.Interface.DTMF", "org.freedesktop.Telepathy.Channel.Interface.Hold", "org.freedesktop.Telepathy.Channel.Interface.Group", "org.freedesktop.Telepathy.Channel.Interface.CallState", "org.freedesktop.Telepathy.Channel.Interface.ServicePoint", "org.freedesktop.Telepathy.Channel.Interface.Splittable.DRAFT")
Mar 10 08:39:55 XperiaXZ2Compact kernel: msm_pcm_routing_get_app_type_idx: App type not available, fallback to default
Mar 10 08:39:57 XperiaXZ2Compact lipstick[5380]: [D] onDestruction:268 - coverActionIndicators destroyed <unknown>
Mar 10 08:39:57 XperiaXZ2Compact lipstick[5380]: [D] onCompleted:264 - coverActionIndicators created <unknown>
Mar 10 08:39:59 XperiaXZ2Compact lipstick[5380]: [D] onDestruction:268 - coverActionIndicators destroyed <unknown>
Mar 10 08:40:00 XperiaXZ2Compact lipstick[5380]: [D] onCompleted:264 - coverActionIndicators created <unknown>
// started display by pressing power //
Mar 10 08:40:07 XperiaXZ2Compact mce[1955]: powerkey.c: pwrkey_datapipe_keypress_event_cb(): powerkey pressed
Mar 10 08:40:07 XperiaXZ2Compact mce[1955]: powerkey.c: pwrkey_datapipe_keypress_event_cb(): powerkey released
Mar 10 08:40:08 XperiaXZ2Compact mce[1955]: tklock.c: tklock_datapipe_uiexception_type_cb(): uiexception_type = call -> linger
Mar 10 08:40:10 XperiaXZ2Compact mce[1955]: powerkey.c: pwrkey_datapipe_keypress_event_cb(): powerkey pressed
Mar 10 08:40:10 XperiaXZ2Compact mce[1955]: tklock.c: mce_tklock_unblank(): display state req: ON
Mar 10 08:40:10 XperiaXZ2Compact mce[1955]: modules/display.c: mdy_display_state_leave(): current display state = POWER_UP

When having proximity closed and display turns on after releasing proximity

Mar 10 08:41:50 XperiaXZ2Compact [5350]: [D] unknown:0 -         Type: "org.freedesktop.Telepathy.Channel.Type.StreamedMedia"
Mar 10 08:41:50 XperiaXZ2Compact [5350]: [D] unknown:0 -         Interfaces: ("org.freedesktop.Telepathy.Channel.Interface.DTMF", "org.freedesktop.Telepathy.Channel.Interface.Hold", "org.freedesktop.Telepathy.Channel.Interface.Group", "org.freedesktop.Telepathy.Channel.Interface.CallState", "org.freedesktop.Telepathy.Channel.Interface.ServicePoint", "org.freedesktop.Telepathy.Channel.Interface.Splittable.DRAFT")
Mar 10 08:41:50 XperiaXZ2Compact healthd: battery l=49 v=3783 t=26.0 h=2 st=3 c=135 fc=2520000 chg=
Mar 10 08:41:50 XperiaXZ2Compact healthd: battery l=49 v=3783 t=26.0 h=2 st=3 c=135 fc=2520000 chg=
Mar 10 08:41:50 XperiaXZ2Compact lipstick[5380]: [D] onDestruction:268 - coverActionIndicators destroyed <unknown>
Mar 10 08:41:50 XperiaXZ2Compact lipstick[5380]: [D] onCompleted:264 - coverActionIndicators created <unknown>
Mar 10 08:41:50 XperiaXZ2Compact kernel: msm_pcm_routing_get_app_type_idx: App type not available, fallback to default
Mar 10 08:41:50 XperiaXZ2Compact lipstick[5380]: [D] onDestruction:268 - coverActionIndicators destroyed <unknown>
Mar 10 08:41:50 XperiaXZ2Compact lipstick[5380]: [D] onCompleted:264 - coverActionIndicators created <unknown>
Mar 10 08:41:52 XperiaXZ2Compact mce[1955]: modules/proximity.c: mp_datapipe_set_proximity_sensor_actual(): state: CLOSED -> OPEN
Mar 10 08:41:52 XperiaXZ2Compact mce[1955]: tklock.c: tklock_uiexception_rethink(): display state req: ON
Mar 10 08:41:52 XperiaXZ2Compact mce[1955]: modules/display.c: mdy_display_state_leave(): current display state = POWER_UP
Mar 10 08:41:52 XperiaXZ2Compact mce[1955]: mce-io.c: mce_write_number_string_to_file(): brightness: can't flush /sys/class/backlight/panel0-backlight/brightness: Invalid argument
Mar 10 08:41:52 XperiaXZ2Compact lipstick[5380]: [D] unknown:0 - unsleepDisplay
Mar 10 08:41:52 XperiaXZ2Compact kernel: dsi-ctrl:[_dsi_ctrl_setup_isr] [DSI_0] IRQ 668 registered
Mar 10 08:41:52 XperiaXZ2Compact kernel: @@@@ panel power on @@@@
Mar 10 08:41:52 XperiaXZ2Compact kernel: somc_panel_color_manager: somc_panel_pcc_setup (836): PCC already applied
Mar 10 08:41:52 XperiaXZ2Compact kernel: synaptics_tcm_i2c 2-003c: syna_tcm_dispatch_message: Received identify report (firmware mode = 0x01)
Mar 10 08:41:52 XperiaXZ2Compact kernel: synaptics_tcm_i2c 2-003c: touch_set_input_reporting: Input parameters unchanged
Mar 10 08:41:52 XperiaXZ2Compact mce[1955]: modules/display.c: mdy_brightness_set_level(): active brightness: -1 -> 159 (success after 1 failures)
Mar 10 08:41:52 XperiaXZ2Compact mce[1955]: modules/display.c: mdy_display_state_enter(): current display state = ON

When on a table, but working:

Mar 10 08:46:36 XperiaXZ2Compact kernel: PM: suspend exit 2021-03-10 06:46:35.993891757 UTC
Mar 10 08:46:36 XperiaXZ2Compact healthd: battery l=49 v=3789 t=24.7 h=2 st=3 c=155 fc=2520000 chg=
Mar 10 08:46:36 XperiaXZ2Compact healthd: battery l=49 v=3789 t=24.7 h=2 st=3 c=155 fc=2520000 chg=
Mar 10 08:46:36 XperiaXZ2Compact mce[1955]: tklock.c: tklock_datapipe_uiexception_type_cb(): uiexception_type = none -> call
Mar 10 08:46:36 XperiaXZ2Compact mce[1955]: tklock.c: tklock_uiexception_rethink(): display state req: ON
Mar 10 08:46:36 XperiaXZ2Compact mce[1955]: modules/display.c: mdy_display_state_leave(): current display state = POWER_UP
Mar 10 08:46:36 XperiaXZ2Compact mce[1955]: mce-io.c: mce_write_number_string_to_file(): brightness: can't flush /sys/class/backlight/panel0-backlight/brightness: Invalid argument
Mar 10 08:46:36 XperiaXZ2Compact lipstick[5380]: [D] unknown:0 - unsleepDisplay
Mar 10 08:46:36 XperiaXZ2Compact kernel: dsi-ctrl:[_dsi_ctrl_setup_isr] [DSI_0] IRQ 668 registered
Mar 10 08:46:36 XperiaXZ2Compact [5350]: [D] unknown:0 -         Type: "org.freedesktop.Telepathy.Channel.Type.StreamedMedia"
Mar 10 08:46:36 XperiaXZ2Compact [5350]: [D] unknown:0 -         Interfaces: ("org.freedesktop.Telepathy.Channel.Interface.DTMF", "org.freedesktop.Telepathy.Channel.Interface.Hold", "org.freedesktop.Telepathy.Channel.Interface.Group", "org.freedesktop.Telepathy.Channel.Interface.CallState", "org.freedesktop.Telepathy.Channel.Interface.ServicePoint", "org.freedesktop.Telepathy.Channel.Interface.Splittable.DRAFT")
Mar 10 08:46:36 XperiaXZ2Compact kernel: @@@@ panel power on @@@@
Mar 10 08:46:36 XperiaXZ2Compact kernel: somc_panel_color_manager: somc_panel_pcc_setup (836): PCC already applied

Looks like this is missing in non-working case:

Mar 10 08:46:36 XperiaXZ2Compact mce[1955]: tklock.c: tklock_uiexception_rethink(): display state req: ON
Mar 10 08:46:36 XperiaXZ2Compact mce[1955]: modules/display.c: mdy_display_state_leave(): current display state = POWER_UP
rinigus commented 3 years ago

From spiiroin:

"classic" symptoms of stuck p-sensor... have you tried activating on-demand p-sensor use? e.g. https://github.com/mer-hybris/droid-config-sony-nile/blob/master/sparse/etc/mce/60-proximity-sensor-nile.conf

for testing: mcetool --set-ps-on-demand=enabled

spiiroin commented 3 years ago

The log looks very much like what would be expected if proximity sensor is incorrectly reporting "covered" state.

When there is a incoming call (uiexception_type = none -> call), display is turned on unless proximity sensor is reporting "covered" (or lid sensor is reporting "closed"). During incoming call power key press is reserved for silencing ringing -> that "call -> linger" transition on the 1st power key press. After that the 2nd press turns display on (by default power key turns display on regardless of p-sensor state).

rinigus commented 3 years ago

@spiiroin, yes, makes sense.

Looks like we get it on some Tama variants. I have seen it on XZ2c, but not on XZ2. Had discussed it earlier at https://github.com/sailfishos-sony-tama/main/issues/47

I will write in the docs and users can enable it if they wish.