Skip to content

motorola-montana: touchscreen doesn't work

Here's full dmesg: http://paste.ubuntu.com/p/BprJFhdxpD/ If we leave only important parts, we get this:

[    0.747564] synaptics_dsx_dt_parse_modifiers: processing modifier config_modifier-aod[0]
[    0.747698] synaptics_dsx_i2c 3-0020: no valid patch sets found
[    0.747709] synaptics_dsx_dt_parse_modifiers: processing modifier config_modifier-fps[5]
[    0.747716] synaptics_dsx_dt_parse_modifiers: using fingerprint sensor detection
[    0.747725] synaptics_dsx_dt_parse_modifier: using touch clip area in fps-active
[    0.747776] synaptics_dsx_of_init: using gpio config
[    0.747964] 3-0020 supply vdd_quirk not found, using dummy regulator
[    0.766342] i2c-msm-v2 78b7000.i2c: msm_bus_scale_register_client(mstr-id:86):0xe (ok)
[    0.776476] synaptics_dsx_i2c 3-0020: synaptics_rmi4_cap_button_map: cap_button_map is 				NULL in board file
[    0.778054] synaptics_dsx_i2c 3-0020: synaptics_rmi4_query_device: No handler for F51
[    0.781714] input: synaptics_dsx_i2c as /devices/soc/78b7000.i2c/i2c-3/3-0020/input/input1
[    0.781869] synaptics_rmi4_query_device: Product: s3603r, firmware id: 27111d, config id: 17041102
[    0.782757] synaptics_dsx_sensor_state: state change UNKNOWN -> STANDBY
[    0.782768] synaptics_dsx_sysfs_touchscreen: assigned minor 32
[    0.782924] synaptics_dsx_i2c 3-0020: Failed to register fps_notifier: -19
[    0.784092] input: hbtp_vm as /devices/virtual/input/input2
[    0.785616] input: fpc1020 as /devices/virtual/input/input3
[    0.785753] fpc1020 spi1.0: fpc1020_probe: ok
[    0.785787] Driver ltr559 init.
[    1.793059] synaptics_dsx_i2c 3-0020: RxTx mapped from F$55
               
               	Rx mapped count 24(28)
               	Tx 				mapped count 14(16)

[    1.794331] statistics_start_timekeeping: F51 data: invalid offset
[    1.794341] statistics_init: statistics init failed
[    1.794947] synaptics_dsx_i2c 3-0020: fwu_scan_pdt: BL version = 7
[    1.796034] genirq: Flags mismatch irq 72. 00000002 (fwu) vs. 00002008 (synaptics_dsx_i2c)
[    1.796041] synaptics_dsx_i2c 3-0020: fwu_irq_enable: Failed to request irq: -16
[   36.388065] genirq: Flags mismatch irq 72. 00000001 (synaptics_reset) vs. 00002008 (synaptics_dsx_i2c)
[   36.388077] synaptics_dsx_i2c 3-0020: synaptics_dsx_ic_reset: Failed to request irq: -16
[   36.486722] synaptics_dsx_i2c 3-0020: timed out waiting for reset to complete
[   36.486735] ------------[ cut here ]------------
[   36.486752] WARNING: CPU: 6 PID: 376 at kernel/irq/manage.c:1345 __free_irq+0x8c/0x194()
[   36.486759] Trying to free already-free IRQ 72
[   36.486764] Modules linked in:
[   36.486775] CPU: 6 PID: 376 Comm: kworker/6:1 Not tainted 3.18.140-lineage #2-postmarketOS
[   36.486781] Hardware name: montana (DT)
[   36.486796] Workqueue: events synaptics_dsx_queued_resume
[   36.486802] Call trace:
[   36.486818] [<ffffffc0000895b4>] dump_backtrace+0x0/0xe8
[   36.486827] [<ffffffc0000896b0>] show_stack+0x14/0x1c
[   36.486833] [<ffffffc000e99d10>] dump_stack+0x80/0xac
[   36.486840] [<ffffffc0000a1e9c>] warn_slowpath_common+0x88/0xb0
[   36.486845] [<ffffffc0000a1f08>] warn_slowpath_fmt+0x44/0x4c
[   36.486850] [<ffffffc0000eb9ac>] __free_irq+0x8c/0x194
[   36.486855] [<ffffffc0000ebb8c>] free_irq+0x88/0xa4
[   36.486860] [<ffffffc0006ee550>] synaptics_dsx_ic_reset+0x114/0x18c
[   36.486865] [<ffffffc0006eec0c>] synaptics_dsx_queued_resume+0x1c0/0x274
[   36.486871] [<ffffffc0000b6e74>] process_one_work+0x258/0x3cc
[   36.486875] [<ffffffc0000b7790>] worker_thread+0x27c/0x39c
[   36.486880] [<ffffffc0000bb7d8>] kthread+0xd4/0xe4
[   36.486883] ---[ end trace a9c468d64343a7f8 ]---
[   36.487756] genirq: Flags mismatch irq 72. 00000001 (synaptics_reset) vs. 00002008 (synaptics_dsx_i2c)
[   36.487766] synaptics_dsx_i2c 3-0020: synaptics_dsx_ic_reset: Failed to request irq: -16
[   36.586727] synaptics_dsx_i2c 3-0020: timed out waiting for reset to complete
[   36.586743] ------------[ cut here ]------------
[   36.586762] WARNING: CPU: 6 PID: 376 at kernel/irq/manage.c:1345 __free_irq+0x8c/0x194()
[   36.586771] Trying to free already-free IRQ 72
[   36.586777] Modules linked in:
[   36.586789] CPU: 6 PID: 376 Comm: kworker/6:1 Tainted: G        W      3.18.140-lineage #2-postmarketOS
[   36.586795] Hardware name: montana (DT)
[   36.586811] Workqueue: events synaptics_dsx_queued_resume
[   36.586818] Call trace:
[   36.586834] [<ffffffc0000895b4>] dump_backtrace+0x0/0xe8
[   36.586843] [<ffffffc0000896b0>] show_stack+0x14/0x1c
[   36.586853] [<ffffffc000e99d10>] dump_stack+0x80/0xac
[   36.586864] [<ffffffc0000a1e9c>] warn_slowpath_common+0x88/0xb0
[   36.586873] [<ffffffc0000a1f08>] warn_slowpath_fmt+0x44/0x4c
[   36.586881] [<ffffffc0000eb9ac>] __free_irq+0x8c/0x194
[   36.586889] [<ffffffc0000ebb8c>] free_irq+0x88/0xa4
[   36.586898] [<ffffffc0006ee550>] synaptics_dsx_ic_reset+0x114/0x18c
[   36.586906] [<ffffffc0006ee56c>] synaptics_dsx_ic_reset+0x130/0x18c
[   36.586915] [<ffffffc0006eec0c>] synaptics_dsx_queued_resume+0x1c0/0x274
[   36.586925] [<ffffffc0000b6e74>] process_one_work+0x258/0x3cc
[   36.586933] [<ffffffc0000b7790>] worker_thread+0x27c/0x39c
[   36.586942] [<ffffffc0000bb7d8>] kthread+0xd4/0xe4
[   36.586948] ---[ end trace a9c468d64343a7f9 ]---
[   36.586958] synaptics_dsx_i2c 3-0020: synaptics_rmi4_resume: timed out waiting for idle
[   36.587221] synaptics_dsx_sensor_state: state change STANDBY -> ACTIVE

I already installed firmware for touchscreen, so I'm left with only two ideas:

  1. You need to change firmware path in kernel
  2. Something else in kernel is wrong
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information