Home
Repository 32bit  Forum
Repository 64bit  Wiki

Modifiche

Sony Vaio VGN-S3XP e Slackware Linux 10.2

12 491 byte aggiunti, 13:05, 13 dic 2006
nessun oggetto della modifica
[[Category:Laptop]]
 
= Sony VAIO VGN-S3XP e Slackware Linux 10.2 =
{|
!FUNZIONALITA' !! STATUS
|- bgcolor=greenlightgreen
|Kernel 2.6.17.4 ||100%
|- bgcolor=greenlightgreen
|Video ||100%
|- bgcolor=greenlightgreen
|Touchpad e Mouse ||100%
|- bgcolor=red
|Audio ||buggato
|- bgcolor=greenlightgreen
|Risparmio energetico ||100%
|- bgcolor=greenlightgreen
|Sospensione (Suspend2) ||100%
|- bgcolor=greenlightgreen
|Automount periferiche removibili ||100%
|- bgcolor=greenlightgreen
|Wireless ||100%
|- bgcolor=greenlightgreen
|PCMCIA ||100%
|- bgcolor=greenlightgreen
|Bluetooth ||100%
|- bgcolor=greenlightgreen
|Tasti Fn ||100%
|}
</pre>
Ecco il mio [http://bruno.infopa.net/linux/files/config-vaio_s3xp-2.6.17.4 .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.
</pre>
Modificare il file '''/etc/lilo.conf''' per avviare il kernel appena installato. Ecco il mio '''[http://bruno.infopa.net/linux/files/lilo.conf 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'''.
<small>NOTA: nella prossima scheda c'è il link per scaricare il mio xorg.conf.</small>
 
= Touchpad e Mouse =
 
Il touchpad viene rilevato come un '''ALPS GlidePoint'''.
 
Installare i driver synaptics.
 
<pre>
# tar xfvj synaptics-0.14.5.tar.bz2
# cd synaptics-0.14.5
# make && make install
</pre>
 
Modificare il file '''/etc/X11/xorg.conf''' per l'utilizzo del touchpad e di un eventuale mouse USB.
 
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>
789
contributi