UNDER CONSTRUCTION


Installing Fedora Core 3 on a Sony Vaio K37


Overview

This is a fairly new laptop (at the time I wrote this), so I haven't found any information on the web about installing linux on it. I have chosen to go with Fedora Core 3, and this page will hopefully explain the install process and configuration of all the onboard hardware, all from what I have figured out so far. If you have any problems, comments, etc, please email me.

Opinion: My overall opinion of this laptop is GREAT! It seems well built, has an awesome display, good keyboard, good dvd drive, built-in abg wireless, FAST, has lots of memory, big hard drive, etc. The main cons are: short battery life, heavy, and only 2-button mouse. The battery only lasts about 1 hour (the advertised battery life is about 2 hours) and that's without using the DVD drive! This isn't really a concern for me since I usually have an outlet to plug into. The weight is about 8 pounds, I don't mind this, but if you are looking for a lightweight laptop this is definately not a good choice. The mouse is really my main beef, since I use linux 90+ percent of the time... but after getting used to it, it's not that bad, and the fact that the touchpad works so well makes up for it. My choice for this laptop was mostly based on wanting a semi-portable 'main-use' computer. I don't travel with it much, but the portability is nice.. I don't need a desktop/monitor cluttering up my desk anymore, and I can sit on my couch with it. It has a pretty good graphics card, and has the processor strength to compile code fairly quickly. I wouldn't recommend this to anyone wanting an ultra-portable/commuter laptop, its too heavy and your battery wont last long enough.

Identification: The Vaio K37 has several identification numbers.. depending on where you are looking... it is the "Vaio K37", "PCG-K37", or "PCG-9S1L". It looks a lot like any of the other K-series laptops:

Hardware Specs:Here is a quick list of the specs:
Processor/Memory: Intel P4 3.2GHz, 1MB L2 Cache
533 MHz FSB
ATI Radeon IGP 345M Chipset
1GB PC-2100 DDR RAM (not expandable)
Display: Large wide-screen XBRITE display Radeon graphics built in
Wireless: Atheros based WiFi interface with AGB (AR5212)
10/100B-TX Ethernet adapter (Realtek)
Sound: Built in speakers
AC-97 based soundcard
Storage: 80GB Hard drive, 4200 rpm
DVD Drive (DVD+R/RW double layer, DVD-R/RW, CD-R/RW)
"Memory Stick" reader (wtf? its a sony :)
IO Ports: 3x USB2 Ports (on seperate controllers)
1x FireWire port
1x CardBus port
3x Audio ports 1/8" (line in, mic in, headphone out)
1x Parallel printer port (DB25)
1x VGA port (DB15)
1x 10/100B-TX port (RJ45)
1x Modem port (RJ11)
1x Power adapter port
1x Memory Stick Port

Support Overview: The hardware support in Fedora is excellent. The chipset, modem, sound card, ACPI, ethernet (wire), carbus, firewire, etc. is all supported 'out-of-the-box' with the stock drivers!!!

The only catch is that the built int Atheros WiFi card is NOT supported by Fedora... but it is supported by the MadWiFi project as I'll get to later.

This is an 'lspci' dump from the machine:

00:00.0 Host bridge: ATI Technologies Inc RS200/RS200M AGP Bridge [IGP 340M] (rev 02)
00:01.0 PCI bridge: ATI Technologies Inc PCI Bridge [IGP 340M]
00:03.0 Modem: ALi Corporation M5457 AC'97 Modem Controller
00:04.0 Multimedia audio controller: ALi Corporation M5451 PCI AC-Link Controller Audio Device (rev 02)
00:06.0 Bridge: ALi Corporation M7101 Power Management Controller [PMU]
00:07.0 ISA bridge: ALi Corporation M1533 PCI to ISA Bridge [Aladdin IV]
00:09.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
00:0a.0 CardBus bridge: Texas Instruments PCI7420 CardBus Controller
00:0a.2 FireWire (IEEE 1394): Texas Instruments PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller
00:0a.3 Unknown mass storage controller: Texas Instruments PCI7420/PCI7620 Dual Socket CardBus and Smart Card Cont. w/ 1394a-2000 OHCI Two-Port  PHY/Link-Layer Cont. an
00:0c.0 USB Controller: NEC Corporation USB (rev 43)
00:0c.1 USB Controller: NEC Corporation USB (rev 43)
00:0c.2 USB Controller: NEC Corporation USB 2.0 (rev 04)
00:0f.0 IDE interface: ALi Corporation M5229 IDE (rev c4)
00:12.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:05.0 VGA compatible controller: ATI Technologies Inc Radeon IGP 330M/340M/350M

Install Fedora

This process is REALLY simple... so simple it is almost not worth writing this page :)

Requirements:

Yup.. thats it.

Getting started:

First backup anything you want to keep from windows before you start... prehaps try out the DVD burner.

Put in the Fedora Core 3 install disk 1, and reboot. BIOS should be setup from-the-factory to boot off of CD, otherwise get into BIOS and enable it. Then BOOT IT.

Setting up the partitions is really the only big decision you neeed to make. If you are going to leave a partition for WinXP, make sure its the 1st primary partition. As far as linux partitions, do it how you like to.

You are going to need the gcc packages and the kernel development packages (for the wifi support), and CVS, so make sure you install those with the install scripts (it's easier)... and then finish up the install. reboot, make sure it boots like it should.

Log in as root, get wired ethernet working, connect, and run a 'yum update' and come back in an hour :)

Setup Wifi

You do not need ndiswrapper, or any other kind of windows-driver-wrapper kinda thing... the MadWifi provides a Linux native kernel module.. it works, so use it:

Make sure that you have 'sharutils' installed (probably not) so make sure to do a 'yum install sharutils'... it has uudecode, which you will need to compile the MadWifi stuff.

Download MadWifi via CVS!!!! (check out the homepage here: MADWIFI at sourceforge They only provide the source, and they only provide it via CVS.. so you will need to run the following command to grab it:

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co -P madwifi
Then do a 'make' and then a 'make install' on the source directory. Note: You must use the MadWifi source tree dated 2-8-2005 or NEWER, otherwise the driver will not accept the hardware revision

You now need to test the wifi driver, just run 'modprobe ath_pci'. To see if it worked run 'dmesg' and you should get some output like this:

ath_hal: module license 'Proprietary' taints kernel.
ath_hal: 0.9.14.9 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413)
wlan: 0.8.4.5 (EXPERIMENTAL)
ath_rate_onoe: 1.0
ath_pci: 0.9.4.12 (EXPERIMENTAL)
PCI: Enabling device 0000:00:09.0 (0000 -> 0002)
ACPI: PCI Interrupt Link [LNK3] enabled at IRQ 11
PCI: setting IRQ 11 as level-triggered
ACPI: PCI interrupt 0000:00:09.0[A] -> GSI 11 (level, low) -> IRQ 11
divert: allocating divert_blk for ath0
ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
ath0: mac 7.9 phy 4.5 radio 5.6
ath0: 802.11 address: 00:0e:9b:6e:b7:eb
ath0: Use hw queue 0 for WME_AC_BE traffic
ath0: Use hw queue 1 for WME_AC_BK traffic
ath0: Use hw queue 2 for WME_AC_VI traffic
ath0: Use hw queue 3 for WME_AC_VO traffic
ath0: Atheros 5212: mem=0x3c010000, irq=11
You should also be able to run "iwconfig ath0 scan" and get a list of nearby access points. NOTE: Make sure you have the WIRELESS LAN switch on the front edge of the laptop ON, otherwise you will have problems :)

Now configure the system scripts to make life easier. First we need to add an alias for the ath0 device to the /etc/modprobe.conf file.. You need to add the line "alias ath0 ath_pci". My modprobe.conf file looks like this:

alias eth0 8139too
alias snd-card-0 snd-ali5451
options snd-card-0 index=0
install snd-ali5451 /sbin/modprobe --ignore-install snd-ali5451 && /usr/sbin/alsactl restore >/dev/null 2>&1 || :
remove snd-ali5451 { /usr/sbin/alsactl store >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-ali5451
alias usb-controller ehci-hcd
alias usb-controller1 ohci-hcd
alias ieee1394-controller ohci1394
alias ath0 ath_pci
Now you need to add the networking script file "/etc/sysconfig/network-scripts/ifcfg-ath0" so you can use the ifup/ifdown scripts with it. My file looks like this:
# Atheros Communications, Inc. AR5212 802.11abg NIC
DEVICE=ath0
ONBOOT=yes
BOOTPROTO=dhcp
TYPE=Wireless
MODE=Managed
ESSID=somessid
The ESSID line is needed so that it can do DHCP on startup, otherwise it won't automatically connect to a hub.