Ubuntu telepitese Asus A9Rp notebookra

A HupWiki-ből...

Tartalomjegyzék

Hardver

Tipus Eszkoz Statusz
Processzor Intel® Core™ Dual Processor, 533MHz, T2026

Intel® Celeron® -M Processor 410/420/430/440/450

Megy
Chipset ATI Radeon® Express 200M+SB450 Megy
Video Kartya ATI Radeon® Express 200M Megy (Driver telepitese szukseges)
Kartyaolvaso SD/MMC/MS/MS PRO Megy
Halokartya Realtek Megy
Wlan (beepitett) ZyDAS ZD1211 802.11b/g USB Megy (driver telepitess szukseges)
Modem  ? Nincs tesztelve
Audio ATI AC'97 Megy
PCMCIA  ? Nincs tesztelve
Multimedia gombok - Mindegyik gomb general ACPI event-et,
a hozza tartozo script lefut

Alap telepites

Telepites

Ubuntu Dapper (6.06) siman felismer mindent, es telepul is, ha a alabbi kernelparametert hasznaljuk a bootolaskor:

 hpet=disable

En egybol frissitettem Edgy-re.

ATI driver felrakas

A leirast itt talalod: ATI Driver Ubuntu Linuxon

Wlan beizzitasa

A notebookban levo wlan egy beepitett usb-s wlan. A driver bennvan a kernelben (zd1211rw), csak notebook idje nincs benne, igy a modul nem ismeri fel.

 Bus 003 Device 003: ID 0b05:171b ASUSTek Computer, Inc. 

Kernelben levo modul hasznalata

Ahhoz, hogy mukodjon az idt bele kell irni a modul forrasaba. Eloszor is kell a kernelunk forrasa, errol leiras alabb talalsz.
Szerkeszd meg a drivers/new/wireless/zd1211rw/zd_usb.c fajlt:

 $ sudo gedit drivers/new/wireless/zd1211rw/zd_usb.c

a megfelelo helyre add hozza ezt a sort:

 { USB_DEVICE(0x0b05, 0x171b), .driver_info = DEVICE_ZD1211B },

Ujra kell forgatni a drivers/new/wireless/zd1211rw konyvtarban a modult (ehhez kell a linux-headers-generic vagy linux-headers-386 csomag):

 $ sudo make -C /lib/modules/`uname -r`/build SUBDIRS=$(pwd) modules

Majd masoljuk a helyere az ujraforgatott modult:

 $ sudo cp zd1211rw.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko

Tavolitsuk el a regi modult a memoriabol (ha be van toltve), majd toltsuk be az ujat.

 $ sudo rmmod zd1211rw
 $ sudo modprobe zd1211rw

Ha mindent jol csinaltunk, akkor megjelenik eth1 eszkozkent a wlan:

 eth1      802.11g zd1211  ESSID:off/any  
           Mode:Managed  Frequency:2.462 GHz  Access Point: Invalid   
           Bit Rate=1 Mb/s   
           Link Quality=85/100  Signal level=83/100  
           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
           Tx excessive retries:0  Invalid misc:0   Missed beacon:0

ZyDAS ZD1211 802.11b/g USB WLAN chipset Linux driver hasznalata

Toltsuk le a driver forrasat, es csomagoljuk ki:

 $ sudo wget http://zd1211.ath.cx/download/zd1211-driver-r85.tgz
 $ sudo tar xfz zd1211-driver-r85.tgz
 $ cd zd1211-driver-r85

Szerkesszuk meg a src/zdusb.c fajlt:

 $ sudo gedit src/zdusb.c

adjuk hozza ezt a sort az ZD1211B szekcioba:

 { USB_DEVICE(0x0b05, 0x171b) },

Szerkeszd meg a Makefile-ban, hogy az adott sor igy legyen:

 # set to 1 for zd1211b
 ZD1211REV_B=1

Forgassuk le a cuccost, es telepitsuk fel:

 $ make
 $ sudo make install

Tavolitsuk el a regi modult a memoriabol (ha be van toltve), majd toltsuk be az ujat.

 $ sudo rmmod zd1211b zd1211rw
 $ sudo modprobe zd1211b

Ha mindent jol csinaltunk, akkor megjelenik wlan0 eszkozkent a wlan:

 wlan0     802.11g zd1211  ESSID:off/any  
           Mode:Managed  Frequency:2.462 GHz  Access Point: Invalid   
           Bit Rate=1 Mb/s   
           Link Quality=85/100  Signal level=83/100  
           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
           Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Ha nemtetszik, hogy wlan0-kent jelent meg az eszkoz, az /etc/iftab-ba ird be a wlan MAC cimet:

 eth1 mac 00:18:F3:XX:XX:XX arp 1

Reboot, es eth1 lesz a wlan kartya

ACPI

Tegyuk fel a szukseges csomagot:

 $ sudo apt-get install iasl

Mentsuk le a binaris dsdt-t:

 $ sudo cat /proc/acpi/dsdt > dsdt.bin

Dekodoljuk es egyben probaljuk meg ujbol leforditani:

 $ iasl -dc dsdt.bin

Az errorokat mindenkepp javitani kell, a warningokat csak ajanlatos. Az en modositasaim ebben a fajlban vannak: asus-A9Rp-dsdt-fix.patch. Toltsuk le, majd alkalmazzuk a patchet, most mar a forditas csak 1 warningot ad (arra nem jottem ra, hogy kell javitani):

 $ patch -i asus-A9Rp-dsdt-fix.patch
 $ iasl -tc dsdt.dsl

A leforditott fajlt berakjuk az initrdbe, hogy indulaskor automatikusan toltodjon be:

 $ sudo cp dsdt.aml /etc/initramfs-tools/DSDT.aml

Es generalunk uj initrd-t a kernelunkhoz:

 $ sudo update-initramfs -u

Kovetkezzen egy reboot, es a dmesg-ben latjuk hogy rendesen betoltotte-e:

 ACPI: Core revision 20060707
 ACPI: Looking for DSDT in initramfs... found /DSDT.aml ... successfully read 24010 bytes from /DSDT.aml
 ACPI: Using customized DSDT

Finomhangolas

Multimedia gombok

Touchpad ki/be kapcsolo gomb

A gomb acpi eventet general, de megsem kapcsolja ki a touchpadot. Az oka, hogy egy beallitas hianyzik az xorg.confbol. Az /etc/X11/xorg.conf-ban a ""Synaptics Touchpad"-nal szurjuk be az alabbi sort:

         Option      "SHMConfig" "on"

Tehat nalam igy nez ki:

 Section "InputDevice"
         Identifier  "Synaptics Touchpad"
         Driver      "synaptics"
         Option      "SendCoreEvents" "true"
         Option      "Device" "/dev/psaux"
         Option      "Protocol" "auto-dev"
         Option      "HorizScrollDelta" "0"
         Option      "SHMConfig" "on"
 EndSection

Kell egy X restart, es mar ki is kapcsolhato a touchpad.

Wlan ki/be kapcsolasa

A notebookon az Fn+F2 gombbal lehetne ki/be kapcsolni a wlant. Sajnos a zd1211 driver nem tamogatja ezt, ezert a modullal fogunk jatszani.
Szerkesszuk meg a asus-wireless.sh fajlt:

 $ sudo gedit /etc/acpi/asus-wireless.sh

Ez legyen a tartalma (a kesobbi verzioban valtozhat a fajl, en az rmmod es modprobe sorokat szurtam be):

 #!/bin/bash
 # Find and enable/disable wireless devices
 
 state=`. /etc/acpi/wireless.sh`
 
 if [ "$state" = "0" ]; then
       rmmod zd1211rw
       echo -n 0 > /proc/acpi/asus/wled
 else
       modprobe zd1211rw
       echo -n 1 > /proc/acpi/asus/wled
 fi

Sajnos hiaba allitja a script a LED allapotat egyelore nem mukodik.

Sajat kernel forgatasa

A szukseges dolgok:

 $ sudo apt-get install kernel-package libncurses5-dev

Tegyuk fel a forrast, es csomagoljuk ki:

 $ sudo apt-get install linux-source-2.6.17
 $ cd /usr/src
 $ sudo tar xfj linux-source-2.6.17.tar.bz2

Masoljuk oda egy configot:

 $ cd linux-source-2.6.17
 $ sudo cp /boot/config-2.6.17-10-generic .config

A testreszabast csinaljuk a kovetkezo paranccsal:

 $ sudo make menuconfig

En ezeket a modositasokat eszkozoltem:

 General setup  --->
   [*] Kernel .config support
   [*]   Enable access to .config through /proc/config.gz
 Processor type and features  --->
   Processor family (586/K5/5x86/6x86/6x86MX)  --->
     (X) Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon
   [ ] HPET Timer Support
   (2) Maximum number of CPUs (2-255)
   [*] Machine Check Exception
      <*>   Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
      [*]   check for P4 thermal throttling interrupt.
   < > Toshiba Laptop support
   < > Dell laptop support
   [ ] Support for hot-pluggable CPUs (EXPERIMENTAL)

Ezutan a kernel csomagot ezzel tudjuk elkesziteni:

 $ export UBUNTUBUILD=1
 $ sudo make-kpkg --append-to-version -10-sajat --revision 2.6.17.1-10.34 --stem linux --initrd kernel_image
 $ sudo make-kpkg --append-to-version -10-sajat --revision 2.6.17.1-10.34 --stem linux --initrd kernel_headers

Tegyuk fel az elkeszitett csomagokat:

 $ sudo dpkg -i ../linux-image-2.6.17-10-sajat_2.6.17.1-10.34_i386.deb
 $ sudo dpkg -i ../linux-headers-2.6.17-10-sajat_2.6.17.1-10.34_i386.deb

Csinaljuk egy ujrainditast, bootoljuk be az uj kernelt. Az ati modult nem keszitettuk el az uj kernelhez, ezt most tegyuk meg:

 $ modules-assistant a-i fglrx

Inditsuk ujra az Xorg, gyozodjunk meg rola, hogy van direct rendering.

Egyeb

beryl beizzitasa

A leiras majdnem egyezik a Install Beryl on Ubuntu Edgy with XGL-vel.

Telepites

Apt tarolo:

 deb http://ubuntu.beryl-project.org/ edgy main

Szukseges kulcsok telepitese:

 $ wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add -

Tarolok frissitese:

 $ sudo apt-get update

Szukseges cuccok telepitese:

 $ sudo apt-get install xserver-xgl beryl emerald-themes 

Xgl login session

Az indito script:

 $ sudo gedit /usr/bin/startxgl

az alabbi tartalommal:

 #!/bin/sh
 /usr/bin/Xgl :1 -fullscreen -ac -br -accel xv:fbo -accel glx:pbuffer &
 sleep 2
 export DISPLAY=:1 
 exec dbus-launch --exit-with-session gnome-session

Adjunk neki futtatas jogot:

 $ sudo chmod a+x /usr/bin/startxgl

Login session bejegyzes:

 $ sudo gedit /usr/share/xsessions/xgl.desktop

Ezzel a tartalommal:

 [Desktop Entry]
 Encoding=UTF-8
 Name=Xgl
 Exec=/usr/bin/startxgl
 Icon=
 Type=Application

beryl inditasa

Hozzuk letre az indito scriptet:

 $ sudo gedit /usr/bin/startberyl

Ezzel a tartalommal:

 #!/bin/bash
 #
 # Start beryl-manager within gnome-session
 #
 if (( `ps -A -o comm | grep -c '^Xgl$'` == "1" )); then
        DISPLAY=:1 beryl-manager
        sleep 2s
        DISPLAY=:1 beryl-xgl
 else echo "${0}: Error: beryl-manager not launched. Xgl not running?"
 fi

Adjunk futtatas jogot:

 $ sudo chmod a+x /usr/bin/startberyl

Adjuk hozza a scriptet a gnome munkamenetekhez:

 * Rendszer -> Beallitasok -> Munkamenetek
 * 'Startup Programs' Ful
 * Az 'Hozzaad' gombbal adjuk hozza a scritunket: /usr/bin/startberyl
 * A torles gombbal toroljuk a beryl-manager, ha van olyan

Lepjunk ki a bejelentkezo kepernyre, es a grafikus kornyezet kivalasztasanal valasszuk ki az Xgl-t.