Repository 32bit  Forum
Repository 64bit  Wiki

Benq JoyBook S53: differenze tra le versioni

Da Slacky.eu.
(Xorg config)
 
(11 revisioni intermedie di 4 utenti non mostrate)
Riga 1: Riga 1:
[[Category:Configurazione]]
+
[[Category:Laptop]]
== Panoramica Hardware ==
== Panoramica Hardware ==
Riga 16: Riga 16:
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (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.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.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: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.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 04)
Riga 30: Riga 30:
Ora diamo subito una panoramica sull'opera, in particolare quello che funziona a dovere, e quello che proprio non va:
Ora diamo subito una panoramica sull'opera, in particolare quello che funziona a dovere, e quello che proprio non va:
+
{|
Componente - Funzionante?
+
!Componente !! Funzionante !! Note
ACPI (video LCD [stand_by - suspend - power_off]) - OK
+
|- bgcolor=lightgreen
ACPI (Centrino CPU freq. scaling - power states) - OK
+
|ACPI (video LCD [stand_by - suspend - power_off])||OK ||
ACPI (Power Button) - OK
+
|- bgcolor=lightgreen
ACPI (Lid Switch) - OK
+
|ACPI (Centrino CPU freq. scaling - power states) ||OK ||
ACPI (Thermal Zone - CPU temperature) - OK
+
|- bgcolor=lightgreen
ACPI (Battery - AC adapter) - OK
+
|ACPI (Power Button)||OK||
Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller - OK
+
|- bgcolor=lightgreen
Richiede la patch "915resolution" per avere la risoluzione di 1280x768
+
| ACPI (Lid Switch)||OK||
e gli snapshot dei DRI per abilitare il direct rendering.
+
|- bgcolor=lightgreen
Synaptics Touch Pad - OK
+
| ACPI (Thermal Zone - CPU temperature)||OK||
USB Controller - OK
+
|- bgcolor=lightgreen
Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Ctrl. - NO
+
| ACPI (Battery - AC adapter)||OK||
Audio permanentemente muto.
+
|- bgcolor=lightgreen
Problema già segnalato da tempo nella mailing-list di ALSA Project.
+
| 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.
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1134
+
|- bgcolor=lightgreen
Modem: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem - ??
+
| Synaptics Touch Pad || OK||
Probabilmente non funzionante per via del driver audio non funzionante.
+
|- bgcolor=lightgreen
IDE controller: Texas Instruments PCIxx21 Integrated FlashMedia Ctrl - NO
+
| USB Controller || OK||
Non supportato.
+
|- bgcolor=red
IEEE 1394: Texas Instruments OHCI Compliant IEEE 1394 Host Controller - ?? Non testato.
+
| Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Ctrl. || NO || Audio permanentemente muto. Problema già segnalato da tempo nella mailing-list di ALSA Project. https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1134
Network controller: Intel Corporation PRO/Wireless 2200BG - OK http://ipw2200.sourceforge.net/
+
|- bgcolor=yellow
Ethernet controller: Realtek Semiconductor - Kernel module "8139too" - OK
+
| Modem: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem || ?? || Probabilmente non funzionante per via del driver audio non funzionante.
IrDA controller - ?? Non testato.
+
|- bgcolor=red
HotKeys - OK
+
| IDE controller: Texas Instruments PCIxx21 Integrated FlashMedia Ctrl || NO || Non supportato.
Bluetooth - OK
+
|- bgcolor=yellow
Kernel 2.6.16 - OK
+
| IEEE 1394: Texas Instruments OHCI Compliant IEEE 1394 Host Controller || ?? || Non testato.
  +
|- bgcolor=lightgreen
  +
| Network controller: Intel Corporation PRO/Wireless 2200BG || OK || http://ipw2200.sourceforge.net/
  +
|- bgcolor=lightgreen
  +
| Ethernet controller: Realtek Semiconductor - Kernel module "8139too" || OK ||
  +
|- bgcolor=lightgreen
  +
| IrDA controller || ?? || Non testato.
  +
|- bgcolor=lightgreen
  +
|HotKeys ||OK||
  +
|- bgcolor=lightgreen
  +
|Bluetooth|| OK||
  +
|- bgcolor=lightgreen
  +
|Kernel 2.6.16 || OK||
  +
|}
== Kernel ==
== Kernel ==
Riga 204: Riga 204:
L'Intel i915GML funziona alla perfezione, e possiede un accellerazione grafica (Direct Rendering) molto potente.
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
+
Per far andare la risoluzione di 1280x768 occorre usare la patch del [http://www.capponcino.it/alessio/linux_on_joybook-S53/files/915resolution-0.5.2.tar.gz BIOS 915resoluzion].
/usr/bin/915resolution 38 1280 768 24
+
echo "Starting 915resolution..."
+
Una volta scompattato il file, troverete un file eseguibile "915resoluzion".
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
+
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 ==
  +
  +
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 [ http://iphitus.loudas.com/beyond.html patches].
  +
Inoltre queste patch offrono molte altre funzioni interessanti al kernel vanilla:
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
+
Features
BIOS Upgrade
+
-ck(s) Con Kolivas Patchset, (server version available as option) -ide libATA/ide updates, Alsa updates and fixes,
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
+
Dothan Speedstep, Pentium M undervolt, IBM ACPI fan control, Suspend2, vesafb-tng, reiser4, unionfs, squashfs,
ACPI Smart Battery
+
realtime-lsm, fbsplash, configurable mouse polling support, custom dsdt, Layer7, various fixes and updates
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!
+
  +
== BIOS Upgrade ==
  +
  +
Consiglio vivamente di aggiornare il bios!
  +
  +
Infatti ci sono problemi sul caricamento della batteria, che non viene caricata al 100%. [http://www.benq.it/ServiceAndSupport/downloads/downloads.cfm?product=829&type=B fonte Benq.it]
  +
  +
== ACPI Smart Battery ==
  +
  +
Il totale merito del lavoro va al formidabile [http://www.kesiev.com/ 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
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
+
Per prima cosa scaricate il file [http://www.capponcino.it/alessio/linux_on_joybook-S53/files/acpi_sbs-20060419-kesiev.tar.bz2 acpi_sbs-20060419-kesiev.tar.bz2].
# patch /path-to-linux-sources/drivers/acpi/ec.c /path-to-acpi_sbs-xxxxxxxx/patch-sbs-2.6.16.diff
+
  +
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)
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
+
cp -v /path-to-acpi_sbs-xxxxxxxx/ec.c /path-to-linux-sources/drivers/acpi/
# cd /path-to-acpi_sbs-xxxxxxxx/
+
# make && make install
+
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:
Ora date un bel reboot per sicurezza, e al riavvio, caricate i moduli appena installati:
# /sbin/modprobe i2c_acpi_ec
+
# /sbin/modprobe acpi_sbs
+
/sbin/modprobe i2c_acpi_ec
Dmesg dovrebbe reagire così:
+
/sbin/modprobe acpi_sbs
base: 0x18 alert: 0x20
+
Dmesg dovrebbe reagire così:
i2c-acpi-ec.c: ACPI EC SMBus adapter at 0x18
+
base: 0x18 alert: 0x20
eth1: link down
+
i2c-acpi-ec.c: ACPI EC SMBus adapter at 0x18
ACPI: Smart Battery System [SBS0]
+
eth1: link down
ACPI: Smart Battery Charger [SBC]
+
ACPI: Smart Battery System [SBS0]
ACPI: Smart Battery Selector [SBSEL]
+
ACPI: Smart Battery Charger [SBC]
ACPI: Smart Battery Slot [SB0] (battery present)
+
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!!! :))
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
+
Per automatizzare il processo, mettete in rc.modules i moduli smart battery da caricate al boot!
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...
+
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/
Per prima cosa spostiamoci nella directory /sys/devices/system/cpu/cpu0/cpufreq/
  +
Troviamo vari file tra cui:
Troviamo vari file tra cui:
* cpuinfo_cur_freq: indica la frequenza attuale del processore;
+
* cpuinfo_cur_freq: indica la frequenza attuale del processore;
* cpuinfo_max_freq: indica la frequenza massima supportata dal processore;
+
* cpuinfo_max_freq: indica la frequenza massima supportata dal processore;
* cpuinfo_min_freq: indica la frequenza minima supportata dal processore;
+
* cpuinfo_min_freq: indica la frequenza minima supportata dal processore;
* scaling_available_frequencies: mostra le possibili frequenze che il processore può avere;
+
* scaling_available_frequencies: mostra le possibili frequenze che il processore può avere;
* scaling_available_governors: mostra le possibili politiche di gestione delle frequenze supportate dal processore;
+
* scaling_available_governors: mostra le possibili politiche di gestione delle frequenze supportate dal processore;
* scaling_cur_freq: indica l'attuale frequenza del processore, per la politica usata;
+
* scaling_cur_freq: indica l'attuale frequenza del processore, per la politica usata;
* scaling_driver: indica il tipo di processore, nel nostro caso "centrino";
+
* scaling_driver: indica il tipo di processore, nel nostro caso "centrino";
* scaling_governor: indica l'attuale politica utilizzata
+
* scaling_governor: indica l'attuale politica utilizzata
* scaling_max_freq: indica la massima frequenza imposta dall'attuale politica di gestione delle frequenze;
+
* scaling_max_freq: indica la massima frequenza imposta dall'attuale politica di gestione delle frequenze;
* scaling_min_freq: indica la minima frequenza imposta dall'attuale politica di gestione delle frequenze.
+
* scaling_min_freq: indica la minima frequenza imposta dall'attuale politica di gestione delle frequenze.
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:
+
Detto questo, basta cambiare il contenuto del file scaling_governor per cambiate la politica utilizzata dal centrino.
* performance: imposta staticamete la frequenza della CPU alla massima consentita;
+
Il file scaling_available_governors indica le possibili politiche utilizzabili:
* conservative: "dovrebbe" gestire automaticamente le politiche a seconda se si sta usando la batteria o l'adattatore della corrente (batteria=powersave - ac_adapter=performance);
+
* powersave: imposta staticamente la frequenza della CPU alla minima consentita;
+
* performance: imposta staticamete la frequenza della CPU alla massima consentita;
* ondemand: la frequenza viene gestita dinamicamente a seconda del carico della CPU (centrino speed-step)
+
* conservative: "dovrebbe" gestire automaticamente le politiche a seconda se si sta usando la batteria o l'adattatore della corrente (batteria=powersave - ac_adapter=performance);
* userspace: in questa politica è l'utente che decide la frequenza per la CPU.
+
* powersave: imposta staticamente la frequenza della CPU alla minima consentita;
  +
* ondemand: la frequenza viene gestita dinamicamente a seconda del carico della CPU (centrino speed-step)
  +
* userspace: in questa politica è l'utente che decide la frequenza per la CPU.
Ora per scegliere una di queste politiche, basta eseguire questo comando shell (da root):
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:
+
echo POLICY > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
root@joybook[~]# echo BLABLALBA > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
+
bash: echo: write error: Invalid argument
+
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:
  +
  +
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!
E' possibile (per esempio) crearsi uno script bash per effettuare in modo automatico il cambio di politica!
Joybook HotKeys
+
  +
== Joybook HotKeys ==
  +
Grazie agli hotkey è possibile visualizzare le impostazioni degli switch hardware del nostro amato joybook!
Grazie agli hotkey è possibile visualizzare le impostazioni degli switch hardware del nostro amato joybook!
  +
Per far andare gli hotkeys basta seguire i seguenti passi:
Per far andare gli hotkeys basta seguire i seguenti passi:
* scaricare l'archivio benqs53w-hotkey-linux.tar.bz2
+
* scaricare l'archivio [http://www.capponcino.it/alessio/linux_on_joybook-S53/files/benqs53w-hotkey-linux.tar.bz2 benqs53w-hotkey-linux.tar.bz2]
* estrarre l'archivio e copiare il file .Xmodmap in /usr/X11R6/lib/X11/xinit/ naturalmente da ROOT
+
* estrarre l'archivio e copiare il file .Xmodmap in /usr/X11R6/lib/X11/xinit/ naturalmente da ROOT
* aggiorare il file rc.local inserendo le seguenti righe
+
* aggiorare il file rc.local inserendo le seguenti righe
alessio@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:
 
echo "Setting up multimedia keys..."
+
alessio@joybook[~]# cat /etc/rc.d/rc.local
# help
+
#!/bin/sh
/usr/bin/setkeycodes e02b 171
+
#
# light up-down
+
# /etc/rc.d/rc.local: Local system initialization script.
/usr/bin/setkeycodes e06e 238
+
#
# electricity
+
# Put any local setup commands in here:
/usr/bin/setkeycodes e031 177
+
# Touchpad switch -disabled
+
echo "Setting up multimedia keys..."
/usr/bin/setkeycodes e071 172
+
# help
# Touchpad switch -enabled
+
/usr/bin/setkeycodes e02b 171
/usr/bin/setkeycodes e072 173
+
# light up-down
# wifi killswitch
+
/usr/bin/setkeycodes e06e 238
/usr/bin/setkeycodes e040 192
+
# electricity
* importare il file benq.khotkeys presente nell'archivio dal centro di controllo di KDE: Control Center --> Regional & Accessibility --> Input Actions --> General Settings --> Import new actions. Poi confermare.
+
/usr/bin/setkeycodes e031 177
Se avete problemi nell'importare il file, date un bel chmod 775 al suddetto file.
+
# Touchpad switch -disabled
  +
/usr/bin/setkeycodes e071 172
  +
# Touchpad switch -enabled
  +
/usr/bin/setkeycodes e072 173
  +
# wifi killswitch
  +
/usr/bin/setkeycodes e040 192
  +
  +
* importare il file benq.khotkeys presente nell'archivio dal centro di controllo di KDE: Control Center > Regional & Accessibility > Input Actions > General Settings > Import new actions. Poi confermare.
  +
  +
Se avete problemi nell'importare il file, date un bel chmod 775 al suddetto file.
Ora potere verificare il funzionamento dei tasti di funzione provando ad esempio queste combinazioni di tasti:
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+F6''' vedrete in alto a sinistra un piccolo popup che vi indica lo stato del touchpad - ON/OFF
Fn+F12 per variare lo switch della WiFi e del Bluetooth.
+
  +
'''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 ==
== Bluetooth ==

Versione attuale delle 20:10, 22 feb 2007


Indice

[modifica] 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)

[modifica] Tabella riassuntiva

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

Componente Funzionante Note
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
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 Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Ctrl. NO Audio permanentemente muto. Problema già segnalato da tempo nella mailing-list di ALSA Project. https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1134
Modem: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem  ?? Probabilmente non funzionante per via del driver audio non funzionante.
IDE controller: Texas Instruments PCIxx21 Integrated FlashMedia Ctrl NO Non supportato.
IEEE 1394: Texas Instruments OHCI Compliant IEEE 1394 Host Controller  ?? Non testato.
Network controller: Intel Corporation PRO/Wireless 2200BG OK http://ipw2200.sourceforge.net/
Ethernet controller: Realtek Semiconductor - Kernel module "8139too" OK
IrDA controller  ?? Non testato.
HotKeys OK
Bluetooth OK
Kernel 2.6.16 OK

[modifica] Kernel

Il config del kernel-2.6.16: config-2.6.16

[modifica] Moduli da caricare al boot

rc.modules: rc.modulesupdated

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

[modifica] 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 qui. Bisogna inoltre applicare una patch al kernel per poter caricare la tabella esterna. Per informazioni.

[modifica] Xorg config

Per la configurazione di Xorg (versione 6.9) vi rimando al mio xorg.conf.

Funzionano tutte le periferiche di input mouse USB and PS-2, tastiera e touchpad.

[modifica] DRI (Direct Rendering)

Bisogna scaricare ed installare l'ultimo snapshot dell'i915 dal questo [http://dri.freedesktop.org/snapshots/

sito] (versione sicuramente funzionante: 25-Mar-2006 08:31). 

L'istallazione è molto semplice, basta uscire da X (init 3), sompattare il file e lanciare l'installer!

Nota: L'operazione va effettuata ogni volta che si ricompila il kernel.

[modifica] 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:

  • Touch-click disabilitato
  • Scroll bar verticale attivato
  • Scroll bar orizzontale disattivato
  • Maggiore presicione e sensibilità
  • Doppio mouse; funziona anche quello esterno USB!

Ecco come fare:

Scaricare e compilate i driver Symaptics da questo sito:

make && make install

oppure usate il pacchetto slackware compilato da me synaptics-0.14.6-i386-1.tgz ed installatelo:

upgradepkg --install-new synaptics-0.14.6-i386-1.tgz

Vi consiglio di leggere anche il file INSTALL presente nell'archivio dei sorgenti

Ora dobbiamo assicurarci che i moduli psmouse e evdev siano caricati o presenti come build-in nel kernel (se usate il mio config li trovate già come moduli). Quindi diamo da root modprobe evdev e modprobe psmouse.

Ora non resta che modificare il file /etc/X11/xorg.conf. Potete utilizzare questo

Comunque ecco cosa occorre fare...

Per prima cosa bisogna caricare il modulo synaptics nella sezione iniziale "Module"

Section "Module"

.....
# This loads the Synaptics module
Load "synaptics"

EndSection

Successivamente creiamo i due "InputDevice", uno per il touchpad, ed uno per il mouse USB esterno

# Synaptics touchpad
Section "InputDevice"

Identifier    "MouseSynaptics"
Driver        "synaptics"
Option        "Device"             "/dev/psaux"
Option        "Protocol"           "auto-dev"
Option        "LeftEdge"           "1900"
Option        "RightEdge"          "5400"
Option        "TopEdge"            "1900"
Option        "BottomEdge"         "4000"
Option        "FingerLow"          "25"
Option        "FingerHigh"         "30"
Option        "MaxTapTime"         "0"      #the touch-click is off!
Option        "MaxTapMove"         "100"
Option        "VertScrollDelta"    "100"    #vertical scroll (0 to disable)
Option        "HorizScrollDelta"   "0"      #horizontal scroll (0 to disable)
Option        "MinSpeed"           "0.09"
Option        "MaxSpeed"           "0.22"
Option        "AccelFactor"        "0.0017"
Option        "SHMConfig"          "on"

EndSection

# USB mouse
Section "InputDevice"

Identifier    "MouseUsb"
Driver        "mouse"
Option        "Protocol"           "Auto"
Option        "Device"             "/dev/input/mice"
Option        "ZAxisMapping"       "4 5"

EndSection

Ora basta reimpostare i Layout nella sezione "ServerLayout" ed il gioco è fatto! :D State attenti a scrivere bene gli identificatori, e ricordate di impostare il touchpad a "AlwaysCore"!

Section "ServerLayout"

# The Identifier line must be present
Identifier  "Simple Layout"
        
Screen "Screen 1"

InputDevice "MouseSynaptics"   "AlwaysCore"     # IMPORTANT!
InputDevice "MouseUsb"         "CorePointer"    # IMPORTANT!
InputDevice "Keyboard1"        "CoreKeyboard"

EndSection

Ora riavviate X e godete! :D Potete sempre variare i parametri di xorg.conf per settare al meglio la velocità e tutte quelle cose personali... Credo che così sia la miglior soluzione per il JoyBook...!

[modifica] 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..."

[modifica] IRQ Problem

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 [ http://iphitus.loudas.com/beyond.html patches].

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

[modifica] BIOS Upgrade

Consiglio vivamente di aggiornare il bios!

Infatti ci sono problemi sul caricamento della batteria, che non viene caricata al 100%. fonte Benq.it

[modifica] ACPI Smart Battery

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.

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

[modifica] 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:

  • cpuinfo_cur_freq: indica la frequenza attuale del processore;
  • cpuinfo_max_freq: indica la frequenza massima supportata dal processore;
  • cpuinfo_min_freq: indica la frequenza minima supportata dal processore;
  • scaling_available_frequencies: mostra le possibili frequenze che il processore può avere;
  • scaling_available_governors: mostra le possibili politiche di gestione delle frequenze supportate dal processore;
  • scaling_cur_freq: indica l'attuale frequenza del processore, per la politica usata;
  • scaling_driver: indica il tipo di processore, nel nostro caso "centrino";
  • scaling_governor: indica l'attuale politica utilizzata
  • scaling_max_freq: indica la massima frequenza imposta dall'attuale politica di gestione delle frequenze;
  • scaling_min_freq: indica la minima frequenza imposta dall'attuale politica di gestione delle frequenze.

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:

  • performance: imposta staticamete la frequenza della CPU alla massima consentita;
  • conservative: "dovrebbe" gestire automaticamente le politiche a seconda se si sta usando la batteria o l'adattatore della corrente (batteria=powersave - ac_adapter=performance);
  • powersave: imposta staticamente la frequenza della CPU alla minima consentita;
  • ondemand: la frequenza viene gestita dinamicamente a seconda del carico della CPU (centrino speed-step)
  • userspace: in questa politica è l'utente che decide la frequenza per la CPU.

Ora per scegliere una di queste politiche, basta eseguire questo comando shell (da root):

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:

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!

[modifica] 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:

  • scaricare l'archivio benqs53w-hotkey-linux.tar.bz2
  • estrarre l'archivio e copiare il file .Xmodmap in /usr/X11R6/lib/X11/xinit/ naturalmente da ROOT
  • aggiorare il file rc.local inserendo le seguenti righe
alessio@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:
echo "Setting up multimedia keys..."
# help
/usr/bin/setkeycodes e02b 171
# light up-down
/usr/bin/setkeycodes e06e 238
# electricity
/usr/bin/setkeycodes e031 177
# Touchpad switch -disabled
/usr/bin/setkeycodes e071 172
# Touchpad switch -enabled
/usr/bin/setkeycodes e072 173
# wifi killswitch
/usr/bin/setkeycodes e040 192
  • importare il file benq.khotkeys presente nell'archivio dal centro di controllo di KDE: Control Center > Regional & Accessibility > Input Actions > General Settings > Import new actions. Poi confermare.

Se avete problemi nell'importare il file, date un bel chmod 775 al suddetto file.

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.

[modifica] Bluetooth

Come se non bastasse il nostro gioiello possiede anche un bel dispositibo Bluetooth! :) Per farlo andare egregiamente basta eseguire questi pochi passi:

  • Scaricate il mega pack mega-pack.tar.bz2
  • Aprite la Shell e estraete l'archivio con il comando
tar xfvj mega-pack.tar.bz2
  • Entrate nella directory appena scompattata e da root date il seguente comando che installerà tutto l'occorrente:
upgradepkg --install-new *.tgz
  • Ora caricate i driver per il bluetooth (se avete usato il mio config, già è tutto pronto) con il comando da root:
modprobe bluetooth 

PS: Aggiungete questo comando nel file /etc/rc.d/rc.modules per caricare all'avvio il driver

  • Creare il file /etc/bluetooth/mypin.sh ed inserire le seguenti righe:
#!/bin/bash
echo "PIN:XXXXX" # XXXXX is the secret PIN Number. Change this for instance 12345
  • Una volta creato il file date il comando
chmod a+x /etc/bluetooth/mypin.sh
  • Ora scaricate il file hcid.conf e sovrascrivete quello che avete:
cp -v hcid.conf /etc/bluetooth/hcid.conf
  • Abbiamo finito! Se tutto è endato bene, fate partire l'aplicazione kbluetoothd e tutto dovrebbe funzionare!

Autore: Alessio di Fazio

Strumenti personali
Namespace

Varianti