Panoramica HARDWARE

Iniziamo l'opera con un quadro generale sull'hardware che questo gioiellino possiede. Il comando lspci ci dice:

root@joybook[~]# lspci
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 04)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 04)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 04)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 04)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 04)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4)
00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 04)
00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 04)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 04)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 04)
06:01.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
06:01.2 FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller
06:01.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller
06:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)
06:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

Tabella riassuntiva

Ora diamo subito una panoramica sull'opera, in particolare quello che funziona a dovere, e quello che proprio non va

Componente Funzionante?
ACPI (video LCD [stand_by - suspend - power_off]) OK
ACPI (Centrino CPU freq. scaling - power states) OK
ACPI (Power Button) OK
ACPI (Lid Switch) OK
ACPI (Thermal Zone - CPU temperature) OK
ACPI (Battery - AC adapter) ok Works!!! :))) Special Thanks Kesiev!
Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller OK Richiede la patch "915resolution" per avere la risoluzione di 1280x768 e gli snapshot dei DRI per abilitare il direct rendering.
Synaptics Touch Pad OK
USB Controller OK
Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller OK! Audio WORK!!!!!! NEW!
Read the bugtraker: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1134
Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller ??? Probabilmente non funzionante per via del driver audio non funzionante.
Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller OK Supported!NEW!
Need kernel >= 2.6.19 the module is tifm under misc kernel section!
FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller ??? Not tested.
Network controller: Intel Corporation PRO/Wireless 2200BG OK More info at http://ipw2200.sourceforge.net/
Ethernet controller: Realtek Semiconductor Co. OK kernel module: "8139too"
IrDA controller ?? Not tested.
HotKeys OK Thanks Kesiev!
Bluetooth OK

Kernel

È consigliabile l'uso di un kernel superiore al 2.6.14. Il config si riferisce al kernel 2.6.16

-- Il config del kernel-2.6.16: config-2.6.16

Moduli da caricare al boot:

-- rc.modules: rc.modules

root@joybook[/etc/rc.d]# cat rc.modules | awk '/^\//{print $0}'
/sbin/modprobe i2c_acpi_ec
/sbin/modprobe acpi_sbs
/sbin/modprobe bluetooth
/sbin/modprobe video
/sbin/modprobe button
/sbin/modprobe cpufreq_ondemand
/sbin/modprobe cpufreq_powersave
/sbin/modprobe cpufreq_conservative
/sbin/modprobe cpufreq_performance
/sbin/modprobe ipw2200
/sbin/modprobe agpgart
/sbin/modprobe i915
/sbin/modprobe usbmouse
/sbin/modprobe usb-storage
/sbin/modprobe 8139too
/sbin/modprobe fat
/sbin/modprobe vfat
/sbin/modprobe psmouse
/sbin/modprobe evdev

DSDT Table

È possibile modificare e cambiate la tabella del bios riguardante l'acpi...Non cambia molto, perché ci sono solamente due errori non influenti. Comunque è possibile scaricare la tabella corretta presso http://acpi.sourceforge.net/dsdt/view.php. Bisogna inoltre applicare una patch al kernel per poter caricare la tabella esterna. Per informazioni: http://gaugusch.at/kernel.shtml

Xorg config

Per la configurazione di Xorg (versione 6.9) vi rimando al mio xorg.conf.
-- Xorg config: xorg.conf
Funzionano tutte le periferiche di input (mouse [USB and PS-2], tastiera e touchpad).

NEW: Independent dual monitor!

E' stata inserita una nuova versione di xorg.conf, la quale e' stata pulita ed e' stato inserito un doppio serverLayout. Tramite uno switch di comemnti nel file, e' possibile avere uno schermo indipendente sull'uscita VGA, posto alla destra dello schermo del laptop!
Esempio:
Come osserverete, il mouse passa da uno screen ad un altro passando a destra!
NOTA: Se avete problemi di visualizzazione, usate i sasti funzione (Fn+F3) per aggiornare i monitors.

Inoltre e' stato inserito il render ed il composite, che rendono KDE in grado di genstire finestre transparenti e/o ombreggiature! Vedere il pannello di KDE

DRI (Direct Rendering):
Bisogna scaricare ed installare l'ultimo snapshot dell'i915 dal sito di http://dri.freedesktop.org/snapshots/
(versione sicuramente funzionante: 25-Mar-2006 08:31). L'istallazione è molto semplice, basta uscire da X (root@joybook[~]# init 3), sompattare il file e lanciare l'installer!
NOTA: L'operazione va effettuata ogni volta che si ricompila il kernel.

Synaptic touchpad

Ebbene... Stanco di portarmi sempre dietro il mouse, ho deciso ci far andare decentemente il nostro amato touchPad Synaptics! :)
Ecco come l'ho impostato io: Ecco come fare:

Video 1280x768

L'Intel i915GML funziona alla perfezione, e possiede un accellerazione grafica (Direct Rendering) molto potente.
Per far andare la risoluzione di 1280x768 occorre usare la patch del BIOS 915resoluzion. Una volta scompattato il file, troverete un file eseguibile "915resoluzion". Bisogna attivarlo al BOOT ad esempio inserendo il seguente comando in rc.local, e copiando l'eseguibile in /usr/bin/915resolution:

root@joybook[~]# cat /etc/rc.d/rc.local
#!/bin/sh
#
# /etc/rc.d/rc.local: Local system initialization script.
#
# Put any local setup commands in here:

### SET THE RESOLUTION PATCH - 1280x768
/usr/bin/915resolution 38 1280 768 24
echo "Starting 915resolution..."

IRQ Problem - Thanks KesieV

Il joybook fa un utilizzo degli IRQ molto incasinato. Per risolvere il problema, e quindi per aumentare le prestazioni, consiglio di applicare al kernel le "beyond patches", scaricabili da http://iphitus.loudas.com/beyond.php
Inoltre queste patch offrono molte altre funzioni interessanti al kernel vanilla:

Features

-ck(s) Con Kolivas Patchset, (server version available as option) -ide libATA/ide updates, Alsa updates and fixes, Dothan Speedstep, Pentium M undervolt, IBM ACPI fan control, Suspend2, vesafb-tng, reiser4, unionfs, squashfs, realtime-lsm, fbsplash, configurable mouse polling support, custom dsdt, Layer7, various fixes and updates

BIOS Upgrade

Consiglio vivamente di aggiornare il bios! Infatti ci sono problemi sul caricamento della batteria, che non viene caricata al 100%. From the official site: "Fixed battery can't charge to full capacity." Benq.it

ACPI Smart Battery

NEWS: il kernel 2.6.18 possiede di default smart battery!

Ma non funzionano i DRI con il suddetto kernel >_>

Il totale merito del lavoro va al formidabile KesieV, che ha ripreso il progetto SBS (Smart Battery) ormai abbandonato e l'ha resuscitato ed adattato al kernel 2.6.16!
Premetto che funziona tutto alla perfezione ora...non occorre nemmeno sostutuire la tabella DSDT! :D
Per prima cosa scaricate il file acpi_sbs-20060419-kesiev.tar.bz2 che ha fornito KesieV!
Scompattare il file, ed applicate la patch al kernel-2.6.16
# patch /path-to-linux-sources/drivers/acpi/ec.c /path-to-acpi_sbs-xxxxxxxx/patch-sbs-2.6.16.diff
Se avete problemi ad applicare la patch, potete in alternatica copiare il file già patchato da kesiev (all'interno dell'archivio)
# cp -v /path-to-acpi_sbs-xxxxxxxx/ec.c /path-to-linux-sources/drivers/acpi/
Fatto questo, ricompilate il kernel ricordandosi di non mettere i moduli ac e battery! Se volete potete usare il mio config Ora compilate i moduli presenti nell'archivio con
# cd /path-to-acpi_sbs-xxxxxxxx/
# make && make install
Ora date un bel reboot per sicurezza, e al riavvio, caricate i moduli appena installati:
# /sbin/modprobe i2c_acpi_ec
# /sbin/modprobe acpi_sbs
Dmesg dovrebbe reagire cos�
base: 0x18 alert: 0x20
i2c-acpi-ec.c: ACPI EC SMBus adapter at 0x18
eth1: link down
ACPI: Smart Battery System [SBS0]
ACPI: Smart Battery Charger [SBC]
ACPI: Smart Battery Selector [SBSEL]
ACPI: Smart Battery Slot [SB0] (battery present)
Controllate le cartelle /proc/acpi/battery/ e /proc/acpi/ac_adapter/ e godete!!! :))
Per automatizzare il processo, mettete in rc.modules i moduli smart battery da caricate al boot! Poi da KDE potete visualizzare la vostra amata batteria! :D

Freq. policy

Questa sezione mostra come poter usufruire al meglio delle doti del Centrino! E' infatti possibile cambiare la gestione della frequenza del processore facendo solamente un "echo" in un file...
Per prima cosa spostiamoci nella directory /sys/devices/system/cpu/cpu0/cpufreq/
Troviamo vari file tra cui: Detto questo, basta cambiare il contenuto del file scaling_governor per cambiate la politica utilizzata dal centrino. Il file scaling_available_governors indica le possibili politiche utilizzabili: Ora per scegliere una di queste politiche, basta eseguire questo comando shell (da root):
root@joybook[~]# echo POLICY > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
dove per "POLICY" si intende uno dei valori presenti nel file scaling_available_governors. Se si effettua un echo errato, con una valore non corretto, non accade nulla, solamente un messaggio di errore del tipo:
root@joybook[~]# echo BLABLALBA > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
bash: echo: write error: Invalid argument
E' possibile (per esempio) crearsi uno script bash per effettuare in modo automatico il cambio di politica!

Joybook HotKeys

Grazie agli hotkey �possibile visualizzare le impostazioni degli switch hardware del nostro amato joybook!
Per far andare gli hotkeys basta seguire i seguenti passi: Ora potere verificare il funzionamento dei tasti di funzione provando ad esempio queste combinazioni di tasti:
Fn+F6 vedrete in alto a sinistra un piccolo popup che vi indica lo stato del touchpad - ON/OFF
Fn+F7/F8/F9 per le variazioni dell'audio anche se per ovvie ragioni sarà sempre muto :(
Fn+F12 per variare lo switch della WiFi e del Bluetooth.

BlueTooth

Come se non bastasse il nostro gioiello possiede anche un bel dispositibo Bluetooth! :) Per farlo andare egregiamente basta eseguire questi pochi passi: PS: Naturalmente qui abbiamo solo configurato il bluetooth per l'invio e la ricezione di dati. Per configurare il bluetooth usando il cellulare come modem, vi rimando a San. GOOGLE.COM/LINUX e a questo how-to GNUBox on slackware linux! :)))

Audio - little solution!

:DDDDD Ragazzi, l'audio funziona! il bel regalo di Natale fatto da Raymond!
Ma cosa bisogna fare? Esistono due modi, il primo è compilare ALSA in debug mode (attivabile anche nel kernel, forse), il secondo (quello che ho adottato io) consiste nell'applicare una piccola patch al kernel!
Enjoy!!!