Przejdź do treści

Linux na Asusie 1201N

Wszystko o instalacji i użytkowaniu Linuxa na netbooku ASUS 1201N

Archiwa

Tag: asus

Na wstępie zaznaczam, że poniższy artykuł jest kierowany do średnio-zaawansowanych użytkowników Linuxa. Jeśli pojawi się zainteresowanie ze strony czytelników, dodam instrukcje dla początkujących. Jednocześnie zaznaczam, że ten artykuł tak jak wszystkie poprzednie dotyczą używanego przeze mnie Ubuntu 9.10, aczkolwiek część z porad może działać na innych dystrybucjach.

Jakiś czas temu napisałem, że jest w trakcie opracowywania moduł eeepc_laptop który będzie obsługiwał ASUSa 1201N. Nadszedł czas aby opisać wykorzystanie go w użyciem rozwojowego jądra 2.6.34.

W Ubuntu najprostszym sposobem na instalację jądra 2.6.34 jest instalacja pakietów DEB ze strony http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-rc1/ w przypadku wersji RC1 lub z gałęzi current dostępnej pod adresem http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/current/

Niestety prawdopodobnie przez błąd w obsłudze ACPI w Linuksie, moduł eeepc-laptop nie jest ładowany i ręczne wywołanie polecenia modprobe eeepc_laptop zwróci nam błąd. Aby to naprawić należy w domyślnych parametrach startowych jądra w pliku /etc/default/grub dodać parametr acpi_osi=Linux po czym uruchomić ponownie system.

W dystrybucjach nie używających GRUB2 parametr ten należy dopisać w pliku /boot/grub/menu.lst

Po ponownym uruchomieniu systemu, należy sprawdzić czy moduł został załadowany poleceniem lsmod |grep eeepc_laptop

Wynik powinien wyglądać mniej więcej tak:

eeepc_laptop           17265  0

sparse_keymap           3509  1

eeepc_laptopled_class               3271  1 eeepc_laptop

Jeśli moduł został pomyślnie załadowany oznacza to, że o teraz powinno bezproblemowo działać wstrzymanie systemu (suspend to ram). W przypadku zawieszania się systemu podczas wstrzymywania polecam edycję pliku /etc/default/acpi-support i zmianę parametru USE_DPMS z true na false, lub po prostu wykomentowanie całej linijki.

Ponieważ nadal jest aktualny błąd BIOS’u objawiający się resetowaniem do ustawień fabrycznych, gdy wyłączamy/hibernujemy/wstrzymujemy system z jasnością ekranu inną niż przy jego uruchomieniu, trzeba zrobić mały myk żeby go oszukać.

W tym celu tworzymy sobie skrypcik o przykładowej nazwie jasnosc, z treścią:

#!/bin/sh

echo -n 15 > /proc/acpi/video/IGPU/LCDD/brightness


który będzie nam ustawiał jasność ekranu na maksimum podczas zamykania systemu. Utworzonemu plikowi nadajemy prawa dostępu 755 i kopiujemy do katalogu /etc/init.d/
W następnej kolejności w terminalu wykonujemy polecenie sudo update-rc.d jasnosc defaults 99
Spowoduje ono, że nasz skrypcik jasność będzie wykonywany prz każdej zmianie runlevelu przez system. W tym także podczas wyłączania systemu, o co nam chodziło.
Aby uzyskać ten sam efekt podczas wstrzymywania i hibernacji systemu ponownie edytujemy plik /etc/default/acpi-support , odszukujemy linijkę STOP_SERVICES=”" i dopisujemy do niej nasz skrypt jasnosc aby wyglądała tak  STOP_SERVICES=”jasnosc”

Następnym krokiem jest instalacja programu jupiter który umożliwi nam aktywację i deaktywację bluetooth, wifi i touchpada. Niestety program ten nie jest jeszcze całkiem kompatybilny z ASUS’em 1201N, zatem pozostałe jego funkcję póki co nie dają efektu.
Aby zainstalować jupitera najprościej jest skorzystać z instrukcji na tej stronie. Jeśli ktoś nie zna angielskiego to najprościej będzie wykonać poniższe kroki:
  1. Uruchomić terminal i wpisać polecenie svn co https://jupiter.svn.sourceforge.net/svnroot/jupiter jupiter,
    które utworzy katalog jupiter i ściągnie do niego zawartość SVN
  2. Przeglądarką plików (np. nautilus) przechodzimy do utworzonego katalogu jupiter/releases i instalujemy z niego pakiety jupiter_xxx_yyy.deb , oraz pakiet jupiter-support-eee_xxx_yyy.deb , gdzie xxx to najnowsza dostępna wersja, a yyy to architektura naszego systemu
  3. Uruchamiamy ponownie system, lub jeśli chcemy szybciej to wywołujemy okno dialogowe przez CONTROL+F2 i wpisujemy jupiter.exe
  4. Jeśli wszystko wykonaliśmy poprawnie to w trayu systemowym pokaże nam się ikonka pioruna, a klikając na nią będziemy mogli zarządzać Touchpadem, Bluetooth i Wifi. Nie działa zmiana orientacji ekranu i zmiana wydajności (procesor Atom 330 obecny w naszym ASUS’ie nie ma funkcji skalowania częstotliwości).

Zapraszam do zgłaszania swoich uwag w komentarzach do tego artykułu.

ASUS chwali się, że touchpad, czyli panel dotykowy, w 1201N obsługuje multitouch (więcej niż 1 palec na raz) włącznie z gestami. Pod Windowsem podobno to działa, ale (nie)stety nie miałem możliwości tego przetestować, ponieważ zaraz po zakupie netbooka najnowsza wypocina MS wyleciała z hukiem z mojego dysku :P , a w jego miejsce spoczął Linux Ubuntu w wersji 9.10 czyli Karmic Koala, zatem tej dystrybucji linuxa dotyczy poniższy opis.

Na co dzień do obsługi kursora używam laserowej myszki bluetooth firmy Microsoft (tak, tak… wiem co myślicie ;) ), ale okazjonalna konieczność obsługi touchpada, w szczególności przy próbie przewijania stron przesuwając palcem wzdłuż prawej krawędzi gładzika, podnosiła mi poziom hormonu stresu we krwi. Po kilku irytujących próbach pracy z domyślnym ustawieniem touchpada powiedziałem NIE! i zacząłem szukać rozwiązania mojego problemu.

Po przewertowaniu paru stron znalazłem satysfakcjonujące mnie, aczkolwiek nie idealne rozwiązanie: możliwość przewijania stron przesuwając pionowo dwoma palcami w dowolnym miejscu gładzika, oraz emulacja kliknięcia prawym przyciskiem myszy poprzez tapnięcie także dwoma palcami na interesującym nas obiekcie. YEAH! Minusem jest fakt, że udało mi się to uruchomić tylko w środowisku GNOME.

Oto jak można to zrobić:

  • Poleceniem  sudo gedit /etc/hal/fdi/policy/11-x11-synaptics.fdi   utworzyć wymieniony plik
  • Wkleić do niego poniższy tekst:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
 <device>
   <match key="info.capabilities" contains="input.touchpad">
       <merge key="input.x11_driver" type="string">synaptics</merge>
       <merge key="input.x11_options.SHMConfig" type="string">On</merge>
       <merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">40</merge>
       <merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
       <merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
       <merge key="input.x11_options.TapButton1" type="string">1</merge>
       <merge key="input.x11_options.TapButton2" type="string">3</merge>
       <merge key="input.x11_options.TapButton3" type="string">2</merge>
   </match>
 </device>
</deviceinfo>
  • Uruchomić ponownie komputer, lub usługę HAL poleceniem    sudo /etc/init.d/hal restart
1 visitors online now
1 guests, 0 members
Max visitors today: 1 at 12:11 am UTC
This month: 4 at 02-05-2012 10:30 am UTC
This year: 5 at 01-16-2012 04:37 pm UTC
All time: 11 at 02-01-2011 07:52 pm UTC