mercoledì 23 febbraio 2011

Linux su Sony Vaio (VPCS13B7E/B)

N.B. Questa è un'integrazione al post (la metto all'inizio così potete evitare di andare oltre :D)... A due mesi di distanza da quando ho scritto il post sono usciti rispettivamente opensuse 11.4 ed ora ubuntu 11.04... Ho testato entrambe le distribuzioni sul vaio e devo dire che inizio ad essere soddisfatto dell'acquisto... Funziona tutto alla perfezione, tranne la regolazione della luminosità.

Ho fatto un errore madornale... Ho deciso di cambiare il mio "vecchio" msi x340, pienamente compatibile con linux, con il sony vaio in oggetto. Gran bel computer a livello hardware ma sembra che la sony non voglia assolutamente che venga installato linux su quel notebook :)... Come di consueto appena uscito dalla scatola ho inserito nel lettore dvd una distribuzione linux (in questo caso debian 6) e ho effettuato l'installazione senza particolari problemi.
Al primo avvio di debian si può vedere da subito l'odio che la sony ha verso linux :)... Non funziona praticamente nulla e quindi ho iniziato a googlare e risolvere i problemi uno alla volta.
Inizio dalla scheda video (nvidia 310m):
installo l'ultimo driver disponibile tramite synaptic (nvidia-glx 195.36.31-6) e le varie utility nvidia-settings e nvidia-xconfig... Finita l'installazione da terminale do un bel:
nvidia-xconfig
e dopo aver riavviato, tac... schermo nero :(
Per risolvere questo problema ho dovuto riavviare in recovery mode e 
Installare gli ultimi driver disponibili sul sito di nvidia (http://www.nvidia.it/Download/Find.aspx?lang=it)... io ho installato i NVIDIA-Linux-x86_64-270.26 che al momento sono beta. Alla fine dell'installazione quando chiede di avviare "nvidia-xconfig" accettare per creare il file /etc/X11/xorg.conf e terminare l'installazione.
Fatto questo, senza riavviare dobbiamo inserire nel file /etc/X11/xorg.conf i seguenti valori in "Section Device":
Option "ConnectedMonitor" "DFP-0"
Option "CustomEDID" "DFP-0: /proc/acpi/video/IGPU/LCD0/EDID"
Option "RegistryDwords" "EnableBrightnessControl=1"

e in /etc/modprobe.d/disable-nouveau.conf (che non esisterà, basta crearlo!):
blacklist nouveau
options nouveau modeset=0 
Ora possiamo riavviare.
Dopo questa modifica la sezione video dovrebbe funzionare correttamente e si può passare al problema successivo...

La luminosità del monitor non è modificabile.
Per sistemare questo problema occorre installare "nvidiabl-dkms_0.67_all.deb" (http://www.mediafire.com/?5lp05on73575tbo).
Scaricare il file vpcs13b7e.tar.gz (http://www.mediafire.com/?krhce8knl8d1ml2) che contiene 3 file che ho dovuto modificare per far funzionare il tutto quasi perfettamente (ha alcuni problemini, ma almeno si riesce a regolare la luminosità :))
Posizioniamo il file nella home e da terminale (come utente root) diamo i seguenti comandi:
tar -zxvf vpcs13b7e.tar.gz 
mv sonybright.sh /etc/acpi/
mv sony-brightness-* /etc/acpi/events/
Dopo un riavvio dovrebbe essere ok anche la luminosità.
n.b. Il controllo luminosità come descritto qui sopra con ubuntu 11.04 non funziona. La soluzione per me è stata la seguente:
download del seguente file... http://www.mediafire.com/?9gsz6bm25d379oc

tar -zxvf vpcs13b7e.tar.gz
mv sony*.sh /etc/acpi/
mv sony-brightness-* /etc/acpi/events/


La scheda wireless non funziona perchè manca il firmware... installiamolo! :)
Da terminale:
aptitude install firmware-iwlwifi wireless-tools
modprobe iwlagn
ifconfig wlan0 up

Ora anche il wireless dovrebbe essere ok e possiamo andare oltre.

La sezione audio:
Installiamo i sorgenti di alsa con:
apt-get install alsa-source
m-a update && m-a prepare
m-a a-i -t alsa-source 

I tasti funzione:
Per ora non ho ancora sistemato i tasti funzione, quindi non funziona correttamente la regolazione della luminosità del monitor e altro.

Per il touchpad bisogna inserire " i8042.reset i8042.nomux i8042.nopnp i8042.noloop" nel file "/etc/default/grub":

modificare la riga:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
in
GRUB_CMDLINE_LINUX_DEFAULT="quiet i8042.reset i8042.nomux i8042.nopnp i8042.noloop"
Occorre anche inserire la seguente stringa per risolvere un problema di conflitto di acpi:
GRUB_CMDLINE_LINUX="acpi_enforce_resources=lax"


aprire il terminale e dare il comando:
update-grub

Ora anche il touchpad dovrebbe funzionare correttamente.

--Integrazioni utili--
Output del comando "lspci":

00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 02)
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05)
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 05)
00:1c.2 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 3 (rev 05)
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 05)
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 05)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05)
01:00.0 VGA compatible controller: nVidia Corporation GT218 [GeForce 310M] (rev a2)
01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1)
02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6200 (rev 35)
03:00.0 SD Host controller: Ricoh Co Ltd MMC/SD Host Controller
03:00.1 System peripheral: Ricoh Co Ltd Memory Stick Host Controller
03:00.3 FireWire (IEEE 1394): Ricoh Co Ltd FireWire Host Controller
03:00.4 SD Host controller: Ricoh Co Ltd MMC/SD Host Controller
04:00.0 Ethernet controller: Atheros Communications AR8131 Gigabit Ethernet (rev c0)
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)

Output del comando "lsusb":

Bus 002 Device 003: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 0489:e00f Foxconn / Hon Hai
Bus 001 Device 004: ID 05ca:18b7 Ricoh Co., Ltd
Bus 001 Device 003: ID 147e:1001 Upek
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


Il mio xorg.conf:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (buildd@barber)  Sun Jun 13 12:08:56 UTC 2010

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option       "ConnectedMonitor" "DFP-0"
    Option       "CustomEDID" "DFP-0: /proc/acpi/video/IGPU/LCD0/EDID"
    Option        "RegistryDwords" "EnableBrightnessControl=1"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

File /etc/apt/sources.list:


# deb cdrom:[Debian GNU/Linux testing _Squeeze_ - Official Snapshot amd64 DVD Binary-1 20110117-05:11]/ squeeze contrib main

# deb cdrom:[Debian GNU/Linux testing _Squeeze_ - Official Snapshot amd64 DVD Binary-1 20110117-05:11]/ squeeze contrib main

# deb http://ftp.it.debian.org/debian/ squeeze main
# deb-src http://ftp.it.debian.org/debian/ squeeze main

deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib
deb-src http://security.debian.org/ squeeze/updates main contrib

deb http://ftp.it.debian.org/debian/ squeeze-updates main contrib
deb-src http://ftp.it.debian.org/debian/ squeeze-updates main contrib

deb http://backports.debian.org/debian-backports squeeze-backports main

## Debian experimental
deb http://ftp.debian.org/debian experimental main contrib non-free


deb http://download.virtualbox.org/virtualbox/debian squeeze contrib

deb http://www.debian-multimedia.org squeeze main non-free

## Lettore Biometrico (Debian experimental)
deb ftp://mirrors.kernel.org/debian/ experimental main contrib non-free
deb-src ftp://mirrors.kernel.org/debian/ experimental main contrib non-free

# deb ftp://mirrors.kernel.org/debian/ unstable main contrib non-free
# deb-src ftp://mirrors.kernel.org/debian/ unstable main contrib non-free

# Experimental
deb http://ftp.it.debian.org/debian experimental main

deb http://qt-kde.debian.net/debian experimental-snapshots main
deb-src http://qt-kde.debian.net/debian experimental-snapshots main



Riferimenti che ho utilizzato con eventuali modifiche:
http://www.slacky.eu/wikislack/index.php?title=Sony_Vaio_VPC-F11C5E
http://wiki.debian.org/iwlagn