syntax

Du besitzt nicht die Benutzerrechte um Seiten hinzuzufügen.

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
software:linux:touchpad [2011/01/30 11:34]
tom angelegt
software:linux:touchpad [2013/08/07 01:00] (aktuell)
Zeile 1: Zeile 1:
-Bei Kerner unter 2.6.34-rc7 werden Touchpads von Elantech (verbaut bei Asus u.a.) nur als Standard PS2 erkannt, und können nicht konfiguiert werden, insbesondere kann das tapping nicht deaktiviert, was nichts für meine dicken Finger ist :-)+Bei Kernel unter 2.6.34-rc7 werden Touchpads von Elantech (verbaut bei Asus u.a.) nur als Standard PS2 erkannt, und können nicht konfiguiert werden, insbesondere kann das tapping nicht deaktiviert, was nichts für meine dicken Finger ist :-)
  
-Als Lösung muss der mous-Treiber gepatcht werden wie unter http://ubuntuforums.org/showthread.php?p=9175201#post9175201 sehr schön beschrieben.+Als Lösung muss der mouse-Treiber gepatcht werden wie unter http://ubuntuforums.org/showthread.php?p=9175201#post9175201 sehr schön beschrieben.
 Falls die Seite verschwinden sollte, hab ich hier die wichtigsten Schritte geklaut... Falls die Seite verschwinden sollte, hab ich hier die wichtigsten Schritte geklaut...
  
  
 +----
  
 +<html>
 +<div class="vbclean_msgtext" id="post_message_9175201"><font color="Red"><b>UPDATE:</b></font><b> This patch set (3/4 of it at least) has been included in 2.6.34-rc7</b><br>
 +To find out your kernel version, run: <b>uname -r</b><br>
 +If you are running 2.6.34-rc7 or later, create <b>/etc/modprobe.d/psmouse.conf</b> and add the line: <b>options psmouse force_elantech=1</b><br>
 +DO NOT do the above if you are running an older kernel than 2.6.34! Proceed directly below to Step 1.<br>
 +<br>
 +<b><u>Step 1</u></b><br>
  
-Step 1 +<b><font color="Red">IMPORTANT:</font> BACK UP THE EXISTING MODULE FIRST!</b> You can revert to the .backup copy if  
-IMPORTANT: BACK UP THE EXISTING MODULE FIRST! You can revert to the .backup copy if things go wrong. +things go wrong.<br> 
-Code:+<div style="margin: 5px 20px 20px;"> 
 + <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
 + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 34px; text-align: left; overflow: auto;">sudo cp /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko.backup</pre> 
 +</div>DO NOT run the above command twice. You may lose your good backup copy of the module; to restore the backup see 'IF SOMETHING GOES WRONG' at the bottom of this post.<br> 
 +<br> 
 +Note: I modified this post to work for stock kernels. If you're running a custom kernel that you built from source, you don't need to go through all of this. Instead, cd to your source directory, make sure the elantech option is on in your .config (step 4), apply the patches (step 5) and <b>make drivers/input/mouse/psmouse.ko</b> then insmod it (step 7) to see if it works. You can continue to step 8 if you want to make the change permanent.<br>
  
-sudo cp /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko.backup+<br> 
 +<b><u>Step 2</u></b><br> 
 +Get the kernel source and headers for your installed kernel along with some prerequisites:<br> 
 +<div style="margin: 5px 20px 20px;"> 
 + <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
 + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 34px; text-align: left; overflow: auto;">sudo apt-get install linux-source linux-headers-`uname -r` build-essential libncurses5 libncurses5-dev kernel-package fakeroot</pre> 
 +</div>(Note: You don't need kernel-package or fakeroot for this, but if you want to build your entire kernel after this for a separate reason, you will have everything you need.)<br> 
 +<br> 
 +If you get a warning saying linux-source is a virtual package, install the specific source package for your installed kernel, such as linux-source-2.6.31, linux-source-2.6.32, linux-source-2.6.33, etc. To find out what kernel version you are running, run <b>uname -r</b>.<br>
  
-DO NOT run the above command twice. You may lose your good backup copy of the module; to restore the backup see 'IF SOMETHING GOES WRONG' at the bottom of this post. +<br> 
- +<b><u>Step 3</u></b><br> 
-Note: I modified this post to work for stock kernels. If you're running a custom kernel that you built from source, you don't need to go through all of this. Instead, cd to your source directory, make sure the elantech option is on in your .config (step 4), apply the patches (step 5) and make drivers/input/mouse/psmouse.ko then insmod it (step 7) to see if it works. You can continue to step 8 if you want to make the change permanent. +Now extract the kernel sources to a folder named src in your home directory, where VERSION is the version of your kernel sources. If you aren't sure, just do a <b>ls /usr/src/linux-source*.bz2</b> to find it:<br> 
- +<div style="margin: 5px 20px 20px;"> 
-Step 2 + <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
-Get the kernel source and headers for your installed kernel along with some prerequisites: + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 82px; text-align: left; overflow: auto;">mkdir ~/src
-Code: +
- +
-sudo apt-get install linux-source linux-headers-`uname -r` build-essential libncurses5 libncurses5-dev kernel-package fakeroot +
- +
-(Note: You don't need kernel-package or fakeroot for this, but if you want to build your entire kernel after this for a separate reason, you will have everything you need.) +
- +
-If you get a warning saying linux-source is a virtual package, install the specific source package for your installed kernel, such as linux-source-2.6.31, linux-source-2.6.32, linux-source-2.6.33, etc. To find out what kernel version you are running, run uname -r. +
- +
-Step 3 +
-Now extract the kernel sources to a folder named src in your home directory, where VERSION is the version of your kernel sources. If you aren't sure, just do a ls /usr/src/linux-source*.bz2 to find it: +
-Code: +
- +
-mkdir ~/src+
 cd ~/src cd ~/src
 tar jxvf /usr/src/linux-source-VERSION.tar.bz2 tar jxvf /usr/src/linux-source-VERSION.tar.bz2
-cd linux-source-VERSION+cd linux-source-VERSION</pre> 
 +</div>Then copy your config file in and make oldconfig:<br>
  
-Then copy your config file in and make oldconfig: +<div style="margin: 5px 20px 20px;"> 
-Code:+ <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
 + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 50px; text-align: left; overflow: auto;">cp /boot/config-`uname -r` .config 
 +make oldconfig</pre> 
 +</div><b><u>Step 4</u></b><br> 
 +Make sure that the elantech option is on:<br> 
 +<div style="margin: 5px 20px 20px;"> 
 + <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
 + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 34px; text-align: left; overflow: auto;">grep -i elantech .config</pre>
  
-cp /boot/config-`uname -r` .config +</div>It should return this if it is set:<br> 
-make oldconfig+<b>CONFIG_MOUSE_PS2_ELANTECH=y</b><br> 
 +<br> 
 +If it is not set it will return:<br> 
 +<b># CONFIG_MOUSE_PS2_ELANTECH is not set</b><br> 
 +<br> 
 +If the elantech option is not set, run <b>make menuconfig</b> and navigate to <b>Device Drivers-&gt;Input device support-&gt;Mice</b> and press space on the <b>Elantech PS/2 protocol extension</b> so that it has an asterisk like this:[*]Then press the right arrow and enter repeatedly to back out of the menus, and then answer YES to save your config.<br>
  
-Step 4 +<br> 
-Make sure that the elantech option is on: +<b><u>Step 5</u></b><br> 
-Code: +Get and apply the patches:<br> 
- +<div style="margin: 5px 20px 20px;"> 
-grep -i elantech .config + <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
- + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 146px; text-align: left; overflow: auto;">wget -O elantechpatch1 https://patchwork.kernel.org/patch/94862/raw/
-It should return this if it is set: +
-CONFIG_MOUSE_PS2_ELANTECH=y +
- +
-If it is not set it will return: +
-# CONFIG_MOUSE_PS2_ELANTECH is not set +
- +
-If the elantech option is not set, run make menuconfig and navigate to Device Drivers->Input device support->Mice and press space on the Elantech PS/2 protocol extension so that it has an asterisk like this:[*]. Then press the right arrow and enter repeatedly to back out of the menus, and then answer YES to save your config. +
- +
-Step 5 +
-Get and apply the patches: +
-Code: +
- +
-wget -O elantechpatch1 https://patchwork.kernel.org/patch/94862/raw/+
 wget -O elantechpatch2 https://patchwork.kernel.org/patch/94863/raw/ wget -O elantechpatch2 https://patchwork.kernel.org/patch/94863/raw/
 wget -O elantechpatch3 https://patchwork.kernel.org/patch/94861/raw/ wget -O elantechpatch3 https://patchwork.kernel.org/patch/94861/raw/
 wget -O elantechpatch4 https://patchwork.kernel.org/patch/94864/raw/ wget -O elantechpatch4 https://patchwork.kernel.org/patch/94864/raw/
-patch -p1 elantechpatch1 +patch -p1 &lt; elantechpatch1 
-patch -p1 elantechpatch2 +patch -p1 &lt; elantechpatch2 
-patch -p1 elantechpatch3 +patch -p1 &lt; elantechpatch3 
-patch -p1 elantechpatch4+patch -p1 &lt; elantechpatch4</pre>
  
-Step 5.5 - DELL MINI ONLY +</div><u><b>Step 5.5 - DELL MINI ONLY</b></u><br> 
-For the Dell Mini (not sure about others), you will need to force version 2 by editing drivers/input/mouse/elantech.c after applying the original 4 patches, go to line 675 and remove these two lines: +For the Dell Mini (not sure about others), you will need to force version 2 by editing <b>drivers/input/mouse/elantech.c</b> after applying the original 4 patches, go to line 675 and remove these two lines:<br> 
-Code:+<div style="margin: 5px 20px 20px;"> 
 + <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
 + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 50px; text-align: left; overflow: auto;">if ((etd-&gt;fw_version_maj == 0x02 &amp;&amp; etd-&gt;fw_version_min &gt;= 0x30) || 
 +                                           etd-&gt;fw_version_maj &gt; 0x02) {</pre>
  
-if ((etd->fw_version_maj == 0x02 && etd->fw_version_min >= 0x30) || +</div>...and replace them with with this line:<br> 
-                                           etd->fw_version_maj > 0x02) {+<div style="margin: 5px 20px 20px;"> 
 + <div class="smallfont" style="margin-bottom: 2px;">Code:</div
 + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 34px; text-align: left; overflow: auto;">if (1) {</pre> 
 +</div>Reference: <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/512192/comments/43" target="_blank">https://bugs.launchpad.net/ubuntu/+s...92/comments/43</a><br> 
 +<br> 
 +<b><u>Step 6</u></b><br> 
 +Next, build the module:<br>
  
-...and replace them with with this line+<div style="margin: 5px 20px 20px;"> 
-Code:+ <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
 + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 34px; text-align: left; overflow: auto;">make -C /usr/src/linux-headers-`uname -r` SUBDIRS=`pwd` drivers/input/mouse/psmouse.ko</pre> 
 +</div><b><u>Step 7</u></b><br> 
 +Try the new module to see if it works:<br> 
 +<div style="margin: 5px 20px 20px;"> 
 + <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
 + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 50px; text-align: left; overflow: auto;">sudo modprobe -r psmouse 
 +sudo insmod drivers/input/mouse/psmouse.ko</pre>
  
-if (1) {+</div>If it doesn't work, DO NOT continue to step 8. You can reload the psmouse module and your touchpad will function again:<br> 
 +<div style="margin: 5px 20px 20px;"> 
 + <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
 + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 50px; text-align: left; overflow: auto;">sudo modprobe -r psmouse 
 +sudo modprobe psmouse</pre> 
 +</div>There are no permanent changes to your system until step 8 below.<br> 
 +<br> 
 +<b><u>Step 8</u></b><br> 
 +Note: This step will make a persistent change to your system.<br> 
 +<br>
  
-Reference: https://bugs.launchpad.net/ubuntu/+s...92/comments/43 +If the patched module worked, you can move it into its place in /lib/modulesif you want to keep using it:<br> 
- +<div style="margin5px 20px 20px;"> 
-Step 6 + <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
-Next, build the module+ <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 34px; text-align: left; overflow: auto;">sudo cp drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko</pre> 
-Code: +</div>It'd be a good idea to try this copy of the module to make sure it works:<br> 
- +<div style="margin: 5px 20px 20px;"> 
-make -/usr/src/linux-headers-`uname -r` SUBDIRS=`pwd` drivers/input/mouse/psmouse.ko + <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
- + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 50px; text-align: left; overflow: auto;">sudo modprobe -r psmouse 
-Step 7 +sudo modprobe psmouse</pre>
-Try the new module to see if it works: +
-Code:+
  
 +</div><b><u>IF SOMETHING GOES WRONG</u></b><br>
 +If for some reason your touchpad will not work after following these directions, move the backup back into place and you should be fine:<br>
 +<div style="margin: 5px 20px 20px;">
 + <div class="smallfont" style="margin-bottom: 2px;">Code:</div>
 + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 66px; text-align: left; overflow: auto;">sudo cp /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko.backup /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko
 sudo modprobe -r psmouse sudo modprobe -r psmouse
-sudo insmod drivers/input/mouse/psmouse.ko +sudo modprobe psmouse</pre> 
- +</div><b><u>IF IT WORKED</u></b><br> 
-If it doesn't work, DO NOT continue to step 8. You can reload the psmouse module and your touchpad will function again: +For ASUS machines, <href="http://ubuntuforums.org/showthread.php?t=1333961&amp;page=8" target="_blank">see page 8</a> for details on switching the tap buttons and a tweak to get Fn+F9 to work to toggle the touchpad on/off.<br>
-Code: +
- +
-sudo modprobe -r psmouse +
-sudo modprobe psmouse +
- +
-There are no permanent changes to your system until step 8 below. +
- +
-Step 8 +
-Note: This step will make a persistent change to your system. +
- +
-If the patched module worked, you can move it into its place in /lib/modules/ if you want to keep using it: +
-Code: +
- +
-sudo cp drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko +
- +
-It'd be good idea to try this copy of the module to make sure it works: +
-Code: +
- +
-sudo modprobe -r psmouse +
-sudo modprobe psmouse +
- +
-IF SOMETHING GOES WRONG +
-If for some reason your touchpad will not work after following these directions, move the backup back into place and you should be fine: +
-Code: +
- +
-sudo cp /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko.backup /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko +
-sudo modprobe -r psmouse +
-sudo modprobe psmouse +
- +
-IF IT WORKED +
-For ASUS machines, see page 8 for details on switching the tap buttons and a tweak to get Fn+F9 to work to toggle the touchpad on/off.+
  
-For the Dell Mini 10, or machines which have integrated buttons (if you press down on the touchpad surface to click), you may want to set AreaBottomEdge to 600 via xorg.conf, a udev rule, or synclient (see below). This will prevent the problem described here by disabling a lower border of the touchpad area. The value can be adjusted up or down to find the optimal setting. If this breaks things just set it back to 0. +<br> 
-Code:+For the Dell Mini 10, or machines which have integrated buttons (if you press down on the touchpad surface to click), you may want to set <b>AreaBottomEdge</b> to 600 via xorg.conf, a udev rule, or synclient (see below). This will prevent the problem <a href="http://ubuntuforums.org/showthread.php?p=9451995#post9451995" target="_blank">described here</a> by disabling a lower border of the touchpad area. The value can be adjusted up or down to find the optimal setting. If this breaks things just set it back to 0.<br> 
 +<div style="margin: 5px 20px 20px;"> 
 + <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
 + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 34px; text-align: left; overflow: auto;">synclient AreaBottomEdge=600</pre> 
 +</div>Similarly, <b>AreaLeftEdge</b> or <b>AreaRightEdge</b> (depending on orientation) can be set to disable the left or right hand border, if desired. A suggested starting value is 50:<br>
  
-synclient AreaBottomEdge=600+<div style="margin: 5px 20px 20px;"> 
 + <div class="smallfont" style="margin-bottom: 2px;">Code:</div> 
 + <pre class="alt2" dir="ltr" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 34px; text-align: left; overflow: auto;">synclient AreaLeftEdge=50</pre> 
 +</div><b><u>References</u></b><br> 
 +<br> 
 +Bug reports:<br> 
 +<a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/512192" target="_blank">https://bugs.launchpad.net/ubuntu/+s...ux/+bug/512192</a><br> 
 +<a href="https://bugs.launchpad.net/ubuntu/+bug/418282" target="_blank">https://bugs.launchpad.net/ubuntu/+bug/418282</a><br>
  
-Similarly, AreaLeftEdge or AreaRightEdge (depending on orientation) can be set to disable the left or right hand border, if desiredA suggested starting value is 50+<br> 
-Code:+Original patches (only apply to 2.6.34-rc6 or earlier):<br> 
 +<a href="https://patchwork.kernel.org/patch/94862/" target="_blank">https://patchwork.kernel.org/patch/94862/</a><br> 
 +<a href="https://patchwork.kernel.org/patch/94863/" target="_blank">https://patchwork.kernel.org/patch/94863/</a><br> 
 +<a href="https://patchwork.kernel.org/patch/94861/" target="_blank">https://patchwork.kernel.org/patch/94861/</a><br> 
 +<a href="https://patchwork.kernel.org/patch/94864/" target="_blank">https://patchwork.kernel.org/patch/94864/</a><br> 
 +<br> 
 +Linus' 2.6.34-rc7 LKML post with the accepted patches:<br> 
 +<a href="http://lkml.org/lkml/2010/5/9/179" target="_blank">http://lkml.org/lkml/2010/5/9/179</a></div> 
 +</html>
  
-synclient AreaLeftEdge=50 
  
-References 

Navigation
QR-Code
QR-Code software:linux:touchpad (erstellt für aktuelle Seite)