onitake / gsl-firmware

Firmware repository for Silead touchscreen controllers
323 stars 201 forks source link

Mirrored half of the touchscreen along the X axis #237

Open KolhozniiSniper opened 4 months ago

KolhozniiSniper commented 4 months ago

Hi, i have some several copies Jumper EzPad V10, and touchscreen drivers from the manufacturer for touchscreen. On 3 copies everything was installed quite normally and works. But on 1 copy, with exactly the same touchscreen model, half of the panel is mirrored along the Y axis. I create with command:

../tools/fwtool -c firmware.fw -m 1680 -w 1525 -h 2035 -f track,swap,yflip -t 10 silead_ts.fw

Which works quite well on several copies. It's the same problem in the wrong touchscreen driver or something different?

UPD: I tried several other drivers, they all with the same result. Then I went back to the manufacturer's driver, and after restarting the touch stopped responding.

I use gslx680-acpi Dmesg:

[    6.071315] gslx680_ts_acpi: loading out-of-tree module taints kernel.
[    6.071328] gslx680_ts_acpi: module verification failed: signature and/or required key missing - tainting kernel
[    6.462631] gslx680 i2c-MSSL1680:00: gsl_ts_probe: got a device named MSSL1680:00 at address 0x40, IRQ 68, flags 0x0
[  129.004891] gslx680 i2c-MSSL1680:00: gsl_ts_probe: got a device named MSSL1680:00 at address 0x40, IRQ 68, flags 0x0
[  147.298737] gslx680 i2c-MSSL1680:00: gsl_ts_probe: got a device named MSSL1680:00 at address 0x40, IRQ 68, flags 0x0
[  179.398072] gslx680 i2c-MSSL1680:00: gsl_ts_probe: got a device named MSSL1680:00 at address 0x40, IRQ 68, flags 0x0

UPD 2: I managed to get him to respond with the old result again. The problem was that I was collecting from SileadTouch.sys, instead of WB_PADV10_3692_L_X64_230705_ZT.h supplied by the manufacturer. With

../tools/untscfg WB_PADV10_3692_L_X64_230705_ZT.h firmware.fw

and

../tools/fwtool -c firmware.fw -m 1680 -w 1525 -h 2035 -f track,swap,yflip -t 10 silead_ts.fw

touch started reacting again.

UPD 3: I experimented with extreme values. If we set the driver parameter to X = 100, we obtain a zone of 100 pixels in the center, with a border that is equal to the border of the display.

olmonderald commented 1 month ago

Hi, i am experiencing the same problem, if possible, upload the file with the correct driver

KolhozniiSniper commented 1 month ago

Hi, i am experiencing the same problem, if possible, upload the file with the correct driver

Unfortunately, I have not yet been able to achieve success with this task. I'm still working on it, but I'm running out of ideas.