Sony Vaio C1
Yes, I have one. A Sony Vaio PCG-C1MHP, or C1 for short. It's a toy, an expensive one, and I would argue that it's not very useful for business use, but I've heard people argue that point of view. And I need to say that I use it for work as well; I don't have to, but I can, so why not? :-).
What exactly is the C1? It's a very small, fully functional laptop, and my guess is that it was created to be some sort of multifunctional, multimedia handler, considering the fact that it has a camera (for stills and streaming video), DVD/CD-RW player as accessory, Sony Memory Stick slot, A/V in and out, Bluetooth, a modem, Ethernet and USB connectors, microphone in and earplugs out... need I go on? Some eyecandy:
Yes, I know, that last picture is too blurry, but I moved when pressing "Capture". ;-) I'll be sure to fix that sometime.
Some simple stats on this machine:
- 22.7 cm diameter TFT screen, 1280 x 600 (!!)
- 867 Mhz Transmeta Crusoe processor
- 30 GB harddisk
- L x W x H: 249.5 x 28.5 x 152.5 mm
- 998 grams (including battery, excluding external peripherals)
- Built in webcam, BlueTooth, JogDial, Memory Stick, USB port, PCMCIA slot
- External portreplicator with Monitor out, A/V in/out, Ethernet, extra USB port
- External FireWire CD-ROM/CD-RW/DVD drive
For more information on the machine, surf to the Sony Vaio Europe site. On a sidenote: the following machines are basically the same as the C1MHP, and differ mostly in OS type that is delivered with the machine, amount of RAM installed, and/or country-specific layout:
- PCG-C1MW, PCG-C1MW1, PCG-C1MWP, PCG-C1MWP1 (US models)
- PCG-C1MHP (European model)
- PCG-C1MAH (HongKong model)
- PCG-C1MEL (Korean model)
- PCG-C1MSX (Japanese model)
- PCG-C1MT, PCG-C1MT1 (Asian/Australian model, older CPU, no BlueTooth)
- PCG-C1MZX (Japanese model, newer CPU)
The idea of this site then: no, I'm not trying to show off. I'm just sharing some info on the Sony C1, my experiences, and I'm hoping that others can help me out with the problems I have experienced or might experience in the future. This page is set up in two parts: one deals with Windows XP on the C1 (not my preferred OS on any machine, but the thing is that everything on the Vaio actually works with this OS... sadly it's a bit more work to accomplish that on other OS-es), and the second part, definitely the largest part, dealing with Linux on this particular machine. If you are interested in purchasing one, I will put some experiences I have had here, maybe this helps. Mostly though, you will find tips on what to do, and especially what not, when using Windows XP or Linux. If you have any comments, please e-mail me, or sign the guestbook, if you think your comments can help others. If your information is really useful, I will ofcourse integrate it into this page. On to the info itself then.
One last little fun thing I wanted to say: the movie xXx or Triple X (with Vin Diesel) briefly shows a Vaio C1 in action. Ofcourse it's running Movie OS (TM), but nonetheless it's funny to see. You might understand that they use an older version than I have; even the best agents don't get the nifty toys that I have. ;-) It's a C1VE series with a quad life BP54 battery pack (thank you for that info, Jason Gaunt). A few screenshots:
- Now, where's that money...
- Nope, not there yet, I think
- Let's see...
- What are those boys doing out there?
- Ah, the money is in!
- Yup, $1,200,000.00 as agreed.
- I'm smiling now!
We'll forgive them for having "encryped" in that nice little software package instead of "encrypted"; we're not nitpickers, are we? :-) Another movie that the Sony C1 stars in, is Charlie's Angels. Look here:
- Time for Charlie's call
- Nice office
- Enhance that reflection image
- No software found on Redstar Mainframe
- Tracing Charlie's call
- Acquiring target...
- I gotta go torture and kill your boss...
Haven't found any weird spelling errors yet in this one. But, filled with Movie OS (TM) again, and again the same, older C1 model, but then again, this is a 2000 movie, so that's to be expected. Wonder whether they'll be showing one again in Charlie's Angels: Full Throttle. Apparently, the movies Armageddon, Godzilla 2000 and Tomb Raider feature a C1 as well. When I get my hands on these movies, I will ofcourse post some screenshots.
BIOS related things
Before we go into the OS stuff, I wanted to mention the BIOS. While I couldn't find the hint on how to get to the BIOS in the first place, you can get to the BIOS when pressing F2 when the SONY logo is up. The BIOS is very simple, navigated with up/down and right/left arrows. There are a few interesting things worth mentioning: one is Network boot. I don't know how it works exactly, but someone should try it out. Another option is "booting from "Removable Devices"; I suspect that this might be the Memory Stick for example. Not sure, haven't tried, don't have a Memory Stick. A nifty feature in the "Advanced" menu is the "Logo Motion" option. Now this is something everyone wants, just to show off to their friends: turn this option on, and instead of just showing the SONY logo at startup, it shows VAIO, which then changes into the SONY logo, and makes a short, cute little sound. Oooh/aaah-factor is very high on that one. Note: one should NEVER alter anything in the BIOS without knowing what one is doing... or accepting the consequences later after the damage has been done.
The C1 with Windows XP
I already stated that Windows XP is not my preferred operating system, but I have to admit: the Vaio does perform well with this OS. Ofcourse, the fact that it was built to run with Windows XP makes this a logical thing, but I have to admit that I don't really mind running Windows XP on this little PC.
I do have to note one bad experience so far already though: do not, and I repeat, do not install Windows XP Service Pack I on your Sony Vaio PCG-C1MHP. First thing it mentions after rebooting is that your soundcard has been disabled, because it makes Windows XP unstable (?!?), and when trying out your camera, you will notice that it's quite a non-functional device after the completion of the install. I will contact Sony about this and see what they come up with, but after only one week of owning the Vaio, I have already enjoyed the ease-of-use of the recovery CD's. Note that these only recover the original state of the harddrive, the way you got it when you first booted up your Vaio, or you can install some of the added software from the last CD. Note: Greg Parker sent me the following message: "I have service pack 1 running no problem on the VAIO, although I did have to download the latest soundcard drivers to get that running again. No problem with the camera at all, still works fine." I haven't been able to try yet, but it might be safe to try now.
Second bad experience has now been detected also: it can apparently happen that the device "hangs" when being inactive for a long time. I think it's somewhere when the screensaver has been active for a long time, and screen-halt kicks in. The odd thing is that the mouse works fine, you can see the background, but the unlock screen for the screensaver doesn't turn up anymore. It's not screensaver-dependant, as far as I can see. What I have noticed is that the only time this happens, is when you lock the screen manually. If you let the screensaver timeout, and lock the screen in that way, there's no problem, but locking the screen manually by pressing CTRL-ALT-DEL - Enter, that creates a problem (but only after quite some time). But oh well, who has their laptop on for more than a few days straight anyway hm? ;-) Well, me!
The C1 with Linux (Debian)
Introduction - Installing Linux on this machine is much more interesting. The idea for me was to install Debian Linux, and if possible, with all the functionality of the Vaio implemented and active. Since I'm still in the middle of the process of achieving that, this story isn't finished just yet. Note: I have made many mistakes while trying to get things to work, and also I have found various fixes and workarounds to several problems. Most of these issues I will not go into, because the fixes will be implemented in the configuration files I have included. If you're not using them, but want to install from scratch (which is always a good idea in my book - although you might be inventing the wheel again, it does help you understand a lot about your hard- and software), then just compare them if I don't seem to be mentioning a problem you are encountering. Maybe I will include a list of problems I encountered, and where the fix can be found, but that's something that will come later on.
Partition - First of all you need a harddisk partition to install Linux on. The good thing about Sony machines is that they always come in two partitions. The second partition is for data, and is (practically) empty when you first begin using the machine. You can easily remove this partition, and use it for Linux. Windows XP has a Computer Management menu, with a Disk Management tool in it; you can use this to remove the second NTFS partition.
Installation - After this it's time to boot with a Linux CD. The Debian 3.0 CD (woody) works fine, and gives you basic support to get things going. Note: the FireWire CD-ROM player will boot, but this Debian distribution will lose the player after booting up. That's not a problem, as long as you have an internet connection at that time: the network adapter of the C1 is supported in this distribution, and DHCP works right away. After that you can use the default net-install from the CD, which works fine - but an internet connection is a must! Note: to get the machine to boot from your external CD drive, make sure that in your BIOS "i.LINK Boot" is enabled.
Hardware - There are many Sony Vaio C1 versions out there on the market right now. Some differ merely on country (keyboard layout), others just differ on how large the harddrive is, but there are many differences on other levels. This could mean that the information found here might not apply to (parts of) your device! Since you've installed a basic, working version of Debian now, it might be interesting to do lspci -vvv as root, and save the output, and then compare it to mine, which you can find here; this will provide you just the information you might need on which parts of the instructions below apply to you and your hardware, and which don't.
Distribution - Woody is ofcourse already an "old" distribution. Not much of the Vaio hardware is going to be supported with the kernel provided with this Debian distribution (2.2.20), nor will the software be advanced enough. A 2.4 kernel and unstable will be the way to go. The two most important requirements for a solid, working environment:
- Kernelversion 2.4.20-acpi-ac2
- XFree86 4.2.1
Kernel - The kernelversion is definitely important, for both the ACPI patch (find them on SourceForge) to get ACPI to work, and the "ac" patch ("ac" stands for Alan Cox). There are some interesting patches for this particular device in the ac tree, more specifically a DMA fix (when IDE DMA is turned on in the kernel (which you want in the end, to use the UDMA functionality of your disk to the fullest), the kernel used to halt during boot-up), and a fullscreen console mode especially for the type of screen this laptop uses (very nice to have, and much better then the tiny console you get if not having this enabled). Here you can find the kernelconfiguration I use at the moment. With that, you also need an /etc/modules and an /etc/lilo.conf. Sadly, the ac patch and the ACPI patch conflict on one little point, but this is easily fixed. It doesn't matter in which order you apply the patches; the last patch will fail once. Before applying the last patch, run "script", then apply the patch, and then logout. A file named typescript has been created, and you will find a FAILED notice in it, where the failure is pointed out. Read the .rej file which has been created, copy the line which has a "+" at the beginning, edit the corresponding .c file (without the .rej extension) and add the line you copied, into the file, ofcourse at the corresponding place where you found the line in the .rej file. I first applied the ACPI patch, and then the ac patch. I'm not sure whether this order created the next problem, but when compiling the kernel, I got the problem as stated here (which also gives the solution). Since I did not try to first apply the ac patch, and then the ACPI patch, I'm not sure whether this issue resulted from a fault in the ACPI or in the ac patch, and whether reversing the patch order could also fix this. If you try, you will probably see for yourself when compiling the patched kernel for the first time. After applying the patches, fixing the errors, and compiling the kernel, you're set, and ACPI works (do not forget to "apt-get install acpi acpid" to be able to use it). Note: for the naming convention I changed the attribute EXTRAVERSION in /usr/src/linux/Makefile to "-acpi-ac1", so I remember which patches I have applied.
XFree86 - Then the XFree86 installation and configuration. Here is my XFree86 configuration, which works fine. One little problem is that I have the framebuffer activated in the kernel, which gives the nice fullscreen console feature (note: this feature is not available anymore in kernels newer than 2.4.20; Alan Cox took it out of his patches since it crashed some boxes). The negative part is that it shifts the modelines in X up a few lines, meaning it drops a few lines at the top, and shows a few unused lines at the bottom. This is fixed by two seperate packages: see DRI below for fixing it in X, and 'apt-get install fbset', and run 'fbset -a -vsync 1' at boot to fix it in the console mode. Since the screensize is not quite standard, you would need a specially designed background (wallpaper) to make it look nice. I have stolen a few backgrounds and transformed them into useful sizes, and you can find them here. Note: don't let dpkg-reconfigure manage your XF86Config! It will ruin it (for example change your resolution to 1280x1024, which is totally rediculous), which scares you to death after every apt-get upgrade of X. Just run dpkg-reconfigure xserver-xfree86 as root and say "no" to the first question. Also make sure that your XF86Config looks like mine (meaning any lines that it's being managed by dexconf are removed). Note: I have an MHP, the british version of the MV, so my layout is "gb"; change this to whichever layout your keyboard has.
DRI - To get DRI, and thus 3D support to work on the ATI Radeon, there are certain things you can try. The GATOS project is working on the support, and the website Retinal Burn has some explanations on the installation. The actual DRI project is listed on SourceForge, which gives you quite elaborate information about getting it to work. I used the Debian installation to get DRI working. This installation is quite nice, because it fixes the framebuffer problem which I mentioned in the paragraph above; the console still uses the framebuffer device and thus is shifted upwards a few millimeters, but X does not use the framebuffer device anymore (not sure if that's also because I disabled the fbdev in my XF86Config), and so you can finally see the whole screen again in X while having fullscreen console available at the same time. There was one error though: switching from X to console, and then back to X caused gdm to crash and restart. But the DRI X packages were upgraded a few days ago, and now it doesn't seem to do that anymore. By the way, apt-get starts nagging about not wanting to deinstall xlibmesa3 because of dependency problems, but it will be replaced by xlibmesa3-dri-trunk, so you can ignore that. Note: this is only the beginning, because to get DRI to work you need to patch the kernel is some way. The Debian install places the file /usr/src/drm_trunk.tar.gz, expecting you to manage your kernel with make-kpkg, but I haven't done that, because I don't particularly like make-kpkg. I tried to create just a module .deb with make-kpkg out of it, but trying to isntall that gives me an error right at the start (depmod: *** Unresolved symbols in /lib/modules/2.4.20-ac1/kernel/drivers/char/drm/gamma.o). So DRI doesn't work yet for me, but it's a start.
JogDial - A nifty little feature, and very useful too, is the Sony standard JogDial (why the hell they want to implement that odd little thing on EVERY device they build, it beats me, but on the Vaio it's there for a reason). A good tool to use it to the fullest is Sjog ("apt-get install sjog"). I had one little problem with it, and that was that brightness was reversed with it (100% would be dark, 0% would be light). This is a known issue with Sjog, and starting it up with sjog -rb (which is the same as --reverse-brightness) solves that. Sjog uses the /dev/sonypi device, which doesn't get created by loading the modules. The following things are necessary, run these commands as root:
- As root, do: mknod /dev/sonypi c 10 250
- Create a file /etc/modutils/local just like this
- Run update-modules
If you want it to work directly, and want to be able to run sjog without rebooting, make sure you rmmod sonypi and then modprobe sonypi after this.
IEEE 1394 FireWire - To get the FireWire CD player working (I have the PCGA-CRWD2), you need to mount /dev/sr0. I included my /etc/fstab here. As you might understand, I created a symlink /dev/cdrom pointing to /dev/sr0 (ln -s /dev/sr0 /dev/cdrom). It's just useful if I mess up my /etc/fstab, and then forget which device was my CD player... not likely, but it sounds nice. Also realise that you won't be able to write to the NTFS filesystem, and trust me, you wouldn't want to either. Just leave that option off in the kernel.
Sound - A little note about sound: everyone is babbling that you would want ALSA. I see no need for that, not with this particular hardware anyway (the audio device I'm using is [ALi] M5451 PCI). I never had anything working as plug-and-play as this audio device before. Get the kernel configuration right, and it works.
ACPI - Finally I've created some scripts to get your ACPI useful, I have listed them below. Make sure you have installed acpid, spicctrl and longrun ("apt-get install acpid spicctrl longrun") in order for these to work:
These files need to be placed in /etc/acpi/ (without the .asis extensions ofcourse). Make the files executable too. To have them actually work, you also need events, and they look like this:
These files need to be placed in /etc/acpi/events/. Whenever an event is triggered (you push the powerbutton, or pull the AC plug out), the event gets picked up by the event script, and exectues the shell script. The powerbtn.sh script just turns your machine off; be careful, it's ruthless.
The ac_adpt.sh script is slightly more complicated. When the "ac_adapter" event is generated, it does three things: it executes longrun to adjust the clockspeed of your machine to the state of your AC; it executes spicctrl to set the brightness of your screen from 255 to 50 (in small steps ot make it appear smoothly) or vice versa, and finally it executes xscreensaver-command -throttle to throttle or unthrottle your xscreensaver. A throttled xscreensaver only blanks out, it does not execute any graphical screensavers. This means your machine will remain locked or unlocked depending on the state of xscreensaver when this is executed, but it will not run any graphical screensavers when the AC is disconnected, which saves power ofcourse.
The ac_adpt.sh script also needs to be ran when booting up the system, otherwise it will never receive an event that triggers the machine to run slower in the case where the AC is not connected from the start. One can accomplish that by executing:
- executing "ln -s /etc/acpi/ac_adpt.sh /etc/init.d/ac_adpt.sh"
- executing "update-rc.d ac_adpt.sh start 25 2 3 4 5 ."
The first command is to create a valid init.d scriptname for ac_adpt.sh. The second command creates a startup script in /etc/rcN.d/, (N ranging from 2 to 5), which gets executed at boot at sequence number 25 (acpid itself is started up on sequence number 20, so you want to run this script only after acpid has been activated). The AC script only has one problem now: when booting up with no AC, the AC script is not being triggered again when you start up xscreensaver. In this case, your xscreensaver is not throttled. I will try to fix that soon.
ToDo - My to-do list is still reasonably large. It might grow and shrink, depending on how much I work on it, and how much new information about the Vaio I get. Right now, this is the up-to-date to-do list:
- Getting DRI to work
- Getting a working Motion Eye camera; progress can be found at the R Engine page
- Getting an external monitor to work (didn't need it yet)
- Getting an external TV to work (don't have a TV ;-))
- Getting a USB mouse to work (don't have one, should be a piece of cake)
- Finishing ACPI scripts (finishing AC script, creating good suspend script and creating a good lidbutton script)
- Getting BlueTooth to work (don't have a BlueTooth device to work with)
- Trying out the Windows XP ServicePack 1 again, it should work according to other users
More Info - If you need help with a certain problem you're struggling with and want me to try to see if I can get it to work, don't hesitate to e-mail me. Loads of answers can also be found through the links posted on my Vaio Links page, which can also be found in the menu at the top of the page.
Thanks - I would like to thank everyone at the Vaio-Pcg-C1-General mailinglist, and especially Jean-Philippe Guérard, for all their help.
Talk to Kryz
(c) 2001 - 2005: Kryz for content, Anya for design