Repository 32bit  Forum
Repository 64bit  Wiki

Sony Vaio VGN-S3XP e Slackware Linux 10.2: differenze tra le versioni

Da Slacky.eu.
 
(5 revisioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
  +
[[Category:Laptop]]
  +
= Sony VAIO VGN-S3XP e Slackware Linux 10.2 =
= Sony VAIO VGN-S3XP e Slackware Linux 10.2 =
Riga 5: Riga 7:
{|
{|
!FUNZIONALITA' !! STATUS
!FUNZIONALITA' !! STATUS
|- bgcolor=green
+
|- bgcolor=lightgreen
|Kernel 2.6.17.4 ||100%
|Kernel 2.6.17.4 ||100%
|- bgcolor=green
+
|- bgcolor=lightgreen
|Video ||100%
|Video ||100%
|- bgcolor=green
+
|- bgcolor=lightgreen
|Touchpad e Mouse ||100%
|Touchpad e Mouse ||100%
|- bgcolor=red
|- bgcolor=red
|Audio ||buggato
|Audio ||buggato
|- bgcolor=green
+
|- bgcolor=lightgreen
|Risparmio energetico ||100%
|Risparmio energetico ||100%
|- bgcolor=green
+
|- bgcolor=lightgreen
|Sospensione (Suspend2) ||100%
|Sospensione (Suspend2) ||100%
|- bgcolor=green
+
|- bgcolor=lightgreen
|Automount periferiche removibili ||100%
|Automount periferiche removibili ||100%
|- bgcolor=green
+
|- bgcolor=lightgreen
|Wireless ||100%
|Wireless ||100%
|- bgcolor=green
+
|- bgcolor=lightgreen
|PCMCIA ||100%
|PCMCIA ||100%
|- bgcolor=green
+
|- bgcolor=lightgreen
|Bluetooth ||100%
|Bluetooth ||100%
|- bgcolor=green
+
|- bgcolor=lightgreen
|Tasti Fn ||100%
|Tasti Fn ||100%
|}
|}
Riga 201: Riga 203:
Ecco il mio file [http://bruno.infopa.net/linux/files/xorg.conf xorg.conf] modificato con le opzioni per la scheda video e per l'utilizzo di touchpad e mouse.
Ecco il mio file [http://bruno.infopa.net/linux/files/xorg.conf xorg.conf] modificato con le opzioni per la scheda video e per l'utilizzo di touchpad e mouse.
  +
  +
= Audio =
  +
  +
Il controller audio integrato è riconosciuto come '''Intel High Definition Audio Controller'''.
  +
  +
Lanciare alsaconf e poi alsamixer per regolare il volume dei canali audio.
  +
Ricordarsi di togliere il flag "mute" al canali PCM e Front, selezionando i canali con i tasti direzionali e premendo M.
  +
  +
<small>NOTA: il modulo hda_intel del kernel 2.6.17.x è buggato. L'inizializzazione non funziona bene: avviando il laptop a freddo l'audio funziona soltanto dall'uscita cuffie, mentre avviando prima Windows e riavviando poi in Linux l'audio funziona correttamente. Il problema sarà risolto nella prossima release del kernel.
  +
  +
NOTA2: per risolvere momentaneamente il problema, utilizzando la sospensione la situazione dell'audio si "congela" e quindi non è necessario il primo avvio in Windows.</small>
  +
  +
= Risparmio energetico =
  +
  +
Nel kernel sono state abilitate le opzioni per il '''CPU Frequency Scaling''', ma è necessario un gestore dei controllori in ambiente userspace per far sì che il laptop si adatti automaticamente agli eventi ACPI.
  +
  +
Installare il pacchetto sysfsutils (sarà necessario anche per le funzionalità PCMCIA).
  +
  +
<pre>
  +
# installpkg sysfsutils-2.0.0-i486-2.tgz
  +
</pre>
  +
  +
Compilare ed installare '''cpufrequtils''' e poi '''cpufreqd'''.
  +
  +
<pre>
  +
# tar xfvj cpufrequtils-002.tar.bz2
  +
# cd cpufrequtils-002
  +
# make && make install
  +
# cd ..
  +
# tar xfvj cpufreqd-2.1.1.tar.bz2
  +
# cd cpufreqd-2.1.1
  +
# ./configure
  +
# make && make install
  +
</pre>
  +
  +
Per avviare '''cpufreqd''' ad ogni boot della macchina, aggiungere al file /'''etc/rc.d/rc.local''' la riga<br />
  +
  +
<pre>
  +
/usr/local/sbin/cpufreqd
  +
</pre>
  +
  +
<small>
  +
NOTA: si consiglia l'utilizzo dell'applet cpuinfo per tenere sotto controllo la frequenza e la temperatura della CPU direttamente dal pannello di KDE.
  +
Per caricare l'applet, installare il pacchetto (con installpkg), fare click destro sul pannello di KDE (la barra con le icone), scegliere l'opzione "Aggiungi un'applet al pannello" e selezionare poi "CPU Info".
  +
</small>
  +
  +
Per gestire la luminosità del monitor si deve compilare ed installare il programma '''smartdimmer'''.
  +
  +
<pre>
  +
# tar xfvj smartdimmer-0.1.tar.bz2
  +
# cd smartdimmer
  +
# ./configure
  +
# make && make install
  +
</pre>
  +
  +
Con i comandi '''smartdimmer -d''' e '''smartdimmer -'''i si diminuisce/aumenta la luminosità dello schermo.
  +
Questo programma sarà utilizzato successivamente, in abbinamento a evrouter, per gestire le azioni corrispondenti ai tasti Fn.
  +
  +
Il alternativa, si può utilizzare '''NVClock'''.
  +
  +
<pre>
  +
# tar xfvz nvclock0.8b2.tar.gz
  +
# cd nvclock0.8b2
  +
# ./configure
  +
# make && make install
  +
</pre>
  +
  +
Per esempio: il comando '''nvclock -S 20''' riduce la luminosità dello schermo al 20%.
  +
  +
= Sospensione =
  +
  +
Il kernel è stato patchato con la patch Software '''Suspend 2.''' Per lanciare la sospensione è necessaria l'installazione dello script '''hibernate'''.
  +
  +
Modificare il file '''/etc/hibernate/suspend2.conf''' per l'utilizzo della modalità di sospensione nella partizione di swap, decommentando le seguenti righe ed inserendo il giusto device della partizione di swap.
  +
  +
<pre>
  +
SuspendDevice swap:/dev/sda6
  +
PowerdownMethod 5
  +
</pre>
  +
  +
Aprire il file '''/etc/hibernate/blacklisted-module'''s con un editor di testo, cercare la riga con il modulo nvidia e commentarla ponendo un # all'inizio della riga. Negli ultimi driver NVIDIA, infatti, è stato implementato il supporto per la sospensione.
  +
  +
Da adesso sarà possibile lanciare la sospensione con il comando '''hibernate''' (da root)
  +
  +
= Automount periferiche removibili =
  +
  +
E' consigliata l'installazione di '''udev''', da utilizzare al posto di hotplug, e dbus, il nuovo bus di comunicazione tra le applicazioni. <u>Questi pacchetti serviranno anche per altre funzionalità, quindi si dovrebbero installare a prescindere dall'automount</u>.
  +
  +
'''Hal''' (Hardware Abstraction Layer) è, in pratica, il demone che permette di montare automaticamente le periferiche removibili come pendrive, macchine fotografiche e DVD. Niente di indispensabile, ma fa molto figo ;)
  +
  +
Nell'attesa di Slackware 11.0, in cui questi pacchetti saranno installati di default, c'è una guida molto ben fatta e sempre aggiornata su questo argomento ---> [http://web.tiscali.it/meskalamdug/kdeautom.html Automount con Kde e Slackware.]
  +
  +
  +
= Wireless =
  +
  +
La scheda wireless integrata è una '''Intel PRO/Wireless 2200BG'''.
  +
  +
Estrarre i moduli ieee80211 e ipw2200, compilarli ed installarli.
  +
  +
<pre>
  +
# tar xfvz ieee80211-1.1.14.tgz
  +
# cd ieee80211-1.1.14
  +
# make && make install
  +
# cd ..
  +
# tar xfvz ipw2200-1.1.3.tgz
  +
# cd ipw2200-1.1.3
  +
# make && make install
  +
</pre>
  +
  +
Estrarre il firmware della scheda Intel PRO/Wireless 2200BG e copiarli in '''/lib/firmware'''.
  +
  +
<pre>
  +
# tar xfvz ipw2200-fw-3.0.tgz
  +
# cp ipw2200-fw-3.0/* /lib/firmware
  +
</pre>
  +
  +
Caricare il modulo '''ipw2200''' ed utilizzare il comando '''iwconfig''' per gestire la connessione wireless (man iwconfig per i dettagli).
  +
  +
<pre>
  +
# modprobe ipw2200
  +
# iwconfig eth2
  +
eth2 unassociated ESSID:off/any
  +
Mode:Managed Channel=0 Access Point: Not-Associated
  +
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0
  +
Retry limit:7 RTS thr:off Fragment thr:off
  +
Encryption key:off
  +
Power Management:off
  +
Link Quality:0 Signal level:0 Noise level:0
  +
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
  +
Tx excessive retries:0 Invalid misc:9 Missed beacon:0
  +
</pre>
  +
  +
<small>NOTA: la scheda Intel PRO/Wireless 2200BG <u>non è adatta</u> all'utilizzo con programmi di decifratura delle chiavi WEP, come la suite aircrack/aireplay/airodump, poichè il firmware attuale rifiuta i cosiddetti "Weak packets" (IVI), che servono ad aireplay per la tecnica del packet-flooding.</small>
  +
  +
= PCMCIA =
  +
  +
Il kernel è configurato per il supporto generico PCMCIA. Per periferiche particolari sarà necessario compilare i driver specifici.
  +
  +
Compilare ed installare pcmciautils.
  +
  +
<pre>
  +
# tar xfvj pcmciautils-012.tar.bz2
  +
# make && make install
  +
</pre>
  +
  +
Per gestire lo slot PCMCIA utilizzare il comando '''pccardctl''' ('''man pccardctl''' per i dettagli).
  +
  +
= Bluetooth =
  +
  +
Installare tutti i pacchetti della suite BlueZ ed il pacchetto kdebluetooth.
  +
  +
<pre>
  +
# installpkg bluez-firmware-1.2-i486-3sl.tgz
  +
# installpkg bluez-hcidump-1.32-i486-1sl.tgz
  +
# installpkg bluez-libs-3.4-i486-1sl.tgz
  +
# installpkg bluez-utils-3.4-i486-1suk.tgz
  +
# installpkg openobex-1.3-i486-1sid.tgz
  +
# installpkg kdebluetooth-20060415-i486-2sid.tgz
  +
</pre>
  +
  +
Avviare il demone '''spdp''' ed utilizzare il comando hciconfig per connettersi con le periferiche '''bluetooth''' ('''man hciconfig''' per i dettagli).
  +
  +
<pre>
  +
# sdpd
  +
# hciconfig
  +
hci0: Type: USB
  +
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
  +
DOWN
  +
RX bytes:0 acl:0 sco:0 events:0 errors:0
  +
TX bytes:0 acl:0 sco:0 commands:0 errors:0
  +
</pre>
  +
  +
Se si utilizza KDE, avviare il demone '''kdebluetoothd''' dal menù di KDE (nel sottomenù Internet).
  +
  +
= Tasti Fn =
  +
  +
Aggiungere al file '''/etc/rc.d/rc.modules''' la riga
  +
  +
<pre>
  +
/sbin/modprobe sonypi
  +
</pre>
  +
  +
(se non si vuole riavviare, eseguire lo stesso comando da shell)
  +
  +
Al successivo avvio di KDE, le combinazioni dei tasti Fn saranno intercettate dal demone KMilo e sarà visualizzato un OSD (On Screen Display) informativo. Comunque questa soluzione è parziale, in quanto non sembra possibile impostare le azioni corrispondenti alla pressione dei tasti Fn.
  +
  +
<u>La soluzione definitiva è molto più complessa.</u>
  +
  +
E' possibile rendere funzionanti al 100% i tasti funzione, utilizzando '''evrouter''' per intercettare la pressione dei tasti Fn.
  +
  +
Decomprimere ed installare evrouter.
  +
  +
<pre>
  +
# tar xfvz evrouter_0.3.3.tar.gz
  +
# cd evrouter
  +
# ./configure
  +
# make && make install
  +
</pre>
  +
  +
Creare il gruppo "evrouter" ed assegnare il vostro utente a questo gruppo.
  +
  +
<pre>
  +
# groupadd evrouter
  +
# usermod -G evrouter NOME_UTENTE
  +
</pre>
  +
  +
Modificare il file delle regole di udev '''/etc/udev/rules.d/udev.rules''' cercando la riga corrispondente ai device event* e sostituendola con la seguente
  +
  +
<pre>
  +
KERNEL=="event*", NAME="input/%k", MODE="0660", GROUP="evrouter"
  +
</pre>
  +
  +
Copiare il seguente script in '''/usr/bin/findSonyKeysDevice'''
  +
  +
<pre>
  +
#!/bin/bash
  +
evrouter -D /dev/input/event* | grep Keys | cut -f 2 -d ":"
  +
</pre>
  +
  +
e dargli l'attributo di esecuzione
  +
  +
<pre>
  +
# chmod 755 /usr/bin/findSonyKeysDevice
  +
</pre>
  +
  +
Eseguire '''findSonyKeysDevice''' per trovare il device corrispondente ai tasti Fn del VAIO. Per me è '''/dev/input/event5''', ma può variare a seconda del modello.
  +
  +
Copiare il seguente script in '''~/.kde/Autostart/evrouter'''
  +
  +
<pre>
  +
#!/bin/sh
  +
  +
if [ -e /usr/local/bin/evrouter ]; then
  +
/usr/local/bin/evrouter `findSonyKeysDevice` >& /dev/null
  +
fi
  +
</pre>
  +
  +
e dargli l'attributo di esecuzione
  +
  +
<pre>
  +
# chmod 755 ~/.kde/Autostart/evrouter
  +
</pre>
  +
  +
Eseguire '''evrouter --dump `findSonyKeysDevice'''` e premere in sequenza tutte le combinazioni dei tasti Fn.
  +
Sarà data in output una serie di righe di configurazione da copiare ed incollare in '''~/.evrouterrc''', per poi modificare le azioni da eseguire alla pressione di ogni tasto.
  +
  +
Segue il mio file di configurazione '''~/.evrouterrc''' per il funzionamento delle combinazioni Fn+F2/F3/F4/F5/F6/F12.
  +
  +
<pre>
  +
"Sony Vaio Keys" "/dev/input/event5" none key/467 "Shell/amixer set Front toggle > /dev/null"
  +
"Sony Vaio Keys" "/dev/input/event5" none key/468 "Shell/amixer set Front 5%- > /dev/null"
  +
"Sony Vaio Keys" "/dev/input/event5" none key/469 "Shell/amixer set Front 5%+ > /dev/null"
  +
"Sony Vaio Keys" "/dev/input/event5" none key/470 "Shell/smartdimmer -d"
  +
"Sony Vaio Keys" "/dev/input/event5" none key/471 "Shell/smartdimmer -i"
  +
"Sony Vaio Keys" "/dev/input/event5" none key/477 "Shell//usr/sbin/hibernate"
  +
</pre>
  +
  +
''PS: lo script hibernate deve essere impostato con i permessi SUID ('''chmod +s /usr/sbin/hibernate'''), altrimenti funzionerà solo da root.
  +
PPS: il programma smartdimmer è stato trattato nella sezione <u>Risparmio energetico</u>.''
  +
  +
Sarà necessario disabilitare il demone KMilo di KDE, per evitare interferenze nella gestione dei tasti Fn.
  +
E' possibile disabilitarlo da Menù -> Impostazioni -> Componenti di KDE -> Gestione servizi.
  +
  +
Al successivo reboot, alla pressione delle combinazioni di tasti Fn seguiranno le corrispondenti azioni appena impostate.
  +
  +
<small>Ringrazio raphael per avermi fornto la soluzione che mi ha permesso di completare questo tutorial.</small>
  +
  +
= Aggiornamento della distribuzione =
  +
  +
Si consiglia di mantenere la distribuzione aggiornata alla versione current tramite il tool swaret.
  +
Questo programma si appoggia ai repository di Slackware, ufficiali e non ufficiali, per scaricare ed installare le ultime versioni dei pacchetti precompilati ed ottimizzati per la distro.
  +
  +
Il mio [http://bruno.infopa.net/linux/files/swaret.conf swaret.conf] è già configurato con i due repository non ufficiali più aggiornati: Slacky.it e LinuxPackages.
  +
Modificare eventualmente la voce '''NIC=ethX''', verso la fine del file, specificando il nome dell'interfaccia di rete connessa ad Internet (eth0 LAN o eth2 wireless).
  +
  +
= Changelog =
  +
  +
* 06/09/2006 Tasti Fn funzionanti al 100%. Thanx to raphael! Aggiunta la sezione sull'automount.
  +
* 24/07/2006 Aggiornamento totale. Nuova configurazione del kernel con il supporto per la sospensione.
  +
* 22/10/2005 Aggiornato il .config per il kernel 2.6.13.4 e per il corretto utilizzo del CPU Frequency Scaling.
  +
* Aggionata la parte del wireless (nuovi driver ipw2200).
  +
* 26/09/2005 Aggiunte le parti sull'uscita video, sul Bluetooth e sulla luminosità dello schermo.
  +
* 25/09/2005 Modificata la parte sui driver synaptics... ora funzionano al 100%! Sono stati aggiornati<br/>
  +
anche il .config e xorg.conf.
  +
* 24/09/2005 Prima release
  +
  +
<pre>
  +
Grazie a tutti e... buon divertimento con il vostro Sony VAIO Slackwarizzato! ;)
  +
Bruno Mendola « bruno.mendola AT gmail.com »
  +
  +
Tutorial scritto da Bruno Mendola
  +
« bruno.mendola AT gmail.com »
  +
Ultimo aggiornamento: 06/09/2006
  +
</pre>

Versione attuale delle 14:05, 13 dic 2006


Indice

[modifica] Sony VAIO VGN-S3XP e Slackware Linux 10.2

FUNZIONALITA' STATUS
Kernel 2.6.17.4 100%
Video 100%
Touchpad e Mouse 100%
Audio buggato
Risparmio energetico 100%
Sospensione (Suspend2) 100%
Automount periferiche removibili 100%
Wireless 100%
PCMCIA 100%
Bluetooth 100%
Tasti Fn 100%

[modifica] Hardware

Processore Intel® Pentium® M 760 2 GHz, 533 MHz FSB, 2048 KB Cache L2 1 GB SDRAM DDR2 (PC2-3200 - DDR2-400) Schermo a cristalli liquidi X-black 13 1280x800 NVIDIA® GeForce™ Go 6200 con supporto TurboCache™ da 128 MB

# lspci
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port (rev 03)
00:1b.0 Class 0403: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller
<br /> (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller
<br/> (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller
<br/> (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation GeForce Go 6200 TurboCache (rev a1)
06:05.0 CardBus bridge: Texas Instruments PCI7420 CardBus Controller
06:05.2 FireWire (IEEE 1394): Texas Instruments PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer
<br/> Controller
06:05.3 Mass storage controller: Texas Instruments PCI7420/PCI7620 Dual Socket CardBus and Smart Card
<br/> Cont. w/ 1394a-2000 OHCI Two-Port PHY/Link-Layer Cont. an
06:08.0 Ethernet controller: Intel Corporation 82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet
<br/> Controller Mobile (rev 03)
06:0b.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)

[modifica] Requisiti software

  • Sorgenti del kernel 2.6.17.4
  • Patch del kernel per la sospensione (Software Suspend 2)
  • Driver video NVIDIA
  • Driver synaptics
  • Script hibernate
  • sysfsutils
  • cpufrequtils
  • cpufreqd
  • smartdimmer
  • NVClock
  • Moduli IEEE 802.11
  • Moduli Intel Pro/Wireless 2200BG
  • Firmware Intel Pro/Wireless 2200BG
  • pcmciautils
  • Driver e utility BlueZ
  • evrouter

[modifica] Partizionamento

Faremo coesistere Slackware Linux 10.2 con il Windows XP preinstallato nel laptop.

Con un tool di partizionamento, come 7Tools Partition Manager (da Windows), realizzare il seguente partizionamento:

# fdisk -l /dev/sda

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cilindri of 16065 * 512 = 8225280 bytes

Dispositivo	Boot	Start	End	Blocks	Id	System
/dev/sda1		1	912	7325608+	12	Diagnostica Compaq
/dev/sda2	*	913	4099	25599577+	7	HPFS/NTFS
/dev/sda3		4100	7924	30724312+	c	W95 FAT32 (LBA)
/dev/sda4		7925	9729	14498662+	f	W95 Ext'd (LBA)
/dev/sda5		7925	9602	13478503+	83	Linux
/dev/sda6		9603	9729	1020096	82	Linux swap

/dev/sda1 è la partizione di recovery del VAIO (~7,5 GB);

/dev/sda2 è la partizione di Windows (~25,5 GB);

/dev/sda3 è una partizione di scambio con filesystem FAT32 (~31 GB);

/dev/sda4 è una partizione estesa, che contiene 2 partizioni logiche:

/dev/sda5 è la partizione Linux reiserfs (~13,5 GB);

/dev/sda6 è la partizione di swap (~1 GB).

[modifica] Installazione

All'accensione premere il tasto F2 alla comparsa del logo VAIO, per accedere al BIOS. E' necessario abilitare l'opzione "LCD Screen Expansion", poichè in caso contrario la schermata di Linux non occuperà tutto lo spazio disponibile nello schermo. Uscire dal BIOS ed avviare il laptop con il DVD di Slackware inserito nel lettore. Alla richiesta di quale kernel avviare per l'installazione (boot:) digitare sata.i, altrimenti il programma di installazione non riuscirà a vedere l'hard disk Serial ATA. Proseguire l'installazione selezionando le opzioni desiderate, ma ricordandosi di scegliere reiserfs come filesystem per la partizione di boot e di scrivere il bootloader LILO nel Master Boot Record (MBR) dell'hard
disk quando richiesto.

Al termine dell'installazione, uscire dal setup e riavviare il laptop (si aprirà automaticamente il carrello del lettore DVD per rimuovere il DVD di installazione non più necessario).

NOTA: il DVD di installazione serve anche come recovery-disk. In caso di guai che non consentano il normale boot, basta avviare con il DVD inserito nel lettore, come se si dovesse arrivare all'installazione, ma arrivati alla shell si può montare il disco di root, cambiare la root con chroot e operare normalmente sui file per risolvere il problema.

[modifica] Kernel

Estrarre i sorgenti del kernel 2.6.17.4 in /usr/src e creare un collegamento simbolico /usr/src/linux ai sorgenti appena estratti. Estrarre ed applicare la patch per la sospensione.

# tar xfvz linux-2.6.17.4.tar.gz
# ln -s linux-2.6.17.4 linux
# tar xfvj suspend2-2.2.7-for-2.6.17.tar.bz2
# cd linux
# ../suspend2-2.2.7-for-2.6.17/apply

Ecco il mio .config ottimizzato per Sony VAIO VGN-S3XP (e altri modelli simili). Copiatelo in /usr/src/linux e rinominatelo in .config. Compilate il kernel ed installatelo.

# make && make modules_install
# cp System.map /boot/System.map-2.6.17.4
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.17.4

Modificare il file /etc/lilo.conf per avviare il kernel appena installato. Ecco il mio lilo.conf, con due opzioni di avvio per utilizzare o meno l'opzione di sospensione (può servire in caso di "guai"). E' anche importante l'opzione compact, che evita un'attesa iniziale di molti secondi per il caricamento del kernel in memoria. Salvare le modifiche con lilo -v.

NOTA: nella configurazione del kernel non ho incluso i moduli ieee80211 e ipw2200. E' preferibile compilarli a parte, in quanto vengono aggiornati molto più spesso del kernel.

[modifica] Video

La scheda video è una NVIDIA® GeForce™ Go 6200 con supporto TurboCache™ da 128 MB ed il monitor a cristalli liquidi X-black 13 supporta una risoluzione di 1280x800.

Installare i driver video NVIDIA.

# chmod +x NVIDIA-Linux-x86-1.0-8762-pkg1.run
# ./NVIDIA-Linux-x86-1.0-8762-pkg1.run

Lasciare modificare il file /etc/X11/xorg.conf direttamente al programma di installazione dei driver.

Aprire il file /etc/X11/xorg.conf con un editor di testo (per es. pico) ed aggiungere le righe

HorizSync 31.5 - 90.0
VertRefresh 60.0 - 60.0
ModeLine "1280x800" 87.1 1280 1336 1616 1728 800 802 814 840 -hsync +vsync

alla sezione "Monitor" ed aggiungere la modalità "1280x800" nella sezione "Screen" per utilizzare la risoluzione 1280x800.

NOTA: nella prossima scheda c'è il link per scaricare il mio xorg.conf.

[modifica] Touchpad e Mouse

Il touchpad viene rilevato come un ALPS GlidePoint.

Installare i driver synaptics.

# tar xfvj synaptics-0.14.5.tar.bz2
# cd synaptics-0.14.5
# make && make install

Modificare il file /etc/X11/xorg.conf per l'utilizzo del touchpad e di un eventuale mouse USB.

Ecco il mio file xorg.conf modificato con le opzioni per la scheda video e per l'utilizzo di touchpad e mouse.

[modifica] Audio

Il controller audio integrato è riconosciuto come Intel High Definition Audio Controller.

Lanciare alsaconf e poi alsamixer per regolare il volume dei canali audio. Ricordarsi di togliere il flag "mute" al canali PCM e Front, selezionando i canali con i tasti direzionali e premendo M.

NOTA: il modulo hda_intel del kernel 2.6.17.x è buggato. L'inizializzazione non funziona bene: avviando il laptop a freddo l'audio funziona soltanto dall'uscita cuffie, mentre avviando prima Windows e riavviando poi in Linux l'audio funziona correttamente. Il problema sarà risolto nella prossima release del kernel.

NOTA2: per risolvere momentaneamente il problema, utilizzando la sospensione la situazione dell'audio si "congela" e quindi non è necessario il primo avvio in Windows.

[modifica] Risparmio energetico

Nel kernel sono state abilitate le opzioni per il CPU Frequency Scaling, ma è necessario un gestore dei controllori in ambiente userspace per far sì che il laptop si adatti automaticamente agli eventi ACPI.

Installare il pacchetto sysfsutils (sarà necessario anche per le funzionalità PCMCIA).

# installpkg sysfsutils-2.0.0-i486-2.tgz

Compilare ed installare cpufrequtils e poi cpufreqd.

# tar xfvj cpufrequtils-002.tar.bz2
# cd cpufrequtils-002
# make && make install
# cd ..
# tar xfvj cpufreqd-2.1.1.tar.bz2
# cd cpufreqd-2.1.1
# ./configure
# make && make install

Per avviare cpufreqd ad ogni boot della macchina, aggiungere al file /etc/rc.d/rc.local la riga

/usr/local/sbin/cpufreqd

NOTA: si consiglia l'utilizzo dell'applet cpuinfo per tenere sotto controllo la frequenza e la temperatura della CPU direttamente dal pannello di KDE. Per caricare l'applet, installare il pacchetto (con installpkg), fare click destro sul pannello di KDE (la barra con le icone), scegliere l'opzione "Aggiungi un'applet al pannello" e selezionare poi "CPU Info".

Per gestire la luminosità del monitor si deve compilare ed installare il programma smartdimmer.

# tar xfvj smartdimmer-0.1.tar.bz2
# cd smartdimmer
# ./configure
# make && make install

Con i comandi smartdimmer -d e smartdimmer -i si diminuisce/aumenta la luminosità dello schermo. Questo programma sarà utilizzato successivamente, in abbinamento a evrouter, per gestire le azioni corrispondenti ai tasti Fn.

Il alternativa, si può utilizzare NVClock.

# tar xfvz nvclock0.8b2.tar.gz
# cd nvclock0.8b2
# ./configure
# make && make install

Per esempio: il comando nvclock -S 20 riduce la luminosità dello schermo al 20%.

[modifica] Sospensione

Il kernel è stato patchato con la patch Software Suspend 2. Per lanciare la sospensione è necessaria l'installazione dello script hibernate.

Modificare il file /etc/hibernate/suspend2.conf per l'utilizzo della modalità di sospensione nella partizione di swap, decommentando le seguenti righe ed inserendo il giusto device della partizione di swap.

SuspendDevice swap:/dev/sda6
PowerdownMethod 5

Aprire il file /etc/hibernate/blacklisted-modules con un editor di testo, cercare la riga con il modulo nvidia e commentarla ponendo un # all'inizio della riga. Negli ultimi driver NVIDIA, infatti, è stato implementato il supporto per la sospensione.

Da adesso sarà possibile lanciare la sospensione con il comando hibernate (da root)

[modifica] Automount periferiche removibili

E' consigliata l'installazione di udev, da utilizzare al posto di hotplug, e dbus, il nuovo bus di comunicazione tra le applicazioni. Questi pacchetti serviranno anche per altre funzionalità, quindi si dovrebbero installare a prescindere dall'automount.

Hal (Hardware Abstraction Layer) è, in pratica, il demone che permette di montare automaticamente le periferiche removibili come pendrive, macchine fotografiche e DVD. Niente di indispensabile, ma fa molto figo ;)

Nell'attesa di Slackware 11.0, in cui questi pacchetti saranno installati di default, c'è una guida molto ben fatta e sempre aggiornata su questo argomento ---> Automount con Kde e Slackware.


[modifica] Wireless

La scheda wireless integrata è una Intel PRO/Wireless 2200BG.

Estrarre i moduli ieee80211 e ipw2200, compilarli ed installarli.

# tar xfvz ieee80211-1.1.14.tgz
# cd ieee80211-1.1.14
# make && make install
# cd ..
# tar xfvz ipw2200-1.1.3.tgz
# cd ipw2200-1.1.3
# make && make install

Estrarre il firmware della scheda Intel PRO/Wireless 2200BG e copiarli in /lib/firmware.

# tar xfvz ipw2200-fw-3.0.tgz
# cp ipw2200-fw-3.0/* /lib/firmware

Caricare il modulo ipw2200 ed utilizzare il comando iwconfig per gestire la connessione wireless (man iwconfig per i dettagli).

# modprobe ipw2200
# iwconfig eth2
eth2 unassociated ESSID:off/any
  Mode:Managed Channel=0 Access Point: Not-Associated
  Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0
  Retry limit:7 RTS thr:off Fragment thr:off
  Encryption key:off
  Power Management:off
  Link Quality:0 Signal level:0 Noise level:0
  Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
  Tx excessive retries:0 Invalid misc:9 Missed beacon:0

NOTA: la scheda Intel PRO/Wireless 2200BG non è adatta all'utilizzo con programmi di decifratura delle chiavi WEP, come la suite aircrack/aireplay/airodump, poichè il firmware attuale rifiuta i cosiddetti "Weak packets" (IVI), che servono ad aireplay per la tecnica del packet-flooding.

[modifica] PCMCIA

Il kernel è configurato per il supporto generico PCMCIA. Per periferiche particolari sarà necessario compilare i driver specifici.

Compilare ed installare pcmciautils.

# tar xfvj pcmciautils-012.tar.bz2
# make && make install

Per gestire lo slot PCMCIA utilizzare il comando pccardctl (man pccardctl per i dettagli).

[modifica] Bluetooth

Installare tutti i pacchetti della suite BlueZ ed il pacchetto kdebluetooth.

# installpkg bluez-firmware-1.2-i486-3sl.tgz
# installpkg bluez-hcidump-1.32-i486-1sl.tgz
# installpkg bluez-libs-3.4-i486-1sl.tgz
# installpkg bluez-utils-3.4-i486-1suk.tgz
# installpkg openobex-1.3-i486-1sid.tgz
# installpkg kdebluetooth-20060415-i486-2sid.tgz

Avviare il demone spdp ed utilizzare il comando hciconfig per connettersi con le periferiche bluetooth (man hciconfig per i dettagli).

# sdpd
# hciconfig
hci0: Type: USB
    BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
    DOWN
    RX bytes:0 acl:0 sco:0 events:0 errors:0
    TX bytes:0 acl:0 sco:0 commands:0 errors:0

Se si utilizza KDE, avviare il demone kdebluetoothd dal menù di KDE (nel sottomenù Internet).

[modifica] Tasti Fn

Aggiungere al file /etc/rc.d/rc.modules la riga

/sbin/modprobe sonypi

(se non si vuole riavviare, eseguire lo stesso comando da shell)

Al successivo avvio di KDE, le combinazioni dei tasti Fn saranno intercettate dal demone KMilo e sarà visualizzato un OSD (On Screen Display) informativo. Comunque questa soluzione è parziale, in quanto non sembra possibile impostare le azioni corrispondenti alla pressione dei tasti Fn.

La soluzione definitiva è molto più complessa.

E' possibile rendere funzionanti al 100% i tasti funzione, utilizzando evrouter per intercettare la pressione dei tasti Fn.

Decomprimere ed installare evrouter.

# tar xfvz evrouter_0.3.3.tar.gz
# cd evrouter
# ./configure
# make && make install

Creare il gruppo "evrouter" ed assegnare il vostro utente a questo gruppo.

# groupadd evrouter
# usermod -G evrouter NOME_UTENTE

Modificare il file delle regole di udev /etc/udev/rules.d/udev.rules cercando la riga corrispondente ai device event* e sostituendola con la seguente

KERNEL=="event*", NAME="input/%k", MODE="0660", GROUP="evrouter"

Copiare il seguente script in /usr/bin/findSonyKeysDevice

#!/bin/bash
evrouter -D /dev/input/event* | grep Keys | cut -f 2 -d ":"

e dargli l'attributo di esecuzione

# chmod 755 /usr/bin/findSonyKeysDevice

Eseguire findSonyKeysDevice per trovare il device corrispondente ai tasti Fn del VAIO. Per me è /dev/input/event5, ma può variare a seconda del modello.

Copiare il seguente script in ~/.kde/Autostart/evrouter

#!/bin/sh

if [ -e /usr/local/bin/evrouter ]; then
/usr/local/bin/evrouter `findSonyKeysDevice` >& /dev/null
fi

e dargli l'attributo di esecuzione

# chmod 755 ~/.kde/Autostart/evrouter

Eseguire evrouter --dump `findSonyKeysDevice` e premere in sequenza tutte le combinazioni dei tasti Fn. Sarà data in output una serie di righe di configurazione da copiare ed incollare in ~/.evrouterrc, per poi modificare le azioni da eseguire alla pressione di ogni tasto.

Segue il mio file di configurazione ~/.evrouterrc per il funzionamento delle combinazioni Fn+F2/F3/F4/F5/F6/F12.

"Sony Vaio Keys" "/dev/input/event5" none key/467 "Shell/amixer set Front toggle > /dev/null"
"Sony Vaio Keys" "/dev/input/event5" none key/468 "Shell/amixer set Front 5%- > /dev/null"
"Sony Vaio Keys" "/dev/input/event5" none key/469 "Shell/amixer set Front 5%+ > /dev/null"
"Sony Vaio Keys" "/dev/input/event5" none key/470 "Shell/smartdimmer -d"
"Sony Vaio Keys" "/dev/input/event5" none key/471 "Shell/smartdimmer -i"
"Sony Vaio Keys" "/dev/input/event5" none key/477 "Shell//usr/sbin/hibernate"

PS: lo script hibernate deve essere impostato con i permessi SUID (chmod +s /usr/sbin/hibernate), altrimenti funzionerà solo da root. PPS: il programma smartdimmer è stato trattato nella sezione Risparmio energetico.

Sarà necessario disabilitare il demone KMilo di KDE, per evitare interferenze nella gestione dei tasti Fn. E' possibile disabilitarlo da Menù -> Impostazioni -> Componenti di KDE -> Gestione servizi.

Al successivo reboot, alla pressione delle combinazioni di tasti Fn seguiranno le corrispondenti azioni appena impostate.

Ringrazio raphael per avermi fornto la soluzione che mi ha permesso di completare questo tutorial.

[modifica] Aggiornamento della distribuzione

Si consiglia di mantenere la distribuzione aggiornata alla versione current tramite il tool swaret. Questo programma si appoggia ai repository di Slackware, ufficiali e non ufficiali, per scaricare ed installare le ultime versioni dei pacchetti precompilati ed ottimizzati per la distro.

Il mio swaret.conf è già configurato con i due repository non ufficiali più aggiornati: Slacky.it e LinuxPackages. Modificare eventualmente la voce NIC=ethX, verso la fine del file, specificando il nome dell'interfaccia di rete connessa ad Internet (eth0 LAN o eth2 wireless).

[modifica] Changelog

  • 06/09/2006 Tasti Fn funzionanti al 100%. Thanx to raphael! Aggiunta la sezione sull'automount.
  • 24/07/2006 Aggiornamento totale. Nuova configurazione del kernel con il supporto per la sospensione.
  • 22/10/2005 Aggiornato il .config per il kernel 2.6.13.4 e per il corretto utilizzo del CPU Frequency Scaling.
  • Aggionata la parte del wireless (nuovi driver ipw2200).
  • 26/09/2005 Aggiunte le parti sull'uscita video, sul Bluetooth e sulla luminosità dello schermo.
  • 25/09/2005 Modificata la parte sui driver synaptics... ora funzionano al 100%! Sono stati aggiornati

anche il .config e xorg.conf.

  • 24/09/2005 Prima release
Grazie a tutti e... buon divertimento con il vostro Sony VAIO Slackwarizzato! ;)
Bruno Mendola « bruno.mendola AT gmail.com »

Tutorial scritto da Bruno Mendola
« bruno.mendola AT gmail.com »
Ultimo aggiornamento: 06/09/2006
Strumenti personali
Namespace

Varianti