Špatná detekce touchpadu [Ubuntu 10.04]
V Ubuntu 10.04 je touchpad špatně detekován jako psmouse.
To způsobuje, že touchpad není možné nastavit na záložce myši
a nelze ani používat nástroj pro jeho vypnutí při psaní.
To je velice nepžíjemný problém.
Pro opravu tohoto problému postupjte podle následujících bodů:
1) Nejprve zazálohujeme existující moduly, aby bylo možné se vrátit, kdyby se něco
nepodařilo (důležité !):
sudo cp /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko.backup |
Poznámka 1: Nespouštějte tento příkaz dvakrát, protože by to vedlo ke ztrátě správné
zálohy.
Poznámka 2: Tento návod je upravený pro práci se „stock“ kernely. Pokud používáte
„custom kernel“ můžete rovnou přejít do zdrojového adresáře a ujistit se, že elantech
je zapnutý (bod 4), aplikovat záplaty (bod 5) a vytvořit modul
drivers/input/mouse/psmouse.ko, vyzkoušet ho (bod 7).
Dále můžete pokračovat bodem 8, pokud chcete, aby byly změny trvalé.
2) Stáhneme zdrojové kódy a hlavičky k aktuálnímu jádru:
sudo apt-get install linux-source linux-headers-`uname -r` build-essential libncurses5 libncurses5-dev fakeroot |
3) Rozbalíme zdroje do adresáře s názvem src v našem domovském adresáři.
Musíme použít správnou verzi.
Pokud si nejste jistí, můžete to zjistit příkazem ls /usr/src/linux-source*.bz2
mkdir ~/src
cd ~/src
tar jxvf /usr/src/linux-source-VERSION.tar.bz2
cd linux-source-VERSION
Nyní zkopírujeme náš konfigurační soubor a vytvoříme záložní soubor s názvem
oldconfig:
cp /boot/config-`uname -r` .config
make oldconfig
4) Ujistíme se, že elantech ovladač je zapnutý:
grep -i elantech .config
Tento příkaz by měl vypsat:
CONFIG_MOUSE_PS2_ELANTECH=y
Pokud namísto toho uvidíme
# CONFIG_MOUSE_PS2_ELANTECH is not set
nemůžeme pokračovat a musíme nejprve ovladač zapnout.
5) Pokud je vše v pořádku, aplikujeme patche:
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 < elantechpatch1
patch -p1 < elantechpatch2
patch -p1 < elantechpatch3
patch -p1 < elantechpatch4
5.5) jen pro DELL MINI
Pro Dell Mini (nevím zda i pro ostatní), je třeba upravit
drivers/input/mouse/elantech.c po aplikování 4 originálních záplat.
Jděte tedy na řádek 675 a odstraňte tyto dva řádky:
if ((etd->fw_version_maj == 0x02 && etd->fw_version_min >= 0x30) ||
etd->fw_version_maj > 0x02) {
…a nahraďte je tímto:
if (1) {
Reference: https://bugs.launchpad.net/ubuntu/+s…92/comments/43
6) Nyní vytvoříme modul:
make -C /usr/src/linux-headers-`uname -r` SUBDIRS=`pwd` drivers/input/mouse/psmouse.ko |
7) Vyzoušíme, jestli nový modul správně funguje:
sudo modprobe -r psmouse
sudo insmod drivers/input/mouse/psmouse.ko
Pokud toto nefunguje, NEPOKRAČUJTE KROKEM 8!
Můžeme znovu načíst psmouse modul a Váš touchpad bude znovu funkční:
sudo modprobe -r psmouse
sudo modprobe psmouse
Poznámka: Toto nezpůsobilo trvalou změnu. Pokud chceme trvalou změnu,
pokračujme bodem 8.
8) Pozor: Tento bod způsobí trvalé změny systému.
Jestliže je upravený modul funkční a chcete ho trvale používat, můžete ho
přesunout do adresáře /lib/modules/
sudo cp drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko |
Je dobré se ujistit, zda tento modul skutečně správně funguje:
sudo modprobe -r psmouse
sudo modprobe psmouse
POKUD SE NĚCO NEPODAŘILO:
Pokud z nějakého důvodu po úpravách touchpad nefunguje, můžeme vrátit
původní stav pomocí zálohy, kterou jsme předtím vytvořili.
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 |
POKUD JE VŠE V POŘÁDKU:
Nyní můžeme do „Aplikací spouštěných při startu“ doplnit aplikaci touchfreeze
anastavit si vypínání touchpadu při psaní.
Můžete také nahlásti tuto chybu a to, že toto řešení funguje:
https://bugs.launchpad.net/ubuntu/+s…ux/+bug/512192
Zdroj: http://ubuntuforums.org/showthread.php?p=9175201#post9175201
Troubleshooting: Touchpad v Ubuntu 10.04
Zdroj: http://ubuntuforums.org/showthread.php?p=9175201#post9175201