Linux on Laptops

Sponsored by LinuxCertified Inc.

Home | New | Models | Palmtops | Components | Discussion | Submit        

Installing Slackware 10.1 on Sony Vaio VGN FS 215E

Last updated: 23rd June 2005

VGN FS115B / FS215E (described below) / FS215B

VGN FS215M / FS215S / FS215Z

Hardware Components Status under Linux Notes
Processor
Intel Celeron M 370 1.5Ghz
Works No problems
Memory
512MB (2x256Mb modules)
DDR SDRAM PC2700
Maximum RAM 1024Mb
Works No problems
Hard Disk
Hitachi DK23FA-60 (60 GB Ultra ATA)
Works No problems
Chipset, PCI Bridge, IDE Controller
Intel 82801 (ICH6 Family)
Works Compile kernel 'Intel PIIXn chipset support'
This includes ICH support.
Trackpad Controller - Intel 82801 FBM LPC
Pointing Device - Alps pointing device
Works No Problems
Graphics
Integrated Intel i915GM.
Upto 128Mb shared memory.
Works Needs :-
Linux Kernel 2.6.12+
Xorg 6.8.99.10+
Screen
15.4" X-Black Widescreen LCD 1280x800
Works Text mode works fine.
Graphics work well at 1280x800, see below.
CD / DVD Drive
Pioneer DVD-RW DVR-K15
Works CD, CD-R, CD-RW
DVD, DVD-R, DVD-RW, DVD+R, DVD+RW
Internal Wired Network Card
Intel PRO/100 VE Network Connection
10/100Mbps
Works No problems
Internal Wireless Network Card
Intel PRO/Wireless 2200BG Network Connection
54Mbps. 802.11b/g
Works IPW2200BG Mini PCI card
External driver module needed.
Internal Modem
HDAUSIO Soft V92 Data Fax Modem with Smart CP
Doesn't Work This is a Windows software modem
It will not work
PCMCIA / PC-Card slot
Texas Instruments PCI7420 Integrated Flash Media
Controller recognised, not tested 1 slot
Sound Card
Intel High Definition Audio
Works Needs :-
Linux Kernel 2.6.12+
OR ALSA 1.0.9+
USB High/Full/Low Speed
82801 family USB1 UHCI and USB2 EHCI controller
Works 3 ports.
Compile kernel 'EHCI HCD (USB 2.0) support' and 'UHCI HCD (most Intel and VIA) support'
Firewire
Texas Instruments OHCI Compliant IEEE1394 Host Controller
Controller recognised, not tested 1 port.
Compile kernel 'OHCI-1394 support'
Memory Stick
Texas Instrument controller
Don't know what controller to use, not tested Should support Memory Stick, Memory Stick Pro and Memory Stick Duo
ACPI Working Battery status, etc

Basic Installation of Linux

After unsuccessfully trying to persuade Windows XP to install into a smaller partition (using the back up discs created from within Windows XP) I decided to get rid of Windows completely. I installed Slackware 10.1 from CD, but any Linux distribution should work.

I booted up from the install CD and used 'fdisk /dev/hda1' to remove the windows partitions. I then created 3 new Linux partitions (see below), everyone does partitions differently, but this is what I decided to do.

Partition  Boot  Start  End   Blocks     Id  System      Size    Use

/dev/hda1        1      3615  29037456   83  Linux       26.8Gb  OS
/dev/hda2        3616   7230  29037487+  83  Linux       26.8Gb  Files
/dev/hda3        7231   7296    530145   82  Linux Swap   0.5Gb  Swap
I installed Slackware 10.1 from the CDROM without any problems. I used the bare.i Kernel image from the CD and setup Lilo in the MBR as the boot manager before rebooting. As Slackware comes with a 2.4.29 kernel I decided to compile my own 2.6.11.9 kernel and altered /etc/lilo.conf to use my new version. Don't forget to run 'lilo' before rebooting. I also upgraded to xorg 6.8.2 from Slackware-Current.

Xorg / Intel i910GM Graphics / 1280x800 screen resolution

Getting Xorg to work at the native screen resolution gave me the most problems.

Short Version
Use Kernel 2.6.12+ (compile in AGP/DRI support) and Xorg 6.8.99.10+ (use i810 driver, change /etc/X11/xorg.conf to 1280x800)

Long Version
This laptop has a 15.4" widescreen at a resolution of 1280x800. The video card is an integrated Intel i910GM.

I initially tried to get this resolution working with Linux Kernel 2.6.11.9 and Xorg 6.8.2 (Current versions at time of writing). I compiled in kernel support for i810 and i830 chipsets and tried the xorg driver which supports i910G, no luck... the i910GM is different to the i910G :-(.

I then tried the vesa driver which worked fine but only at 1024x768 resolution, this gave me a stretched desktop and slightly fuzzy fonts... not really good enough. Tried changing the appropriate line in /etc/X11/xorg.conf to 1280x800 resolution but xorg still insisted on staying in 1024x768 mode.

Quick search on google revealed that other people had had the same problem. Tried the 915resolution program to alter an unused Vesa mode to 1280x800 so the vesa driver could find it. Also set xorg.conf to use 1280x800 as the default resolution... Still at 1024x768 :-(.

I downloaded and tried the Intel driver but couldn't get it to work either :-(.

I downloaded a more up to date release candidate kernel (2.6.12-rc6) and found that DRI support for the i910GM card had been added. For AGP compile in kernel support for '/dev/agpgart (AGP Support)' and 'Intel 440LX/BX/GX, I8xx and E7x05 chipset support'. For DRI support compile in kernel support for 'Direct Rendering Manager (XFree86 4.1.0 and higher DRI support' and 'Intel 830M, 845G..... (i915 driver)'.

I downloaded a testing version of xorg server (6.8.99.10) from freedesktop.org snapshotsand found that i910GM support had been added to the i810 driver :-). Compiled the new xorg server (quite simple really, unpack the source, change into the xc directory, type 'make World', wait approx 45minutes until it's finished, type 'make install' then 'make install.doc').

Made a new xorg.conf with 'xorgconfig' choosing th i810 graphics driver. It worked straight away in 1024x768 mode, then change '/etc/X11/xorg.conf' to 1280x800 by hand and restarted xorg... Success at last at the native resolution of 1280x800. Then went back to xorg.conf and uncommented the DRI/GLX section to get OpenGL working. Running 'glxgears' and 'glxinfo' confirmed OpenGL was functioning.

Touchpad / Mouse

This is an ALPS Glidepoint PS/2 Touchpad. Compile in Kernel support for 'Mouse' and 'PS/2'. xorg autodetected this and it worked without any problems first time.

I also configured my kernel for USB HID support so that I could plug in my Logitech USB mouse aswell. This worked straight away when plugged in with the same settings and at the same time as the touchpad. I added the ZAxisMapping line (see xorg.conf below) to use the scroll wheel.

A Linux Touchpad driver called 'synaptics' is available from here that also works with the ALPS Glidepoint. It allows you to control more touchpad parameters. I have not tried it.

Networking - Wired

This uses an Intel PRO/100 VE chip which is supported in the 2.6 kernel series.
Compile into the kernel, 'Device Drivers', 'Networking support', 'Ethernet (10 or 100Mbit)', 'EISA, VLB, PCI on board controllers' and 'Intel(R) PRO/100+ support'. Worked without any problems.

Networking - Wireless

This is an Intel PRO/Wireless mini PCI card which uses the IPW2200BG chip. Support is not included in the kernel itself but a driver and firmware are available from ipw2200.sourceforge.net.

The Kernel needs to be recompiled to be modular and include the below options.

Enable 'Loadable module support'
Enable 'Device Drivers'
	  'Generic Driver Options'
		'Select only drivers thatdon't need compile-time external firmware'
		'Prevent firmware from being built'
		'Hotplug firmware loading support'
	  'Networking support'
		'Wireless LAN drivers'
Enable 'Cryptographic API'
	  'ARC4 cipher algorithm'
Enable 'Library Routines'
	  'CRC-CCITT'
	  'CRC32'
	  'CRC32c'

Download the appropriate firmware and decompress with 'tar zxfv firmware-version.tgz', copy this into /usr/lib/hotplug/firmware.
Check that '/etc/hotplug/hotplug.agent' is pointing to the correct directory containing the firmware files.
Turn on hotplug (in slackware this done by typing 'chmod a+x rc.hotplug' in /etc/rc.d).

Download wirelesstools from the above site. Decompress as above and type 'make' to compile and 'make install' to install.

Download ipw2200-1.0.4.tgz (or later) and decompress with 'tar zxfv ipw2200-version.tgz', change into the ipw2200 directory and compile by typing 'make'.

NOTE : Driver compilation will fail on kernels > 2.6.12 as the kernel has changed subtly. The solution (found on the ipw2100 mailing list archives june 2005) is change '/ipw2200-1.0.4/net/ieee80211.h' at approximately line number 730 as below. Then type 'make' to compile.

/* ORIGINAL VERSION */
extern inline int is_multicast_ether_addr(const u8 *addr)
{
        return ((addr[0] != 0xff) && (0x01 & addr[0]));
}

/* ALTERED VERSION */
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,12)
 static inline int is_multicast_ether_addr(const u8 *addr)
{
        return ((addr[0] != 0xff) && (0x01 & addr[0]));
}
#endif

On rebooting typing 'iwconfig'. You should see something like below, note the first line may read radio off if the wlan switch on the front of the computer is in the off position.

eth0      unassociated  ESSID:off/any  Nickname:"vaio"
	  Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00
	  Bit Rate=0 kb/s   Tx-Power=20 dBm
	  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:0   Missed beacon:0
If the link is active you should see something like.

eth0      IEEE 802.11b  ESSID:"Home"  Nickname:"vaio"
          Mode:Ad-Hoc  Channel:13  Cell: 06:54:AC:E7:E0:4D
          Bit Rate=11 Mb/s   Tx-Power=20 dBm
          RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=93/100  Signal level=-34 dBm  Noise level=-256 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

If you are having problems check '/var/log/syslog' for any ipw2200 errors.

PCMCIA / PC-Card

This uses a Texas Instruments Chip PCI7420 Integrated Flash Media chip. Supported in the 2.6 kernel series. Controller is recognised. I have not tested this.

ACPI

Battery status works.
'Shutdown -h now' works.

Suspend to disk

Not tried

CPU Speed throttling (CPUFreq)

Compiles but I have not figured out how to get this to work yet.

Sound

This uses the Intel High Definition Audio Chip which is supported in Kernels 2.6.12+ and ALSA 1.0.9+.
Intel High Definition Audio is not supported in the 2.6.11.9 Kernel but I have read that other people have got it to work with ALSA 1.0.9.
The ALSA version in the 2.6.12-rc6 kernel does support the Intel HDA chip, audio works fine although the volume controls are muddled/lacking still.
Compile kernel 'Advanced Linux Sound Architecture', 'PCI Devices' and 'Intel HD Audio'.

i.Link / i400 / Firewire / IEEE1394

Texas Instruments Chip. Detected when kernel support compiled in. I have not tested this.

Memory Stick Reader

Not tried to get working yet.
I am not sure how this is supported.

Modem

This is a winmodem (software driven) and will not work with Linux.
I have not tried to get this working or investigated any further.

Other Information

/etc/X11/xorg.conf
Section "Module"
    Load       "dbe"   # Double buffer extension
    SubSection "extmod"
      Option   "omit xfree86-dga"   # don't initialise the DGA extension
    EndSubSection
    Load       "type1"
    Load       "freetype"
    Load       "glx"
    Load       "dri"
EndSection

Section "Files"
    RgbPath "/usr/X11R6/lib/X11/rgb"
    FontPath  "/usr/X11R6/lib/X11/fonts/misc"
    FontPath  "/usr/X11R6/lib/X11/fonts/TTF"
    FontPath  "/usr/X11R6/lib/X11/fonts/Type1"
    FontPath  "/usr/X11R6/lib/X11/fonts/75dpi"
    FontPath  "/usr/X11R6/lib/X11/fonts/100dpi"
    FontPath  "/usr/X11R6/lib/X11/fonts/cyrillic"
    FontPath  "/usr/local/share/fonts/TTF"
EndSection

Section "InputDevice"
    Identifier "Keyboard1"
    Driver "kbd"
    Option "AutoRepeat"   "500 30"
    Option "XkbRules"     "xorg"
    Option "XkbModel"     "pc105"
    Option "XkbLayout"    "gb"
EndSection

Section "InputDevice"
    Identifier "Mouse1"
    Driver "mouse"
    Option "Protocol"     "Auto"
    Option "Device"       "/dev/mouse"
    Option "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
    Identifier  "VAIO"
    HorizSync   31.5 - 64.3
    VertRefresh 40-150
EndSection

Section "Device"
    Identifier  "Intel"
    Driver      "i810"
    #VideoRam    8192
    # Insert Clocks lines here if appropriate
EndSection

Section "Screen"
    Identifier  "Screen 1"
    Device      "Intel"
    Monitor     "VAIO"
    DefaultDepth 24

    Subsection "Display"
        Depth       8
        Modes       "1280x800" "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "1280x800" "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1280x800" "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
EndSection

Section "ServerLayout"
    Identifier  "Simple Layout"
    Screen      "Screen 1"
    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
EndSection

Section "DRI"
   Mode 0666
EndSection

/proc/cpuinfo

processor     : 0
vendor_id     : GenuineIntel
cpu family    : 6
model         : 13
model name    : Intel(R) Celeron(R) M processor         1.50GHz
stepping      : 8
cpu MHz       : 1496.567
cache size    : 1024 KB
fdiv_bug      : no
hlt_bug       : no
f00f_bug      : no
coma_bug      : no
fpu           : yes
fpu_exception : yes
cpuid level   : 2
wp            : yes
flags         : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
                cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx
bogomips      : 2940.92

lspci output

00:00.0 Host bridge: Intel Corp.: Unknown device 2590 (rev 03)
00:02.0 VGA compatible controller: Intel Corp.: Unknown device 2592 (rev 03)
00:02.1 Display controller: Intel Corp.: Unknown device 2792 (rev 03)
00:1b.0 Class 0403: Intel Corp.: Unknown device 2668 (rev 03)
00:1d.0 USB Controller: Intel Corp. I/O Controller Hub USB (rev 03)
00:1d.1 USB Controller: Intel Corp. I/O Controller Hub USB (rev 03)
00:1d.2 USB Controller: Intel Corp. I/O Controller Hub USB (rev 03)
00:1d.3 USB Controller: Intel Corp. I/O Controller Hub USB (rev 03)
00:1d.7 USB Controller: Intel Corp. I/O Controller Hub USB2 (rev 03)
00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev d3)
00:1f.0 ISA bridge: Intel Corp.: Unknown device 2641 (rev 03)
00:1f.1 IDE interface: Intel Corp. I/O Controller Hub PATA (rev 03)
00:1f.3 SMBus: Intel Corp. I/O Controller Hub SMBus (rev 03)
06:03.0 CardBus bridge: Texas Instruments: Unknown device ac8e
06:03.2 FireWire (IEEE 1394): Texas Instruments: Unknown device 802e
06:03.3 Unknown mass storage controller: Texas Instruments: Unknown device ac8f
06:04.0 Network controller: Intel Corp.: Unknown device 4220 (rev 05)
06:08.0 Ethernet controller: Intel Corp.: Unknown device 1068 (rev 03)

Contact Information

Links