WARNING : This how-to is not up-to-date, please refer to this one on Debian Etch instead.
Asus Z63A personal notes...
The Machine...
The Asus Z63A is a "build-your-own" version of the W3A. It is an exceptional piece of hardware. Here is mine:
Screen: 14" Widescreen (WXGA) 1280x768 ***works***
Video: Intel 915GM ***works***
Processor: Pentium M 740 (1.73 GHz) ***works***
RAM: 1GB DDR2-533 Dual-Channel ***works***
Hard drive: FUJITSU MHV2080A (80GB PATA) ***works***
CD/DVD: TSSTcorpCD/DVDW TS-L532U (24x CD burner / 8x DVD dual-layer burner) ***works***
Ethernet: Marvell Yukon Gigabit ***works***
Wireless: Intel Centrino IPW2200 b/g ***works***
1394a Firewire, 3 USB 2.0 ***works***
IRDA (infrared), bluetooth 2.0 ***untested***
S-Video out ***untested***
High Definition Audio ***works***
4-in-1 memory card reader ***untested***
wireless mouse ***works***
Up to 5 hours battery life ***works***
Once everything is done:
Now let's see how to turn this beast into a Debian GNU/Linux portable workstation...
Installation summary...
1) Debian Sarge installation using default 2.4 kernel, with no packages selection (using Debian Sarge netinstall)
-the default 2.6 stock just won't install
-no package selection, install just the base system
2) Custom compilation of most recent 2.6 kernel (2.6.15 or newer for the machine to work correctly) *see article on "Custom kernel compile"
-custom compilation (as a package)
-installation of this new kernel
-/etc/fstab modification
-/boot/grub/menu.lst modification
-copy intel firmware in /usr/lib/hotplug/firmware/
-reboot in the new custom 2.6 kernel
3) Installation of most recent xorg-xserver using sarge-backports repository
(apt-get -t sarge-backports install 915resolution x-window-system-core xfree86-driver-synaptics)
4) Configure /etc/default/915resolution and /etc/X11/xorg.conf
5) Comment the sarge-backports line in /etc/apt/sources.list and install the rest of the system using stable sources
-configure /etc/sysfs.conf (conservative as default cpu frequency governor)
-configure /etc/sysctl.conf (1024 as max rtc for mplayer to work correctly)
6) Wireless packages installation from unstable sources (wireless-tools, wpasupplicant) *see article on "Wireless"
-configure interfaces, ifplugd, wpasupplicant, etc.
-don't forget to comment back unstable repositories!
7) Set up alsa properly for alsa dmix
8) Set up /etc/mplayer/mplayer.conf and/or /home/mastah/.mplayer/config for widescreen and proper rendering of xv extension
*****
Any configuration file mentioned here is detailed in the Annexe.
*****
Now let's go more into details
Kernel configuration...
One must keep in mind a few important points here:
-acpi (built-in)
-speedstep (built-in)
-software suspend
-ide/sata (built-in sata, no ide)
-graphics (as a module, support for intel 915 chipset)
-sound (as a module, suport for intel HDA)
-wireless (as a module, support for intel IPW 2200)
Rather the most difficult part was to get DMA working on the DVD player...
(solution: no IDE support at all (only SATA support) + some parameters to grub)
DVD player and Hard Drive...
Output of "lspci | grep -i ide":
0000:00:1f.2 IDE interface: Intel Corp. 82801FBM (ICH6M) SATA Controller (rev 04)
Device Drivers --->
ATA/ATAPI/MFM/RLL support --->
( ) ATA/ATAPI/MFM/RLL support
So NOT set!
Device Drivers --->
SCSI device support --->
(*) SCSI device support
(*) legacy /proc/scsi/ support
(*) SCSI disk support
(*) SCSI CDROM support
SCSI Transport Attributes --->
(M) iSCSI Transport Attributes
(M) SAS Transport Attributes
SCSI low-level drivers --->
(*) Serial ATA (SATA) support
(*) AHCI SATA support
(*) Intel PIIX/ICH SATA support
Those settings (plus the correct parameters in /boot/grub/menu.lst) will result in the hard drive appearing as /dev/sda and the CD/DVD as /dev/sr0.
This configuration -- no IDE support -- seemed unnatural at first (my machine as no SATA devices, both the DVD burner and the hard drive are PATA connected), but then again the controller is a SATA one (ICH6M).
CPU frequency scaling...
Power management options (ACPI, APM) --->
CPU Frequency scaling --->
(*) CPU Frequency scaling
(*) CPU frequency translation statistics
(*) CPU frequency translation statistics details
Default CPUFreq governor (performance) --->
(X) performance
(*) 'powersave' governor
(*) 'ondemand' cpufreq policy governor
(*) 'conservative' cpufreq governor
(*) Intel Enhanced SpeedStep
(*) Use ACPI tables to decode valid frequency/voltage pairs
Plus, for CPU frequency scaling to be properly managed by the kernel (and not by a userspace software), add this line to /etc/sysfs.conf:
devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
You will notice that sometimes the CPU won't get to the maximum scaling frequency (while on battery), this is due to automatic frequency scaling directly in the BIOS. So the only way to correct it is to disable CPU power management in the BIOS.
Wireless (kernel)...
Output of "lspci | grep -i wireless":
0000:02:02.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev 05)
Networing ---> (M) Generic IEEE 802.11 Networking Stack
(M) IEEE 802.11 WEP encryption (802.1x)
(M) IEEE 802.11i CCMP support
(M) IEEE 802.11i TKIP encryption
Device Drivers ---> Network device support ---> Wireless LAN (non-hamradio) --->
(*) Wireless LAN drivers (non-hamradio) & Wireless Extensions
(M) Intel PRO/Wireless 2200BG and 2915ABG Network Connection
Audio (kernel)...
Output of "lspci | grep -i audio":
0000:00:1b.0 0403: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 04)
Device Drivers --->
Sound --->
(M) Sound card support
Advanced Linux Sound Architecture --->
(M) Advanced Linux Sound Architecture
(M) Sequencer support
(M) Sequencer dummy client
(M) OSS Mixer API
(M) OSS PCM (digital audio) API
(*) OSS Sequencer API
(M) RTC Timer support
(*) Use RTC as default sequencer timer
PCI devices --->
Open Sound System ---> should be disabled
X (kernel)...
Device Drivers --->
Character devices --->
(M) /dev/agpgart (AGP Support)
(M) Intel 440LX/BX/GX, I8xx and E7x05 chipset support
(M) Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
(M) Intel 830M, 845G, 852GM, 855GM, 865G
(M) i915 driver
Grub...
Once done, some specific parameters HAVE TO get pass to the kernel on boot. So, in grub modify the line regarding the kernel:
kernel /boot/vmlinuz-2.6.15-killah root=/dev/sda2 ro libata.atapi_enabled=1 hdc=noprobe
The important bit here is "libata.atapi_enabled=1 hdc=noprobe".
The system...
After installing the new custom compiled kernel,
tar zxf /path/to/ipw2200-fw-2.4.tgz
sudo mv *.fw LICENSE /usr/lib/hotplug/firmware/
Then reboot...
At this point, you can uncomment the line for sarge-backports in /etc/apt/sources.list, run apt-get update and install those packages :
sudo apt-get -t sarge-backports install x-window-system-core 915resolution xfree86-driver-synaptics
x-window-system-core from sarge-backports? That's right, you need xorg-xserver, because the default Debian xfree86-xserver just won't do here.
After those are correctly installed, comment back sarge-backports, run apt-get update again, and proceed with the rest of the installation (your favorite desktop, etc.).
Don't forget to configure /etc/default/915resolution and /etc/X11/xorg.conf !
More about wireless...
First, install ifplugd:
sudo apt-get -t stable install ifplugd
Once it is done, we can go on with the packages coming from unstable (cautious here, you don't want to upgrade your whole system to Sid).
I use Debian Sarge, but the wireless packages are somewhat not compatible with the latest intel drivers.
So, make sure you have the unstable repository in your /etc/apt/sources.list. In Montreal, this is the fastest server:
deb http://gulus.usherbrooke.ca/debian/ unstable main
Then update the repositories:
sudo apt-get update
Then just install the wireless components:
sudo apt-get -t unstable install wireless-tools wpasupplicant
Then comment back the unstable repositories in /etc/apt/sources.list
#deb http://gulus.usherbrooke.ca/debian/ unstable main
And again, update the repositories to make sure the unstable branch isn't present:
sudo apt-get update
Then configure /etc/default/wpasupplicant and...
/etc/wpa_supplicant.conf properly with the help of wpa_passphrase (if you are to use wpa encryption).
Plus, on any Asus laptop, if you want the wireless to display properly, use the wled script (thanks to "bibe"). Install it like that:
sudo install -m 755 /path/to/wled /etc/network/if-up.d/
sudo install -m 755 /path/to/wled /etc/network/if-down.d/
Synaptics configuration and X...
At first install the package xfree86-driver-synaptics
Put "evdev" in /etc/modules (as root)
# echo -n "evdev" >> /etc/modules
# echo -n "asus_acpi" >> /etc/modules
Then configure /etc/X11/xorg.conf properly... (see Annexe for details)
MPlayer...
Edit /etc/mplayer/mplayer.conf or /home/yourself/.mplayer/config so this line appears:
monitoraspect=16:9 # use this for widescreen monitor! non-square pixels
Plus, for video/audio sync to work optimaly, I like to add this line to /etc/sysctl.conf:
dev.rtc.max-user-freq = 1024
(you'll need to reboot afterwards...)
Alsa...
The Z63 comes with a Intel HDA audio codecs chipset, which must be set up properly with alsa dmix.
To make the sound work properly in Gnome, here are the instructions...
a) Install the proper sound library:
sudo apt-get install libesd-alsa0
b) Create /etc/asound.conf with the proper settings (see Annexe).
c) Now modify /etc/esound/esd.conf (see Annexe).
d) Finaly you need to change the sound server to ALSA (you can leave it ESD but better use alsa because it has better sound handling). In terminal, type:
gstreamer-properties
e) Restart the computer
Annexe
******************************
~/.xsession:
# ~/.xsession
# This script disable the touchpad while the keyboard is in use.
/usr/bin/syndaemon -i 1 -d -k
*******************************
/etc/asound.conf:
#/etc/asound.conf
pcm.card0 {
type hw
card 0
}
pcm.!default {
type plug
slave.pcm "dmixer"
}
pcm.dmixer {
type dmix
ipc_key 1025
slave {
pcm "hw:0,0"
period_time 0
period_size 2048 #1024
buffer_size 32768 #4096
#periods 128
rate 48000 #44100
}
bindings {
0 0
1 1
}
}
#done
******************************
/etc/esound/esd.conf:
# /etc/esdsound/esd.conf
[esd]
auto_spawn=1
spawn_options=-terminate -nobeeps -as 2 -d default
spawn_wait_ms=100
# default options are used in spawned and non-spawned mode
default_options=
******************************
/etc/default/wpasupplicant:
# /etc/default/wpasupplicant
# WARNING! Make sure you have a configuration file!
ENABLED=1
OPTIONS="-w -i eth1 -D wext -c /etc/wpa_supplicant.conf"
******************************
/etc/network/interfaces:
# /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
# Wireless
allow-hotplug eth1
iface eth1 inet dhcp
iface dsl-provider inet ppp
provider dsl-provider
# please do not modify the following line
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
******************************
/etc/wpa_supplicant.conf:
# Minimal /etc/wpa_supplicant.conf to associate with open
# access points. Please see
# /usr/share/doc/wpasupplicant/wpa_supplicant.conf.gz for more complete
# configuration parameters.
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1
### Associate with any open access point
### Scans/ESSID changes can be done with wpa_cli
#Maison
network={
ssid="House"
#psk="somesecretcode"
psk=768604ad0b8121fc5cf1ca65adac6bb000f2c3bbf878cecdc876734e442f3dc9
priority=9
}
#Some friend
network={
ssid="default"
key_mgmt=NONE
priority=7
}
#Universite de Montreal
network={
ssid="UdeM non securise"
key_mgmt=NONE
priority=6
}
******************************
/etc/default/915resolution:
# /etc/default/915resolution
# 915resolution default
#
# find free modes by /usr/sbin/915resolution -l
# and set it to MODE
#
MODE=58
#
# and set resolutions for the mode.
#
XRESO=1280
YRESO=768
#
# We can also set the pixel mode.
# Please note that this is optional,
# you can also leave this value blank.
BIT=32
******************************
/etc/default/ifplugd:
#/etc/default/ifplugd
INTERFACES="eth0 eth1"
HOTPLUG_INTERFACES=""
ARGS="-q -f -u0 -d10 -w -I"
SUSPEND_ACTION="stop"
******************************
/etc/apt/sources.list:
#Local Mirror
deb ftp://gulus.usherbrooke.ca/debian/ stable main non-free contrib
#deb-src ftp://gulus.usherbrooke.ca/debian/ stable main non-free contrib
#Security!
deb http://security.debian.org/ stable/updates main contrib non-free
#Multimedia
deb http://www.debian-multimedia.org/ sarge main
#deb-src http://www.debian-multimedia.org/ sarge main
#Spanking new kernel
#deb ftp://gulus.usherbrooke.ca/debian/ unstable main
#deb-src ftp://gulus.usherbrooke.ca/debian/ unstable main
#Other thinks, little less spanky
#deb ftp://gulus.usherbrooke.ca/debian/ testing main
#deb-src ftp://gulus.usherbrooke.ca/debian/ testing main
#KDE 3.5
#deb http://pkg-kde.alioth.debian.org/kde-3.5.0/ ./
#KDE stuff: k9copy, ksudoku, etc.
#deb http://repos.knio.it/ stable main contrib non-free
#deb-src http://repos.knio.it/ stable main contrib non-free
#XORG server
#deb http://backports.org/debian/ sarge-backports main contrib non-free
******************************
/home/yourself/.mplayer/config:
#Write your default config options here!
#this superseed /etc/mplayer/mplayer.conf
#nortc=yes #uncomment unless you add "dev.rtc.max-user-freq = 1024" in /etc/sysctl.conf
nolirc=yes
nojoystick=yes
vo=xv
monitoraspect=16:9
cache=8192
cache-min=1
double=yes
quiet=yes
#vf=pp=hb:a/vb:a/dr:a/al:a,hqdn3d #post-processing for .avi, don't use while on battery!
#autoq=100 #uncomment when using any post-processing
#vf=pp=lb:a #post-processing for DVD, uncomment when watching a DVD
font=/usr/share/fonts/truetype/msttcorefonts/impact.ttf
dvd-device=/dev/dvd
******************************
/etc/X11/xorg.conf:
#/etc/X11/xorg.conf
# xorg.conf (Xorg X Window System server configuration file)
Section "Files"
FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
# paths to defoma fonts, need packages msttcorefonts & x-ttcidfont-conf
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection
Section "Module"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "dri"
Load "synaptics"
Load "evdev"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "type1"
Load "vbe"
SubSection "extmod"
Option "omit xfree86-dga" #necessary, or else X just won't work
EndSubSection
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Driver "synaptics"
Identifier "TouchPad"
Option "Device" "/dev/input/mouse0" #result of cat /proc/bus/input/devices
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.09"
Option "MaxSpeed" "0.18"
Option "AccelFactor" "0.0015"
Option "SHMConfig" "on"
# Option "Repeater" "/dev/ps2mouse"
EndSection
Section "Device"
Identifier "Generic Video Card"
Driver "i810"
BusID "PCI:0:2:0"
VideoRam 32768 #here I use 32Mb of RAM for video
#for a 512Mb RAM system, you can use up to 64Mb, or up to 128Mb if you got more than 512 RAM
EndSection
Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
HorizSync 31.5-90
VertRefresh 59-75
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x768"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard" "CoreKeyboard"
InputDevice "Configured Mouse" "CorePointer"
InputDevice "TouchPad" "AlwaysCore"
EndSection
Section "DRI"
Mode 0666
EndSection
******************************
My sources:
http://www.atworkonline.it/~bibe/sarge/
http://www.math.mcgill.ca/archibal/z63a/debian-z63a.html
http://www.vollink.com/gary/deb_wifi.html
http://www.users.on.net/~marek_wawrzyczny/en/linux/asus/W3030V.php
Tuesday, February 14, 2006
Debian HOW-TO: Asus Z63A
Bookmark this post:
Posted by
Hugues
4
comments
Links to this post
Subscribe to:
Posts (Atom)









