Jak uruchomić touchpad na Dell Vostro 3360 pod Linuksem

Dell Vostro 3360 to zacny sprzęt, z którego korzystam w pracy, chyba od roku. Trochę żałuję, że nie kupiłem go do domu, ale kupowałem wcześniej, nie byłem jakoś przekonany do 13″, no i cena też trochę wyższa. Okazuje się, że jak najbardziej taki ekran daje radę. W pracy korzystam z wersji z dyskiem SSD i procesorem i5. Na początku było więcej, teraz jest 4,5-5h na baterii, więc wynik bardzo przyzwoity – długie wypady pociągiem, serie spotkań w firmie czy przedłużający sie wypad do kolokacji mu nie straszne i nie ma potrzeby korzystania z zasilacza.

Vostro 3360 daje się zmusić do działania z Linuksem (opis co jak działa może kiedyś popełnię, ale wcześniejsze opisy na potrzeby Linux on laptops nie cieszą się zainteresowaniem, więc motywacja jest nikła), ale nie jest to sprzęt, w którym wszystko działa OOTB. Nawet więcej: dawno nie widziałem sprzętu wymagającej takiej rzeźby w celu uruchomienia Linuksa. Grymasił na wersję kernela, co objawiało się… zwisami systemu (nic ciekawego w logach nie znalazłem). Co ciekawe tylko pod Debianem, kumple pod Ubuntu z IIRC taką samą wersją kernela problemu nie mieli. Na debianowym 3.6 (wówczas z experimental) działało stabilnie, więc tak zostało.

Inne problemy to: touchpad (naciśnięcie obu klawiszy naraz domyślnie nie emuluje naciśnięcia środkowego klawisza, co jest standardowym pod Linuksem – i ukochanym przeze mnie – skrótem do wklej), dźwięk czy karta sieciowa Atheros (o dziwo miedź). Dźwięk z alsą z Wheezy’ego działa IIRC od kopa, więc można uznać problem za załatwiony. Zresztą uruchomienie wszystkich komponentów Vostro 3360 na Linuksie (Debian Wheezy) ładnie opisał Łukasz. Co ciekawe, kernel 3.7 powodował jakieś problemy, ale nie pamiętam, czy chodziło o stabilność, czy może o coś innego.

W każdym razie czasy się trochę zmieniły, 3.6 jakiś taki starawy już. Doszły mnie słuchy, że karta sieciowa powinna działać bez magicznych zabiegów pod kernelem 3.11. Postanowiłem sprawdzić. Faktycznie, wydaje się działać. A system pozostaje stabilny. Pozostał jednak problem z touchpadem, więc postanowiłem zrobić instrukcję dla nowszej wersji kernela i nowszych plików ze strony, bo takie się pojawiły.

Na początek smutna sprawa: kernel 3.11, a dokładniej jego pliki nagłówkowe wymagają gcc w wersji 4.8, a to oznacza wymianę połowy systemu ze względu na zależności. Albo konieczność skompilowania kernela samodzielnie (czego na potrzeby desktopa wieki nie robiłem). Wybrałem bramkę numer dwa.

Wchodzimy na http://www.dahetral.com/public-download/alps-psmouse-dlkm-for-3-2-and-3-5/view i pobieramy plik psmouse-alps-1.3-alt.tbz.

Rozpakowujemy go (w /usr/src)

tar xvjf psmouse-alps-1.3-alt.tbz

Pobieramy debianowe źródło kernela

wajig install linux-source-3.11

I kopiujemy bieżący konfig (zakładam, że mamy uruchomiony kernel 3.11 z Debiana)

cp /boot/config-3.11-2-amd64 /usr/src/linux-source-3.11/.config

Kompilujemy i paczkujemy kernel oraz pliki nagłówkowe

cd /usr/src/linux-source-3.11
make-kpkg --append-to-version=-bpo-rozie --initrd kernel_image
make-kpkg --append-to-version=-bpo-rozie kernel_headers

Instalujemy utworzone pakiety

cd .. && wajig install linux-image-3.11.8-bpo-rozie_3.11.8-bpo-rozie-10.00.Custom_amd64.deb && 
wajig install linux-headers-3.11.8-bpo-rozie_3.11.8-bpo-rozie-10.00.Custom_amd64.deb

Kompilujemy i instalujemy odpowiedni moduł:

cd /usr/src/psmouse-alps-1.3 && ./alps.sh dkms_build_alps

Polecenie to automatycznie powoduje przeładowanie modułu psmouse, więc jeśli nie wystąpiły błędy, to od tej chwili wszystko powinno działać poprawnie, w szczególności naciśnięcie obu przycisków touchpada powinno wklejać zawartość schowka.

UPDATE: Prawdopodobnie da się prościej, o ile się nie jest ślepym. Wystarczy do sources.list dodać obsługę backportów dla Wheezy’ego:

deb http://http.debian.net/debian wheezy-backports main contrib non-free

i dostępne staną się kernele linux-image-3.11*… Cóż, kto nie ma w głowie, ma w… kompilatorze. Inna sprawa (i moje usprawiedliwienie!) to fakt, że nie tylko nikt nie zwrócił na to uwagi w komentarzach, ale nawet dwie osoby korzystają z mojego kernela.

UPDATE2: Wygląda na to, że od wersji 3.13 kernela nie potrzeba takich zabiegów. Przed chwilą zainstalowałem z debianowych backportów 3.13.5-1~bpo70+1 i… touchpad działa od kopa, bez kompilacji czegokolwiek.

4 odpowiedzi na “Jak uruchomić touchpad na Dell Vostro 3360 pod Linuksem”

  1. Mam Vostro 3360 od ponad roku i wszystko mi śmiga oprócz skanera linii papilarnych. Od jakiegoś czasu nawet Mesa się poprawiła i sporo gierek zaczęło śmigać całkiem przyzwoicie. Jedyne co sprawiało mi problemy to mikroprzycięcia przy pełnym obciążeniu – problem o ile dobrze pamiętam z i8k, wystarczyło wywalić oraz wspomniana karta sieciowa ethernetowa. Dała się jednak ogarnąć ze sterownikiem z pakietu compat-wireless, a obecnie jest pewnie wszystko w jajku.

    Całkiem dobra strona opisująca konfigurację bliźniaczego lapka: erasmo.info/docs/Dell_Vostro_3460/

    Co do touchpada, przerabiałem już to w innych lapkach i zazwyczaj problem rozwiązywał się po załadowaniu sterownika synaptics w serwerze X, dodatkowo zyskasz gesty jeśli gładzik je wspiera. Dla 3360 pewnie będzie tak samo.

  2. Synaptics nie pomoże, bo bez łaty na kernel ten touchpad jest rozpoznawany jako mysz ps/2. Gesty i temu podobne dobrodziejstwa są przesyłane niestandardowymi ramkami i są po prostu ignorowane.
    Sprawdzone na Inspironie R17SE. Połatanie psmouse.ko sprawia cuda – nawet Synaptics sam się ładuje.

  3. Przyznam, że synaptics nie próbowałem bez patchowania – zmylił mnie brak nazwy synaptics w nazwie urządzenia.

    @Sebastian Skoro masz 3360, czy możesz podesłać swój konfig Xów z działającym touchpadem bez patchowania?

    @Pyth0n Potwierdzam, że ze spatchowanym modułem sterownik jest ładowany automagicznie w Xach.

  4. Nie mam specjalnego configa, bo nie miałem takiej potrzeby – zawsze mam pod ręką mysz a o touchpadzie pisałem, że działa bo da się go używać w przeciwieństwie np. do skanera linii papilarnych. 🙂 Mając teraz trochę czasu z rozczarowaniem stwierdzam, że rzeczywiście sam sterownik Synaptics nie ogarnia i do pełnego wykorzystania touchpada (gesty, etc.) rzeczywiście trzeba trochę pogrzebać, chociaż jestem na 100% pewien, że emulacja środkowego klawisza to tylko kwestia konfiguracji. 🙂

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *