ImpressioNet-logo
gnu/linux on the sony vaio pcg-grx316mp

this page describes my experiences in setting up debian gnu/linux on the sony vaio pcg-grx316mp
in the hope this possibly helps someone else setting up gnu/linux on his own notebook.
i do not guarantee that the content of this page is helpful in any case, nor am i responsable
for any damage caused by following this guide.

you can mail your suggestions, comments and questions to pascal at impressionet dot ch.
this page is updated from time to time, so be sure to check back...

this guide is written for debian-gnu/linux, i think it's also applicable to any other distro.

thanks
special thanks go to:
lynx - without his endurance getting my x-server to work, i won't be at this point now
linux on laptops [1] - for the great idea of gathering information on the laptop-subject together
the debian project [2] - for one of the best gnu/linux-distros
the entire opensource-community for it's fantastic work on a free world!

overview
hardware used:
sony vaio pcg-grx316mp, pentium iv mobile 1.6ghz, 512mb ram, 30gb hdd, ati mobility radeon 7500,
16inch tft screen at 1600x1200, cd-rw/dvd combodrive,firewire/usb, memorystick-slot, intel network
adapter

additional hardware:
cisco aironet 350 wlan adapter, minds@work pss-1830 external firewire hdd,
teac usb-floppy-drive, logitech optical 3key usb-mouse with scroll-wheel

gnu/linux-distro:
debian unstable [2], kernel 2.4.22

prerequisites
the machine came with the harddisk partitioned in two identical ntfs-partitions of 15gb each.
on the first partition, win-xp pro english was preinstalled.
currently, i have completly removed win-xp and created a partition-table which fits
my needs - just partition your way...
to install debian, i booted from the minimal-system iso-image i downloaded from the net and
burned to a cd. i then set up the minimal system using debian's installer.

kernel
in order to get everything working correctly, i built a custom kernel (a lot of partly working
kernels to get to a proper working version to be exact :). i don't know if any of debian's actual
kernels will work out of the box.

the most important thing is to have acpi support in the kernel
without acpi, sound, firewire, memorystick-reader and powermanagment will not work!
the actual kernel at the time of this writing (2.4.22) supports acpi and the integrated
memorystick-reader without problems. you can either configure the kernel yourself or take my
configuration and adjust it to your needs (i suggest doing that way...) or you use the
prebuilt kernel-image (deb-package) which runs currently on my machine.

configuration for kernel 2.4.22 [3]
debian package [4] for configuration above

when using this kernel, everything should go very well...

kernel 2.4.20
if you want to setup the system using the kernel 2.4.20, a little bit more work is needed.
note: i only give a short instruction about using this kernel, it works very well too, but i
recommend using version 2.4.22.
first of all, you'll have to patch the kernel for having acpi support and acces to the memorystick

acpi-patch for kernel 2.4.20 [5]
memstick-patch for kernel 2.4.20 [6]

patch it using "patch -p1 < memstick.patch" in the kernel-source. do the same for the acpi-patch.
then, simply build the kernel.
config for 2.4.22: configuration for kernel 2.4.20 [7]
debian-package for 2.4.22: debian package [8]

network adapter
the internal intel etherexpress network-controller is well supported by gnu/linux.
the right driver is enabled in my config [3]/[7] or my debian-package [4]/[8],
if you configure a kernel yourself, enable it under
"network device support -> ethernet (10 or 100mbit) -> EtherExpressPro/100 support"
(plus the usual stuff like tcp-ip etc..)
after adding my settings to /etc/network/interfaces and a reboot with the new kernel, the card
worked fine and i didn't have any problems till now.

x11
xfree86 works fine if using the latest avaiable version (the versions from debian unstable for
instance). use my XF86Config-4 [9] then run "dpkg-reconfigure xserver-xfree86" to adjust my
settings to your preferences (or edit the file manually...).

note: running xfree through the framebuffer-device doesn't seem to work.
i didn't have the time to make opengl/3d-acceleration work, it seems that the card isn't
accessed through agp.


by the way (this has not really to do with x11...): running the non-x11-console through
framebuffer works well and is very nice (not only because of the penguin at boot-time ;)
the console is just to huge in normal mode on vaio's excellent screen.

cisco aironet 350 wlan-adapter
(ok, this is not very vaio-specific, i thought it can also be helpful...)
the cisco-card is very well supported for gnu/linux by cisco (and it's an excellent card regarding
range). if you install the utilities from the cisco-cd, compile the drivers standalone using
the module-sources from pcmcia-cs project [10].
if you don't want to use cisco's utilities, you can also build the pcmcia-subsystem into the kernel, for the
aironet-card, use the option "network device support -> wireless lan (non-hamradio) ->
Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards"

usb
for usb support, do the following:
in the kernel-config under "usb support":
support for usb: yes
uhci alternate driver (je) support: yes
usb mass storage support: yes
usb printer support: yes (but currently not in use.)
hid input layer support: yes (ah, i forgot the mouse - it works fine)
or use my config [3] or deb-package [4].
that's it!

firewire
firewire works without problems (since using acpi...), i compile the required drivers
as module (OHCI-1394, SBP-2. IEEE1394-RAWIO, DV1394...)

cd-rw
of course, the cdrom works out of the box. a bit of work needs to be done if it
should burn cds:
in order to burn cds, the cdrom must be mounted as scsi-device, to achieve this,
i enabled some stuff in "scsi support" of the kernel-config:
scsi support: yes
scsi disk support: yes (used for usb-floppy)
scsi cdrom support: yes
if you want to burn cds you have to tell the kernel to mount the cdrom as scsi-device
at boot-time. if using lilo, type "linux hdc=scsi" or add
"append="hdc=scsi" in /etc/lilo.conf.

memorystick-slot / jog-dial / function-keys
if you use kernel 2.4.20, be sure to have the patch[6] in the source,
as well as the needed usb and scsi-support (see above). it is then accessed as a
scsi-device ("/dev/sda1" in my case) and works fine.

the jog-dial works if CONFIG_SONYPI is set to yes in the kernel config. it's functions can
then be accessed through sjog [11].

function-keys (like brightness of the screen, volume) don't work actually. but because
sjog can cover the same functionality more or less, i'm not really interested in
getting them to work.

powermanagment
supported, see notes about kernel above...

sound
works fine if acpi is included in the kernel (otherwise it gets problems with interrupts).
use driver "CONFIG_SOUND_ICH".

modem
not yet configured and not likely to be configured in near future...


links
[1] linux on laptops
[2] the debian project
[3] configuration for kernel 2.4.22
[4] debian package 2.4.22
[5] acpi-patch for kernel 2.4.20
[6] memstick-patch for kernel 2.4.20
[7] configuration for kernel 2.4.20
[8] debian package 2.4.20
[9] XF86Config-4
[10] pcmcia-cs project
[11] sjog homepage
last modified: 20040618-0141
Valid HTML 4.01! Valid CSS!