Sony Vaio 505TX.

Disclaimer: This assumes some knowledge of linux, like recompile and configuring your kernel, creating files for new devices in /dev, and possibly others if you're not comfortable with this, this may not be for you, although I'd recommend learning how to do it from the HOWTOs at the Linux Documentation Project. This information is also on a "It worked for me!" basis, if it doesn't work on yours, there's not likely to be a lot I can help you with, but you can email at

Well here's the story, the day my new laptop arrived, (after the extra 64mb of RAM for it arriving 5 days earlier, blah) I began the standard process .. booted the laptop to make sure it all worked and I wouldn’t have to send it back. Next step was to add the extra RAM. This was no problem at all, just a matter of taking off a small panel on the underside of the laptop and inserting the two RAM modules. Once I’d booted again, just to make sure all 128mb were being seen, I started removing the software already installed, MS Works, Quicken and a few others that I'd be unlikely to use.

Once all this was done, there was actually some more space to use on the 6gb hard drive, so I repartitioned, giving 3gb to windows and 3gb to be used for Linux. Having read Jason's report on installing on his laptop, I knew that the 4th partition was used for the sleep space, so I left it well alone, here's how my drive looks

Disk /dev/hda:
240 heads, 63 sectors, 839 cylinders

Units = cylinders of 15120 * 512 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 396 2993728+ b Win95 FAT32
/dev/hda2 397 802 3069360 83 Linux native
/dev/hda3 803 820 136080 82 Linux swap
/dev/hda4 821 838 136080 a0 Unknown

of course I left the linux drives unformatted when making them with partition magic. To install, I used a 3com 3c575 PCMCIA card and installed via FTP with the CD in my desktop computer, this was only because I'd read about having to pass various things to the kernel at boot up to make it see a PCMCIA cdrom drive and I decided that I couldn't be bothered .. when using the RedHat 5.2 boot disks, I'd no trouble whatsoever installing this way, and linux has now been on my laptop for a few weeks.


Red Hat 6 installed within a few days of release .. contains newer versions of almost everything, pcmcia card services (which I generally keep up to date with the latest versions anyway) came with kernel 2.2.5 by default, which is a lot better than 2.0.x imnsho. Other things I've done since first writing this, got irda working, so I can now hotsync my Palm III and do PPP over that, rather than using all these annoying cable things :)

Most of this was easy to set up using existing documentation, but I'll go through how I did it anyway.

Now all the IR progs worked, I could see my Palm using the irdadump program, and could use pilot-xfer to connect my Palm III (using irlink software on it).


Recently decided to try and get USB running using the 2.2.x kernel, as I have a USB zip drive (not one made by iomega however) and now that GNU Photo supports my digital camera,it's really the last hardware reason to keep windows 98 on my laptop. It turns out that getting USB itself working was a breeze! Although my zip drive isn't supported by any of the existing drivers in 2.2.12 (or 2.3.18 at this stage, I checked) I decided to buy a USB Mouse, just because I could do with one for use on the laptop (Quake really sucks trying to use a touchpad, with your fingers on the arrow keys on a laptop, as your hands end up the wrong way around (on a desktop your mouse hand is the right and keyboard the left). So I walked off to CompUSA one sunday and bought a Logitech Mouseman Plus Wheel USB Mouse, which is really quite comfortable to use and has LOTS of buttons (normal two, a wheel acts as another three, wheelup, wheeldown and press, and yet another button on the side, totalling 6). So I set about getting this working, after having a glance around the new USB HOWTO, this wasn't much trouble, although some of the information in the howto didn't work at all (like getting newer versions of the USB code and putting that into my kernel instead of the stuff that's already there) but otherwise their information was fine. The steps to get this up and running are:

  1. Uncomment the line for USB in /usr/src/linux/arch/i386/ (line 175 according to grep -n)
    source drivers/usb/
  2. after this, do a menuconfig on your kernel. You will see a new option in the list
    USB drivers - not for the faint of heart --->
  3. in this submenu, I set all of the options to Y, so they would be compiled into the kernel, from .config, the exact names of these options
      # USB drivers - not for the faint of heart
      # CONFIG_USB_OHCI is not set
      # CONFIG_USB_OHCI_HCD is not set
the reason I didn't set OHCI in this is because it's a driver for a different kind of USB bus (department of redundancy department!), I knew this because in the supported devices section of the Linux USB website says that all Intel PIIX4 based motherboards use UHCI (amazing what information you can find on the web, isn't it?). Anyway, to get back on track, to get the USB mouse working after recompiling with the kernel options set, it was only really a matter of telling things to use it, I had to mknod the device
mknod /dev/usbmouse c 10 32
, and then I wrote a small wrapper for gdm to check if the mouse is present at start up, if so, to copy a different X config file to the real one, with the mouse set to be /dev/usbmouse rather than /dev/mouse for the PS/2 mouse that the touchpad is seen as, and to copy an original there if the mouse hasn't been detected. This was as simple as (Redhat 6.x, your X may not start up the same way, meaning you have to write a startx/xdm/kdm/whatever else you use wrapper) changing the last line of /etc/inittab (which normally starts a script called prefdm to start up the display manager) to x:5:respawn:/etc/X11/ in order to start the following wrapper (which you can call whatever you want and put wherever you want).

  #!/usr/bin/perl -w
  if(`dmesg | grep -c "USB mouse found"` != 0) {
    system("cp /etc/X11/XF86Config.usb /etc/X11/XF86Config");
  #  print "USB Mouse found, enabling it for X\n";
  } else {
    system("cp /etc/X11/XF86Config.nousb /etc/X11/XF86Config");
  #  print "USB Mouse not there, switching to normal PS/2\n";

  system("/usr/local/bin/gdm -nodaemon");

Of course, this is hackier than Mr Hacky from the planet hack, for a number of reasons:
  1. It was just that, a quick hack to make it work
  2. it only works once per session, IE, you can't start up with USB support and use it in X, unplug the mouse, give X the three fingered salute (ctrl-alt-backspace) and then go back to using the touchpad, but I will fix this :)
  3. it's a GDM wrapper, not an X wrapper, which is why some things don't work
When I get some time, I'll make it work better and address these points, I don't do this for a living y'know (though I'd think about it if someone paid me to ;), maybe this weekend while I'm stuck in a hotel room in Atlanta (this is being written on the plane on the way there). But that's pretty much it, my XF86Config section relating to the USB mouse is as follows, incase you want to get it working.
  Section "Pointer"
    Protocol    "PS/2"
    Device      "/dev/usbmouse"
    Buttons     6
Which technically is wrong, there's already a type for MouseMan+ mice in XFree86, however when I set it to use that, it didn't work properly, which sucks, I shall investigate, watch this space [SPACE]

OK, you can ignore all that stuff in italics now, I've left it here just incase someone somewhere finds some use in it, but I now have made X play much nicer with having the USB mouse there, infact I can now swap it out when I feel like, and I can use both the external USB mouse and the built in PS/2 mouse at the same time (!!). What enables us to do this wonderful thing is XInput, basically, all that has to be done is to add something similiar to the following to your XF86Config file (I've included the part for the built in mouse too)

  Section "Pointer"
    Protocol    "PS/2"
    Device      "/dev/mouse"
    Emulate3Timeout    50
  Section "Xinput"
    SubSection "Mouse"
      Port "/dev/usbmouse"
      DeviceName "USB Mouse"
      Protocol "PS/2"
      Buttons 6
and, TADA!

Problems I've seen with it.

  1. Power Management: after having been in windows, it seems the the power management shuts down the modem, so when in linux it doesn't work. This can be resolved by either running windows with the power management profiles set to power management off, or to find some program that'll let you run things while shutting down, and to set the power management off from there.
  2. Sound: I don't really think this is a problem with the machine, more with ESD (the Enlightenment Sound Daemon). But sometimes when I play sounds, using esd applications, it sounds as if they're playing at twice the rate they should be. Update: this plays nice now, it seems to be a problem with warm booting from windows into linux, if I cold boot, it works fine
  3. Screen resolution: not really a problem that effects me much, but the screen on this laptop isn't SVGA that'll do up to 1024x768, it's an XGA screen, in otherwords it's always running at 1024x768, no matter what resolution the things you're running are at. So it seems to zoom the pixels, individually, hence things look pretty blocky at resolutions other than 1024x768, ie DOS looks totally terrible, standard linux console mode is the same (so I'm using the new 2.2.X VESA framebuffer to make my console 1024x768)