UHU-Linux 1.1 telepítése ASUS L3D laptopra
A HupWiki-ből...
Tartalomjegyzék |
Telepítés előtt
A telepítő CD indítása előtt érdemes meggyőződni róla, hogy a laptop BIOS-a legalább 0115a. Az én példányom 0113a-val érkezett, ami hideg állapotból indítva a laptopot, nem kapcsolja be a ventillátort, és így a laptop túlmelegedését okozhatja (ami esetemben csak azonnali leállást jelentett, a thermal modul betöltésével, a 103 oC elérve egy syslog bejegyzés és lefagyás a következménye).
BIOS frissítés
Ezért az ASUS webhelyéről érdemes letölteni a BIOS frissítést (jelen pillanatban 0115), (a legfrissebb itt) valamint a DOS-os flash-selő programot, ami szintén a fenti lapon található aflash2.zip néven. Ekkor már csak egy DOS-os indítólemezre van szükség (vagy win98-as telepítő CD-re). Miután a floppyra a BIOS ram-ot és az aflash2.exe -t felírtuk, indítsunk egy DOS -t, és futtassuk az aflash2.exe-t. Válasszuk az Update BIOS menüpontot, ekkor bekéri az új ROM file nevét, ellenőrizzük, hogy az új BIOS adatai csak verziószámban térjenek el az eredetiétől. Engedélyezzük a flash felülírását. (http://www.asus.com.tw/inside/flash_mb.htm)
Telepítés
Az UHU-Linux 1.1 telepítése gond nélkül lefut, megismeri, és jól kezeli a touchpad-ot, USB-s optikai egeret, hangkártyát, hálózati kártyát, ps/2-es billenyűzetet...
Viszont indításkor a video vezérlőnek válasszuk a vesa -t, különben meglepő kép tarulhat elénk.
Sajnos a grafikus chip-et a 4.3.0.1-es XFree86 SiS drivere nem kezeli megfelelően. Így telepítéskor az egyébként helyesen felismert beállítással meg nem megyünk sokra.
Grafika
XFree86
* TV-out működik, de akkor az LCD-t nem lehet használni * VGA-out függetlenül képes működni az LCD-től * XV egyszerre csak egy eszközön müködik, addig a másik a kep helyét meghatározott szinnel (általában kék) színezi ki.
Szerencsére a http://www.winischhofer.net/linuxsisvga.shtml oldalon több, mint kielégítő tanácsot, drivert, kezelő programot tölthetünk le laptopunkhoz.
Kezelőprogram: http://www.winischhofer.net/sis/sisctrl-0.0.20040306.tar.gz
UHU-Linux esetén telepíteni kell hozzá:
Többek között:
* gtk2-dev * atk-dev * glib2-dev * pango-dev
A /etc/X11/XF86Config-ba a következő sornak kell állnia a device részbe:
Option "EnableSiSCtrl" "true"
Driver: http://www.winischhofer.net/sis/sis_drv_src_060304-1.tar.gz
A fordítás után kapott sis_drv.o-t le kell cserélni egyszerűen az eredetivel, és már megy is.
Framebuffer
Bevallom ezzel a résszel meg nem foglalkoztam. De a fenti oldalon erről is van bőven leírás.
2.6.x kernel forgatás
A jobb energiatakarékos funkciók használatához érdemes fordítani egy 2.6.x-es kernelt.
Úgy vettem észre, hogy a Local APIC -ot nem szereti a suspend mód. :-(
Egy példa a .config -ra kernel forgatáshoz:
- http://linux.oregpreshaz.hu/cucc/asus/config-2.6.3
- http://linux.oregpreshaz.hu/cucc/asus/config-2.6.9
- http://linux.oregpreshaz.hu/cucc/asus/config-2.6.11
- újra jó a grafikus kártya MTRR használata hibernálás után
- újra jó a rendszeróra, hibernálásból felébresztve már nem az altatás idejét mutatja (észreveszi az alva töltött időt)
- újra jó az USB (ha altatás előtt kiszedjük a kerneltérből a modult és ébresztés után visszatöltjük)
Az USB-nél kellett egy kicsit átírni a /etc/rc.boot/12-detect-et az USB eszközök keresése résznél:
probemod ohci-hcd probemod usbmouse
sorokat kell beírni.
Továbbá érdemes még a fordítás után kibővíteni:
echo "További modulok betöltése..." probemod ide-scsi probemod sd_mod probemod sr_mod probemod serial probemod 8250_pci probemod 8250_acpi probemod lp probemod floppy probemod cpufreq_powersave
valamint:
echo "ACPI modulok betöltése..." probemod ac probemod asus_acpi probemod battery probemod button probemod fan probemod processor probemod thermal probemod powernow-k7
itt a ténylegesen fontos új sor a powernow-k7. Ezzel a modullal lehetővé válik a /sys filerendszeren keresztüli processzor sebesség változtatás futás időben.
Frissítés 2004.10.19. A megjelent 2.6.9-es kernelben van egy cpufreq/scaling_governor amit ondemand-nak ( bõvebben a HUP cikkében ) hívnak és valós idõben a számítógép teljesítmény igényéhez igazítja a processzor órajelét. Ezt az
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
paranccsal állíthatjuk be. A kernelben a
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
konfigurációs paraméter tartozik hozzá.
Frissítés 2004.10.22 Sajnos a 2.6.9-es kernelben annyira jól sikerült a hibernálás, hogy ébredéskor az óra továbbra is az utolsó ébren töltött idõt mutatja, ugyhogy mindenképpen ajánlatos root-ként egy
hwclock --hctosys
parancsot kiadni (a hardver órához igazítja az oprendszer óráját), vagy egy
ntpdate time.szerver.dn
ha internet kapcsolattal rendelkezünk.
IDE vezérlő
SiS5513 chipset support
Hálózati kártya
A hálózati kártya valamivel stabilabbnak tűnik 2.6.3-as kernellel, mint a 2.4.24-essel.
SiS 900/7016 PCI Fast Ethernet Adapter support
Hangkártya
PCI-Alsa...
Intel i8x0/MX440, SiS 7012; Ali 5455; NForce Audio; AMD768/8111
Energiagazdálkodás
Kis script amivel a cpu sebességet, altatást, hibernálást el lehet végezni
http://linux.oregpreshaz.hu/cucc/asus/power
Extra funkcióbillentyűk
A kernelbe be kell fordítani az ASUS ldaptop támogatást az ACPI-nél:
ASUS/Medion Laptop Extras
A http://sourceforge.net/projects/acpi4asus/ oldalról letölthető a kezelő daemon.
Bár nem ay acpi4asus-hoz kötődik, de leírom az észrevételeimet, ha valaki mást tapasztalt, vagy tudja a megoldast, írja be ide :-)
Sleep gomb (Fn+Zz)
Figyelem 2.6.x-es kernellel próbálva!
/etc/acpi/event/sleepbtn
event=button[ /]sleep action=/etc/acpi/sleepbtn.sh
/etc/acpi/sleepbtn.sh
#!/bin/bash # 2004.03.18. by szimszonb .at. freemail . hu # Copyright: http://www.gnu.org/licenses/gpl.txt SYS_DIR="/sys/devices/system/cpu/cpu0/cpufreq" ACPI_DIR="/proc/acpi" POWERSAVE_GOV="powersave" ALSZOM="/tmp/alszom" function log { logger -t "ACPI_EVENT[$$]" "$1" } function hiba { if [ $1 -eq 0 ]; then log "$2" else log "ERROR/Hiba: $2" rm "$ALSZOM" exit 1 fi } if [ -f "$ALSZOM" ]; then log "SLEEP button: Laptop felebresztes" rm "$ALSZOM" exit 0 else echo "$$" > "$ALSZOM" log "SLEEP button: Laptop altatas" fi echo "$POWERSAVE_GOV" > "$SYS_DIR/scaling_governor" hiba $? "CPU freq: $POWERSAVE_GOV" sleep 2 if ps ax | grep artsd | grep -v grep > /dev/null ; then killall artsd hiba $? "artsd leallitasa" fi log "Sleep..." echo 1 > "$ACPI_DIR/sleep"
Ki kell javítani a /etc/acpi/powerbtn.sh -t (forrás Debian Woody):
#!/bin/sh # /etc/acpi/poweroff.sh # Initiates a shutdown when the power putton has been # pressed. if ! [ -f /tmp/alszom ]; then logger -t PWBTN "Shutdown." /sbin/init 0 else rm "/tmp/alszom" logger -t PWBTN "Only wake up." fi
Megjegyzés: Úgy vettem észre, hogy az első altatás után semmilyen HOTKEY nem működik (a /proc/acpi/event -be sem érkezik semmi), de egy újbóli altatás/ébreszés után helyreáll a rend.
Egyetlen kivétel a LID gomb, ami jelzi, hogy be van-e csukva a laptop, vagy nincs. Nekem ez a kapcsoló csak egyszer működik minden egyes bekapcsolás után :-(
Nem tudom, hogy a fent leírtak a BIOS vagy az Linux-os acpi implementáció hibái, bár az elsőre tippelnék.
HOTKEY52 (Szürke gomb legfelül, jobbról a második) SWSuspend-nek
/etc/acpi/events/hkb52
event=hotkey[ ]HOTK[ ]00000052[ ] action=/etc/acpi/swsuspend
Frissítve: 2005.06.01. /etc/acpi/swsuspend
Hibernate/Suspend to Disk 2.6.x-es kernel
A kernelbe bele kell fordítani a Software Suspend-et, nekem a Suspend-to-Disk Support nem működik.
A swap partíciónk legyen nagyobb, mint a fizikai memóriánk duplája, hogy a kiírt memória elférjen a swappen.
Ha megvan, akkor egy
echo 4 > /proc/acpi/sleep
parancs kiadásával sikeresen hibernálni lehet a laptopot, és egy boot paraméterrel resume=/dev/swappartició újra lehet éleszteni.
'Figyelem' érdemes az artsd daemont leállítani hibernálás és altatás előtt, mert az újraindítás után D státuszba kerül és meg a killall -9 artsd-vel sem lehet megállítani, és ujra nem leszünk képesek hibernálni vagy altatni a laptopot.
killall artsd
Valamint amit még észrevettem, az usb a hibernálásból követő újraindítás után nem éled fel :(
A megoldás:
rmmod ehci-hcd; rmmod ohci-hcd
kiadása rendszergazdaként, és
modprobe ehci-hcd; modprobe ohci-hcd
Bár az ohci-hcd nekem automatikusan visszakerült a memóriába, amint kivettem onnan, és mûködött...
Netstat probléma nem a hibernáláshoz kötõdik, úgy tûnik. :(
Frissítve 2004.04.30. Figyelem! A hibernálás nem bírja az agpgart modult. Ha agp gyorsítás be van töltve, a visszaállításnál double fault után lefagy az egész gép!
Frissítve 2004.04.30. Figyelem! A hibernálás elõtt, ha valaki slmodemet használ, a kernel térbõl ki kell venni az slarm modult,
rmmod slarm
mert miután elindítjuk a gépet, nem kap tárcsahangot, és egyáltalán nem hajlandó dolgozni. (Még nem teszteltem, de mûködhet:)
Altatás / sleep
Altatás előtt érdemes minimálisra visszavenni a processzor sebességét a
echo "powersave" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
paranccsal, különben a laptop felfűti magát, majd a kritikus hőmérékleten lekapcsol. (Meg nem volt időm kipróbálni, hogy mennyi időt nyerek vele, de 1800MHz elég gyorsan (20perc-40perc?) elfűti magát :( )
Úgy vettem észre, hogy powersave módban olyan 50-55oC -on megáll a melegedés. Azért érdemes odafigyelni rá!
'Figyelem' érdemes az artsd daemont leállítani hibernálás és altatás előtt, mert az újraindítás után D státuszba kerül és meg a killall -9 artsd -vel sem lehet megállítani, és ujra nem leszünk képesek hibernálni vagy altatni a laptopot.
killall artsd
Érdemes az acpid daemont lekapcsolni, vagy a /etc/acpi/events/default fileban kikommentezni a mindent :)), különben az alvásból visszatérés egyből init 0 -ba csap át és leáll a laptop.
És akkor altassuk el:
echo 1 > /proc/acpi/sleep
Altatásból a bekapcsoló gomb megnyomásával fel lehet ébreszteni. (2.6.3-as kernel)
Bármely billentyű használható (2.4.24-es kernel)
Touchpad
Modem
Sokat még nem foglalkoztam vele, de ami úgy tűnik, hogy működik, az az slmodem
A 2.9.6-os slmodem még nem támogatja (a driver újraírás alatt áll, és az új kódba még nem került bele a fax és a voice funkció, de ígérik) sem a voice, sem a fax class1 funkciót, sajnos, csak adat forgalomra jó, bár azt még nem tudtam kipróbálni.
Frissítve 2004.03.22 A mai napon láttam megjelenni a ftp://ftp.smlink.com/linux/unsupported/snapshots/slmodem-2.9.6-21Mar2004.tar.gz drivert, ami már hajlandó volt hívást kezdeményezni (az eredeti 2.9.6-os verzió nem volt hajlandó tárcsázni), és a Changelog szerint a voice funkció is implementálva lett.
Frissítve 2004.05.24 A tegnapi napon jelent meg a ftp://ftp.smlink.com/linux/unsupported/snapshots/slmodem-2.9.7-18May2004.tar.gz, amiben már a FaxClass1 is mûködik (még nem teszteletm).
Helyesbítés a 2.9.6-os verzió is hajlandó a tárcsázásra, csak a hibernációtól halt le. :( Valószínûleg, ha kikerül a kernelbõl a modul mielõtt hibernálva lesz, akkor elindítás után visszatöltve is mûködni fog. Tesztelve, OK.
Frissítve 2004.10.19 A letöltött 2.9.10-es verziójú driverrel (http://www.smlink.com/main/down/slmodem-2.9.10.tar.gz) sikerült elõször fax-ot helyesen fogadnom. A 2.9.9-el csak küldeni tudtam, a megérkezett fax (amit nekem küldtek) használhatatlan lett. A 2.9.10-essel már tiszta képet kaptam.
Frissítve 2005.03.11 A 2.6.10-es kerneltől kezdve, ahhoz, hogy le tudjuk fordítani a modem modulját (mivel egyes eljárások csak a GPL-es modulok számára elérhetők ezután a kernelben) szükség van egy kis patch-re: http://www.datiku.com/documents/files/slmodem-2.9.10-abby.diff
Frissítve 2005.11.25 A 2.6.13-as kerneltől kezdve újabb cselhez kell folyamodni, most talaltam a http://linmodems.technion.ac.il/packages/smartlink/ linken egy újabb meghajtót (http://linmodems.technion.ac.il/packages/smartlink/slmodem-2.9.11-20051101.tar.gz) amit le kell tölteni és telepíteni...
Frissítve 2006.05.11 Úgy látszik a modem elég hányattatott sorsú, mivel mindíg bütykölnek valamit a kernelen, hogy ne lehessen lefordítani... A 2.6.16.x.y kernelekhez most éppen az utolsó driverbe (ld. fentebb) kell egy sort kijavítani:
drivers/st7554.c fájlban a 1153-as sort ki kell kommentezni:
static struct usb_driver st7554_usb_driver = { // .owner = THIS_MODULE, .name = "ST7554 USB Modem",
és már fordíthatjuk is. Ez azért kell, mert az usb alrendszer ?struktúrájából? kikerült a .owner mező...
Frissítve 2006.08.30 Újabb modul: http://linmodems.technion.ac.il/packages/smartlink/slmodem-20060727.tar.gz
Frissítve 2006.11.03 http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-dialup/slmodem/files/ -bol a slmodem-2.9.11-kernel-2.6.18.patch, slmodem-2.9.11-makefile.patch alkalmazhato az slmodem-20060727.tar.gz, es akkor lefordul a 2.6.18-as Linux kernelhez is.
Frissítve 2006.12.04 a 2.6.19-es kernelben eltűnt a config.h és helyette az autoconf.h jön létre fordításnál. A drivers/amrmo_init.c-ben a 46-os sort ki kell cserélni erre:
> #include <linux/config.h> < #include <linux/autoconf.h>
Frissítve 2007.06.28. Jelenleg 2.6.21-es kernelt használok és úgy tűnik, hogy végre eltűnt a kernelmodul mizéria, amikor legutóbb az slamr modult fordítottam és probáltam használni az alábbi üzenet fogadott a dmesg szerint:
slamr: module license 'Smart Link Ltd.' taints kernel. slamr: SmartLink AMRMO modem. slamr: device 1039:7013 is grabbed by another driver
Hosszú googlizás után megtaláltam, hogy az eszközt a snd-intel8x0m modul használja, és ez így jól is van. Debian Etch rendszeren egyszerűen a démont kell telepíteni:
apt-get install sl-modem-daemon
és már használhatjuk is a modemet (a működést eddig nem teszteltem).
IrDA
A minap szereztem egy SonyEricsson Z600-as telefont (bövebben: SonyEricsson Z600-as kezelése IrDA porton), amit sikeresen össze tudatam kapcsolni a laptop irda portjával:
Modulok
irport ircomm irtty_sir sir_dev irda crc_ccitt ...
Program
irattach /dev/ttyS1 -s
Amivel a laptop irda portjat hozzá kötöm a COM2 porthoz. (konfig: /etc/irda.conf)
multisync (http://multisync.sourceforge.net/download.shtml)
Amivel Ximian Evolution-be, "biztonsági mentés könyvtárba" tudom szinkronizálni a naptárat, feladatokat, címlistát, és természetesen vissza :)
Figyelem A hibernációt nem birják az IrDA és soros porti modulok, így a hibernáció után szükség van a kernelbõl való eltávolításukra és visszatöltésükre, a megfelelõ müködéshez.
Irtam egy kis bash scriptet, ami ha nincs az IrDA bekapcsolva akkor bekapcsolja, ha be van kapcsolva, akkor kikapcsolja; mindezt a szükséges modulok ki-, és betöltésével: http://linux.oregpreshaz.hu/cucc/asus/irda (v.0.2a - 2004.10.19.), amit a /etc/acpi/irda néven kell elmenteni.
Az innen letölthetõ programot én rádefiniáltam, a laptop bal szélsõ, szürke funkcióbillentyûjére:
/etc/acpi/events/hkb5c:
event=hotkey[ ]HOTK[ ]0000005c[ ] action=/etc/acpi/irda
A script minden mûveletét syslog-ba naplózza. Amennyiben sikeresen vegrehajtotta a kapcsolást, akkor a laptop wlan ledje (/proc/acpi/asus/wled) elõl az állapotnak megfelelõen vagy világít vagy elalszik.
openobex-apps (http://sourceforge.net/projects/openobex/)
Fényképek letöltésére jól használható:
obex_test (maga a program)
- megjelenõ parancssorba: s
- telefonon kép küldés irda-n
- két eszköz egymás mellé helyezése (hogy lássák egymást)
- alap esetben a képet a /tmp könyvtárba menti
- stb...
irxfer (mint az obex_test csak egyszerûbb)
vagy
ircp
Egyéb: http://nix.fulhack.nu/z600/