• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Firmware of Silead Touchscreen Controller for Jumper EZpad 6 Pro.


Commit MetaInfo

Revisión9bab47cd0b9a901383eddb0545575ed7788d25f1 (tree)
Tiempo2016-06-09 01:57:35
AutorGregor Riepl <onitake@gmai...>
CommiterGregor Riepl

Log Message

Merge pull request #18 from bernhardu/master

Some more description to get the Surftab twin 10.1 to an usable state.

Cambiar Resumen

Diferencia incremental

--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ Device list
3535 | EastRising | ER-TPC050-1 | yes | [firmware/eastrising/er-tpc050-1](firmware/eastrising/er-tpc050-1)|
3636 | Trekstor | SurfTab wintron 7.0 | yes | [firmware/trekstor/surftab7old](firmware/trekstor/surftab7old) |
3737 | Trekstor | SurfTab wintron 7.0 (ST70416-6) | yes | [firmware/trekstor/surftab7new](firmware/trekstor/surftab7new) |
38-| Trekstor | SurfTab twin 10.1 (ST10432-8) | no | [firmware/trekstor/surftab-twin-10.1-ST10432-8](firmware/trekstor/surftab-twin-10.1-ST10432-8)|
38+| Trekstor | SurfTab twin 10.1 (ST10432-8) | yes | [firmware/trekstor/surftab-twin-10.1-ST10432-8](firmware/trekstor/surftab-twin-10.1-ST10432-8)|
3939 | Utok | i800 | yes | [firmware/utok/i800](firmware/utok/i800) |
4040 | RCA | Cambio W101 V2 10.1" tablet | yes | [firmware/rca/w101v2](firmware/rca/w101v2) |
4141 | Onda | V891w | no | [firmware/onda/v891w](firmware/onda/v891w) |
@@ -119,6 +119,8 @@ There are normally several blocks of data with the same pattern that
119119 follow. Copy all of them into a new file and call it firmware.fw.
120120 This should be the firmware image for your device.
121121
122+See [here](firmware/trekstor/surftab-twin-10.1-ST10432-8/README.md#command-to-find-the-offsets-used-for-extraction) an example with some help from grep and dd.
123+
122124
123125 gslx680-acpi
124126 ------------
--- a/firmware/trekstor/surftab-twin-10.1-ST10432-8/README.md
+++ b/firmware/trekstor/surftab-twin-10.1-ST10432-8/README.md
@@ -19,32 +19,87 @@ trekstor/surftab-twin-10.1-ST10432-8
1919 | Mirrored horizontally | Yes |
2020 | Mirrored vertically | No |
2121 | Axes swapped | No |
22-| Comments | ./fwtool -c firmware.fw -m 1680 -w 1895 -h 1275 -t 10 -f yflip silead_ts.fw |
22+| Comments | ./fwtool -c GSL_TS_CFG_THREE.h -2 -m 1680 -w 1895 -h 1275 -t 10 -f yflip silead_ts.fw |
2323
2424
2525 Details:
2626 --------
27-
2827 The driver used for extraction is taken from the preinstalled Windows 10 installation.
2928
30-Tested with gslx680_ts_acpi with vanilla git kernel 4.6-10744-gc543673.
31-Works in plain X-server with xterm and e.g. text mode midnight commander.
32-When using SDDM login manager or Plasma desktop "clicking" is not recognised.
33-However dragging windows is possible.
29+Tested with gslx680_ts_acpi with Debian kernel linux-image-4.6.0-1-amd64 (4.6.1-1).
3430
3531
3632 Command to convert GSL_TS_CFG_THREE.h
3733 -------------------------------------
38- tools/untscfg firmware/trekstor/surftab-twin-10.1-ST10432-8/Windows_System32_drivers/GSL_TS_CFG_THREE.h firmware/trekstor/surftab-twin-10.1-ST10432-8/firmware.fw
39-
40-
41-Convert the firmware.fw:
42---------------------------
4334 cd tools
44- ./fwtool -c ../firmware/trekstor/surftab-twin-10.1-ST10432-8/firmware.fw -m 1680 -w 1895 -h 1275 -t 10 -f yflip ../firmware/trekstor/surftab-twin-10.1-ST10432-8/silead_ts.fw
35+ ./fwtool -c ../firmware/trekstor/surftab-twin-10.1-ST10432-8/Windows_System32_drivers/GSL_TS_CFG_THREE.h -2 -m 1680 -w 1895 -h 1275 -t 10 -f yflip ../firmware/trekstor/surftab-twin-10.1-ST10432-8/silead_ts.fw
4536 cd -
4637
4738
39+Qt5 programs not working?
40+-------------------------
41+In my tests at first taps were not recognized in Qt5 based programs like
42+Plasma or LXQt desktop, or SDDM login manager.
43+
44+This was because following conditions were met:
45+- Debian included the libinput X input drivers and have currently higher priority than Evdev drivers.
46+ See /var/log/Xorg.0.log: Using input driver 'libinput' for 'Silead GSLx680 Touchscreen'
47+- Qt5 is in a version smaller than 5.6.0 installed.
48+- "xinput list --long 11" reports "Abs X" valuators.
49+
50+But Qt5 expected "Abs MT Position X" valuators.
51+
52+Other programs based on different toolkits are not affected.
53+
54+Upstream Qt5 fixed this issue in following links:
55+- https://bugreports.qt.io/browse/QTBUG-48279
56+- http://code.qt.io/cgit/qt/qtbase.git/commit/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp?id=462f355e4fb16cc7a1838fa2dda0f763eee58c84
57+
58+Getting source for libqt5gui5_5.5.1+dfsg-17_amd64.deb, applying the above patch, rebuilding
59+and reinstalling the modified package solves the issue.
60+
61+However hinting the X-server to use the Evdev driver would be easier (see below 99-calibration.conf).
62+
63+
64+Calibration (evdev):
65+--------------------
66+Run "xinput_calibrator". It outputs a config snippet for the X-server:
67+
68+/usr/share/X11/xorg.conf.d/99-calibration.conf
69+ Section "InputClass"
70+ Identifier "calibration"
71+ MatchProduct "Silead GSLx680 Touchscreen"
72+ Option "Calibration" "40 1880 0 1270"
73+ Option "SwapAxes" "0"
74+ Driver "evdev"
75+ EndSection
76+
77+For fine tuning one can also test the values first with this command:
78+ xinput set-int-prop 11 "Evdev Axis Calibration" 32 40 1880 0 1270
79+
80+
81+Calibration (libinput):
82+-----------------------
83+Could not find any GUI to start with calibration.
84+
85+I had just following command to start:
86+ xinput set-float-prop 11 "libinput Calibration Matrix" 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0
87+ xinput set-float-prop 11 "libinput Calibration Matrix" 1.045 0.0 -0.015 0.0 1.045 -0.015 0.0 0.0 1.0
88+
89+Like described in "man 5 xorg.conf", the Option "TransformationMatrix" "a b c d e f g h i":
90+- "a" and "e" specify the width and height
91+- "c" and "f" specify the x and y offset
92+
93+If you have usable values put make such a configuration:
94+/usr/share/X11/xorg.conf.d/99-calibration.conf
95+ Section "InputClass"
96+ Identifier "calibration"
97+ MatchProduct "Silead GSLx680 Touchscreen"
98+ Option "CalibrationMatrix" "1.045 0.0 -0.015 0.0 1.045 -0.015 0.0 0.0 1.0"
99+ Driver "libinput"
100+ EndSection
101+
102+
48103 Following is just for reference, if one wants to extract firmware from SileadTouch.sys:
49104 ---------------------------------------------------------------------------------------
50105
@@ -98,7 +153,7 @@ Extract the firmware.fw files:
98153 | firmware.fw_1 | Not tested, much smaller then the others. |
99154 | firmware.fw_2 | Reacts to input, mouse pointer jumpy. |
100155 | firmware.fw_3 | Reacts to input, mouse pointer jumpy. |
101-| firmware.fw_4 | Works best, X < 15 are not reachable. |
156+| firmware.fw_4 | Works good. |
102157
103158
104159 Convert the firmware.fw_4: