Sony VGN-T Series + Linux

Last updated: 09/01/2005

After years of great fun with the Sony SRX-77 sub-notebook, I decided it was time for an upgrade. At the beginning of Nov, 2004, I purchased the brand new Sony VGN-T150/L sub-notebook computer. This web site lists my experiences in the hopes that it might help others.

Summary

Hardware

Knoppix 3.6

Mandrake 10.1.1

Mandrake/
Mandriva 10.2

Notes

2D Video

yes

yes

yes


3D Video

yes

no*

yes**

*I think it doesn't work due to Xorg ** but not after restore from hibernation (2d works, though).

Widescreen Video

no

yes*

yes*

*But only with 855resolution utility

Sound

no

yes*

yes

*But you have to turn off external mixer

Wired network

yes

yes

yes


Wireless network

no

yes*

yes**

*but only with ndiswrapper installed/configured or a newer ipw2200 driver ** works out of the box now!

DVDRW

untested

yes

yes


PCMCIA

yes

no?*

yes

*not working automatically, not much time spent on it

USB2.0

yes

yes

yes

Make sure to use ehci driver only

Firewire

untested

yes

yes


External video

yes

yes

yes

But you have to connect monitor before powerup

Suspend

no

no

untested


Hibernate

no

yes*

yes**

*but widescreen and wireless not restored **no widescreen but wireless now restores!

Memory Stick

no

no

no

No chipset support in Linux kernel yet

ACPI Battery

yes

yes

yes


WinModem

no

no

untested


Bluetooth

untested

yes*

yes*

*appears to work but not tested well

Touch pad scrolling

no

no

yes*

*treats it as a synaptics, configures automatically!



General Information:

The VGN-T series is an amazing machine. Now in it's third-generation, it is small, light, and yet very powerful. It uses a 1.1Ghz or 1.2Ghz Pentium M (ultra low voltage 753), has PC-2100 333Mhz DDR memory expandable to 1 GB., 40 or 60 GB hard drive (4200RPM), and an optical drive built right in! Throw in bluetooth, firewire, PCMCIA, 802.11g and an extra-bright, wide screen, and you have the makings of a wonderful Linux notebook! There are quite a few model numbers than vary only in CPU/RAM/Drive configurations of the machine:

Model, VGN-TXXX

CPU Speed

Memory

Hard Drive

Optical Drive

Cellular SIM slot

140

1.1Ghz

512MB

40GB

DVDROM/CDR

N

150

1.1Ghz

256MB

40GB

DVD+-RW

N

160

1.1Ghz

512MB

40GB

DVDROM/CDR

N

170

1.1Ghz

1GB

40GB

DVD+-RW

N

240

1.2Ghz

512MB

60GB

DVDROM/CDR

N

250

1.2Ghz

512MB

60GB

DVD+-RW

N

260

1.2Ghz

1GB

60GB

DVDROM/CDR

N

270

1.2Ghz

1GB

60GB

DVD+-RW

N

340

1.2Ghz

512MB

60GB

DVDROM/CDR

Y

350

1.2Ghz

512MB

60GB

DVD+-RW

Y

360

1.2Ghz

1GB

60GB

DVDROM/CDR

Y

370

1.2Ghz

1GB

60GB

DVD+-RW

Y



Since I typically use Mandrake Linux, I decided to install Mandrake Linux 10.1.1 (DVD) and later Mandrake/Mandriva Linux 10.2 (DVD). I also used Knoppix 3.6 for additional testing. Such a small computer carries a premium price, it ran about $2,200. There are no serial or parallel ports on the machine, but there is an external video port with NO DONGLE! About the only thing missing is the jogwheel, which I used as a scroll wheel for the mouse on the SRX.... I miss it A LOT. But, with Mandrake 10.2, it emulates that functionality on the touchpad (configured automatically).

Partitioning:

The computer is pre-installed with MS-Windows XP home and a bunch of misc stuff. The drive was partitioned with two primary partitions. Hda1 was a “compaq diagnostic” 5GB “recovery” thing. Hda2 was the actual MS-Windows install. The first step I did was to make an exact backup of the entire drive using Acronis True Image and Norton Ghost before MS-Windows was EVER booted. Once that was done, I booted XP and created the rescue DVD per Sony's instructions (thank God- I needed it several times- NEVER SKIP THAT STEP!). I blew away the machine and restored it using the Sony restore DVD- one option is to restore without the 5GB first partition, which is what I did. So then I just had a 40 GB NTFS XP install. I then removed all the crap to try and get it smaller- that took a LOT of time and a few mistakes had me re-restoring at least three more times. At no time did I ever let the machine access a network. Eventually, I got the size down to 4GB or so. Then came the defrag... and then used Acronis Partition Expert to resize the partition down to 8GB (of course, you can do the same thing during the Mandrake install). I then made ANOTHER Acronis and Ghost image of just that partition so the many, many hours of work would never have to be repeated (even though I never plan to use MS-Windows XP). During the Mandrake install, I created a 1.1GB swap partition and a 29GB resierfs partition for Linux.

Wide Display

The T150 uses a wide-screen LCD with an actual resolution of 1280x768, very similar to the TR2/TR3 series notebooks. Unfortunately, at the moment it is only possible to get 1024x768 graphics working automatically. This is not the fault of Xorg or Linux- the reason is that the video bios does not contain information about that mode. As you might expect, this means there will be dead areas on the left and right of the wide screen. You can “stretch” the screen in the BIOS, though, although the results are less than impressive. There is a utility called “855resolution” which, on many Intel 855 chipset laptops, will enable the user to replace one of the video bios modes with the timings for the 1280x768. It is reported to work on the TR2/TR3 machines, and several non-Sony wide-screen laptops and does work on the T150 but you have to move from the X virtual terminal to a text screen, then BACK to X. When that is done, the “scrambled” display “fixes” itself. To automate the 855resolution, I just tacked on the following script to the bottom of /etc/rc.d/rc.sysinit:

/usr/bin/855

The script contains this:

855resolution 52 1280 768 > /dev/null
855resolution 43 1280 768 > /dev/null

This will replace both the 16bit and 24(32)bit color 800x600 resolutions with the new 1280x768. Then add this to your XF86Config monitor section:

        HorizSync    20 - 90
        VertRefresh  50 - 100
        DisplaySize 230 138
        Modeline "1280x768" 80.14 1280 1344 1480 1680 768 769 772 795

Note that the widescreen will not come back properly after a hibernate. The screen will be corrupt. Changing to a vt then back to X is not enough to fix it. Instead, you have to run the 855 script again and THEN change from a vt and back to X. Still looking for a way to automate that, but nothing I try works.

Note that when you use the wide display modes, it will corrupt the graphical-based VT consoles (not X). For this reason, you will need to modify /etc/lilo.conf and change “vga=768” to be “vga=normal” and rerun the lilo command. Bootups will be text-only, no pretty graphics, but it allows you to actually use the consoles.

3D Graphics:

3D graphics work great under Knoppix, (Xfree 4.3.0.1) xgears reporting something like 1200fps. Under Mandrake 10.1.1, 3D graphics do NOT work. Any program using 3D will just hang with a black window. I suspect the difference is due to Mandrake using Xorg and Knoppix uses Xfree. Under Mandrake 10.2, it works perfectly EXCEPT if you are returning from hibernation. If you want to use 3D after hibernation, you will have to reboot (or figure out how to reinit the sucker).

Brightness Control:

The sonypi/spicctrl is supposed to be able to adjust the screen brightness. It worked great on the SRX77. But “spicctrl -b”, which normally adjusts the screen brightness, instead, only adjusts the brightness of all the LED's!!! Contacted by Stelian Pop about the issue and he confirmed that Sony changed the BIOS and at this point the sonypi driver will NOT work with any of the VGN machines. I compiled and loaded the sony_acpi module and sure enough, I can now control the brightness through /proc/acpi/sony/brt !! See http://popies.net/sonypi for information.

External VGA Port:

Works fine. But you have to have a monitor plugged into it BEFORE you boot the computer. If you plug it in later without it being present at boot, it will not work.

Sound:

Sound doesn't APPEAR to work at first try in either Knoppix nor Mandrake 10.1... but it actually does. It is using the snd-intel8x0 driver. No sound will come out of the speakers, but if you plug in headphones you will hear a very faint sound presence. The key to getting sound to work is to launch kmix from the command line and click on “advanced options” and turn OFF the “external amplifier” button. Wham, sound then works. Good stereo separation, but don't expect much from the microscopic speakers in this system! Under 10.2, it seems to work immediately because the default is to have the xternal amplifier off.

ACPI, CPU, Battery:

Seems to work fine. Battery/AC status, CPU throttle mode, etc are all reported correctly. Under Mandrake 10.1 and Knoppix, the only problem I can detect is that if you try to “shutdown”, then it gets to the very end and says something like “sending ACPI command to power off” and it just sits there. It requires holding down the power key to force the power off. But this is fixed under Mandrake 10.2! It will power off correctly.

ACPI suspend using klaptop controls acts like it wants to work, but when you try to power back on the machine, it sits there forever with a blank screen. It is reported that the reason for this is that Mandrake does not include the nolapic patch in their kernels; supposedly that kernel option on boot will correct the problem. It will be included in 2.6.10, though.

ACPI hibernate, on the other hand, mostly works. I was really surprised. When you hibernate, the system will notify all drivers, then write RAM to swap and attempt to shut off the power (that part still doesn't work, see first paragraph). When you power on the machine again and choose to boot into Linux, it will load the kernel, and discover a system-save in swap and load it. In a moment, you will be back in KDE right where you left off when you hibernated! Of course, if you are using the 1280x768 resolution, it won't remember the hack we did... so you will have to run a script to perform the 855resolution hack and change virtual terminals to get the screen to display correctly. The software/OS clock is also off, and needs a “hwclock -s” to sync it to the hardware clock. Unfortunately, I cannot find out where I could insert such commands for restore. Looks like scripts in /etc/sysconfig/suspend-scripts/suspend.d are not used with hibernate. ndiswrapper wireless network doesn't come back correctly from hibernate, and since you can't reset that or even unload the module, it will require a fresh boot . But ipw2200 doesn't require a reboot, just a “rmmod ipw2200” and it will reload the module and come back to life after hibernate!

Booting MS-Windows XP takes 66 seconds, from the moment you select it in Lilo to the moment it is truly usable. It takes 15 seconds to shutdown completely. Hibernate takes 8 seconds. Resume from hibernate takes 12 seconds.

Booting Mandrake 10.1.1 with minimal services and autologin to KDE takes 76 seconds. Hibernate takes 18 seconds. Resume from hibernate takes 30 seconds.

Looks like cpufreq does NOT work, nor loads correctly. Not sure I care right now- if you have the machine plugged into AC, then there is ZERO throttling and 1.1Ghz. On battery, it automatically jumps to T2, 25% throttling running at 825Mhz.

Not sure what the battery life is yet, since I haven't timed it in real-time. But I have had it up over two hours (with a mix of CPU stuff, but not using the optical drive) and it reported around 50% on the battery.

USB:

Works fine. Even plugged in a mini optical usb scroll mouse and WHAM, I could use it immediately under X. Almost spooky. Now, since Sony put TWO USB ports on the machine, WHY couldn't they have put one on EACH SIDE. Of course they are both on the left of the machine, which is inconvenient with a right-handed mouse. Oh well :)

UPDATE: I didn't notice until further testing that both ports were being treated as USB 1 (slow) instead of USB 2 (fast). Mandrake 10.1 for some reason put this statement in /etc/modprobe.conf:

install usb-interface /sbin/modprobe uhci-hcd; /sbin/modprobe ehci-hcd; /bin/true

Seems the uhci driver grabs the ports first, and they even work. Strange. Anyway, just change it to read like this:

install usb-interface /sbin/modprobe ehci-hcd; /bin/true

Not a problem in Mandrake 10.2

Memory Stick:

I was shocked that the memory stick didn't work. Sony is using a TI chip (PCI7420). Based on lspci, it seems to sit on the PCMCIA bus (which I don't think is working- see below). So I don't know if the reader will not work because it is sitting on the PCMCIA bus or because the PCI7420 chip is not supported. Searches on the web don't seem to turn up much about Linux + the 7420 chip, so I still don't know. Still not working under 10.2 either.

PCMCIA:

As of 2.6.11/MDK 10.2 it works! Plug and play. Tested with a wireless B card. PCMCIA did not work in MDK 10.1.1.

Firewire:

Mandrake detected it and loaded the modules. A quick test with an ipod (my ONLY firewire device) shows it works perfectly!

Bluetooth:

Seems to work- it was detected, modules loaded, and kbluetooth actually reports events and chat from a handheld at a recent LUG meeting (I don't own anything bluetooth).

Wireless Network:

Under Mandrake 10.2 it just works! I did have some problems with the 1.0.1 version of ipw2200 under “Ad-Hoc” mode, so I downloaded and installed version 1.0.3 from sourceforge. As of the 1.0.1 version, it was not possible to put the card into monitor mode, but it is my understanding that perhaps newer versions can. Since I am not war-driving, it doesn't concern me much either way.

Under Mandrake 10.1 it does not work with the included ipw2200 driver (seems to be version 0.7). You will need to install a newer version of ipw2200. It is hard to compile under 10.1 (10.2 does it perfectly). With a wonderful tip from Brouard Nicolas, I was able to get ipw2200 to compile and work!!!!! First, you have to install the dkms rpm package (urpmi dkms), then download the latest dkms rpm version of ipw2200 from: http://plf.zarb.org/~bgmilne/dkms/ (I used ipw2200-dkms-0.15-1mdk.src.rpm ). rpm -i the package... like magic, it will compile the module and even install it. Now, just to make sure the system doesn't try to use the old (broken) Mandrake module(s), I moved /lib/modules/*/kernel/3rdparty somewhere else and did a “depmod -a”. Then just make sure you have an eth1=ipw2200 in your /etc/modprobe.conf. Tada! 470KB/s throughput

As a special treat, you can use the command “iwlist scan” to actually scan for and display available wireless networks!

100 Base T Network:

Worked perfectly and immediately with the eepro100 driver.

Modem:

Ah, the joys of software/winmodems. Mandrake 10.1.1 detects the modem, and it loads and sets up the “slamr” (Smartlink) driver. Seems to load ok, and it even creates a /dev/slamr0 device. But when I point minicom at it, it just says “Device or resource busy”. I will take that as a “it doesn't work”. I have limited use for a modem anyway, so it is unlikely I will ever bother with it. Haven't bothered to check with 10.2 yet.

DVDRW/CDRW:

I installed Mandrake 10.1.1 and later 10.2 from a Memorex 4X DVD+R without a hitch. I have since burned a CDR with no problems, and burned a DVD+RW from k3b (at the max 2.4x) with no problem writing, but the disc gave IO errors on parts when read back in a Sony DVDRW drive in my desktop... put it back into the laptop and it had no problems reading it. Hmm. I keep warning people that optical media compatibility is a nightmare.

Booting:

For some odd reason, it takes forever (15 seconds) to load the kernel from LILO. After much tinkering, I found that simply adding the “compact” statement to /etc/lilo.conf accelerated the kernel loading to under one second!

Here is the result of lspci (from MDK 10.1.1):

00:00.0 Host bridge: Intel Corp. 82852/855GM Host Bridge (rev 02)
00:00.1 System peripheral: Intel Corp. 855GM/GME GMCH Memory I/O Control Registers (rev 02)
00:00.3 System peripheral: Intel Corp. 855GM/GME GMCH Configuration Process Registers (rev 02)
00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
00:02.1 Display controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 83)
00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller(rev 03)
00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
02:04.0 CardBus bridge: Texas Instruments PCI7420 CardBus Controller
02:04.2 FireWire (IEEE 1394): Texas Instruments PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller
02:04.3 Unknown mass storage controller: Texas Instruments PCI7420/PCI7620 DualSocket CardBus and Smart Card Cont. w/ 1394a-2000 OHCI Two-Port PHY/Link-LayerCont. An
02:08.0 Ethernet controller: Intel Corp. 82801BD PRO/100 VE (MOB) Ethernet Controller (rev 83)
02:0b.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05)

Mark A. Davis
markdavis cox.net