Sony VAIO PCG-C1VN PictureBook Solutions

Disclaimer: Use at own risk!


Last updated May 29th, 2004

PictureBook | PB Links
1024x480 under Windows 2000 | Bootable USB Floppy Drives | Sound | Memorystick | Full Width Console | Brightness and Battery Utils | Linux PCMCIA
Linux BIOS | Windows 2000 BIOS Update | Submitted Tips And Solutions | Red Hat 7.1 install with no CD ROM | Multiple Mice | External Display | Framebuffer | C1VE With XP BIOS Upgrade | English Keyboard Settings for C1VR/BP Running English XP

Why Aren't You Writing Your Own PictureBook Linux Programs?
  - I work for IBM. IBM both owns any programs I write while working for them and wants to be able to say that my programs were not based on the work of others to avoid lawsuits, among other reasons. So I'll let others tame the PictureBook.



Why (oh why) can't I get 1024x480 under Windows 2000?

January 27th, 2002

Thanks to Craig Arnold for this:
Try this:

Go to:
1. Open Display Properties
2. Select Settings Tab
3. Click Advanced
4. Select Monitor Tab
5. Uncheck the box which says "Hide modes that this monitor cannot display."
6. Click OK to get back to the Settings tab.
7. Select 1024x480 & apply.

Pres Nevins noted the following: The C1VJ Win2k instructions page worked for me on my C1VJ. Here's what it says: once you install the ATI video driver, you have go to the Display properties panel, Settings tab, Advanced button. Then, in the ATI panel that comes up, in the Monitor tab, uncheck the checkbox that limits it from displaying modes that the display "can't handle."
Click OK, then in the Screen Area popup, you should be able to select 1040x480.


Which USB floppy drives will boot a C1VN?

January 26th, 2002

Thanks to Emanuel Brown for this:
Besides the Sony one... "Lots of other drives work. The company that makes the drives for Sony is Y-E Data, and they make drives for lots of other companies, most notably Apple's iMacs. Any drive sourced from them will work with a VAIO."

Sound

Thanks to Andy Nguyen for these instructions:
- Distr: Redhat 7.0, but this should be generic for all other dist
- C1VM, which is the Australian version of the C1VN.
- Kernel 2.4.1-ac10
- When configuring the kernel (I use "make menuconfig"), enable Sound card support, OSS sound modules (Also Verbose and Persistent DMA buffer), and Yamaha YMF7xx PCI audio.

CONFIG_SOUND=y
CONFIG_SOUND_OSS=m
CONFIG_SOUND_TRACEINIT=y
CONFIG_SOUND_DMAP=y
CONFIG_SOUND_YMFPCI=m
CONFIG_SOUND_YMFPCI_LEGACY=y

- Include YMFCPI in /etc/modules.conf
alias char-major-116 snd
alias snd-card-0 ymfpci
alias sound-slot-0 snd-card-0

Note: If you experience a buzzing noise after doing this, follow Andy's further advice:
"I had the buzz sometimes when changing config, but never on a clean boot. When that happens I just turn down the volume in text mode with "aumix" and run sound either in text mode or in X. Another quick fix is to run mpg123 in text mode and play a MP3 file."

I've included Andy's change in my kernel configuration file above. You should be able to just add the three lines to /etc/modules.conf before restarting with the new kernel.


Memorystick Patch

Status: Now in the kernel. RH7.1 will even add a Memorystick Icon to the X desktop.

Thanks to Marc Boucher for e-mailing me the latest version of his patch!

--- linux-2.4.0-ac10-mb/drivers/usb/storage/unusual_devs.h      2001/01/21 19:05:34     1.1
+++ linux-2.4.0-ac10-mb/drivers/usb/storage/unusual_devs.h      2001/01/21 19:08:37
@@ -132,6 +132,12 @@
                US_SC_UFI, US_PR_CB, NULL,
                US_FL_SINGLE_LUN | US_FL_START_STOP ),
 
+UNUSUAL_DEV(  0x054c, 0x0032, 0x0131, 0x0131, 
+               "Sony",
+               "Memorystick MSC-U01",
+               US_SC_UFI, US_PR_CB, NULL,
+               US_FL_SINGLE_LUN | US_FL_START_STOP ),
+
 UNUSUAL_DEV(  0x057b, 0x0000, 0x0000, 0x0299, 
                "Y-E Data",
                "Flashbuster-U",


Mike Hopkins' provided Memorystick instructions, summarized here:
Build scsi support into the
kernel
(I found I had to leave USB Storage as a module, not compile it into the kernel)
You can check the contents of /proc/bus/usb/devices (at least in 2.2.x) to see if it detected.
Load the USB Storage module (as root):
% insmod usb-storage
You should get a message like

usb.c: registered new driver usb-storage
scsi0 : SCSI emulation for USB Mass Storage devices
scsi : 1 host.
  Vendor: Sony      Model: MSC-U01           Rev: 1.00
  Type:   Direct-Access                      ANSI SCSI revision: 02
Detected scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: hdwr sector= 512 bytes. Sectors= 63424 [30 MB] [0.0 GB]
usb-storage.c: new MODE_SENSE_6 data = 06 00 00 00
sda: Write Protect is off
 sda: sda1                                                                      


You can then mount the Memorystick as a disk at sda1. Mike made a directory
/mnt/stick
and mounted it with
mount -t vfat /dev/sda1 /mnt/stick
Mike states: 'I have the line

/dev/sda1               /mnt/stick     vfat    exec,dev,user,suid,rw,noauto 0 0

in my /etc/fstab, and I put a kdelnk on my kde desktop, and to mount and umnount the stick I just click on the icon. If you're running kde, just copy the "floppy" icon and make the obvious changes.'

If you're not, these steps will cleanly mount and unmount the memory stick once set up as above:
insmod usb-storage
mount /mnt/stick
[cp files, etc.]
umount /mnt/stick
rmmod usb-storage
(Y'all can tell me what of the above is not needed, or what I'm missing)



Full Width Text Console

Status: Now in the kernel patches, starting with 2.4.5-ac20.

1. Get Marcel Wijlaars' patch (or get it via FTP).
2. Extract kernel 2.4.2 and apply patch-2.4.2-ac19 or later. Basic instructions here.
3. Apply Marcel's patch.
4. Continue building the kernel.
5. When modifying Lilo, add vga=0x301 "otherwise you get a blank bars at the top and bottom of the screen, and a misplaced cursor," Abe Waranowitz notes. He also notes that Marcel did all the work and came up with the Lilo fix.



Brightness And Battery Utils

Ellick Chan notes there are utilities for LCD brightness and battery info [Edited]:
"The site is: http://us1.samba.org/ftp/unpacked/picturebook/
All you need to do is download vaiobat.c and setbrightness.c to a directory, and type:
gcc -o setbrightness setbrightness.c
gcc -o vaiobat vaiobat.c
These utils (at least setbright.c) seem to work on the N505vx and Z505js models as well." Thanks Ellick!


Linux PCMCIA

If you have problems getting your PCMCIA-connected drive recognized under 2.4.whatever, try installing the latest version of PCMCIA-CS (or equivalent). This has solved three people's problems.


Cardbus BIOS Upgrade for Linux Users

Abe Waranowitz has the ISO image and the floppy image available. Thanks Abe!
The idea is that you use them instead of running the program to make the BIOS update floppy, then follow Sony's instructions from there.


Windows 2000 BIOS Upgrade For Non-C1VN Systems For Cardbus PC Cards

Adrian Colegate provided this solution; I have not tested it and cannot help you with it. If you don't know what you're doing, seek help on the web forum.
"Before I begin, I'd like it to be known that Kentaro" [e-mail removed to prevent spammer harvesting] "helped me out by supplying the URL.
Right, here's what a C1Vx user needs to do in order to get 32bit Cardbus support (plus a host of other stuff) working after installing Windows 2000.
Download the BIOS upgrade from here.
It's the Japanese/US version so C1VE users need to change a file called pc_info.txt
Change the line that reads:
Model Name = PCG-C1VE(GB)
To:
Model Name = PCG-C1VN
Then change the file attribute to read-only.
Now you can run the BIOS updater and the program will think you've got a US/Japanese machine and run build the boot floppy to allow for BIOS update."

Andy Nguyen reports he successfully updated the BIOS on his C1VM (the Australian version).


Submitted Tips And Solutions

Note: Due to space/time constraints on my part, it would be best if you could set up a web page with your C1V* tips/solutions and send me the link instead.


Jan Drost submitted the following:
How to upgrade a bios for a c1ve with XP
have a look at http://www.cs.helsinki.fi/linux/linux-kernel/2002-17/0206.html
by using the bios-update for a c1vn you get a folder c:\windows\temp\bios where you find a batchfile to create a dos bios update disk




Malcolm Pitcher & Paul Robinshaw submitted the following:
Here're some observations from attempting to dual boot a PCG-C1VE with Windows 2000 & Linux Mandrake 7.2:

Windows 2000
1) Able to confirm that the advice offered at http://www.stevebarr.com/cgi-bin/cgiwrap/barrst/goto.pl?c1vnsol to permit the BIOS upgrade is good and works.

2) At the beginning of the install of Windows 2000 a friendly MS message comes up of:
"setup was unable to install windows boot loader"
Apparently, Windows ME can render the Windows 2000 install useless. The solution can be found at:
http://www.langa.com/newsletters/2001/2001-02-26.htm
It's also documented in the Knowledge Base: Q279700.

3) The software supplied by Sony at http://www.ita.sel.sony.com/support/pc/pcgc1vn/windows2000/
seems to be an early version. Keeping an eye out for upgrades.

4) The camera utility simply locks up & refuses to work.

5) The initial stage of install of Windows 2000 is incredibly slow. We ignored the warnings about using SmartDrv.exe and the copy of source files from a D: partition to Window's temporary install directory took over 2 hours. Be warned.

6) The job dial utility also fails to work.

Linux Mandrake 7.2
There appears to be a problem with the USB detection (GB Model only?) that causes the Mandrake installer to hang when entering the disk partioning section. Removing the USB floppy when the Second Stage Install has started cures the problem.


Nick Brown submitted the following:
Windows 2000: the C1VE ships with Windows Me only. For various reasons, when I installed Windows 2000 (using the Select CDs), I put it on D:. This is a pain since almost all of the drivers from the Sony site have explicit code so they only work when \WINNT is on C:. For the video driver and one or two others, I was able to press "Cancel" at the right moment, then capture the driver tree and run it from there. For others, notably sound, I had to ROBOCOPY \WINNT over to C:\WINNT and boot from there, then ROBOCOPY the differences back to D: at the end, all this using a spare version of Windows NT 4.0.

Even then things weren't all plain sailing. The Sony driver kits from the Web site don't include everything you need if your copy of Windows 2000 came from a Select (ie, non-Sony OEM) CD. Fortunately, when it asks you for these missing files, you can generally borrow them from C:\WINDOWS (Windows Me).


English Keyboard Settings for (Japanese) C1VR/BP Running English XP

May 29th, 2004
Felix Lay wrote these instructions. He thanks Jae Lee at the pcg-c1 Forum and Rick Yumi. Thanks, Felix!
Here are the instructions:
# 1 - Install Japanese Keyboard:
1. Click right on "My Computer" -> then Click "Manage"
2. Once "Computer Management" comes up, click on "Device Manager"
3. Next, Click on "Keyboards" on right span on the screen
4. Now, click right on "Standard 101/102 Keyboard" -> then click "Update Driver"
5. Choose "Advanced" option then click "Next"
6. Choose "Don't search" option then click "Next"
7. Uncheck the box "Show compatible hardware"
8. From the list below choose "(Standard Keyboad)" on "Manufacture" Column and then choose "Japanese PS/2 Keyboard (106/109)" keyboard from "Model" column
9. Click "Next" and "Finish"

#2 - Once you are done, you have to now configure your keymap to Japanese.
1. Click "Start" -> "Control Panel"
2. Click on "Language, Regional Option"
3. Click on "Regional & Language Option"
4. Click on "Languages" tab from new box that popped up.
5. Make sure that checkbox for "Install files for East Asian Languages" then click "Apply"
6. Click on "Details" button.
7. Click "Add" -> then choose "Japanese" from the list of options then click "OK"
8. Now, From the drop down box on top, click on "Japanese IME" as your "Default input language"
9. Click "OK" then reboot.

Our mistake was that we just switched the language settings and the keyboard layout, we forgot to "force" windows to switch to the Japanese 106 drivers.

No CDROM Red Hat 7.1 install

Dave Madden submitted the following: I just installed RedHat-7.1 on a new PCG-C1VN without using a CDROM drive. The problem, as I'm sure you know, is that the RH 2-floppy PCMCIA boot fails because the floppy is USB. The secret is to boot and do a minimal install of RH-6.2 (using the single-floppy PCMCIA boot and an NFS or FTP install), then copy the 7.1 ISO images to your /home partition. Next, you can do a complete 7.1 boot and install, since the "install from disk" method only requires a single floppy, and you can have it pick up the CDROM images from the /home partition you originally created under 6.2.


Multiple Mice

"Richard" writes: I was able to config my PB-C1VN so that the pointer and a USB mouse ca work at the same time using Slackware 8.0 default with version 2.4.5 kernel.

- in /etc/rc.d/rc.gpm
        gpm -m /dev/mouse -t ps2 -R ps2 -M -m /dev/mice -t ps2 -R ps2
- in XF86Config
        Section "InputDevice"
            Identifier  "Mouse0"
            Driver      "mouse"
            Option      "Device"        "/dev/gpmdata"
            Option      "Protocol"      "busmouse"
        EndSection

- I configured USB by following:
        /usr/src/linux/Documentation/usb/input.txt

External Display

October 11th, 2001

Stelian Pop writes: After several weeks of XFree recompiles I have an excellent news for you and the entire Linux Picturebook community: external monitor works.

I am right now able to turn off the LCD panel and show the X desktop on an external monitor at 1280x1024x32...

In order to be able to use it you need:

* the CVS version of XFree

* a kernel which _DOES_ _NOT_ have the framebuffer patch

If you use the framebuffer kernel patch you will get strange results, I will contact the X and fb developers about this and see if we can find a solution to have both things.

This "patch applies cleanly against XFree 4.1.0" stable source Patch

Attached you can find my XF86Config-4. For switching between 1024x480 panel mode and external monitor mode you just have to change at the beginning of the file the line:

Screen 0 "Screen0" 0 0

with

Screen 0 "Screen1" 0 0

Stelian Pop

|---------------- Free Software Engineer -----------------| 
| Alcôve - http://www.alcove.com - Tel: +33 1 49 22 68 00 | 
|------------- Alcôve, liberating software ---------------|
# XFree86 4.0 configuration generated by Xconfigurator

Section "ServerLayout"
	Identifier	"XFree86 Configured"
	Screen		0 "Screen0" 0 0
#	Screen		0 "Screen1" 0 0
	InputDevice	"Mouse0" 		"CorePointer"
	InputDevice	"Mouse1" 		"SendCoreEvents"
	InputDevice	"Keyboard0" 		"CoreKeyboard"
EndSection

# By default, Red Hat Linux 6.0 and later use xfs

Section "Files"
	FontPath	"unix/:7100"
EndSection

# Module loading section

Section "Module"
	Load  "dbe"		# Double-buffering
	Load  "GLcore"		# OpenGL support
	Load  "dri"		# Direct rendering infrastructure
	Load  "drm"		# Direct rendering infrastructure
	Load  "glx"		# OpenGL X protocol interface
	Load  "extmod"		# Misc. required extensions
	Load  "v4l"		# Video4Linux
	# Load  "pex5"		# PHIGS for X 3D environment (obsolete)
	# Load  "record"	# X event recorder
	# Load  "xie"		# X Image Extension (obsolete)
	# You only need the following two modules if you do not use xfs.
	# Load  "freetype"	 # TrueType font handler
	# Load  "type1"		# Adobe Type 1 font handler
EndSection

Section "InputDevice"
	Identifier	"Keyboard0"
	Driver		"keyboard"
	Option		"XkbLayout"	"fr"
EndSection

Section "InputDevice"
	Identifier	"Mouse0"
	# Modified by mouseconfig
	Driver		"mouse"
	Option		"Device"		"/dev/mouse"
	Option		"Protocol"		"PS/2"
	Option		"Emulate3Buttons"	"no"
	Option		"ZAxisMapping"		"4 5"
EndSection

Section "InputDevice"
	Identifier	"Mouse1"
	Driver		"mouse"
	Option		"Device"		"/dev/input/mice"
	Option		"Protocol" 		"IMPS/2"
	Option		"Emulate3Buttons" 	"off"
	Option		"ZAxisMapping" 		"4 5"
EndSection

Section "Monitor"
	Identifier	"Generic LCD Panel"
	VendorName	"Sony"
	ModelName	"C1VE"
	Modeline	"1024x480" 65.00 1024 1032 1176 1344 480 488 494 560 -hsync -vsync 
	Option		"dpms"
EndSection

Section "Monitor"
	Identifier	"External monitor"
	VendorName	"unknown"
	ModelName	"unknown"
	# Blue noname screen (Bridge BM17C)
	HorizSync	30.0-70.0
	VertRefresh	50.0-160.0
	Option		"dpms"
EndSection

Section "Device"
	Identifier	"ATI|Rage Mobility P/M"
	Driver		"ati"
	BoardName	"Unknown"
EndSection

Section "Device"
	Identifier	"ATInopanel"
	Driver		"ati"
	BoardName	"Unknown"
	# Uncomment the following line to enable external display
	Option "crt_screen"
EndSection

Section "Screen"
	Identifier	"Screen0"
	Device		"ATI|Rage Mobility P/M"
	Monitor		"Generic LCD Panel"
	DefaultDepth	24
	Subsection	"Display"
		Depth		24
		Modes		"1024x480"
	EndSubSection
	Subsection	"Display"
		Depth		16
		Modes		"1024x480"
	EndSubSection
	Subsection	"Display"
		Depth		8
		Modes		"1024x480"
	EndSubSection
EndSection

Section "Screen"
	Identifier	"Screen1"
	Device		"ATInopanel"
	Monitor		"External monitor"
	DefaultDepth	24
	Subsection	"Display"
		Depth		24
		Modes		"1024x768" "800x600"
	EndSubSection
	Subsection	"Display"
		Depth		16
		Modes		"1024x768" "800x600"
	EndSubSection
	Subsection	"Display"
		Depth		8
		Modes		"1024x768" "800x600"
	EndSubSection
EndSection

Section "DRI"
	Mode		0666
EndSection


Christian Bauer notes:
Great! It works.
I dropped framebuffer support in 2.4.12, compiled XFree HEAD from CVS and it' running without problems. Now, only powermanagement is left and the picturebook is the perfect portable Linux solution.

BTW, you could use different ServerLayout sections for the configuration and switch between the configurations with:

X -layout portable
X -layout station

If the section identifiers are "station" and "portable". I'm switching to USB mouse in my serverlayout, too.


Framebuffer

November 2nd, 2001
'gandalf' writes:
Hi!, i have some info about C1-framebuffer and X11 ...maybe all know them
..but maybe not ;)) ....so i will share them.
1) With vga=301 in lilo, screen was not vertically centered (2 lines up)
...solved putting vga=311.

2) Normally (without frame buffer full console) X11 modeline to right
display 1024x480 was:
ModeLine "1024x480"    65.00 1024 1032 1176 1344   480  488  494  563
-hsync -vsync

if i start up X11 from a framebuffer console video is not right ...here we
have 2 solution:

a)The first i tried was to use the Framebuffer X Server XF86_FBDev. No
luck first time ..(X11 even want start) than discovered that server FBDev
is 3.0 version of X so modified the right config file and after some try i
made it ....here are the right config lines (the main one):

HorizSync 30-60
VertRefresh 40-90

ModeLine "1024x480"    65.00 1024 1032 1176 1344   480  488  494  563
-hsync -vsync

Section "Device"
    Identifier  "ATI Rage Mobility"
    VendorName  "Unknown"
    BoardName   "Unknown"
    Option      "power_saver"
EndSection

Section "Screen"
    Driver "fbdev"
    Device      "ATI Rage Mobility"
    Monitor     "Generic|Generic Laptop Display Panel 640x480"
    DefaultColorDepth 16
    Subsection "Display"
        Depth       16
        Modes       "1024x480"
        ViewPort    0 0
        Virtual     1024 480
    EndSubsection
EndSection

-------------------------------end here----------------

Only problem ........FBDev X11 driver is not accelerated (in any way ..i
am not talking about 3d acc ...but 2d acc) ....so X11 is really really
slow (try to move a "opaque" window and u will see). So lets go to
solution b.

b) Get fbset utility (its a must for framebuffer console) run it with -x
option; u will get an output like this

Mode "1024x480"
    # D: 39.485 MHz, H: 32.471 kHz, V: 64.684 Hz
    DotClock 39.486
    HTimings 1024 1048 1192 1216
    VTimings 480 497 501 502
    Flags    "-HSync" "-VSync"    # Warning: XFree86 doesn't support accel


EndMode

if we compare the timings whith the normal x11 one (for 1024x480) we see
that they are close but different ;))) ...so i think maybe this one are
the right one so i used this line.

ModeLine "1024x480"     65.00 1024 1048 1192 1216   480  497  501  502
-hsync -vsync

x11 started up and image was not wrong as before but was not vertically
centered :((( ....last thought was .... "ok i will mix them" so here is
the right final one!!!!!
------------------------start here working line----------------------
ModeLine "1024x480"     65.00 1024 1048 1192 1216   480  488  494  563
-hsync -vsync
------------------------end here working line-------------------------
use it with
HorizSync 30-60
VertRefresh 40-90

this way u can use X11 from a framebuffer console using ATI MACH 64
accelerated (2d) driver (there is a great difference from FBDev one)!!!!!

Ok story ends here .... as i tell before, maybe u didn't have all that
problem and are already using x11 from a fb console ... maybe not  ....so
i posted it.
Copyright