Já zde uvedu návod, který bude přímo popisován na tomto stroji, předpokládám, že na Compal FL 91 to bude fungovat uplně stejně. Jakož i návod na zprovoznění je i tento návod šit na míru distribuci Mandriva Linux konkrétně verze 2008.
Sprovoznění není težké, a s pomocí toho to návodu ho zvládne snad i blondýnka a možná i sparťan + slávista.
Osobně jsem měl dva hlavní cíle:
aby po vlastním zprovoznění byly klávesy jednoduše a modifikovatelně použitelné,
abych to rozumně začlenil do systému a ne nějakym něpěkným hackem.
Zprovozňovat tedy budu pět horních kláves jedno postranní a sedm, které ovládají přehrávač
Klávesy uspávaní a jas fungují, WIFI jsem neřešil (hlavně že to vysílá),
jak funguje přepínaní monitoru netuším (výstup na monitor jinak funguje),
ostatní fungují také, hádám, že jsou hardvárově řešená.
Velké tlačítko mute a mute přes Fn vysílají tentýžkó=> chovajíse jako jedno tlačítkód.
Zprovonění se tedy týká tedy X-ek.
několik základních pojmů:
Obrázek s popisem všech kodů tlačítek v tomto pořadí:
| scancode |
| konzolový keycode |
| X-kový keycode |
| název z hranatých závorek |
Z průzkumu jsem zjistil,
že vědšina tlačitek už je namapovaná na keycody, kromě dvou tlačitek s označenim WOW (což znamená: "Laughing Out Loud") a
levého s drátem.
Jejich scancode jsem zjistil pomocí "showkey -s" a mapuju na mnou zvolené keycody (určiťe musí být vědší než nějakých 120)
pomocí skriptu na než mam odkaz v rc.local :
#setkeycodes scancode keycode setkeycodes e079 179 setkeycodes e076 176 setkeycodes e075 175 setkeycodes e004 204Dokud tyto klávesy nenamapujete, tak po jejich zmáčknutí najdete hlášku v dmesg.
Puštením programu xev a mačkáním klaves jsem zjistil jejich keycody pro X-ka.
Nyní si už můžete ručne namapovat spec tlačítko na nejakou klavesu.
např: xmodmap -e 'keycode 178=a' ; pak vám klávesa na spuštění webového prohlížeče bude psát a.
Mapovat specialní tlačítka je třeba na klávesy, které jsou definované. Jejich seznam je v souboru
"/usr/include/X11/keysymdef.h" -definice běžných kláves a v souboru "/usr/share/X11/XKeysymDB" - definice multimediálních kláves .
Nyní je třaba si nadefinovat novou klavesnici. Bude stačit jen nadefinovat multimedialní část.
Do souboru "/usr/share/X11/xkb/symbols/inet" ,kde se definuje multimedialní části klávesnice, jsem přidal následujcí kód:
V následujcím bloku jsem měl dost velkou chybu, část kódu nebral prohlížeč jako text ale jako XHTML tag.
Chyběl tam ten kousel s těmi špičatými zavorkami :-O
partial hidden alphanumeric_keys
xkb_symbols "compal_FL90" {
key <I76> { [ WYSetup ] };
key <I32> { [ XF86WWW ] };
key <I6C> { [ XF86Mail ] };
key <I08> { [ XF86Video ] };
key <EISU> { [ XF86AudioRecord ] };
key <I20> { [ XF86AudioMute ] };
key <I2E> { [ XF86AudioLowerVolume ] };
key <I30> { [ XF86AudioRaiseVolume ] };
key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
key <I24> { [ XF86AudioStop, XF86Eject ] };
key <I10> { [ XF86AudioPrev ] };
key <I19> { [ XF86AudioNext ] };
key <I2D> { [ XF86KbdLightOnOff ] };
};
|
Klávesnici je třeba přidat na vhodné místo do souboru "/usr/share/X11/xkb/rules/xorg" např:
compal_FL90 \
A ještě třeba přidat do souboru " /usr/share/X11/xkb/rules/xorg.lst " (nejlépe i abecedně správně) a nějak pěkně uživatelsky ji pojmenovat např:
Compal FL 90 laptop keyboard
cili cely radek vypada
compal_FL90 Compal FL 90 laptop keyboard
Nyní už stačí v ovládacím centru KDE v rozložení klávesnice místo "obecná 104 klávesová" vybrat "Compal FL 90 laptop keyboard".
Pomocí programu xev si můžete oveřit že místo NoSymbol se objevuje název klávesy.
Nyní už stačí klávesám přiřadit funkce, některé programy už je mají i přiřazené.
Sám jsem přiřadil přiřadil mute a ovladaní klasitosti v Kmix-u, tlačítka přehrávání amaroku, a pět horních přiřadil, za pomoci ovladacího centra KDE, programům.
Také se dá souboru "/etc/X11/xorg.conf" upravit tak,
že se takto upravená klávesnice bude načitat rouvnou při spuštění X-serveru, a nebude se to muset v KDE nastavovat.
Vytah upravené časti tohoto souboru:
Section "InputDevice"
Identifier "Keyboard1"
Driver "kbd"
#Option "XkbModel" "pc105"
Option "XkbModel" "compal_FL90"
Option "XkbLayout" "us"
Option "XkbOptions" "compose:rwin"
EndSection
A nebo se to da naklikat v Mandrake Control Centru.
Tento postup zprovoznění je zvlástě vhodný proto, že i při přepínaní klávesnic stále fungují multimediální tlačítka. poznamka: přiaktualizaci 8.2.2008 se me soubory s tímto nastavením přepsaly :-), takže jsem to tam musel dopsat znova
Tlačítka ovládaní hlasitosti a mute by asi bylo vhodnější namapovat natvrdo do systému, aby ovládaní nebylo zavyslé na spuštění KDE.
Ještě podotknu že levé speciální tlačítko s drátem, funguje jen při připojeném napájení. Hádám že je to tím že ve windouz je určeno k ovládání napájení, takže si asi hoši v Číně řekli, že bez napájení by nemělo dělat nic.
Zjistil jsem, že Radio multimedial key generuje scancode e004 a WIFI/BlueTooth HW Kill Switch scancode e071. Ale ani jedno tlačitko neni namapováno na keycode. Tlačítko by bylo asi vhodné namapovat natvrdo do systému, pak by mohlo ovládat i WIFI, což je pro běžného uživatele zakázané. Na přepínač WIFI hardwarove vypíná WIFI a bluetooth.
Také by nebylo špatné zprovoznit diodu ve velkém tlačítku mute.
Provedl jsem upgrade BIOSu. Rozhodl jsem se pro boot z USB. Chtel jsem tu zverejnit celou flash, ale byla az prilis velka na zverejneni na webu, ale sla by udelat i mnohem menší verze. Ale předpokladam, že každy ten upgrade nějak zvladne.
Do souboru: "/etc/pm/config.d/unload_modules" doporucuju pridat radek
SUSPEND_MODULES="iwl4965"konkrétně se jedna o modul pro WIFI intel 4965. Diky tomu to řádku se nasledně urychlý probuzení notebooku.
WebKameru můžete vyzkoušet pomocí kopete nebo přikazem:
mplayer -tv driver=v4l2:width=640:height=480:device=/dev/video0:fps=30:outfmt=yuy2 tv:// noaudio
WIFI chodí mnohem lépe s jádrem 2.6.24-laptop-0.rc5.1mdv a 2.6.24-laptop-0.rc6.1mdv.
Už neni třeba vyhazovat občas modul z jádra např při vypnutí a opětovném zapnutí nebo když se WIFI nechce asociovat.
POZOR s jádrem 2.6.24-laptop-0.rc6.2mdv a novějším jsem zaznamenal nefukčnost s WPA.
Hibernace (uspani na disk) uz funguje mnohem lepe akorat nevim cim to je.
Moje jadro 2.6.24-laptop-0.rc6.1mdv ovladac nVidia verze 169.07
uvcvideo: Failed to query (1) UVC control 2 (unit 0) : -71 (exp. 26). uvcvideo 6-2:1.1: resume error -5 Restarting tasks ... <6>usb 2-1: USB disconnect, address 3 done.pokud ten ovladač nedříve vyhodim z jádra, tak to ale nepomůže
suspend_device(): usb_suspend+0x0/0x40 [usbcore]() returns -32 Could not suspend device 6-2: error -32 Some devices failed to suspend Restarting tasks ... done.Pokud vědšinu modulů okolo usb vyhodim z jadra, tak se uspani do RAM povede.
SUSPEND_MODULES="iwl4965 ehci_hcd uhci_hcd"S jádrem 2.6.24.2-laptop-4mdv se tato kombinace zdá být funkční, WebKamera funguje, Xka nepadnou....
Do souboru "/etc/hddtemp.db" což je taková malá databáze disků jsem přidal řadek:
"ST9120823AS" 194 C "Seagate Momentus 7200 120GB S-ATA-II 8MB 2.5\" NCQ"Pak mě příkaz "hddtem /dev/sda" , který vyčítá teplotu disk, nehlásí chybu, že disk nenašel v databázi.
S jádrem 2.6.24.2-laptop-3mdv se zdá být kvalita wifi signálu o dost lepší
chown root:root cesta/compal-laptop-control chmod +s cesta/compal-laptop-controlOsobně jsem si modul upravil tak, aby vytvářel danée soubory s právy 664 a mohl tak do nich zapisovat i uživatel ve skupine root a nemusel to dělat přes suid bit.
battery ac button fan video acpi_cpufreq cpufreq_stats cpufreq_powersave cpufreq_conservative cpufreq_ondemand compal-laptop nvram sdhci
Vzhledem k tomu, že uspavaní na disk funguje, tak místo vypínání hibernuju a tak jsem se rozhodl přemapovat tlačítko vypínání na hybernaci.
Volání pro vypnutí v "/etc/acpi/events/power" jsem přemapoval na volani hybernace "/etc/acpi/actions/pm-fallback-hibernate"
Daný soubor vypadá takto:
#!/bin/sh /usr/bin/pm-has-power-policy || /usr/sbin/pm-hibernateTakže ted se při ACPI udalosti vypnutí notebook uspí na disk.
Zjistil jsem že notebook, pokud ho uspím do ram, tak při skoro vybyté baterii se probudí.
Jednou jsem večer doma uspal notebook do RAM, baterie měla ještě tak 1/3 energie ale notebook do rána nevydržel.
Akorád jsem teda čekal, že se probudí a pak (jak mam defaultně nastaveno) uspí na disk .
| Procesor | |
| Čipset | OutOfBox |
| Wifi | nastavit zdroje SW ->OutOfBox |
| Bluetooth | OutOfBox |
| Firewire | netestovano OutOfBox? |
| Čtečka karet | OutOfBox |
| Audio | OutOfBox |
| Mikrofon | OutOfBox |
| grafika+VGA-out | nastavit zdroje SW ->OutOfBox |
| Touchpad | OutOfBox |
| Hibernace | nastavit kam se bude uspavápat->OutOfBox |
| Suspend | OutOfBox |
| WebKamera | OutOfBox |
| Multimediální tlačítka | kromě WOW OutOfBox |
| DVD-+RW/CD-RW mechanika | OutOfBox |
| Express Card | netestovano OutOfBox? |
| ACPI: tlačitka power+suspend, AC , baterie, víko | OutOfBox |
hal-disable-polling --device /dev/sr0
Upgradoval jsem na Mandrivu 2008.1
PS: upgraduju za běhu systému ;-).
Doporučuju mít aspoň jedou při startu mít zapůpu službu harddrake.
Vyzkoušel jsem patch, který zpřístupní použití touchpadu s ovladečem synaptics v Xkách.
Touchpad je sice asi synaptics (ani nevím jestli je vyrábí i někdo jiný), ale defaultně funguje v "emulativním modů".
Z touchpadu lze získávat data v tzv absolutím módu a ty pak libovolne zpracovávat a vyhodnocovat dál.
Takto zapneme absolutní mód:
echo -n 0x16> /sys/bus/serio/drivers/psmouse/serio1/reg_10
synclient -m 1
Section "InputDevice"
Identifier "Touchpad"
Driver "synaptics"
Option "Protocol" "auto-dev"
Option "Device" "/dev/psaux"
#zdilena pamet napr pro nastaveni pomoci Ksynaptics
#Option "SHMConfig" "on"
#rychlost
Option "MinSpeed" "0.50"
Option "MaxSpeed" "3.0"
Option "AccelFactor" "0.07"
#vzdalenost mezi klepnutim
Option "MaxTapMove" "60" #40
#interval touch and release
Option "MaxTapTime" "180"
Option "SingleTapTimeout" "50"
Option "MaxDoubleTapTime" "160" #160
# Option "LockedDragTimeout" "400"
#
#tlak pro stisk
Option "FingerLow" "50"
Option "FingerHigh" "125"
Option "LeftEdge" "10"
Option "RightEdge" "415" #400
#max 448
#nastaveni pole pro pohyb kuzoru
#!POZOR nechat mezeru pro skrolovani!
Option "TopEdge" "50"
Option "BottomEdge" "330"
#max 350
#zapnuti skrolovani
Option "VertEdgeScroll" "on"
Option "HorizEdgeScroll" "on"
#odstum pro generovani posuvu
Option "HorizScrollDelta" "25"
Option "VertScrollDelta" "15"
#UpDownScrollRepeat
#LeftRightScrollRepeat
#rychlost skrolovani
Option "CircularScrolling" "on"
#trojka=Right Edge =>musim zacit na prave hrane-jeto nejlogictejsi moznost
#dvojak=Top Right Corner
#4 Bottom Right Corner -malo kdy se tam dostanu nahodou
Option "CircScrollTrigger" "4"
Option "CircularPad" "on"
## Option "Coasting" "on"
## Option "CircScrollDelta" "100"
# Option "VertTwoFingerScroll" "on"
# Option "HorizTwoFingerScroll" "on"
# Option "HorizScrollDelta" "100"
# Option "VertScrollDelta" "200"
# kraj pouzity i pro bezny pohyb
Option "EdgeMotionUseAlways " "on"
#Finger pressure at which minimum edge motion speed is set.
Option "EdgeMotionMinZ" "80"
Option "EdgeMotionMaxZ" "125"
#Slowest setting for edge motion speed.
Option "EdgeMotionMinSpeed" "1"
Option "EdgeMotionMaxSpeed" "3"
EndSection
Section "ServerLayout"
................
InputDevice "Touchpad" "SendCoreEvents"
......................
EndSection
Pokud v KDE nastavite klavesnici obecnou se 105 klávesama zjistíte, že jsou namapována i tlačítka WOW.
(pokud stále pomocí skriptu přiřazujete k daným scancodum dané keycody)
(Akorát jsou namapována na jíná, než jsem je mapoval já)
A v xorg.conf můžete nastavit:
Option "XkbModel" "pc105"Takže až na tlačítko SmartBattery není problém je lehce použít. Osobně používán své staré nastavení.
Zakomentoval jsem skrip pro zprovoznění SD-MMC čtecky-> OK.
Zrušil jsem vyhazovaní modulu týkajcí se USB z jadrá před uspavaním-> OK.
Nepoužívám pulse audio.
Zakomentoval jsem skrip pro zprovoznění SD-MMC čtecky-> OK.
Zrušil jsem vyhazovaní modulu týkajcí se USB z jadrá před uspavaním-> OK.
Nepoužívám pulse audio.
Teplotu WIFI karty udává tento soubor:
/sys/class/net/wlan0/device/temperature
a korat se to ještě musí přepočítat na celsia :-).
Je to udáváno v kelvinech, takze stačí odečíst 273 a máte z toho celsia.
Obsah souboru /etc/pm/config.d/unload_modules:
SUSPEND_MODULES="iwl4965 uvcvideo uhci_hcd ehci_hcd"
Do /etc/modprobe.conf jsem přidal:
options usbcore autosuspend=1
v patchi 2.6.25-mm1 pro vanilla kernel je zakomponováno: patch na LED pro wifi s modulem iwl*, modul compal-laptop, modul elantech pro touchpad.
Z testů jsem zjistil, že nefunkčnost DVD-RAM je způsobeno vadou mechaniky, kterou mají všechny již z výroby, bohužel se mě zatím nepodařilo sehnat jiný firmware, kterým bych mechaniku oflashoval. Moje mechanika byla v šaši, kterou jsem kupoval na podzim roku 2007. Mechanika je Lite-On má označní SSM-8515S, ale nevím jestli ji neprodavají i pod jiný označením. Obsahuje frimware GS09, který je na stránkách výrobce nejnovější.
Namapoval jsem si klavesu na WIFI. Do souboru ~/.xbindkeysrc přidal řádek:
"xset dpms force off" XF86KbdLightOnOffPustil program xbindkey, a pomocí klavesy WIFI ted zhasínám LCD.
Ke zvukovce jsem přidal parametr position_fix=0, díky tomu se ALSA dá restartovat.
KDE4 a Nvidia:
příkaz: "nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1" zlepšujě běh
Do xorg.conf do sekce s kartou:
Option "OnDemandVBlankInterrupts" "True" - uspora energie - zabrani probouzeni ze spanku u nvidie
Někdy se me stane, že když dělam pokusi s X-kama asi s ovladačem tak pak nejdou hry, vždy pomohlo překompilovaní/intalování ovladače na grafiky.
nahrávání videa z web kamery:
mplayer -tv driver=v4l2:width=640:height=480:device=/dev/video0:fps=18:outfmt=yuy2 tv:// -vo yuv4mpeg:file=/tmp/out.avije potřeba správně nastavit fps např na 18; video se nezobrazuje puze ukládá
mplayer -tv driver=v4l2:width=640:height=480:device=/dev/video0:fps=30:outfmt=yuy2 tv:// -vo jpeg:outdir=/tmp
V listopadu jsem upgradoval na Mandrivu 2009.0.
Modul pro WIFI se ted používá iwlagn. Tento ,odul asi není třeba unloudovat při uspání.
Zdá se, že uspávaní do RAM zase trochu funguje. Uspávání na disk funguje 100%.
VLC mě nefungovalo, tak jsem použil to z mdv2008.1.
Nyní funguje stavová dioda i pro WIFI.
Stále patchuju ovladač na touchpad Elantech.
Použil jsem trochu novější verzi modulu laptop-control. Od verze 0.2.8 jde ovládat nabíjení baterie verze 0.3.0 je uplně přepracovaná.
Jsem líný přejít na KDE4, stejně zatim je na mě příliš nestabilní a občas pomalé, ale už se dá používat.
Klavesnice do KDE4 se dá přidat pomocí souboru /usr/share/X11/xkb/rules/xorg.xml
<model> <configItem> <name>compal_FL90</name> <description>Compal FL 90 laptop keyboard</description> <vendor>Compal</vendor> </configItem> </model>Skype funguje.
Po aktualizaci se mě obejil problém s bootovaním, po zavaděči asi v 70% se oběvi černá obrazovka.
Nejdříve jsem to (a další) přisuzoval HW závadě.
Tento problém na 98% zmizel po zadání parametru nolapic.
Tento problem jsem nepozoroval dokud jsem neaktualizoval kernel a měl defaultní poinstalační tedy 2.6.27-desktop-0.rc8.2mnb
Také jsem chtěl testnout kernel linux-2.28-rc7,
ale nešel zkompilovat ovladač na grafiku (předpokládám, že díky novému kódu pro pamět grafických karet), tak jsem to nechal být.
Někdy se mě stane, že po bootu nefunguje webkamera (ne že bych ji používal).
Nebo také sytem při bootu vypíše:
hub 1-0:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 1-0:1.0: Cannot enable port 2. Maybe the USB cable is bad? hub 1-0:1.0: unable to enumerate USB device on port 2
Bus 007 Device 001: ID 0000:0000ukazuje:
Bus 004 Device 001: ID 1d6b:0001
Kernel 2.6.27.7-0.uc2mnb, který je v main testing bootuje dobre i bez parametru noapic.
Obsahuje už i modul Elantech, ale se soucanym nastavení mě to nefunguje, asi je tam nějaká změna.
Zkompiloval jsem si novější modul compal-laptop s upravenými právi.
Neni třeba použivat "echo -n 0x16> /sys/bus/serio/drivers/psmouse/serio1/reg_10", to se již (i v předchozim použitim) dělá samo.
Abych sprovoznil touchpad jako synaptics, tak jsem tam patchnul stalsi verzi Elantechu.
chmod 666 /sys/class/backlight/compal-laptop/brightness chmod 666 /sys/devices/platform/compal-laptop/bluetooth chmod 666 /sys/devices/platform/compal-laptop/wlan chmod 666 /sys/devices/platform/compal-laptop/charging_level
echo 10 > /proc/sys/vm/dirty_ratio echo 5 > /proc/sys/vm/dirty_background_ratioAkorád to mění démon laptop-mode, podle odpojení/zapojení do sítě, tak je to třeba nakonfigurovat v souboru /etc/laptop-mode/laptop-mode.conf Ještě do rc.local můžete přidat:
echo 40 > /proc/sys/vm/swappiness
Upgrade Mandrivy 2009.1 na 2010.0 byl vpodstatě bezproblémový. Dával jsem si pozor abych aktualizoval jen z 64bit zdrojů. A před aktualizací jsem ještě odinstaloval vše 32bitové
Jediný problém jsem mel, ze nenaběhl správně desktop. A protože jsem nechtěl mazat cele nastaveni, tak sem úspěšně zjistil, ze stačí smazat soubor ~/.kde4/share/config/plasma-desktop-appletsrc
Po aktualizaci jsem zpět nainstalovat: AdobeReader, wine,skype, realplayer (potřeba knihovna libgdk_pixbuf2.0_0) a memcoder a ffmpeg z PLF.