Linux on a Sony Vaio 505CT
I purchased a Sony Vaio 505CT at the end of June 2001. This model is a sub-notebook, with a detachable base (included). The base has a DVD-ROM/CD-RW, Floppy, AC in, plus a set of connectivity ports on the back: 2 USB ports, one firewire (1394), Video out, 10/100 ethernet, parallel and serial. The main unit has one PCMCIA slot, two USB ports, one firewire port, audio in, audio out, video out, modem, 10/100 ethernet, and memory stick slot.
Being a Debian user and developer myself, I wanted Debian installed on it. So, at 1am in the morning, Cyrille Chépélov and I commenced to install it. We had everything working by 5am or so (the building security had come on at around 2am and trapped us in the building until 8am at the LSM/Debian conference 1 in Bordeaux).
Background
The machine originally shipped with Microsoft Windows Millenium Edition. There was no option for Windows 2000 or any other operating system despite a sticker on the box for Win2000: Sony said their drivers were not ready. I believe this has now been fixed, but I haven't seen anything yet from Sony about this.
By default, the 20 GB disk is divided into two partitions, with everything installed on the first partition. I was happy with this; despite being a heavy Linux user, my girlfriend likes using MS Word, and there are occasions when it needs to be resorted to: the second parition was a perfect candidate. Furthermore, the recovery CD can only install the provided operating system and tools onto the first partition.
Main install
The trick came with getting the install files on to the system. The standard bootable CD-ROMS would not work: we had several, including Christoper Lameter's Telemetry Box business cards, however, the catch here is that the CD-ROM is not IDE, not ATAPI, but... 1394/Firewire. It was possible to boot from the CD-ROM drive, but not access it again from the install kernel, since as an install kernel, it had no 1394 drivers.
The work around was to prepare the disk, and then copy all the reqired files to the Windows parition (since under windows it could ready the install CD and copy it to the hard disk), and then mount the Windows parition as a vfat filesystem, get them and continue the install.
Random Notes
The X Windows video driver is for the Intel i810. I'm using ALSA for sound, and Gnome for my desktop.
This is not a cheap Laptop, and while the size/weight it very good, there are a few things that Sony left out:
- Infra Red
- TV Out (its got a DVD player, after all, so where are you going to watch those: just on your screen?)
- It's a regioned DVD player: dont think about changing the region with the software: 15 times and then your locked in. Sony should recognise that laptops are mobile: and move around regions. Do they have a solution for this?
- No 802.11 builtin or monitor mounted antenna. That would be nice. At least we have one PCMCIA slot, but built in would be cool.
A few things are very broken
- APM: its completely different from those Vaios that went before it. APM (as in 2.4.9 and earlier) show "AC on-line, no system battery" all the time. Suddenly you will find yourself without power, so make sure you save often!
Things I'd Like to see Sony do
- Make a version with the video out, and Infra Red
- Make it possible to have more than 256 MB RAM
- Better speakers. It sounds like a cheap FM radio! I thought Sony did good audio... the IBM thinkpad kicks this things arse for volume/clarity.
- Help the sonypi driver people get the jog dail working, the software Fn keys (contrast, external monitor, volume, etc). Luckily Fn does work with page up/page down/home/end, etc.
- The bottom edge of the monitor, either side of the hinges, seems a little bit fragile. These pieces wiggle a bit.
Links
I found the following things useful for me. Although no one had anything specific to this model I had (PCGR505CT), the ideas helped.
- Linux on Laptop - a great site with hundreds of models of laptops listed
- Karl Heinz Kremer's page
- Patrick Killelea's page
- Joe Chiu's page
Some links to other people's work:
Linux system info
/proc/cpuinfo
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 8 model name : Pentium III (Coppermine) stepping : 10 cpu MHz : 844.620 cache size : 256 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 sep mtrr pge mca cmov pat pse36 mmx fxsr sse bogomips : 1684.27
/proc/devices
Character devices: 1 mem 2 pty/m%d 3 pty/s%d 4 tts/%d 5 cua/%d 7 vcs 10 misc 13 input 14 sound 29 fb 128 ptm 136 pts/%d 162 raw 172 video1394 180 usb 203 cpu/cpuid 254 pcmcia Block devices: 1 ramdisk 2 fd 3 ide0
/proc/interrupts
CPU0 0: 553335 XT-PIC timer 1: 1135 XT-PIC keyboard 2: 0 XT-PIC cascade 3: 1 XT-PIC ohci1394 5: 2904 XT-PIC Intel ICH2 9: 459 XT-PIC usb-uhci, eth0 10: 11 XT-PIC usb-uhci 11: 3 XT-PIC sonypi 12: 863 XT-PIC PS/2 Mouse 14: 139034 XT-PIC ide0 NMI: 0 ERR: 0
/proc/ioports
0000-001f : dma1 0020-003f : pic1 0040-005f : timer 0060-006f : keyboard 0080-008f : dma page reg 00a0-00bf : pic2 00c0-00df : dma2 00f0-00ff : fpu 01f0-01f7 : ide0 03c0-03df : vga+ 03f6-03f6 : ide0 03f8-03ff : serial(set) 0cf8-0cff : PCI conf1 1080-109f : Sony Programable I/O Device 1800-180f : Intel Corporation 82801BAM IDE U100 1800-1807 : ide0 1808-180f : ide1 1810-181f : Intel Corporation 82801BA(M) SMBus 1820-183f : Intel Corporation 82801BA(M) USB (Hub A) 1820-183f : usb-uhci 1840-187f : Intel Corporation 82801BA(M) AC'97 Audio 1840-187f : Intel ICH2 1880-18ff : Intel Corporation 82801BA(M) AC'97 Modem 1c00-1cff : Intel Corporation 82801BA(M) AC'97 Audio 1c00-1cff : Intel ICH2 2000-20ff : Intel Corporation 82801BA(M) AC'97 Modem 2400-241f : Intel Corporation 82801BA(M) USB (Hub B) 2400-241f : usb-uhci 3000-3fff : PCI Bus #01 3000-303f : Intel Corporation 82801BA(M) Ethernet 3000-303f : eepro100 3400-34ff : PCI CardBus #02 3800-38ff : PCI CardBus #02
My XF86Config-4
Section "ServerLayout" Identifier "XFree86 Configured" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" ModulePath "/usr/X11R6/lib/modules" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/CID/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" EndSection Section "Module" Load "dbe" Load "dri" Load "extmod" Load "glx" Load "pex5" Load "record" Load "xie" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "ps/2" Option "Device" "/dev/misc/psaux" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-70 VertRefresh 43-90 Option "DPMS" EndSection Section "Device" ### Available Driver options are:- ### Values: <i>: integer, <f>: float, <bool>: "True"/"False", ### <string>: "String", <freq^gt;: "<f> Hz/kHz/MHz" ### [arg]: arg optional #Option "NoAccel" # [] #Option "SWcursor" # [ ] #Option "ColorKey" # <>i #Option "CacheLines" # <i> #Option "Dac6Bit" # [<bool>] Option "DRI" # [<bool>] #Option "NoDDC" # [<bool>] Identifier "Card0" Driver "i810" Option "power_saver" #VendorName "Intel" #BoardName "i815" #BusID "PCI:0:2:0" EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 #BlankTime 10 SubSection "Display" Depth 24 #Modes "Native panel mode" Modes "1024x768" EndSubSection EndSection
My filesystem layout
Filesystem Type Size Used Avail Use% Mounted on /dev/hda2 ext2 7.5G 1.9G 5.2G 27% / /dev/hda1 vfat 12G 5.8G 6.2G 49% /win
Modules I use with the standard Debian Kernel
Module Size Used by mousedev 4256 0 (unused) hid 11952 0 (unused) input 3680 0 [mousedev hid] ds 6832 1 yenta_socket 9104 1 pcmcia_core 40032 0 [ds yenta_socket] nls_cp437 4384 2 (autoclean) vfat 9072 1 (autoclean) fat 31648 0 (autoclean) [vfat] floppy 45168 0 (autoclean) sonypi 6656 0 (unused) i810_audio 13616 0 soundcore 4400 2 [i810_audio] ac97_codec 8960 0 [i810_audio] agpgart 25696 5 apm 8928 3 eepro100 16400 1 video1394 14832 0 (unused) ohci1394 16912 1 [video1394] ieee1394 24592 0 [video1394 ohci1394] cpuid 1280 0 (unused) usb-uhci 20928 0 (unused) usbcore 49152 1 [hid usb-uhci] unix 15520 82 (autoclean) ide-disk 7008 3 (autoclean) ide-probe-mod 8848 0 (autoclean) ide-mod 141360 3 (autoclean) [ide-disk ide-probe-mod] ext2 34896 1 (autoclean)
What SonyPI says
sonypi: Sony Programmable I/O Controller Driver v1.2. sonypi: detected R505 model, camera = off sonypi: enabled at irq=11, port1=0x1080, port2=0x1084 sonypi: device allocated minor is 63
In summary
A reasonably good machine, and easy on the eye (it looks nice). But a few missing features, and a company that could sell more of these by releasing some information to Linux developers.
Update: 19/August/2002: PCMCIA works with 2.4.19 kernel
Finally! I installed the Debian 2.4.19-686 and corresponding kernel-pcmcia-modules package, and there it was. Working perfectly. Excellent work, kernel hackers!
Update: 11/April/2003: Hard Disk Dead
Well, I left it on overnight downloading the Matrix trailer, and in the morning, the system had locked up solid. I rebooted, and instead of the Sony logo disappearing, it hung, while a loud clicking sounds came from within. Next reboot I pressed escape on the sony logo to see the bios booting, and then it hangs. Then SMART reports a drive failure, and GRUB gets an Error 18. No more data.
Sony support sux: they want £12.50 just to talk to me on the telephone. Their warranty is only 1 year. It will cost heaps to get a drive repleaced with them. So... time for a screwdriver. Its a Hitachi DK23BA-20 drive inside, located at the front to the right of the touch pad. Comes out easilly. I got a replacement one from a colleauge for £40 (they are £60 new).
Update: this link is cool
Go here for cool information. I like i810switch!
Update: 2.4.73 bk 7 fixes heaps, and works!
I have been playing with 2.5 kernels to see what that fixes, and now have one as my default kernel. One of my bug-bears has been the 2.4 kernel, and the problem with ACPI and USB being assigned the same IRQ (typlically 9) causing USB to fail with messages like 'device not accepting address'. While there is a patch for it, I find it easier to grab a fixed upstream source... so... grab 2.5 (soon to be 2.6). My config file for configuring the kernel to my taste is here.
Steps:
- cd /usr/src
- wget http://www.kernel.org/pub/linux/kernel/v2.5/linux-2.5.73.bz2 # or later...
- wget http://www.kernel.org/pub/linux/kernel/v2.5/snapshots/patch-2.5.73-bk10.bz2 # or later
- tar -xjf linux-2.5.*
- cd linux-2.5.*
- bzcat ../patch-2.5.* | patch -p1 -s -N -E -d .
- wget http://www.james.rcpt.to/2001/config-2.4.73-bk7.txt
- mv config-2.4.73-bk7.txt .config
From here you can use the kernel-package Debian package to create a .deb of your kernel... or
- make oldconfig
- make bzImage && make modules
- make modules_install
- cp System.map /boot/System.map-2.5.73-bk7 # or later
- cp .config /boot/config-2.5.73-bk7 # or later
- cp arch/i386/boo/bzImage /boot/vmlinuz-2.5.73-bk7 # or later
Dont forget that you'll need an updated modutils (module-init-tools package) and generate an initrd image (mkinitrd -o /boot/initrd.img-2.5.73-bk7 /lib/modules/2.5.73-bk7), and then set up your boot manager (lilo or grub).