Old:Debian on a HP Compaq NX6110: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
 
(20 versioni intermedie di 8 utenti non mostrate)
Riga 1: Riga 1:
[[Categoria:Sistema]]
{{Old}}
[[Categoria:Laptop]]
[[immagine:Hp-compaq-nx6110.jpg|frame|right|HP Compaq nx6110]]
Questa guida tratta la configurazione delle modalit� di sospensione ed ibernazione del nostro sistema operativo in esecuzione su laptop e notebook di recente generazione.
== Introduzione ==
Il portatile HP Compaq NX 6110 viene certificato da HP come compatibile al 100% con GNU/Linux. HP distribuisce opzionalmente (almeno ufficialmente, io non ne ho trovati disponibili) questi portatili senza alcun sistema operativo ed ha lavorato con Ubuntu per utilizzare hardware pienamente funzionante anche con GNU/Linux.  


=Prerequisiti=
''Guida segnalata su [http://tuxmobil.org/hp_compaq.html TuxMobil] e [http://www.linux-on-laptops.com/hp.html Linux On Laptops]''
I prerequisiti per poter abilitare la sospensione e l' ibernazione del nostro portatile sono semplici:
* i sorgenti di un kernel recente e la capacit� compilarlo;
* alcuni programmi utili
* spazio sufficiente su disco


=Software necessario=
==Manualistica==
Dobbiamo procurarci alcuni programmi:
HP mette a disposizione per la consultazione il [http://h20000.www2.hp.com/bc/docs/support/SupportManual/c00502970/c00502970.pdf manuale di manutenzione per l' HP Compaq nx6110]. Il manuale, di 237 pagine, è molto utile nel caso in cui si voglia conoscere nel minimo dettaglio l' hardware che equipaggia il laptop o si desideri provvedere in proprio ad effettuare riparazioni/aggiornamenti/manutenzione (montaggio/smontaggio) del computer.
* hibernate (il programma a linea di comando che gestisce l' ibernazione)
* suspend2 (una patch per il kernel)
* eventualmente i tools di gestione del risparmio energetico per il nostro Desktop Environment. In questa guida far� riverimento espressamente a Gnome Power Management (GPM), ma presumo il tutto sia facilmente adattabile ad altri programmi.


==Hibernate==
==Guide specifiche==
Procediamo con l' installare hibernate. Il tutto si risolve con il classico:
In questa guida sull'installazione di Debian sul portatile HP Compaq nx 6110 vengono menzionate guide relative a configurazioni particolari (le trovate linkate man mano). Ecco un breve indice:
<pre># apt-get install hibernate vlock</pre>
# [[Cpufreqd: Un demone per il CPU frequency scaling]]
# [[Old:Debian: software suspend e ibernazione per laptops]] by keltik
# [[Synaptics touchpad]] by MaXeR
# [[Intel PRO/Wireless 2200BG]] by keltik


==Suspend2==
==Hardware==
===Scaricare la patch===
* Processore: Intel(R) Pentium(R) M processor 1.50GHz
Dal sito di [http://www.suspend2.net/ Suspend2], scarichiamo la versione pi� recente della patch. Al momento di scrivere questa guida il kernel pi� recente � il 2.6.16.19 e la patch Suspend2 � la 2.2.5.
* Memoria RAM: 512Mb
* Scheda Video: Intel 915GM
* Scheda Audio: Intel AC'97 (modem)
* Scheda Ethernet: Broadcom BCM 4401 100 Base TX
* Scheda Wireless: Intel PRO/Wireless LAN 2200 BG mini PCI


Ecco come procedere.
==Output di lspci==
====Download====
<pre>Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor
<pre>koky:~# cd /usr/src/
to DRAM Controller (rev 03)
koky:/usr/src#
koky:/usr/src# wget http://www.suspend2.net/downloads/all/suspend2-2.2.5-for-2.6.16.9.tar.bz2
--12:40:13--  http://www.suspend2.net/downloads/all/suspend2-2.2.5-for-2.6.16.9.tar.bz2
          => `suspend2-2.2.5-for-2.6.16.9.tar.bz2'
Risoluzione di www.suspend2.net in corso... 212.236.250.103
Connessione a www.suspend2.net|212.236.250.103:80... connesso.
HTTP richiesta inviata, aspetto la risposta... 200 OK
Lunghezza: 104,327 (102K) [application/x-bzip2]


100%[====================================>] 104,327      77.44K/s
VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express
Graphics Controller (rev 03)


12:40:17 (77.22 KB/s) - "suspend2-2.2.5-for-2.6.16.9.tar.bz2" salvato [104327/104327]
Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics
Controller (rev 03)


koky:/usr/src#</pre>
USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI
#1 (rev 03)


====Decompressione====
USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI
<pre>koky:/usr/src# tar xvjf suspend2-2.2.5-for-2.6.16.9.tar.bz2
#2 (rev 03)
suspend2-2.2.5-for-2.6.16.9/
suspend2-2.2.5-for-2.6.16.9/apply
suspend2-2.2.5-for-2.6.16.9/Changelog.txt
suspend2-2.2.5-for-2.6.16.9/unapply
suspend2-2.2.5-for-2.6.16.9/2000-workqueue-freezing.patch
suspend2-2.2.5-for-2.6.16.9/features
suspend2-2.2.5-for-2.6.16.9/2020-kmod-freeze.patch
suspend2-2.2.5-for-2.6.16.9/3030-reboot-handler-hook.patch
suspend2-2.2.5-for-2.6.16.9/3020-cryptoapi-deflate.patch
suspend2-2.2.5-for-2.6.16.9/3050-init-hooks.patch
suspend2-2.2.5-for-2.6.16.9/3060-reset-kswapd-max-order-after-resume.patch
suspend2-2.2.5-for-2.6.16.9/3080-dynamic-pageflags.patch
suspend2-2.2.5-for-2.6.16.9/3070-clear-swapfile-bdev-in-swapoff.patch
suspend2-2.2.5-for-2.6.16.9/3040-proc-acpi-sleep-activate-hook.patch
suspend2-2.2.5-for-2.6.16.9/2010-suspend2-freezer-upgrade.patch
suspend2-2.2.5-for-2.6.16.9/3000-crypto-api-lzf-support.patch
suspend2-2.2.5-for-2.6.16.9/9900-Suspend2.patch
koky:/usr/src#</pre>


===Applicare la patch===
USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI
Ora che abbiamo scaricato e decompresso la patch, dobbiamo applicarla al nostro kernel, quello che intendiamo usare o usiamo quotidianamente.
#3 (rev 03)


Presumendo che la versione corrente del kernel sia linkata alla directory '''/usr/src/linux''' procederemo come segue:
USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI
<pre>koky:/usr/src# cd linux
#4 (rev 03)
koky:/usr/src/linux# ../suspend2-2.2.5-for-2.6.16.9/apply
Applying 2000-workqueue-freezing.patch ...
Applying 2010-suspend2-freezer-upgrade.patch ...
Applying 2020-kmod-freeze.patch ...
Applying 3000-crypto-api-lzf-support.patch ...
Applying 3020-cryptoapi-deflate.patch ...
Applying 3030-reboot-handler-hook.patch ...
Applying 3040-proc-acpi-sleep-activate-hook.patch ...
Applying 3050-init-hooks.patch ...
Applying 3060-reset-kswapd-max-order-after-resume.patch ...
Applying 3070-clear-swapfile-bdev-in-swapoff.patch ...
Applying 3080-dynamic-pageflags.patch ...
Applying 9900-Suspend2.patch ...
All happy!
koky:/usr/src/linux#</pre>
Lo script ci informa di aver applicato correttamente la patch. Ora possiamo passare a compilare il nostro kernel!


===Configurare il kernel===
USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI
Le schermate che seguono mostrano cosa abilitare all' interno del kernel.
Controller (rev 03)


* Attraverso il menu "Suspend2" possiamo accedere alle varie sezioni utili:
PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
[[image:Menuconfig-01.png]]


* La sezione "Image Storage" permette di specificare il writer da utilizzare. Il writer permette di salvare lo stato del sistema all' interno della partizione di scambio (swap) oppure all' interno di un qualsiasi file del file system. La prima opzione � senz'altro pi� rapida, mentre la seconda � indicata nel caso la partizione di swap sia di dimensioni insufficienti (per la sospensione di un sistema con ambiente grafico direi che il minimo indispensabile � di circa 700/800Mb). All' interno di "Default resume device name" indichiamo la partizione di swap che vogliamo utilizzare.
Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family)  
[[image:Menuconfig-02.png]]
AC'97 Audio Controller (rev 03)


* Abbiamo bisogno di abilitare la crittografia LZF. Dalla sezione "CryptoAPI" (vedi screenshot)
Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem
[[image:Menuconfig-03.png]]
Controller (rev 03)


* Selezioniamo la libreria '''LZF'''
ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
[[image:Menuconfig-04.png]]


Ora possiamo dare il via alla compilazione e attendere fiduciosi ;-)
IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE
===Test del kernel===
Controller (rev 03)
Installiamo nel solito modo il nuovo kernel e riavviamo la macchina senza ulteriori configurazioni: quel che ci preme ora consiste nel verificare che Suspend2 sia stato correttamente compilato prima di procedere oltre.


Riavviamo il sistema: durante l' avvio dovremmo vedere alcuni messaggi riguardanti Suspend2. Possiamo anche utilizzare '''dmesg''' per controllare con pi� calma.
Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)


Quello che dovremmo leggere a video grossomodo �:
CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
<pre>koky:~# dmesg |grep Suspend
Suspend2 Core.
Suspend2 Compression Driver loading.
Suspend2 Encryption Driver loading.
Suspend2 Swap Writer loading.
Suspend2 FileWriter loading.
Suspend2 2.2.5: Swapwriter: Signature found.
Suspend2 2.2.5: Resuming enabled.
koky:~#</pre>


Se tutto � andato bene possiamo proseguire.
FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller


=Configurare il sistema=
Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)</pre>


==Scelta della modalit� di sospensione==
==Configurazione==
La scelta della modalit� di sospensione (swap o file) dipende fondamentalmente dallo spazio che abbiamo a disposizione. Se vogliamo utlizzare la partizione di swap come area di memorizzazione, sarebbe opportuno che questa avesse di circa 1Gb. Suspend2 cerca comunque di liberare quanta pi� memoria � possibile prima di sospendere il sistema. Nel mio caso specifico, avendo una partizione di swap di circa 300Mb ho scelto forzatamente l' utilizzo di un file di scambio. Ora vedremo entrambe le configurazioni.


===Partizione di swap===
===Il Kernel===
Nel caso in cui abbiamo scelto di usare una partizione di swap, � sufficiente che annotiamo il nome della partizione e proseguiamo oltre.


===File di swap===
====Kernel 2.6.21 (aggiornamento)====
Se abbiamo optato per utilizzare un file anzich� una partizione dobbiamo affrontare qualche passaggio supplementare.  
Ho realizzato un pacchetto Debian del kernel versione 2.6.21 ed uno contenente i relativi headers. Non ho inserito patch o configurazioni particolari: sono abilitati tutti i moduli presenti nel kernel di pari versione preparato da Debian. L'unica differenza sta in un miglior supporto ACPI (abilitati come moduli tutti i governor) e nella configurazione orientata a un computer Desktop (kernel preemption, I/O scheduler, ecc.).
I pacchetti possono essere scaricati da [http://www.jaxx.it/keltik/documentazione/ questa pagina web] e installati tramite dpkg.


====Creazione del file====
====Kernel 2.6.16 (aggiornamento)====
Per prima cosa creiamo il file in questione:
È disponibile il file di configurazione per kernel della serie [[Kernel config per HP Compaq NX 6110 2.6.16|2.6.16]] testato con successo sia con sorgenti del ramo ufficiale ''vanilla'' che ''Debian''. A differenza del file di configurazione precedente, i moduli per il supporto ACPI a batteria, ventole di raffreddamento, ecc. sono compilati come modulo, ma dovrebbero essere caricati automaticamente durante l'avvio del sistema.
<pre>koky:~# dd if=/dev/zero of=/usr/local/swap bs=1M count=1000
In questo file di configurazione ho compilato staticamente il supporto grafico VESA, in questo modo è possibile abilitare risoluzioni superiori a quella standard già durante l'avvio del kernel. Per fare questo è sufficiente aggiungere il parametro <code>vga=771</code> (o altro) a quelli di avvio del nostro kernel.
koky:~# mkswap /usr/local/swap
koky:~# swapon /usr/local/swap</pre>
In questo modo abbiamo creato da zero il file /usr/local/swap, con dimensione di 1Gb, abbiamo creato al suo interno la struttura di swap e l' abbiamo attivato.


====Headers====
====Kernel 2.6.12 e 2.6.13====
Ora dobbiamo reperire l' indirizzo degli headers che passeremo al kernel in fase di avvio:
Metto a disposizione degli interessati il file di configurazione per i kernel [[Kernel config per HP Compaq NX 6110| 2.6.12 e 2.6.13]] (dovrebbe funzionare anche con altre versioni comunque). Andate al link, copiate il testo e incollatelo in un file sul vostro PC e quindi spostatelo nella directory dove risiedono i sorgenti del kernel che volete compilare (normalmente <code>/usr/src/linux/</code>) rinominandolo in <code>.config</code>.
<pre>koky:~# cat /proc/suspend2/headerlocations
{{Warningbox|Il kernel è configurato per fornire supporto ai filesystem ext2 e reiserFS (oltre a VFAT, NTFSrw e NCPFS). Se la vostra installazione prevede l'uso di altri filesystem, '''è necessario''' abilitarli prima di ricompilare il kernel. Altra peculiarità da notare è la mancanza dei moduli per il PPP anche questi da abilitare se necessari.}}
For swapfile `/usr/local/swap              `, use resume2=swap:/dev/hda3:0x2da2b4@4096</pre>
Ovviamente voi otterrete un valore diverso: annotatelo!


==Problemi con il server X==
===Processore, frequency scaling e ACPI===
La sospensione del sistema mentre attiva una sessione del server pu� causare il blocco del display: al ritorno dalla sospensione lo schermo apparir� nero e dovremo necessariamente riavviare.
==== Frequency Scaling====
Il kernel così configurato supporta le tecnologie di scaling per la frequenza della CPU. Dato che il supporto è compilato come modulo, è necessario che esso venga caricato prima di poter essere disponibile (modulo <code>'''speedstep-centrino'''</code>). Offre inoltre il supporto per il demone [[Cpufreqd: Un demone per il CPU frequency scaling|cpufreqd]]. Per installare questo demone è sufficiente:
<pre># apt-get install cpufreqd</pre>
Maggiori informazioni possono essere reperite nella mia guida: [[Cpufreqd: Un demone per il CPU frequency scaling]].
 
====Supporto ACPI====
È abilitato anche il supporto (modulare) per l'ACPI (battery, button, fan, thermal zone).
====Software Suspend====
È possibile abilitare la sospensione del sistema tramite Software Suspend, e cioè salvando lo stato del sistema nella partizione di swap oppure in un file. A questo riguardo ho scritto una guida dedicata, dal titolo [[Old:Debian: software suspend e ibernazione per laptops]].
 
La sospensione del sistema mentre è attiva una sessione del server X causa il blocco del display: al ritorno dalla sospensione lo schermo apparirà nero e dovremo necessariamente riavviare.


Per ovviare a questo problema dobbiamo scaricare il programma '''vbetool''' con il comando:
Per ovviare a questo problema dobbiamo scaricare il programma '''vbetool''' con il comando:
Riga 149: Riga 103:
e mettere mano alla nostra configurazione di Xorg e aggiungere alcune direttive:
e mettere mano alla nostra configurazione di Xorg e aggiungere alcune direttive:


* All' interno della sezione "Device", che riguarda la scheda grafica aggiungiamo <pre>        Option          "VBERestore"            "1"</pre>in modo che la sezione sia qualcosa di simile a:<pre><nowiki>Section "Device"
* All'interno della sezione <code>"Device"</code>, che riguarda la scheda grafica aggiungiamo <pre>        Option          "VBERestore"            "1"</pre> in modo che la sezione sia qualcosa di simile a:<pre><nowiki>Section "Device"
         Identifier      "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
         Identifier      "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
         Driver          "i810"
         Driver          "i810"
Riga 155: Riga 109:
         Option          "VBERestore"            "1"
         Option          "VBERestore"            "1"
EndSection</nowiki></pre>
EndSection</nowiki></pre>
* Alla fine del file xorg.conf creiamo questa nuova sezione:<pre><nowiki>Section "ServerFlags"
* Alla fine del file <code>xorg.conf</code> creiamo questa nuova sezione:<pre><nowiki>Section "ServerFlags"
         Option          "BlankTime"    "0"
         Option          "BlankTime"    "0"
EndSection</nowiki></pre>
EndSection</nowiki></pre>


Riavviamo la sessione grafica e tutto funzioner� a dovere.
Riavviamo la sessione grafica e tutto funzionerà a dovere.
 
===Server grafico (Xfree86 e Xorg) e accelerazione 3D===
Il supporto alla scheda grafica ed all'accelerazione 3D sono compilati nel kernel di cui sopra.
Il file <code>xorg.conf</code> che trovate qui sotto rappresenta la configurazione per Xorg e prevede l'abilitazione per il DRI (accelerazione 3D) e l'uso simultaneo del touchpad e del mouse.
Il file di configurazione è perfettamente funzionante anche per Xfree86 (è sufficiente rinominarlo).
 
Qualora non funzioni tutto a dovere seguite i due link sottostanti:
 
*[http://www.larsen-b.com/Article/231.html Guida di base all'accelerazione grafica] (guida di base e test)
*[http://www.jaxx.it/keltik/xorg-e-il-direct-rendering-con-i915/#comments Qualora i test descritti dalla guida precedente fallissero, leggete qui]
 
In particolare il secondo link spiega come utilizzare pacchetti experimental che dovrebbero presto comparire nella versione unstable: quindi con il passare del tempo tenderà a divenire superfluo.
 
Per la configurazione avanzata del touchpad vi rimando all'ottima guida [[Synaptics touchpad]] scritta da [[Utente:MaXeR|MaXeR]].
 
<pre>
# xorg.conf.dpkg-new (Xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf.dpkg-new manual page.
# (Type "man xorg.conf.dpkg-new" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
# cp /etc/X11/xorg.conf.dpkg-new /etc/X11/xorg.conf.dpkg-new.custom
# md5sum /etc/X11/xorg.conf.dpkg-new >/var/lib/xfree86/xorg.conf.dpkg-new.md5sum
# dpkg-reconfigure xserver-xorg
 
Section "Files"
FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
EndSection
 
Section "Module"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "type1"
Load "v4l"
Load "vbe"
EndSection
 
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "it"
EndSection
 
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection
 
Section "Device"
Identifier "Scheda video generica"
Driver "i810"
BusID "PCI:0:2:0"
EndSection
 
Section "Monitor"
Identifier "Monitor Generico"
Option "DPMS"
EndSection
 
Section "Screen"
Identifier "Default Screen"
Device "Scheda video generica"
Monitor "Monitor Generico"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection
 
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection


==Configurazione del bootloader==
Section "DRI"
Ora possiamo passare alla configurazione del bootloader, in modo da passare al nostro kernel i parametri corretti per la sospensione.
Mode 0666
EndSection
</pre>


La sintassi corretta prevede che alla direttiva '''kernel''' di menu.lst di Grub venga aggiunta una tra le due opzioni seguenti:
===Scheda Audio e ALSA===
* <pre>resume2=swap:/dev/hda4</pre> nel caso di partizione di swap. usate la vostra!
La scheda audio funziona perfettamente con ALSA.
* <pre>resume2=swap:/dev/hda3:0x4478d8</pre> nel caso di file di swap. usate il vostro!
Tutto quello che dobbiamo fare consiste in:
<pre># apt-get install alsa-base alsa-utils
# alsaconf</pre>
Scegliamo la nostra scheda da quelle disponibili ed il gioco è fatto.


=Permessi e gruppi=
===Modem===
Affinch� la sospensione e l' ibernazione siano utilizzabili dall' utente con cui generalmente accediamo al sistema, e che quindi anche le utilities del nostro ambiente desktop possano parlo, � necessario aggiungere l' utente al gruppo '''powerdev'''.
Il modem è uno SmartLink, supportato da GNU/Linux senza eccessivi patemi. Assicuriamoci che il modulo <code>'''snd_intel8x0m'''</code> venga caricato dal kernel e procediamo a scaricare il software necessario.


E' sufficiente questo comando:
Debian mette a disposizione il pacchetto <code>''slmodem''</code>, che fornisce le utility e il demone necessari al controllo del modem. Installiamolo con il comando:
<pre>koky:~# adduser nome_utente powerdev</pre>
<pre># apt-get install sl-modem-daemon</pre>


===Scheda Ethernet Broadcom BCM 4401===
Il supporto alla scheda ethernet è fornito nel kernel. Funziona anche con le immagini del kernel 2.6.8 installate da Debian per default.
===Scheda wireless Intel PRO/Wireless LAN 2200 BG mini PCI===
Per la configurazione di questa scheda, vi rimando alla guida [[Intel_PRO/Wireless_2200BG| Intel PRO Wireless 2200BG]].


Per abilitare la bella luce blu che segnala il link wireless dobbiamo impostare il parametro "led" per il modulo ipw2200.


Happy suspending! ;-)
Operiamo come segue:
<pre># touch /etc/modprobe.d/ipw2200
# echo "options ipw2200 led=1" > /etc/modprobe.d/ipw2200</pre>


----
==Abilitare il reboot==
Autore: [[Utente:Keltik|keltik]] 08:56, 13 Giu 2006 (EDT)<br />
La configurazione standard di Grub, non permette al sistema di riavviarsi. È quindi necessario aggiungere il parametro <code>reboot=b</code> alla direttiva <code>kernel</code> nel nostro file <code>menu.lst</code>.
Aggiornato: [[Utente:Keltik|keltik]] 05:27, 20 Giu 2006 (EDT)

Versione attuale delle 21:12, 8 nov 2019

Emblem-important.png Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica.


HP Compaq nx6110

Introduzione

Il portatile HP Compaq NX 6110 viene certificato da HP come compatibile al 100% con GNU/Linux. HP distribuisce opzionalmente (almeno ufficialmente, io non ne ho trovati disponibili) questi portatili senza alcun sistema operativo ed ha lavorato con Ubuntu per utilizzare hardware pienamente funzionante anche con GNU/Linux.

Guida segnalata su TuxMobil e Linux On Laptops

Manualistica

HP mette a disposizione per la consultazione il manuale di manutenzione per l' HP Compaq nx6110. Il manuale, di 237 pagine, è molto utile nel caso in cui si voglia conoscere nel minimo dettaglio l' hardware che equipaggia il laptop o si desideri provvedere in proprio ad effettuare riparazioni/aggiornamenti/manutenzione (montaggio/smontaggio) del computer.

Guide specifiche

In questa guida sull'installazione di Debian sul portatile HP Compaq nx 6110 vengono menzionate guide relative a configurazioni particolari (le trovate linkate man mano). Ecco un breve indice:

  1. Cpufreqd: Un demone per il CPU frequency scaling
  2. Old:Debian: software suspend e ibernazione per laptops by keltik
  3. Synaptics touchpad by MaXeR
  4. Intel PRO/Wireless 2200BG by keltik

Hardware

  • Processore: Intel(R) Pentium(R) M processor 1.50GHz
  • Memoria RAM: 512Mb
  • Scheda Video: Intel 915GM
  • Scheda Audio: Intel AC'97 (modem)
  • Scheda Ethernet: Broadcom BCM 4401 100 Base TX
  • Scheda Wireless: Intel PRO/Wireless LAN 2200 BG mini PCI

Output di lspci

Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor 
to DRAM Controller (rev 03)

VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express 
Graphics Controller (rev 03)

Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics 
Controller (rev 03)

USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI 
#1 (rev 03)

USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI 
#2 (rev 03)

USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI 
#3 (rev 03)

USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI 
#4 (rev 03)

USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI
Controller (rev 03)

PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)

Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) 
AC'97 Audio Controller (rev 03)

Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem 
Controller (rev 03)

ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)

IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE 
Controller (rev 03)

Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)

CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller

FireWire (IEEE 1394): Texas Instruments OHCI Compliant IEEE 1394 Host Controller

Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)

Configurazione

Il Kernel

Kernel 2.6.21 (aggiornamento)

Ho realizzato un pacchetto Debian del kernel versione 2.6.21 ed uno contenente i relativi headers. Non ho inserito patch o configurazioni particolari: sono abilitati tutti i moduli presenti nel kernel di pari versione preparato da Debian. L'unica differenza sta in un miglior supporto ACPI (abilitati come moduli tutti i governor) e nella configurazione orientata a un computer Desktop (kernel preemption, I/O scheduler, ecc.). I pacchetti possono essere scaricati da questa pagina web e installati tramite dpkg.

Kernel 2.6.16 (aggiornamento)

È disponibile il file di configurazione per kernel della serie 2.6.16 testato con successo sia con sorgenti del ramo ufficiale vanilla che Debian. A differenza del file di configurazione precedente, i moduli per il supporto ACPI a batteria, ventole di raffreddamento, ecc. sono compilati come modulo, ma dovrebbero essere caricati automaticamente durante l'avvio del sistema. In questo file di configurazione ho compilato staticamente il supporto grafico VESA, in questo modo è possibile abilitare risoluzioni superiori a quella standard già durante l'avvio del kernel. Per fare questo è sufficiente aggiungere il parametro vga=771 (o altro) a quelli di avvio del nostro kernel.

Kernel 2.6.12 e 2.6.13

Metto a disposizione degli interessati il file di configurazione per i kernel 2.6.12 e 2.6.13 (dovrebbe funzionare anche con altre versioni comunque). Andate al link, copiate il testo e incollatelo in un file sul vostro PC e quindi spostatelo nella directory dove risiedono i sorgenti del kernel che volete compilare (normalmente /usr/src/linux/) rinominandolo in .config.

Warning.png ATTENZIONE
Il kernel è configurato per fornire supporto ai filesystem ext2 e reiserFS (oltre a VFAT, NTFSrw e NCPFS). Se la vostra installazione prevede l'uso di altri filesystem, è necessario abilitarli prima di ricompilare il kernel. Altra peculiarità da notare è la mancanza dei moduli per il PPP anche questi da abilitare se necessari.


Processore, frequency scaling e ACPI

Frequency Scaling

Il kernel così configurato supporta le tecnologie di scaling per la frequenza della CPU. Dato che il supporto è compilato come modulo, è necessario che esso venga caricato prima di poter essere disponibile (modulo speedstep-centrino). Offre inoltre il supporto per il demone cpufreqd. Per installare questo demone è sufficiente:

# apt-get install cpufreqd

Maggiori informazioni possono essere reperite nella mia guida: Cpufreqd: Un demone per il CPU frequency scaling.

Supporto ACPI

È abilitato anche il supporto (modulare) per l'ACPI (battery, button, fan, thermal zone).

Software Suspend

È possibile abilitare la sospensione del sistema tramite Software Suspend, e cioè salvando lo stato del sistema nella partizione di swap oppure in un file. A questo riguardo ho scritto una guida dedicata, dal titolo Old:Debian: software suspend e ibernazione per laptops.

La sospensione del sistema mentre è attiva una sessione del server X causa il blocco del display: al ritorno dalla sospensione lo schermo apparirà nero e dovremo necessariamente riavviare.

Per ovviare a questo problema dobbiamo scaricare il programma vbetool con il comando:

# apt-get install vbetool

e mettere mano alla nostra configurazione di Xorg e aggiungere alcune direttive:

  • All'interno della sezione "Device", che riguarda la scheda grafica aggiungiamo
            Option          "VBERestore"            "1"
    in modo che la sezione sia qualcosa di simile a:
    Section "Device"
       Identifier      "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
       Driver          "i810"
       BusID           "PCI:0:2:0"
       Option          "VBERestore"            "1"

EndSection

  • Alla fine del file xorg.conf creiamo questa nuova sezione:
    Section "ServerFlags"
       Option          "BlankTime"     "0"

EndSection

Riavviamo la sessione grafica e tutto funzionerà a dovere.

Server grafico (Xfree86 e Xorg) e accelerazione 3D

Il supporto alla scheda grafica ed all'accelerazione 3D sono compilati nel kernel di cui sopra. Il file xorg.conf che trovate qui sotto rappresenta la configurazione per Xorg e prevede l'abilitazione per il DRI (accelerazione 3D) e l'uso simultaneo del touchpad e del mouse. Il file di configurazione è perfettamente funzionante anche per Xfree86 (è sufficiente rinominarlo).

Qualora non funzioni tutto a dovere seguite i due link sottostanti:

In particolare il secondo link spiega come utilizzare pacchetti experimental che dovrebbero presto comparire nella versione unstable: quindi con il passare del tempo tenderà a divenire superfluo.

Per la configurazione avanzata del touchpad vi rimando all'ottima guida Synaptics touchpad scritta da MaXeR.

# xorg.conf.dpkg-new (Xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf.dpkg-new manual page.
# (Type "man xorg.conf.dpkg-new" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
# cp /etc/X11/xorg.conf.dpkg-new /etc/X11/xorg.conf.dpkg-new.custom
# md5sum /etc/X11/xorg.conf.dpkg-new >/var/lib/xfree86/xorg.conf.dpkg-new.md5sum
# dpkg-reconfigure xserver-xorg

Section "Files"
FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
EndSection

Section "Module"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "type1"
Load "v4l"
Load "vbe"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "it"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection

Section "Device"
Identifier "Scheda video generica"
Driver "i810"
BusID "PCI:0:2:0"
EndSection

Section "Monitor"
Identifier "Monitor Generico"
Option "DPMS"
EndSection

Section "Screen"
Identifier "Default Screen"
Device "Scheda video generica"
Monitor "Monitor Generico"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection

Section "DRI"
Mode 0666
EndSection

Scheda Audio e ALSA

La scheda audio funziona perfettamente con ALSA. Tutto quello che dobbiamo fare consiste in:

# apt-get install alsa-base alsa-utils
# alsaconf

Scegliamo la nostra scheda da quelle disponibili ed il gioco è fatto.

Modem

Il modem è uno SmartLink, supportato da GNU/Linux senza eccessivi patemi. Assicuriamoci che il modulo snd_intel8x0m venga caricato dal kernel e procediamo a scaricare il software necessario.

Debian mette a disposizione il pacchetto slmodem, che fornisce le utility e il demone necessari al controllo del modem. Installiamolo con il comando:

# apt-get install sl-modem-daemon

Scheda Ethernet Broadcom BCM 4401

Il supporto alla scheda ethernet è fornito nel kernel. Funziona anche con le immagini del kernel 2.6.8 installate da Debian per default.

Scheda wireless Intel PRO/Wireless LAN 2200 BG mini PCI

Per la configurazione di questa scheda, vi rimando alla guida Intel PRO Wireless 2200BG.

Per abilitare la bella luce blu che segnala il link wireless dobbiamo impostare il parametro "led" per il modulo ipw2200.

Operiamo come segue:

# touch /etc/modprobe.d/ipw2200
# echo "options ipw2200 led=1" > /etc/modprobe.d/ipw2200

Abilitare il reboot

La configurazione standard di Grub, non permette al sistema di riavviarsi. È quindi necessario aggiungere il parametro reboot=b alla direttiva kernel nel nostro file menu.lst.