L530/L430 Trackpoint unter Linux

Faule Socke

New member
Themenstarter
Registriert
25 Apr. 2013
Beiträge
23
Hallo,

ich hätte mal gerne gewusst, ob alle hier das Problem haben, dass unter Linux entweder

a) Nur das Touchpad (dann aber mit Multitouch), oder
b) Das Touchpad und der Trackpoint funktionieren, dann allerdings ohne Multitouch

Sollte jemand sowohl Multitouch als auch Trackpoint haben (gleichzeitig!), bitte unbedingt melden :) Ich bin dabei, einen Treiber zu entwickeln, der das Problem hoffentlich bald löst.

Gruß Socke
 
@supertux: ich hab das Thema Patch mal hierher umhängen lassen. So können wir Ergebnisse besser verfolgen als im unübersichtlichen KFKA. Interessenten düfte es reichlich geben ...
 
probiers doch einfach.
...
viel erfolg!
Danke :thumbsup: ,
genau nach solch einer Anleitung hab ich gesucht (auch wenn das meine Befürchtung mit dem Kernel bauen müssen bestätigt)

ich hab das Thema Patch mal hierher umhängen lassen. So können wir Ergebnisse besser verfolgen als im unübersichtlichen KFKA. Interessenten düfte es reichlich geben ...
Auch dafür Danke :)
ich war mir selber nicht sicher ob's hier rein soll, da ich irgendwie Hoffnung hatte, das Ganze würde sich in mein aktuelles System einfach per Update einpflegen lassen und somit schnell erledigt sein ;)

Das mit dem Kernel werd ich mir vornehmen,
kann aber noch 'ne Weile dauern, da ich aufgrund der für mich anstehenden Bachelorarbeit auf mein jetziges System angewiesen bin :rolleyes:
und somit das Ganze (wohl erst wenn mich mal die Arbeit zu sehr nerft) auf einem USB-Stick mit einem jungfräulichen Linux probieren werde ;)

btw.: da der Patch für einen "linux-3.10.4-vanilla" Kernel geschrieben ist: Muss ich da dann auch den von mir verwendeten Kernel überall eintragen,
oder ist das nur "syntactic shugar" und kann zum Ausprobieren einfach so drin stehenbleiben?!
 
Zuletzt bearbeitet:
da diff und patch ziemlich klever sind, sollte das auch so gehen.
abgesehen vom zeitverbrauch sehe ich kein risiko für dein jetziges system.

wenn der treiber als modul vorliegt, reicht es auch das einzelne modul neu zu bauen und zu installieren. das geht dann auch unwesentlich ;) schneller als das kompilieren des gesamten kernel
 
Zuletzt bearbeitet:
sodele: 1 Schritt weiter 3 Schritte zurück
der Patch compiled nicht :cursing:

1. in Zeile 6 eine schließende geschweifte Klammer, die nirgends geöffnet wird
2. ab Zeile 56 kommen immer wieder Codezeilen, die nicht funktionieren und auch irgendwie unvollständig aussehen (z.B: Zeile 59 ganz hinten (stru )
3. in Zeile 134 beginnt ein neuer Header: Darf das überhaupt sein???

aber wenigstens ist jetzt schon mal die "Kernel-Panik" ;) überwunden (vllt. wird's ja doch nochmal was mit einem selbst zugeschnitzten gentoo oder arch :D )

Auch wenn's jetzt nicht gleich erfolgreich war, schon mal ein fettes danke für eure Geduld mit einem Kernel-Patch Noob wie mir :thumbup:

Edit: sorry code vergessen:
Anhang anzeigen elantechpatch.txt
 
Zuletzt bearbeitet:
in einem patch stehen nur die unterschiede zwischen 2 dateien. die unvollständigen zeilen fangen mit "@@" an und dienen dazu die zu ändernde stelle anzugeben. es macht daher nichts, wenn die zeile unvollständig ist. in einem patch können auch unterschiede zwischen mehreren datei-paaren stehen. daher ist auch die sache mit dem header in teile 134 absolut ok. wenn ein patch nicht angewendet werden kann, werden dateien mit der endung ".rej" angelegt, in denen die abschnitte stehen, die nicht gepatcht werden konnten.
ich versuch gleich mal einen 3.12er kernel zu patchen und gucke, was passiert.
 
wenn ein patch nicht angewendet werden kann, werden dateien mit der endung ".rej" angelegt, in denen die abschnitte stehen, die nicht gepatcht werden konnten.
Wo werden diese angelegt?
Ich bekomme immer nur Konsolenmeldungen der Art:
Code:
patch: **** malformed patch at line<Zeilennummer>: <Inhalt der Zeile>
Besagte Dateien finde ich nicht.
 
bei mir hats auch nicht geklappt. ich hab einfach mal die unterschiede von hand eingetragen und neue patches erstellt. die sind allerdings für 3.12. da ich bei der sache mit dem header doch leichte zweifel bekommen hab, habe ich jetzt 2 separate patches gemacht. vielleicht klappt das ja mit denen besser. ich hab sie aber nicht getestet (keine passende hardware), sondern nur kompiliert!

wer meldet sich freiwillig als versuchskaninchen?

edit:
anhänge vergessen :pinch:

edit2:
nun alles in einem patch, also ein befehl weniger nötig ;)

edit3:
der patch funzt btw auch bei 3.11! ich hab aber nur das patchen getestet, nicht kompiliert. erwarte aber keine probleme.
 

Anhänge

Zuletzt bearbeitet:
super!:)
bin schon sehr gespannt auf das ergebnis!
wäre schön, wenn du hinterher die von dir verwendete genaue kernel-version nennst.
 
66eb0dfca2387be2ad411b125c31a2ff6e677ca2_s.png
Kann sich nur um Stunden handeln :D
 
ja, so ein standard-kernel braucht ewig.
hast du nur make aufgerufen oder make -j3 (oder irgendwas anderes > 1)? auf deinem desktop ginge es auch schneller als auf dem l530. dort könntest du dann -j5 setzen (anzahl der kerne +1).

welchen kernel genau kompilierst du gerade?
 
nu ned ganz (mit der Rödelei is er durch: momentan bei ... wird in ... gebaut (keine weiteren Anzeigen volle Last auf 1 Kern))
ok, Fehlalarm aber allzu lange sollte es nimmer dauern ;)

:D:D:D
Wir sind einen Schritt weiter!

Trackpoint und Touchpad sind jetzt 2 Geräte,
beide lassen sich in den Mauseinstellungen einzeln aus und wieder einschalten

Problem:
Das Touchpad selbst geht nicht, die zugehörigen Tasten darunter allerdings schon(werden beim Deaktivieren mit ausgeschaltet)
weiß da jemand Rat? erledigt es fehlte der synaptics Treiber

Genauere Analyse: laut evtest sind Signale da!
 
Zuletzt bearbeitet:
Jippieeee ihr seid einfach spitze :thumbsup:
Synaptics Treiber noch drauf, Neustart und bäääm
endlich Multitouch und Trackpoint :D

Jetzt fehlt nur noch die Einstellung für die mittlere Maustaste zum Scrollen (aber das sollte jetzt nicht gerade zum Problem ausarten ;) )

Da sich hier einige tummeln, die auf launchpad aktiv sind und Erfahrung im Pakete schnüren haben:
Könnte da jemand was organisieren, damit nicht jeder der sein L530 in Ordnung bringen will gleich seinen eigenen Kernel bauen muss :rolleyes:

Noch eine Frage am Rande: ich hab ja jetzt einen mod-Kernel, wie läuft das da so mit Updates? Muss ich da Angst haben, dass es mir meinen Patch raushaut, oder ist das eher eine unbegründete Sorge?

Edit merkt noch an: das Ganze auf L530(2475A25) / XUbuntu 13.10 / 64Bit / 3.11'er Kernel
 
Zuletzt bearbeitet:
Habe mir den Patch nicht angeschaut, aber würde es nicht reichen, nur das eine Modul selbst zu kompilieren? Mittels DKMS sollte das doch leicht machbar sein. Dann könnte man für die Ubuntu-Nutzer ein PPA einrichten und alle sind glücklich. Irgendwann ist der Patch dann upstream und es läuft out-of-the-box.
 
Habe mir den Patch nicht angeschaut, aber würde es nicht reichen, nur das eine Modul selbst zu kompilieren?
Ich denke, das könnte auch funktionieren, habe aber selber keinerlei Erfahrung damit (war schon froh, dass das mit dem Kernel hingehauen hat)
Soweit läuft alles perfekt wie es soll (beide Geräte einzeln und unabhängig voneinander an und ausschaltbar, Touchpad konfigurierbar(normaler Synaptics Treiber), Multitouch inkl. Sidescrolling und Zoom funktioniert)

Ich wär super dankbar wenn jemand das Teil packen und der Öffentlichkeit zur Verfügung stellen könnte ;)
 
Ich werde es morgen bei uns auf der LUG mal ansprechen, vielleicht findet sich wer (*nur ein bisschen auf linrunner schiel*).
 
Eigentlich müßte die Scrollfunktion doch automatisch gehen wenn der gepatchte Treiber alles richtig macht (und Du die xorg.d Konfig nicht verbastelt hat).

Daher würde ich gerne ein paar Ausgaben sehen:
Code:
xinput list
Außerdem die Details für Trackpoint und Kratzpad:
Code:
xinput list-props "TPPS/2 IBM TrackPoint"
xinput list-props "SynPS/2 Synaptics TouchPad" # muss höchstwahrscheinlich angepasst werden lt. xinput list
 
xinput list:
Code:
⎡ Virtual core pointer                                   id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                 id=4    [slave  pointer  (2)]
⎜   ↳ My stick                                           id=11    [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad               id=12    [slave  pointer  (2)]
⎣ Virtual core keyboard                               id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard              id=5    [slave  keyboard (3)]
    ↳ Power Button                                     id=6    [slave  keyboard (3)]
    ↳ Video Bus                                         id=7    [slave  keyboard (3)]
    ↳ Sleep Button                                     id=8    [slave  keyboard (3)]
    ↳ Integrated Camera                             id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            id=10    [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                     id=13    [slave  keyboard (3)]


xinput list-props "My stick"
Code:
Device 'My stick':
    Device Enabled (134):    1
    Coordinate Transformation Matrix (136):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (258):    0
    Device Accel Constant Deceleration (259):    1.000000
    Device Accel Adaptive Deceleration (260):    1.000000
    Device Accel Velocity Scaling (261):    10.000000
    Device Product ID (254):    2, 14
    Device Node (255):    "/dev/input/event11"
    Evdev Axis Inversion (262):    0, 0
    Evdev Axes Swap (264):    0
    Axis Labels (265):    "Rel X" (144), "Rel Y" (145)
    Button Labels (266):    "Button Left" (137), "Button Middle" (138), "Button Right" (139), "Button Wheel Up" (140), "Button Wheel Down" (141)
    Evdev Middle Button Emulation (267):    0
    Evdev Middle Button Timeout (268):    50
    Evdev Third Button Emulation (269):    0
    Evdev Third Button Emulation Timeout (270):    1000
    Evdev Third Button Emulation Button (271):    3
    Evdev Third Button Emulation Threshold (272):    20
    Evdev Wheel Emulation (273):    0
    Evdev Wheel Emulation Axes (274):    0, 0, 4, 5
    Evdev Wheel Emulation Inertia (275):    10
    Evdev Wheel Emulation Timeout (276):    200
    Evdev Wheel Emulation Button (277):    4
    Evdev Drag Lock Buttons (278):    0


xinput list-props "ETPS/2 Elantech Touchpad"
Code:
Device 'ETPS/2 Elantech Touchpad':
    Device Enabled (134):    1
    Coordinate Transformation Matrix (136):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (258):    1
    Device Accel Constant Deceleration (259):    2.500000
    Device Accel Adaptive Deceleration (260):    1.000000
    Device Accel Velocity Scaling (261):    12.500000
    Synaptics Edges (281):    88, 2116, 62, 1098
    Synaptics Finger (282):    1, 1, 0
    Synaptics Tap Time (283):    180
    Synaptics Tap Move (284):    109
    Synaptics Tap Durations (285):    180, 180, 100
    Synaptics ClickPad (286):    0
    Synaptics Middle Button Timeout (287):    75
    Synaptics Two-Finger Pressure (288):    282
    Synaptics Two-Finger Width (289):    7
    Synaptics Scrolling Distance (290):    49, 49
    Synaptics Edge Scrolling (291):    0, 0, 0
    Synaptics Two-Finger Scrolling (292):    1, 1
    Synaptics Move Speed (293):    1.000000, 1.750000, 0.080321, 0.000000
    Synaptics Off (294):    0
    Synaptics Locked Drags (295):    0
    Synaptics Locked Drags Timeout (296):    5000
    Synaptics Tap Action (297):    2, 3, 0, 0, 1, 3, 2
    Synaptics Click Action (298):    1, 1, 0
    Synaptics Circular Scrolling (299):    0
    Synaptics Circular Scrolling Distance (300):    0.100000
    Synaptics Circular Scrolling Trigger (301):    0
    Synaptics Palm Detection (302):    0
    Synaptics Palm Dimensions (303):    10, 200
    Synaptics Coasting Speed (304):    20.000000, 50.000000
    Synaptics Pressure Motion (305):    30, 160
    Synaptics Pressure Motion Factor (306):    1.000000, 1.000000
    Synaptics Resolution Detect (307):    1
    Synaptics Grab Event Device (308):    1
    Synaptics Gestures (309):    1
    Synaptics Capabilities (310):    1, 0, 1, 1, 1, 1, 1
    Synaptics Pad Resolution (311):    1, 1
    Synaptics Area (312):    0, 0, 0, 0
    Synaptics Noise Cancellation (313):    12, 12
    Device Product ID (254):    2, 14
    Device Node (255):    "/dev/input/event12"

Der mittlere Mouse-Button hat die Funktion eines (normalen) mittleren Mouse-Buttons (wie bei der ursprünglichen proto=bare Lösung)

Der Patch ist unverändert der von yatpu angepasste (hat prima funktioniert),
ansonsten habe ich nur die durch die vorherigen Lösungen aus diesem Thread angelegten Dateien gelöscht,
das tp-trackpoint elantech Package deinstalliert
und den (vermutlich von mir mal entfernten) Synaptics Treiber installiert
 
Zuletzt bearbeitet:
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben