Repository 32bit  Forum
Repository 64bit  Wiki

Benq JoyBook S53: differenze tra le versioni

Da Slacky.eu.
(Bluetooth)
(Xorg config)
Riga 94: Riga 94:
== Xorg config ==
== Xorg config ==
Per la configurazione di Xorg (versione 6.9) vi rimando al mio [ http://www.capponcino.it/alessio/linux_on_joybook-S53/files/xorg.conf xorg.conf].
+
Per la configurazione di Xorg (versione 6.9) vi rimando al mio [http://www.capponcino.it/alessio/linux_on_joybook-S53/files/xorg.conf xorg.conf].
Funzionano tutte le periferiche di input (mouse [USB and PS-2], tastiera e touchpad).
Funzionano tutte le periferiche di input (mouse [USB and PS-2], tastiera e touchpad).

Versione delle 08:58, 11 set 2006


Indice

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
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

Kernel

Il config del kernel-2.6.16: config-2.6.16

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

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.

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).

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:

   * 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 (make && make install) i driver Symaptics dal sito http://web.telia.com/~u89404340/touchpad/files/ oppure usate il pacchetto slackware compilato da me synaptics-0.14.6-i386-1.tgz ed installatelo con il solito 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 il mio xorg.conf - 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...!

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

  1. !/bin/sh
  2. /etc/rc.d/rc.local: Local system initialization script.
  3. Put any local setup commands in here:
      1. 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 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

  1. 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)

  1. 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

  1. cd /path-to-acpi_sbs-xxxxxxxx/
  2. make && make install

Ora date un bel reboot per sicurezza, e al riavvio, caricate i moduli appena installati:

  1. /sbin/modprobe i2c_acpi_ec
  2. /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:

   * 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): 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:

   * 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.

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