Hardware features
Introduction
Here, you find a documentation about Linux on a Sony Vaio laptop and in particular a Sony VPCF11M1E.
Hardware
Processor | Intel Core i5-520M – 2.4 GHz |
RAM | 4 Go DDR2 |
Photo card reader | Ricoh Co Ltd Device e822 |
CD / DVD / Blu-ray | Optiarc BD ROM BC-5500S4, 1.Va, max UDMA/100, ATAPI AN |
Hard drive | ATA-8: Hitachi HTS545050B9SA00, PB4OC64G, max UDMA/133 |
Sata controler | Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller |
Video card | nVidia GeForce GT 330M – 1024 Mo |
Sound card | Intel Corporation 5 Series/3400 Series Chipset High Definition Audio nVidia Corporation High Definition Audio Controller |
Netword card | Marvell Technology Group Ltd. 88E8057 PCI-E Gigabit Ethernet Controller |
Wi-Fi | Intel Corporation Centrino Advanced-N 6200 |
PCMCIA | Intel Corporation Core Processor PCI Express x16 Root Port |
Others | Webcam, Bluetooth, Modem, FireWire, Touchpad… |
PCI features
Below lspci output :
[root@Dahlia /root]$ 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: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.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (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 6 port SATA AHCI Controller (rev 05) 00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05) 00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 05) 01:00.0 VGA compatible controller: nVidia Corporation GT216 [GeForce GT 330M] (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 Device e822 03:00.1 System peripheral: Ricoh Co Ltd Device e230 03:00.3 FireWire (IEEE 1394): Ricoh Co Ltd Device e832 03:00.4 SD Host controller: Ricoh Co Ltd Device e822 04:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8057 PCI-E Gigabit Ethernet Controller (rev 10) 3f:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02) 3f:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02) 3f:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02) 3f:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02) 3f:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02) 3f:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)
USB features
Below lsusb ouput :
[root@Dahlia /root]$ lsusb 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 004: ID 0489:e00f Foxconn / Hon Hai Bus 001 Device 003: ID 064e:2100 Suyin Corp. 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
Distribution installation
Debian unstable
I used to work with a Debian distribution, so I choose a Debian and in particular a Sid Debian (or unstable)
Normally, it should be exactly the same proceed with the others distributions.
At first, I use the first ISO of Debian testing. I install the minimal system, then I set the network to complet the install by network.
The first step is the definition of partitions. I keep the Windows partitions.
Sample below :
[root@Dahlia /root]$ fdisk -l /dev/sda Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xfdc27c00 Device Boot Start End Blocks Id System /dev/sda1 1 608 4881408 82 Linux swap / Solaris /dev/sda2 * 608 2432 14648320 7 HPFS/NTFS /dev/sda3 2432 10942 68359168 83 Linux /dev/sda4 10942 60802 400495616+ 5 Extended /dev/sda5 60802 55925 361326592 83 Linux /dev/sda6 55925 59573 29295616 83 Linux /dev/sda7 59573 60802 9871360 83 Linux Partition table entries are not in disk order
Mount points :
[root@Dahlia /root]$ mount /dev/sda2 on / type reiserfs (rw) tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) udev on /dev type tmpfs (rw,mode=0755) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620) /dev/sda5 on /home type reiserfs (rw) /dev/sda6 on /usr type reiserfs (rw) /dev/sda7 on /var type reiserfs (rw) fusectl on /sys/fs/fuse/connections type fusectl (rw) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) nfsd on /proc/fs/nfsd type nfsd (rw)
After a complet install :
[root@Dahlia /root]$ df -h Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/sda2 14G 6,6M 7,5G 47% / tmpfs 1,9G 0 1,9M 0% /lib/init/rw udev 1,9G 280K 1,9M 1% /dev tmpfs 1,9G 284K 1,9G 1% /dev/shm /dev/sda5 345G 38G 307G 11% /home /dev/sda6 28G 17G 12G 60% /usr /dev/sda7 9,5G 3,8G 5,7G 40% /var
WARNING, if you wish use the hibernate mode… You’d rather set 10 Go to be quiet.
Kernel 2.6.34.1
[root@Dahlia src]$ wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.1.tar.bz2 [root@Dahlia src]$ tar -jxf linux-2.6.34.1.tar.bz2 [root@Dahlia src]$ ln -s linux-2.6.34.1 linux [root@Dahlia src]$ cd linux [root@Dahlia linux]$ cp ~/config.txt .config [root@Dahlia linux]$ make bzImage [root@Dahlia linux]$ make modules [root@Dahlia linux]$ make modules_install [root@Dahlia linux]$ cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.34.1-amd64 [root@Dahlia linux]$ cp System.map /boot/System.map-2.6.34.1-amd64 [root@Dahlia linux]$ cd /boot [root@Dahlia boot]$ update-initramfs -c -k 2.6.34.1
My bootloader is GRUB. You can download here my GRUB configuration.
[root@Dahlia /root]$ apt-get install grub [root@Dahlia linux]$ grub-install /dev/hda [root@Dahlia linux]$ cd /boot [root@Dahlia /boot]$ tar -zxf grub.tar.gz [root@Dahlia /boot]$ cd grub {root@Dahlia grub]$ ./install
Of course, you have to adapt for your table partitions(and partition names). Use the “blkid” command to get the partition names.
[root@Dahlia /root]$ blkid /dev/sda2 /dev/sda2: UUID="2383d50d-9235-458f-8a8f-a79a4bf54f55" TYPE="reiserfs"
LAN network
To use the netword card, there isn’t problem. Indeed the kernels higher to 2.6.34.1 support our card.
From udev, you can choose the name to give to your netword interfaces.
[root@Dahlia /root]$ cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x11ab:0x4380 (sky2) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:be:c1:35:44", \ ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x8086:0x422c (iwlagn) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:23:14:27:d4:a0", \ ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
[root@Dahlia /root]$ apt-get install ifrename [root@Dahlia /root]$ ifconfig -a eth0 Lien encap:Ethernet HWaddr 00:24:be:c1:35:44 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interruption:18 lo Lien encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1040 errors:0 dropped:0 overruns:0 frame:0 TX packets:1040 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:184312 (179.9 KiB) TX bytes:184312 (179.9 KiB) pan0 Lien encap:Ethernet HWaddr ce:ca:1a:da:7f:16 BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) wlan0 Lien encap:Ethernet HWaddr 00:23:14:27:d4:a0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Video (VGA, HDMI…)
I have chosen a laptop with a GeForce card, because this card are better supported by Linux than the ATI cards.
We install the driver and try the hardware acceleration.
Below, I compile the driver for the kernel current running.
[root@Dahlia /root]$ aptitude install nvidia-kernel-dkms nvidia-kernel-source [root@Dahlia /root]$ dkms build -m nvidia -v 195.36.24 -k 2.6.34.1 [root@Dahlia /root]$ dkms install -m nvidia -v 195.36.24 -k 2.6.34.1
We meet our first difficultiy ! Indeed, the laptop doesn’t detect the monitors that are plugged
Nevertheless, we can find a workaround to define manually it (refer to my Xorg file).
Here my Xorg file configuration.
Here my sony-vpcf11m1e.edid file.
Audio (Headphone, Micro…)
The 2.6.34.1 is provided with the 1.0.22 alsa drivers. So it doesn’t support your sound card. You have to use the next release of the alsa driver 1.0.23.
An other way is patch your 2.6.34.1 kernel release so as to use now your sound card and the micro.
[root@Dahlia /root]$ cd /usr/src/linux [root@Dahlia /usr/src/linux]$ wget http://www.progweb.com/modules/sony/data/sony-sound.patch [root@Dahlia /usr/src/linux]$ patch -p1 < sony-sound.patch [root@Dahlia /usr/src/linux]$ make modules [root@Dahlia /usr/src/linux]$ make modules-install
After rebooting, the sound should work !
But, we increase this installation. In fact, I want use the Gnome sound daemon and ALSA for my applications. I have to mix the sound.
To install the sound card :
[root@Dahlia /root]$ alsaconf
Now, I set the mixer :
[root@Dahlia /root]$ cat /etc/asound.conf pcm.card0 { type hw card 0 } pcm.!default { type plug slave.pcm "dmixer" } pcm.dmixer { type dmix ipc_key 1025 slave { pcm "hw:0,0" period_time 0 period_size 1024 buffer_size 4096 periods 128 rate 44100 } bindings { 0 0 1 1 } }
This configuration permits to use the Gnome sound server and ALSA.
Multimedia keyboard
How do you use the "multi-media" keys under Linux ?
This is possible with the module sony-laptop from kernel. Moreover, you can choose the action for each button.
However, you have to patch your kernel (sony laptop module) :
[root@Dahlia /root]$ cd /usr/src/linux [root@Dahlia /root]$ patch -p1 < sony-laptop-keys.patch
Here the sony laptop module patch.
To use the multi-media keys, I have modified the acpi scripts.
To use multimedia keys, you can also use your window managers.
Mouse / Touchpad
It isn't very difficult. To use in the same time mouse and touchpad.
[root@Dahlia /root]$ cat /etc/gpm.conf device=/dev/input/mice responsiveness= repeat_type=none type=exps2 append='' sample_rate=
Nevertheless, your touchpad is only detected as a simple mouse (IMPS/2). So you can't use synaptic drivers and multi-touch features.
With the follow patch, you can enable the synaptic features. Your touchpad will be detect as a synaptic devices. But the scroll feature doesn't work !
You can so use the workaround to use your touchpad :
[root@Dahlia /root]$ cat /etc/modprobe.d/psmouse.conf options psmouse proto=imps
I'm trying to fix this issue and to be able to use the multitouch feature.
Processor
For the processeur, you have to compile your kernel with the SMP support and the centrino support to be able to control the CPU frequency.
[root@Dahlia /root]$ cat /etc/modules asus_acpi speedstep-centrino cpufreq_stats cpufreq_userspace cpufreq_powersave cpufreq_ondemand
To allow an user to modify the CPU frequency :
[root@Dahlia /root]$ cat /etc/sudoers login ALL = (root) NOPASSWD: /usr/sbin/cpufreqset [0-9]* login ALL = (root) NOPASSWD: /usr/sbin/cpufreqsetgovernor [a-z]* login ALL = (root) NOPASSWD: /usr/sbin/cpufreqnextgovernor
As far as I'm concerned, I use gkrellm to set the CPU frequency.
Serial port
I have bought an USB <-> serial adaptater to be able to used my old devices.
[root@Dahlia /root]$ modprobe usbserial [root@Dahlia /root]$ modprobe pl2303
And I find the serial port /dev/ttyS0
CD / DVD / Blu-ray
Nothing in particular for this device.
PCMCIA
Nothing in particular for this device.
WAN Network
To use the wireless network card, there isn't problem. Indeed the kernels 2.6.34.1 supports our card.
To enable or disable the device, you can use the switch.
Bluetooth
To use bluetooth, you have to enable the USB interface.
[root@Dahlia /root]$ modprobe bluetooth [root@Dahlia /root]$ modprobe hci_usb
Firewire
To use this device, you have to load the good modules.
By sample, to use a video camera :
[root@Dahlia /root]$ modprobe ohci1394 [root@Dahlia /root]$ modprobe ieee1394 [root@Dahlia /root]$ modprobe raw1394 [root@Dahlia /root]$ modprobe dv1394
Photocard reader
No difficult to use the photocard reader, you haveto load the module sdhci.
[root@Dahlia /root]$ modprobe sdhci [root@Dahlia /root]$ mkdir /mnt/sd [root@Dahlia /root]$ mount /dev/mmcblk0p1 /mnt/sd
Webcam
Sony is provided with a webcam compliant with UVC standard.
So, your webcam should work without difficuty.
32 bits / 64 bits using
I use a Debian distribution for 64 bits architecture. See my kernel configuration.
Of course, all my applications are in native format (64 bits).
I haven't issue to run application into 64 bits.
Although all seems operate well in 64 bits. You can get issue with some applications, in particular with non-free applications : google-earth, Flash... Why ? Because these applications aren't released in 64 bits, we have only 32 bits format.
32 bits applications
Debian mainteners have built libraries in 32 bits for x86_64 / amd64 distributions :
[root@Dahlia /root]$ aptitude install ia32-libs ia32-libs-gtk
You can find new directories : /lib32 ; /usr/lib32...
Flash
For few months, Adobe released a 64 bits flashplayer :
[root@Dahlia /root]$ wget http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz [root@Dahlia /root]$ tar zxvf libflashplayer-*-x86_64.so.tar.gz [root@Dahlia /root]$ cp libflashplayer.so /usr/lib/mozilla/plugins [root@Dahlia /root]$ cp libflashplayer.so /usr/lib/iceweasel/plugins [root@Dahlia /root]$ ln -s /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/xulrunner-addons/plugins
Google Earth
Google provides only a 32 bits release of Google Earth.
[root@Dahlia /root]$ aptitude install googleearth-package [root@Dahlia /root]$ make-googleearth-package [root@Dahlia /root]$ dpkg -i googleearth_5.2.1.1329+0.5.7-1_amd64.deb
You can get several issues. Indeed, in my ia32-libs release, GL doesn't seek the DRI module in the good path. WARNING : it's only a workaround !
[root@Dahlia /root]$ cat /usr/bin/googleearth #!/bin/sh cd /usr/lib/googleearth # this no longer works with Google Earth 4.3, so we have to revert to using LD_LIBRARY_PATH, sorry #exec /lib/ld-linux.so.2 --library-path /usr/lib/googleearth /usr/lib/googleearth/googleearth-bin "$@" GOOGLE_EARTH_LD_LIBRARY_PATH=/usr/lib/googleearth if [ ! -z "$LD_LIBRARY_PATH" ]; then LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GOOGLE_EARTH_LD_LIBRARY_PATH} else LD_LIBRARY_PATH=${GOOGLE_EARTH_LD_LIBRARY_PATH} fi export LD_LIBRARY_PATH LIBGL_DRIVERS_PATH=/usr/lib/dri if [ `uname -m` = 'x86_64' ]; then LIBGL_DRIVERS_PATH=${LIBGL_DRIVERS_PATH}:/#DRIDIR32#/dri fi export LIBGL_DRIVERS_PATH /usr/lib/googleearth/googleearth-bin "$@"
If you use the non-free nvidia driver, you have to use 32 bits nvidia libraries :
[root@Dahlia /root]$ aptitude install nvidia-glx-ia32
To try and make tests :
[root@Dahlia /root]$ LIBGL_DEBUG=verbose googleearth
Software installation
My applications
Below my applications :
Desktop | Bureautique | Réseau | Développement | Multi-média |
Gnome & Sawfish | OpenOffice | Mutt | Bluefish | Audacious |
Gkrellm2 | Planer | Evoluton | Glade | Grip |
graveman | Evince | Gaim | Anjuta | Kino |
gtkam | Gnochm | GFTP | VIM | VLC |
Dia | Epiphany | Xine | ||
GQview | Ekiga | Mplayer | ||
The Gimp | Pan | RealPlayer | ||
X-Chat | Cinelerra |
3 Responses to Linux on Sony VPCF11M1E laptop