syntax

Du besitzt nicht die Benutzerrechte um Seiten hinzuzufügen.

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 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…


<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>   <b><font color="Red">IMPORTANT:</font> BACK UP THE EXISTING MODULE FIRST!</b> You can revert to the .backup copy if things go wrong.<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 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>   <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>   <br> <b><u>Step 3</u></b><br> 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;"> <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: 82px; text-align: left; overflow: auto;">mkdir ~/src cd ~/src tar jxvf /usr/src/linux-source-VERSION.tar.bz2 cd linux-source-VERSION</pre> </div>Then copy your config file in and make oldconfig:<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;">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>   </div>It should return this if it is set:<br> <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>   <br> <b><u>Step 5</u></b><br> Get and apply the patches:<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: 146px; text-align: left; overflow: auto;">wget -O elantechpatch1 https://patchwork.kernel.org/patch/94862/raw/ wget -O elantechpatch2 https://patchwork.kernel.org/patch/94863/raw/ wget -O elantechpatch3 https://patchwork.kernel.org/patch/94861/raw/ wget -O elantechpatch4 https://patchwork.kernel.org/patch/94864/raw/ patch -p1 &lt; elantechpatch1 patch -p1 &lt; elantechpatch2 patch -p1 &lt; elantechpatch3 patch -p1 &lt; elantechpatch4</pre>   </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 <b>drivers/input/mouse/elantech.c</b> after applying the original 4 patches, go to line 675 and remove these two lines:<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;">if ((etd-&gt;fw_version_maj == 0x02 &amp;&amp; etd-&gt;fw_version_min &gt;= 0x30) || etd-&gt;fw_version_maj &gt; 0x02) {</pre>   </div>...and replace them with with this line:<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;">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>   <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;">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>   </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>   If the patched module worked, you can move it into its place in /lib/modules/ if you want to keep using it:<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 cp drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko</pre> </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;"> <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><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 psmouse</pre> </div><b><u>IF IT WORKED</u></b><br> For ASUS machines, <a 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>   <br> 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>   <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>   <br> 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>


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