|
This information
on this page is provided to help anyone configure and install various
pieces of hardware under Linux on a Sony Vaio
Slimline PCG-R505JL or similar notebook computer.
Sony frequently shuffles its models around with no notice,
so if you don't have exactly the same model, my experiences might or might
not be relevant to you.
Much of the following is reconstructed from memory, so there is no guarantee that
it is accurate and it is almost certain to contain omissions.
Use it as a hint for where to start looking rather than a step by step guide.
The following devices are now working on my machine:
To achieve this, I needed to configure or tweak the following subsystems:
Technical specifications for Vaios can be found
here.
The following accounts of fellow sufferers
struggling with their laptops can be very useful:
Sam Revitsch,
Jan Spluski,
Ryan,
Jordan Ritter,
Ben,
John Davin,
Jon Gans,
Pater
Akkana.
Finally, the central information repository for hacking Linux to work on Vaios is
the Linux-Sony
Documentation Site and
Message Board.
Kernel
I use Redhat 7.2 with a standard issue 2.4-20 kernel.
You can take a look at my current .config file,
but you shouldn't take it too seriously, since it is mostly a product of trial and error.
Before you compile the kernel, make sure to apply Jan Spluski's patch (described below)
if you are having trouble with USB interrupts.
I didn't apply any other patches.
USB
For some strange reason, the interrupt routing table on certain Vaios (including the
R505JL) is broken. The wrong IRQ is assigned to USB devices and the
jogdial by default. If this quirk is not recognized,
input from these devices will only be read sporadically, when something else promts an
interrupt. When you move the mouse, nothing happens for a while, and then suddenly
the cursor goes berserk running all over the screen.
This bug thwarted my attemtps to use USB gear for almost a year, until I found
Jan Spluski's precious
page
where the problem is described and a simple patch is given to fix it.
An easy way to test if your machine is suffering from this ailment is to try playing
some audio in the background, which generates interrupts on the same IRQ as where
the kernel expects USB interrupts. If this magically
makes your mouse or jogdial work, chances are, you need Jan's patch.
To check on the Linux compatibility of particular devices, go to the
Linux USB site or the
working devices list.
Documentation for the USB subsystem is
here.
Firewire
PCMCIA
Jogdial
Use the sonypi module. If you suffer from the IRQ bug
you must patch your kernel first. Use the device /dev/sonypi c 10 250
(do mknod /dev/sonypi c 10 250 if it doens't exist) and insert the line
alias char-major-10-250 sonypi in your
/etc/modules.conf file.
I use a modified sonypid deamon that
simulates a mouse wheel (buttons 4 and 5). To compile it use the
Makefile. To run it in the background,
I put exec /usr/local/bin/sonypid & in my .xinitrc file, but
this is not the only possible way to start it up automatically. If you are using
fvwm2 like I am, putting
these lines in your .fvwm2rc
file will let you move between desktops by rolling the jogdial.
Ethernet Card [eepro100]
This ethernet card has a feature (probably never used)
designed to optimize performance on low bandwidth networks, called PCI sleep mode.
Thanks to this innovation of which the Linux driver is not aware,
if you try connecting to a 10/100 network,
after about 20 seconds the connection will break, the kernel
reporting: eepro100 wait_for_cmd_done timeout.
The solution is simple, as described
here.
Download and compile
eepro100-diag.c. and run it with the -ee option. If you see
PCI sleep mode enabled, run it again with -G 0 -w -w -f. Do a cold reboot and
use your ethernet card happily ever after.
Once the sleep mode enable flag is switched off,
it is written to the ethernet card's internal eeprom, and
you never need to worry about it again.
SMC Barricade SMC 7004VWBR
This router/firewall/wireless-hub worked straight out of the box.
Use the URL http://192.168.2.1/ to configure it from behind the firewall itself.
Orinoco
Microsoft Natural Keyboard Elite
Works fine.
See USB section for how to fix the evil interrupt problem.
Micro Innovations MO32UO optical mouse
This cute little infrared mouse works fine with the mousedev module.
I find it more comfortable than regular sized mice.
See the USB section on how to fix the evil interrupt problem.
LaCie d2 Firewire Hard Drive
Works fine with the sbp2, scsi_mod and ohci1394 modules.
Note that the d2 comes with
a 6-pin to 6-pin Firewire cable so a 6-pin to 4-pin cable needs to be bought separately.
A cheap 10 dollar cable works for me, although you can buy fancy
cables for five times as much.
The drive is identified as a SCSI device, so its partitions will be accessible
under /dev/sda1, /dev/sda2, .... .
Canon PowerShot C200
Works through USB with gphoto2
version 2.1.1. You also need to install the libgphoto libraries accessible from
the same place. See
Ole Aamot's page for details. I had to hack into the ./configure file because it
couldn't find libgphoto2.so, despite the fact that it was sitting in my
/usr/local/lib directory. Just disable the
line checking for it in the script if you are
having trouble. I also needed to set the the LD_LIBRARY_PATH environment variable
to /usr/local/lib because gphoto2 couldn't find the library at run time.
Sandisk PCMCIA Compact Flash Reader
This might be a better way to download pictures from a digital camera:
no cables to carry around, the camera doesn't need to be turned on, and leaner
on the software side, too. The gadget itself costs less than 10 dollars.
You need the ide-cs kernel module (look for PCMCIA IDE)
in the IDE section of the kernel configuration. The CF card appears as /dev/hde1.
My /etc/pcmcia/ide.opts file is really simple. I created
the /camera directory and added
the line /dev/hde1 /camera auto noauto,user 0 0 to /etc/fstab.
Just type mount /camera and the files on the CF card should be accessible in that
directory.
|