|Processor||Pentium M 730 with SpeedStep Technology, 1.60 GHz, bus 533 MHz|
|RAM||DDR 512 Mb, 333 MHz, PC2700|
|Hard Disk Drive||Hitachi IDE 80 Gb|
|Screen||TFT WXGA X-black, 15.4″, max resolution 1200×800|
|Video Card||NVidia GeForce 6200 TurboCache, 128 Mb, VGA output (D-Sub 15)|
|CDROM||DVD±RW double layer; read CD 24x, DVD 8x; write CD 24x, DVD±R 8x, DVD+R DL 2.4x; rewrite CD 10x, DVD±RW 4x|
|Memory Cards||Memory Stick / Memory Stick Pro|
|PCMCIA||1 CardBus Type I/II|
|USB||3 hi-speed USB2 ports|
|Modem||V92 56 kbit/s|
|Network||Ethernet 100 Mbit/s|
|i-Link||1 IEEE1394 port|
|WLAN||802.11 B/G with manual kill switch|
|Audio||Intel ICH6 Pro Audio, Realtech ALC260, AC’97, with stereo speakers|
|Dimensions||36.4 x 3.6 x 26.5 cm|
|Battery||Lithium-Ion, approximative autonomy 2h|
Revisions of this document: from June 05, 2005 to May 14, 2006.
I have always worked with Debian « Testing » release. It was first the Sarge release, it is now the Etch one.
Here is a short table summarizing what I could have made with the hardware.
|Integrated network card||fully functional|
|IEEE1394 network card||fully functional|
|Wifi network card||fully functional|
|Mobile CPU||fully functional|
|Specific Sony functions||partially functional|
|Memory Stick reader||not functional|
All description below are based on a vanilla kernel version: starting with a 2.6.11-11, and ending now with a 2.6.14-4.
Integrated network card
You just need the kernel module
mii), but not the
eepro100. Everything will work as usual:
# ifconfig eth0 Link encap:Ethernet HWaddr 00:01:4A:19:79:8C inet addr:192.168.3.80 Bcast:192.168.3.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:610 errors:0 dropped:0 overruns:0 frame:0 TX packets:384 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:59732 (58.3 KiB) TX bytes:47035 (45.9 KiB)
IEEE1394 network card
The firewire interface can act as a network interface. You just need to compile the kernel module
eth2394 (in addition of the other IEEE1394 modules).
The logs and
ifconfig -a tell this should work; but I have no means to test it.
Wifi network card
For the Wireless 802.11B/G support, this is a bit more tricky.
- You have to compile the kernel WLAN support (
- You had to get the sources of the ipw2200 driver (
apt-get install ipw2200-sourcefor instance) and compile them. Now the sources are included in the kernel sources (
- You also have to get the firmware of the network card. It is available at Sourceforge. Well. Be CAREFUL!!! The firmware version depends on the driver version installed during the previous step. The Debian version available now is the 1.0.3 whereas the last available version at Sourceforge is the 1.0.4; and the firmwares are different in the two cases. The one included in the 2.6.14 kernel needs the version 2.2 of the firmware. Try inserting another firmware version and look at the syslog to know the version needed.
Just one thing. For everything to get well, do not forget to switch on the WLAN button in front of your laptop 🙂
The logs and
ifconfig -a tell this should work. I tested it with a « ad hoc » pseudo network with no encryption. The logs told I could cypher the network with WEP algorithms.
Display at boottime
During the installation you could have noticed the system console is quite… small and ugly in the middle of your smart screen. We will correct this, thanks to framebuffer.
You have to install the following kernel modules:
You have to configure Lilo (sorry I use Lilo and not Grub) with the « vga » parameter as this:
vga=0x305 (if you want a 1024x768x256 color display). For the complete list of the VGA codes, please see the
Documentation/fb/vesafb.txt file available in the kernel sources directory.
You have to go get the latest driver available at NVidia and compile it. At the moment I first wrote this documentation the latest version was the 1.0-7174. I now use the 1.0-8178 version.
Now you have to reconfigure the X server. When you start it (yes, start XFree unconfigured), please look at the logs and you will find lines like these ones:
(II) NVIDIA(0): Internal WXGA: Using hsync range of 29.00-49.00 kHz (II) NVIDIA(0): Internal WXGA: Using vrefresh range of 0.00-60.00 Hz (II) NVIDIA(0): Clock range: 12.00 to 400.00 MHz
Take these values and launch the
videogen software (
apt-get install videogen) as this:
videogen -m=1280x800 -mdc=400 -mhf=49 -mvf=60 -dvf=60 (just
man videogen to understand the parameters). The resulting « modeline » has to be inserted into your XF86Config-4 configuration file:
Section "Modes" Identifier "16:10" ModeLine "1280x800" 80.36 1280 1320 1520 1640 800 802 804 842 EndSection Section "Monitor" Identifier "Internal WXGA" HorizSync 28-50 VertRefresh 43-75 Option "DPMS" UseModes "16:10" EndSection
A last modification to write in this file:
Section "Device" Identifier "GeForce Go 6200" Driver "nvidia" VideoRam 131072 Option "FlatPanelProperties" "Scaling = aspect-scaled" Option "UseEdidFreqs" "1" Option "NoLogo" "true" EndSection Section "Screen" Identifier "WXGA Screen" Device "GeForce Go 6200" Monitor "Internal WXGA" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1280x800" EndSubSection EndSection
Please read the manpages and the documentation given by NVidia to understand all the parameters used here.
The new NVidia driver has the needed configuration parameters. In the « Device » section, please append the following lines:
Option "UseInt10Module" "true" Option "TwinView" "true" Option "MetaModes" "DFP-0: 1280x800, CRT-0: 1024x768 @1280x800 ; DFP-0: 1280x800, CRT-0: NULL ; DFP-0:640x480, CRT-0: 640x480" Option "SecondMonitorHorizSync" "28-50" Option "SecondMonitorVertRefresh" "43-75" Option "ConnectedMonitor" "CRT-0, DFP-0" Option "TwinViewOrientation" "CRT-0 Clone DFP-0" BusId "PCI:1:0:0"
With such parameters, you will be able to have the following 3 behaviours:
- internal screen at 1200×800, VGA output at 1024×768 (scrolled to 1200×800) containing exactly the same image on both screens;
- internal screen at 1200×800, no VGA output;
- internal screen at 640×480, VGA output at 640×480, containing exactly the same image on both screens.
Just plug or unplug the VGA cable, nothing more is needed (the function key « LCD->VGA » is not used).
Old version, with old driver:
I have just started testing the VGA output, but no tests have been brought to end. From now, I just know that you have to plug an external source before starting the X server. The VGA screen will have the same resolution as the internal LCD one; and because the LCD has a 16:10 resolution, the VGA will be in 16:10. Your 4:3 screen is too tight to display the whole desktop, you will have to scroll it, sorry 🙁
You can theoretically clic when « tapping » on the touchpad. But Linux (2.6.11) startup says clearly (see
dmesg) « Disabling hardware tapping ».
Google finds people using with success the « Synaptics » driver. If you want to try it, do as you want. In my case I find clicking by tapping on the touchpad quite bothersome (I put my finger on the touchpad to move the cursor, the systems thinks I am clicking). So I will not try the see if this driver is functional, I like when tapping is disabled.
However this is superseded by kernel 2.6.12, where « hardware tapping » is enabled. So everything is OK (not for me, pitty).
Nothing tricky with the USB configuration. You just have to activate the kernel support of UHCI and EHCI and it will be OK.
Of course, if you want to plug a mass storage peripheral, you also have to compile the
usb-storage modules, and activate the SCSI support and SCSI Disk support (as the USB storage emulates SCSI disks).
You have to at least compile the following modules in your kernel:
From now on,
cardctl status finds the PCMCIA socket. You also have to compile the drivers of the peripherals you want to plug.
Everything works fine (tested with a 56k PCMCIA modem):
# cardctl status Socket 0: 5V 16-bit PC Card function 0: [busy] # tail -f /var/log/syslog Oct 24 21:48:32 localhost cardmgr: socket 0: Serial or Modem Oct 24 21:48:32 localhost kernel: Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled Oct 24 21:48:32 localhost kernel: ttyS0 at I/O 0x3f8 (irq = 16) is a 16550A Oct 24 21:48:32 localhost cardmgr: executing: './serial start ttyS0 2>&1' Oct 24 21:48:32 localhost cardmgr: + Default modem setup
The internal sound card, an « ICH6 High Definition Audio Controller », is supported since not so long: ALSA released its 1.0.9 version the next day I bought my computer (lucky…). ALSA drivers 1.0.9 drivers are available at ALSA homepage and are included the kernel since the 2.6.12 kernel version.
The driver is the
snd-hda-intel (also called
./configure --with-cards=hda-intel && make && make install if you get the ALSA sources, or compile the right kernel module.
Oh! Do not forget the « OSS Mixer API » and « OSS PCM (digital audio) API » kernel options (CONFIG_SND_MIXER_OSS and CONFIG_SND_PCM_OSS)! This seems to be a usual forgetfulness…
I am speaking about CPU frequency scaling here. In fact this is about varying the frequency of the CPU in function of its activity (power saving). You have to compile the following kernel modules:
apt-get install powernowd and this software will do everything for you.
Specific Sony functions
The Sony kernel driver
sonypi does not work on this computer: the microcontroller of which
sonypi is the driver is not present in this laptop.
Do not panic. The author of this driver (Stelian Pop) has also written another driver available on his website that uses ACPI. Please compile the ACPI support and follow the next instructions.
- First get the
sony_acpimodule (if problems, this is a local copy of the module).
- I have written a patch for this module here that adds support for the function keys (the [Fn]-[F2][F3][F4] etc). Please apply the patch and compile the module.
- I have also written a userland software that manages everything (keypress, OSD display of the result, battery management…): SonyFKM (version 0.13).
Update from recent kernels (tested with my 2.6.32): the kernel module
sony_laptop works well, you do not need the kernel driver and patch described above.
The modem is on the sound card bus (« WinModem »). I suppose ALSA will give the driver. But it is not for the moment.
Memory Stick reader
The microcontroller of this peripheral is a Texas Instruments PCI 7420, that manages both IEEE1394, PCCard (PCMCIA) and Flash Media (this is it). I have not found any proper driver now. The old peripheral (older laptops) was on the USB bus, but this one is on the PCI one.
I am trying to write a driver for this peripheral. My PCI skeleton driver requests and registers memory regions, IRQ… But whether I insert a card or not, nothing happens with the IRQ. Surprising and disappointing…
If you want to get more technical information (and maybe help), these are interesting links:
Update from recent kernels (tested from 2.6.26): the kernel modules
tifm_ms, in conjunction with
memstick make the card reader work.
These are some files you could find interesting, configuration files and log files: