Rolovacie koliesko u touchpadu, inštalácia driveru
Napsal: 24 čer 2024, 16:12
Táto téma už nemá s výberom notebooku nič spoločné, tak som to oddelil, aby bolo možné túto problematiku neskôr dohľadať. Myslel som si, že o toto nebude záujem, ale ono sa to celkom rozbehlo. Síce nepredpokladám, že bude v budúcnosti nejak zaujímavá, ale nech to nie je naplácané na sebe, keď to k sebe nepatrí. Pôvodné vlákno je tu:
https://www.ebastlirna.cz/modules.php?n ... 82#1331982
Pridávam citácie predchádzajúcich príspevkov.
https://www.ebastlirna.cz/modules.php?n ... 82#1331982
Pridávam citácie predchádzajúcich príspevkov.
- Duvsan
Po čase som oživil tento notebook (Fujitsu Lifebook S760), trochu som s ním mal problémy. A rád by som sprevádzkoval rolovaciu plošku vpravo od touchpadu. Doteraz som ju neriešil, ale skúsil som ju pod Win10 a je to dobrá vec. Windows som zrušil, neprešla licencia. Navyše dosť zaťažuje systém a mám ho v iných laptopoch, tak som vrátil XUbuntu LTS. Myslíte, že existuje driver touchpadu pre Ubuntu/Debian, alebo musím cez Wine?
- rnbw
Je s tym trochu problem - nie je driver (je to nieco ako druhy touchpad). Tu ho niekto urobil, ale do kernelu sa asi nedostal:
https://www.linuxquestions.org/question ... 175692959/
- Duvsan
To snáď bude jednoduchšie cez Wine. Neexistuje náhodou konvertor, ktorý by to raz navždy previedol z Win7 alebo WinXP pre XUbuntu?
- rnbw
To je nemozne.
- Duvsan
Emulovať to asi nejde. Windows Installer to odmieta.
A do Ubuntu fóra sa neviem dostať. Zabudol som heslo. Už som tam nebol viac rokov. Obnovenie hesla ponúkajú, na mail pošlú správu s linkom, na ktorý mám kliknúť. Ale ten link odkazuje na stránku, na ktorej som zadal email. Takže uzavretá slučka.
A ndiswrapper asi zmizol z repozitárov.
- Duvsan
Ndiswrapper som stiahol inde, aj *.deb, aj *.tar.gz, aj pre Ubutu, neviem to nainštalovať. Ani inštalátor, ani Synaptic, ani cez konzolu.
Samozrejme, *.tar.gz som najprv rozbalil.
Tak sa podarilo. https://packages.ubuntu.com/focal/ndiswrapper
- Duvsan
Konečne mám ndiswrapper i ndisgtk, ale dostať doň driver Synaptic_touchpad_18.1.22.5 nedokážem. Ndisgtk sa tvári, že ndiswrapper nevidí.
- matahari
NDIS znamená Network Driver Interface Specification, takže těžko má ovladač pro touchpad něco společného se sítí. Navíc Wine umí emulaci Windows API a nejspíš ani nemá přímý přístup k hardwaru.
Už ti tu rnbw dal odkaz na fórum linuxquestions, kde se ten skrolovací touchpad řeší a tam je další odkaz na github https://github.com/sammertens/fujitsu_scroll , kde ten ovladač někdo napsal a dokonce je před 3 měsíci aktualizovaný pro kernel 6.6.21. V tom fóru se také dočteš, jak ho zkompilovat a zavést, ale v návaznosti musíš vědět, co se nachází v adresáři /usr/src/linux a pokud tam nemáš zdrojáky k používanému kernelu, tak jak je tam dodat atd.
- Duvsan
Aha. Ináč skúsil som to i bez ndisgtk, neuspel som. Ak je to len pre sieť, tak to asi nič.
Ten link som vtedy pozeral, pripadalo mi to ako nedokončený projekt. Veľmi do toho nevidím, tak googlím a skúšam a takto to vyzerá.
- matahari
Když jsem se na to podíval, tak se mi tenhle typ kompilace vůbec nelíbí, ale jiná možnost není.
Do /usr/src se pomocí apt install linux-headers-$(uname -r) (pro jistotu si to dohledej) nainstalují zdrojové kódy jádra. Tam se také musí nakopírovat (/usr/src/linux-headers-$(uname -r)/drivers/input/mouse/) ty soubory z Githubu a spustit kompilace všech modulů, což bude trvat dlouho a snad se to podaří.
- matahari
Chce to doinstalovat pár věcí (gcc, bison, flex), kdy při vytváření configu pozná a ptá se na ten fujitsu scroll ovladač
Kód: Vybrat vše
Fujitsu Lifebook T901/P772 Scroll Device protocol extension (MOUSE_PS2_FUJITSU_SCROLL) [N/y/?] (NEW)jenže dál to vyhodilo chybu
Kód: Vybrat vše
*** No rule to make target 'arch/x86/entry/syscalls/syscall_32.tbl'a to už se mi nechtělo řešit a díky tomu jsem nemohl vyzkoušet jen kompilaci toho jednoho ovladače
Kód: Vybrat vše
make modules M=drivers/input/mouseu toho to zase kolabuje na tomhle
Kód: Vybrat vše
*** No rule to make target 'drivers/input/mouse/appletouch.o'To je právě ten problém, že se musí šahat na všechny moduly/ovladače, což už jsem psal, že taková kompilace se mi nelíbí. Ale možná to pod jiným distrem to proleze.
- Duvsan
Ty máš taký notebook? Si milý, že to skúšaš.
Ja som si prečítal tie fóra. Som nad tým od rána. Nie som programátor, snažil som sa tomu pochopiť aspoň principiálne. Z GitHubu som tú apku stiahol a teraz neviem, ako na ňu. Takže ďalšie štúdium.
Nedáme toto do iného vlákna?
- matahari
Nemám stejný NB, jen mě včera trknul do oka ten NDIS Wrapper a když už jsem se ozval, tak jsem to jen zkusil zkompilovat ve virtualizovaném Ubuntu serveru 24.04.
Jestli to necháš přesunout jinam, tak mi to vadit určitě nebude.
- Duvsan
Ešte nie, nie som schopný to skompilovať a nenašiel som vhodný návod. Som v zložke "fujitsu_scroll-main/drivers/input/mouse" a vidím
fujitsu_scroll.c
fujitsu_scroll.h
Kconfig
Makefile
psmouse.h
psmouse-base.c
Neviem sformulovať príkaz.
- Cust
kconfig a makefile budou asi spustitelné programy
- rnbw
Nie. Kconfig je subor pre konfiguracne nastroje kernelu (make menuconfig a pod.). Makefile je subor pre make, ktorym sa kernel kompiluje.
Kedze to nie je samostatny driver ale pridana sucast drivera psmouse, tak moze byt problem to rozchodit s inou verziou kernelu. Kedysi som robil nieco podobne pre notebook Sony, kde je multimedialna lista fungujuca ako specialny 2D touchpad.
- Duvsan
Ak má niekto nápad, čo napísať do terminálu, tak dajte, skúsim. Pokus-omyl. Potom urobím novú inštaláciu načisto, takže nie je sa čoho báť.
- asdf
Povedlo se mi to přeložit. V Makefile jsem pár věcí zakomentoval:
Kód: Vybrat vše
# SPDX-License-Identifier: GPL-2.0
#
# Makefile for the mouse drivers.
#
# Each configuration option enables a list of files.
obj-$(CONFIG_MOUSE_AMIGA) += amimouse.o
#obj-$(CONFIG_MOUSE_APPLETOUCH) += appletouch.o
obj-$(CONFIG_MOUSE_ATARI) += atarimouse.o
#obj-$(CONFIG_MOUSE_BCM5974) += bcm5974.o
#obj-$(CONFIG_MOUSE_CYAPA) += cyapatp.o
obj-$(CONFIG_MOUSE_ELAN_I2C) += elan_i2c.o
#obj-$(CONFIG_MOUSE_GPIO) += gpio_mouse.o
obj-$(CONFIG_MOUSE_INPORT) += inport.o
obj-$(CONFIG_MOUSE_LOGIBM) += logibm.o
obj-$(CONFIG_MOUSE_MAPLE) += maplemouse.o
obj-$(CONFIG_MOUSE_NAVPOINT_PXA27x) += navpoint.o
obj-$(CONFIG_MOUSE_PC110PAD) += pc110pad.o
obj-$(CONFIG_MOUSE_PS2) += psmouse.o
obj-$(CONFIG_MOUSE_RISCPC) += rpcmouse.o
#obj-$(CONFIG_MOUSE_SERIAL) += sermouse.o
#obj-$(CONFIG_MOUSE_SYNAPTICS_I2C) += synaptics_i2c.o
#obj-$(CONFIG_MOUSE_SYNAPTICS_USB) += synaptics_usb.o
#obj-$(CONFIG_MOUSE_VSXXXAA) += vsxxxaa.o
cyapatp-objs := cyapa.o cyapa_gen3.o cyapa_gen5.o cyapa_gen6.o
psmouse-objs := psmouse-base.o synaptics.o focaltech.o
psmouse-$(CONFIG_MOUSE_PS2_ALPS) += alps.o
psmouse-$(CONFIG_MOUSE_PS2_BYD) += byd.o
psmouse-$(CONFIG_MOUSE_PS2_ELANTECH) += elantech.o
psmouse-$(CONFIG_MOUSE_PS2_OLPC) += hgpk.o
psmouse-$(CONFIG_MOUSE_PS2_LOGIPS2PP) += logips2pp.o
psmouse-$(CONFIG_MOUSE_PS2_LIFEBOOK) += lifebook.o
psmouse-$(CONFIG_MOUSE_PS2_SENTELIC) += sentelic.o
psmouse-$(CONFIG_MOUSE_PS2_TRACKPOINT) += trackpoint.o
psmouse-$(CONFIG_MOUSE_PS2_TOUCHKIT) += touchkit_ps2.o
psmouse-$(CONFIG_MOUSE_PS2_CYPRESS) += cypress_ps2.o
psmouse-$(CONFIG_MOUSE_PS2_FUJITSU_SCROLL) += fujitsu_scroll.o
psmouse-$(CONFIG_MOUSE_PS2_VMMOUSE) += vmmouse.o
psmouse-$(CONFIG_MOUSE_PS2_SMBUS) += psmouse-smbus.o
elan_i2c-objs := elan_i2c_core.o
elan_i2c-$(CONFIG_MOUSE_ELAN_I2C_I2C) += elan_i2c_i2c.o
elan_i2c-$(CONFIG_MOUSE_ELAN_I2C_SMBUS) += elan_i2c_smbus.o
Spouštěl jsem příkaz:
Kód: Vybrat vše
make -C /usr/src/linux-headers-6.8.0-35-generic/ M=$PWD
Chybějící soubory .h a .c jsem dokopíroval z jádra linux_6.8.1, které jsem stáhnul z kernel.org.
Vyrobilo mi to dva soubory:
psmouse.ko
elan_i2c.ko
- matahari
Když jsem nainstaloval přímo zdrojáky
Kód: Vybrat vše
apt source linuxtak se mi podařilo zkompilovat všechny ovladače myši
Kód: Vybrat vše
user@test:~/linux-6.8.0/drivers/input/mouse$ ls -la |grep .ko
-rw-rw-r-- 1 user user 478784 čen 24 15:28 appletouch.ko
-rw-rw-r-- 1 user user 551360 čen 24 15:28 bcm5974.ko
-rw-rw-r-- 1 user user 1729656 čen 24 15:28 cyapatp.ko
-rw-rw-r-- 1 user user 1192256 čen 24 15:28 elan_i2c.ko
-rw-rw-r-- 1 user user 353568 čen 24 15:28 gpio_mouse.ko
-rw-rw-r-- 1 user user 4534152 čen 24 15:28 psmouse.ko
-rw-rw-r-- 1 user user 370648 čen 24 15:28 sermouse.ko
-rw-rw-r-- 1 user user 493512 čen 24 15:28 synaptics_i2c.ko
-rw-rw-r-- 1 user user 434920 čen 24 15:28 synaptics_usb.ko
-rw-rw-r-- 1 user user 392104 čen 24 15:28 vsxxxaa.ko