Search:  
Gentoo Wiki

Acer_Aspire_5024_WLMi

This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related

This text content of this article is licensed under the Creative Commons Attribution-ShareAlike 3.0 License Image:cc-somerights.png. The article's authors are noted at the bottom of the page.

Images used in this article individually Copyright 2005 Notebook Review (www.notebookreview.com). Click each image for copyright details.


This document describes the settings used to configure Gentoo 7000.1 64bit on an Acer Aspire 5024WLMi (aka TravelMate 4400). Currently updated for the 2.6.25 kernel including:

Todo

502x Left View


Contents

Overview

Hardware Configuration

This system is configured with:

Benchmarks

Bonnie++ 1.03

Code: bonnie results
Version 1.03c       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
arnold           1G 31218  93 37207  24 14150   9 19807  54 30893  10 193.9   0
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 14860  89 +++++ +++ 15162  99 16326  99 +++++ +++ 14109  99

OpenSSL 0.9.8d

Code: openssl speed rsa4096 dsa2048
compiler: x86_64-pc-linux-gnu-gcc -O3 -fomit-frame-pointer
-ftracer -mfpmath=sse,387 -ffast-math -march=athlon64
 -pipe -Wa,--noexecstack
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times

               sign/s verify/s
rsa 4096 bits    27.2   1961.6
dsa 2048 bits   672.8    563.5

power consumption

Measured with a Kill-a-Watt device (still coming...)


Configuration

Processor

502x Under View


File: /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 36
model name      : AMD Turion(tm) 64 Mobile Technology ML-30
stepping        : 2
cpu MHz         : 800.000
cache size      : 1024 KB


Linux Kernel Configuration: Processor and General Settings
[*] Prompt for development and/or incomplete code/drivers

Processor type and features  --->
[*] Tickless System (Dynamic Ticks)
[ ] High Resolution Timer Support (buggy ACPI on ATI RS480 chipset block HR timer!)
    Processor family (Opteron/Athlon64/Hammer/K8)
Preemption Model (Preemptible Kernel (Low-Latency Desktop))
[*] Machine check support
[*]   AMD MCE features
[*] MTRR (Memory Type Range Register) support
Timer frequency (1000 HZ)

<*> Hardware Monitoring support  --->
<*>   AMD Athlon64/FX or Opteron temperature sensor

make.conf

File: /etc/make.conf
CHOST="x86_64-pc-linux-gnu"

CFLAGS="-Os -march=athlon64 -msse3 -mfpmath=sse,387 \
        -ffast-math -ftracer -fomit-frame-pointer   \
        -pipe"

CXXFLAGS="${CFLAGS}"
FFLAGS="${CFLAGS}"
USE="3dnow 3dnowext mmx mmxext sse sse2 ssse3"

Related packages to install

lm_sensors pciutils

Memory

Code: lspci
Advanced Micro Devices [AMD] K8 DRAM Controller

Startup Settings

Boost FSB DDR speed from 166/333Mhz to 200/400Mhz and Disable 2T timing

setpci -v -s 0:18.2 96.b=70:70
setpci -v -s 0:18.2 93.b=00:10

Power Management and Suspend

Code: cat bus/input/devices
N: Name="Power Button (FF)"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/class/input/input0

N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/class/input/input1
Linux Kernel Configuration: ACPI and Power Management
Power management options  --->
[*] Power Management support
[*] Suspend to RAM and standby
ACPI (Advanced Configuration and Power Interface) Support  --->
[*] Deprecated /proc/acpi/event support
[*] ACPI Support
[*] Sleep States
<*> AC Adapter
<*> Battery
<*> Button
<*> Processor
<*> Thermal Zone
-*- WMI (EXPERIMENTAL)

CPU Frequency scaling  --->
[*] CPU Frequency scaling 
<*> CPU frequency translation statistics
    Default CPUFreq governor (ondemand)  --->
<*> powersave governor
<*> ondemand cpufreq policy governor
<*> AMD Opteron/Athlon64 PowerNow!

[*] CPU idle PM support

Kernel hacking --->
[*] Kernel debugging
[*]   Collect kernel timers statistics

Related packages to install

powertop sys-power/suspend

Hibernation / Suspend-to-RAM

Suspend to RAM works with the following:

S2RAM Installation

First emerge the latest s2ram:

 echo sys-power/suspend >> /etc/portage/package.keywords
 emerge -u suspend

ACPI Event Scripts

File: /etc/acpi/events/default
# event=.*
# action=/etc/acpi/default.sh %e
File: /etc/acpi/events/lid
event=button[ /]lid.*
action=s2ram --vbe_post --force && /etc/conf.d/powersave
File: /etc/acpi/events/power
event=button[ /]power.*
action=/sbin/init 0

Startup Settings

Lower the frequency step-up threshold and increase the sampling rate

cd /sys/devices/system/cpu/cpu0/cpufreq/ondemand
echo 30 > up_threshold
cp sampling_rate_min sampling_rate
cd -

Never let output devices starve input devices, so start the PCI latency wide open on input (memory, HD, network) and incrementally step down to output devices (sound, video)

setpci -v -s 00:14.4 latency_timer=ff   # PCI-PCI Bridge
setpci -v -s 00:14.1 latency_timer=f0   # IDE Controller
setpci -v -s 06:07.0 latency_timer=e6   # RTL-8169 Gigabit Ethernet
setpci -v -s 00:13.2 latency_timer=e0   # USB2 (EHCI)
setpci -v -s 00:13.0 latency_timer=d6   # USB (OHCI)
setpci -v -s 00:13.1 latency_timer=d6   # USB (OHCI)
setpci -v -s 06:05.0 latency_timer=d0   # BCM4318 802.11g Wireless
setpci -v -s 01:00.0 latency_timer=c6   # Radeon Mobility X700 (PCIE)
setpci -v -s 00:14.5 latency_timer=c0   # AC'97 Audio Controller (rev 02)

Prevent HAL from starting ACPI-related daemons for things we already manage:

cd /usr/libexec
chmod -x hald-addon-acpi hald-addon-cpufreq hald-addon-input
cd -

Video & Display

Code: lspci
ATI Technologies Inc Radeon Mobility X700 (PCIE)
Linux Kernel Configuration: Graphics Settings
Graphics support  --->
--- /dev/agpgart (AGP Support)
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
<*> ATI Radeon
[*] Backlight & LCD device support  --->
<*> Lowlevel LCD controls
<*> Lowlevel Backlight controls

Make.conf

File: /etc/make.conf
VIDEO_CARDS="radeon"
USE="xv opengl dri xvmc xrandr X"

Xorg

As of 8 March 2008, the stable radeon driver (xf86-video-ati 6.6.3) issues an interrupt for each vertical screen refresh, which prevents the CPU from entering lower sleep states resulting in wasted power usage. This can be fixed by unmasking and emerging the unstable (xf86-video-xati 6.8) driver, in addition to using the latest xorg-server version (xorg-server 1.4.0.90-r3)

File: /etc/portage/package.keywords
x11-apps/mesa-progs
x11-base/xorg-server
x11-drivers/xf86-input-keyboard
x11-drivers/xf86-input-mouse
x11-drivers/xf86-video-ati
x11-libs/libXrender
x11-libs/pixman
x11-proto/renderproto
File: /etc/portage/package.unmask
x11-drivers/xf86-video-ati

startx

The latest 6.8 radeon driver doesn't properly calculate the DPI (even with the DisplaySize attribute in xorg.conf) which results in KDE or GNOME using massive fonts. The temporary fix until the driver is fixed is to explicity tell X the DPI.

Edit /usr/bin/startx and add the dpi argument as following:

defaultserverargs="-nolisten tcp -br -dpi 100"

Portions of Xorg Configuration

It took me a while to figure out why X was feeling so slow (along with CPU spikes to 100%) when using simply GUI elements in 2D, even with DRI enabled. Clicking the file menu in Firefox would spike the CPU to 100% for a split second.

Enabling the XAA software renderer and other small tweaks significantly improve 2D performance in xorg (tested with gtkperf).

File: /etc/X11/xorg.conf
Section "Module"
	Load	"dbe"
	Load	"ddc"
	Load	"dri"
	Load	"glx"
        ... 
EndSection

Section "Monitor"
	Identifier "panel"
	Option     "DPMS"
	DisplaySize 323 202
EndSection

Section "Device"
        Identifier "radeon"
        Driver "radeon"

        Option          "RenderAccel"           "on"
        Option          "AccelMethod"           "XAA"
        Option          "ColorTiling"           "on"    
        Option          "DynamicClocks"         "on"
        Option          "EnablePageFlip"        "on"
        Option          "XAANoOffscreenPixmaps" "off"

        # enable radeon specific xinerama
        # Option          "MergedFB" "true"
        # Option          "CRT2Position" "RightOf"
        # Option          "CRT2Hsync" "50-75"
        # Option          "CRT2VRefresh" "30-82"
        # Option          "MetaModes" "1024x768-1280x1024"
        # Option          "MergedNonRectangular" "true"

        # Video overlay
        # Option          "OverlayOnCRTC2"        "on"
EndSection

Section "Screen"
	Identifier "screen"
	Device     "radeon"
	Monitor    "panel"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes	  "1280x800"
	EndSubSection
EndSection

Section "Extensions"
	Option "Composite" "true"
EndSection

Section "ServerFlags"
	Option "AIGLX" "false"
EndSection

Section "DRI"
	Mode 0666
EndSection

DRI Configuration

File: /etc/drirc
<driconf>
    <device screen="0" driver="r300">
        <application name="all">
            <option name="force_s3tc_enable" value="true" />
            <option name="fp_optimization" value="0" />
            <option name="fthrottle_mode" value="0" />
            <option name="tcl_mode" value="3" />
            <option name="vblank_mode" value="3" />
        </application>
    </device>
</driconf>

Mplayer Configuration

File: /etc/mplayer.conf
vo=xv
# currently GL is too slow w/ radeon driver 
# gl:rectangle=1:swapinterval=1:slice-height=0
lavdopts=fast=1:skiploopfilter=all:threads=3
vfm=ffmpeg
cache=1024
double=true
vsync=true
autosync=30
framedrop=true
noborder=true
colorkey="0x101010"
brightness=5
really-quiet=true
afm=mp3lib
ao=alsa
stop-xscreensaver=true

##
#  Subtitles
#
font="/usr/share/fonts/corefonts/times.ttf"
ffactor="1"             # black outline
sub-bg-alpha="0"        # background color ala closed captions
sub-bg-color="0"        # black to white
subpos="90"             # By default subtitles are too low
subalign="2"
spuaa=4                 # Anti-alias subs. (4: best and slowest)
slang=en,eng
sub-fuzziness=1         # Find subtitle files.
subfont-autoscale=2     # Set font size. (2: proportional to movie width)
subfont-blur=3.5        # Set font blur radius. (default: 2)
subfont-outline=2.5     # Set font outline thickness. (default: 2)
subfont-text-scale=4.5  # Set autoscale coefficient. (default: 5)
subfont-osd-scale=4.4   # Set autoscale coefficient. (default: 6)

Related packages to install

vbetool mesa-progs xdpyinfo xdriinfo xvinfo driconf read-edid


IO Subsystem

502x Closed Left View

Linux Kernel Configuration: Block Settings
Block layer  --->
[*] Block layer SG support v4 (EXPERIMENTAL)
IO Schedulers  --->
<*> CFQ I/O scheduler

Device Drivers  --->
[*] Block devices  --->
<*> Loopback device support

IDE

Code: lspci
ATI Technologies Inc Standard PCI IDE Controller
File: cat /sys/block/*/device/model
Hitachi 100GB (HTS541010G9AT00)
CD/DVDW TS-L632B
Linux Kernel Configuration: IDE/SCSI Settings
Device Drivers  --->
SCSI device support  --->
<*> SCSI disk support
<*> SCSI CDROM support
<*> SCSI generic support

Serial ATA (prod) and Parallel ATA (experimental) drivers --->
<*>   ATI PATA support

Startup Settings

Enable read-ahead, write caching, and disable spin down and HD head parking both of which can kill laptop HDs

hdparm -A1 -a1024 -W1 -S0 -B254 /dev/sda &> /dev/null
for i in /sys/block/*/queue/{read_ahead_kb,nr_requests}; do echo 1024 > $i; done

Related packages to install

hdparm smartmontools

USB

Code: lspci
ATI Technologies Inc IXP SB400 USB Host Controller
ATI Technologies Inc IXP SB400 USB2 Host Controller
File: sort -u /sys/bus/*/devices/usb*/product
EHCI Host Controller
OHCI Host Controller
Linux Kernel Configuration: USB Settings
Device Drivers  --->
USB support  --->
<*> Support for Host-side USB
[*]   USB device filesystem
[*]   USB selective suspend/resume and wakeup (EXPERIMENTAL)
<*>   EHCI HCD (USB 2.0) support
[*]     Full speed ISO transactions (EXPERIMENTAL)
<*>   OHCI HCD support
<*> USB Mass Storage support

Startup Settings

Enable USB auto-suspend for all USB devices

for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i; done

Related packages to install

lsusb

Firewire

Code: lspci
Texas Instruments OHCI Compliant IEEE 1394 Host Controller
Linux Kernel Configuration: Firewire Settings
Device Drivers  --->
IEEE 1394 (FireWire) support  --->
<*>  IEEE 1394 (FireWire) support - alternative stack
<*>   Support for OHCI FireWire host controllers
<M>   Support for storage devices (SBP-2 protocol driver)  

SD Flash Reader

Code: lspci
Texas Instruments PCIxx21 Integrated FlashMedia Controller
Linux Kernel Configuration: Flash Reader Settings
Device Drivers  --->
MMC/SD Card support  --->
<*> MMC support
<*>   MMC block device driver
[*]     Use bounce buffer for simple hosts
<*>   Secure Digital Host Controller Interface support
<*>   TI Flash Media MMC/SD Interface support

[*] Misc devices  --->
-*-   TI Flash Media interface support
<*>   TI Flash Media PCI74xx/PCI76xx host adapter support

Sound

502x Closed Front View

Code: lspci
ATI Technologies Inc IXP SB400 AC'97 Audio Controller
Linux Kernel Configuration: Sound Settings
Device Drivers  --->
Sound  --->
<*> Sound card support
<*> Advanced Linux Sound Architecture
<*>   RTC Timer support
  PCI devices  --->
  <*> ATI IXP AC97 Controller
  [*] AC97 Power-Saving Mode
  (1)   Default time-out for AC97 power-save mode

Startup Settings

Enable power savings, which requires inputs to be muted

amixer set Line mute nocap &> /dev/null
amixer set Mic mute nocap  &> /dev/null
echo Y > /sys/module/snd_ac97_codec/parameters/power_save

To save and restore your volume and audio IO settings over reboots, issue the following on the command line:

 /etc/init.d/alsasound save
 rc-update add alsasound default

Network

502x Closed Back View

Linux Kernel Configuration: Generic Network Settings
Networking options  --->
<*> Packet socket
[*]   Packet socket: mmapped IO
<*> Unix domain sockets
[*] TCP/IP networking
<*>   Large Receive Offload (ipv4/tcp)
[*]   TCP: advanced congestion control
   <*>   CUBIC TCP
   <*>   TCP Veno
   Default TCP congestion control (Cubic)

Ethernet Card

Code: lspci
Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet 
Linux Kernel Configuration: NIC Settings
Device Drivers  --->
Network device support  --->
[*] Ethernet (1000 Mbit)
<*>   Realtek 8169 gigabit ethernet support

Related packages to install

sys-apps/ifplugd sys-apps/ethtool

Startup Settings

Disable wake-on-LAN and, if not plugged in reduce LAN to 100mbit, because both draw additional power

ethtool -s eth0 wol d
ethtool eth0 | grep -q "detected: no" && ethtool -s eth0 speed 100

Add the following to /etc/conf.d/net to reduce the frequency rate ifplug queries the interface:

 ifplugd_eth0="-t 15"

Wireless

Code: lspci
Broadcom Corporation BCM4318 802.11g Wireless LAN Controller 

See the Broadcom 43xx article.

IrDA (Infrared Port)

Linux Kernel Configuration: IrDA Settings
Networking  --->
<*>   IrDA (infrared) subsystem support  --->
<*>   IrCOMM protocol
Infrared-port device drivers  --->
<M> NSC PC87108/PC87338

It is important that the NSC PC87108/PC87338 driver is compiled as a module (will be called nsc-ircc). You may want to enable additional protocols which your IrDA devices support.

Related packages to install

sys-apps/setserial net-wireless/irda-utils

Configuration

Unfortunately, the 8250 serial driver will grab the IrDA port on boot. So we need to release it before loading the nsc-ircc module.

File: /etc/serial.conf
/dev/ttyS1 uart none
File: /etc/modules.autoload.d/kernel-2.6
nsc-ircc
File: /etc/conf.d/irda
IRDA=yes
IRDADEV=irda0
DISCOVERY=yes

Finally, make sure that everything starts in the correct order on boot:

rc-update add serial boot
rc-update add irda default

This will make the /etc/init.d/serial start before the nsc-ircc module is loaded, and /etc/init.d/irda afterwards. Test your IrDA port by bringing an IrDA device near the port and running

irdadump

Note that users who want to access the IrDA port need to be in the uucp group.

Bluetooth

For device/application specific setup see Category:Bluetooth

In some regions, Aspire 5020 notebooks were sold with Bluetooth modules connected via an internal usb interface.

Code: lsusb
Bus 002 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Linux Kernel Configuration: Bluetooth Settings
Networking  --->
<*>   Bluetooth subsystem support  --->
<*> HCI USB driver

Related packages to install

net-wireless/bluez-utils

Test your setup

echo "1" > /sys/devices/platform/acer-wmi/bluetooth
/etc/init.d/bluetooth start
hcitool scan

User Input

Linux Kernel Configuration: Input Settings
Device Drivers  --->
Input device support  --->
<*>   Mouse interface
<*>   Event interface
[*]   Keyboards  --->
      <*>   AT keyboard
[*]   Mouse  --->
      <*>   PS/2 mouse

[*] HID Devices  --->
<*>   USB Human Interface Device (full HID) support

Make.conf

File: /etc/make.conf
INPUT_DEVICES="keyboard mouse evdev synaptics"

Keyboard

The Acer keyboard includes roughly 14 unique keys that aren't understood by the kernel or xorg. The following sections include keycode settings and xorg settings.

Code: cat bus/input/devices
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/class/input/input3 

Startup Settings

File: /etc/conf.d/local.start
#  Identify keycodes the kernel doesn't understand
setkeycodes e033 202 # 148 Euro key
setkeycodes e034 203 # 149 Dollar key
setkeycodes e058 210 # Bluetooth key
setkeycodes e056 218 # Wireless off
setkeycodes e055 206 # Wireless on
setkeycodes e073 148 # P key
setkeycodes e074 149 # e key (Acer Empowering Technology)
setkeycodes e025 138 # Fn+F1 key, XF86Book
setkeycodes e026 141 # Fn+F2 key, XF86Launch3
setkeycodes e027 152 # Fn+F3 key, XF86Launch4
setkeycodes e029 212 # Fn+F4 key, XF86Sleep
setkeycodes e078 213 # Fn+F4 key, return from sleep
setkeycodes e071 222 # Fn+F7 key (turn on touch pad)
setkeycodes e072 223 # Fn+F7 key (turn off touch pad)

Xinit - Extra keys

File: /etc/X11/xinit/extra_keys
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 160 = XF86AudioMute
keycode 162 = XF86AudioPlay XF86AudioPause
keycode 164 = XF86AudioStop
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 101 = XF86BrightnessAdjust
keycode 212 = XF86BrightnessAdjust
keycode 171 = EuroSign
keycode 172 = dollar cent
keycode 245 = XF86Book
keycode 193 = XF86Launch3
keycode 146 = XF86Launch4
keycode 223 = XF86Sleep
keycode 187 = XF86Video
keycode 118 = XF86Display
keycode 148 = XF86LaunchA
keycode 202 = XF86LaunchB
keycode 236 = XF86Mail
keycode 178 = XF86WWW
keycode 159 = XF86Launch1
keycode 151 = XF86Launch2
 

Xinit - 10-xkb

File: /etc/X11/xinit/xinitrc.d/10-xkb
#!/bin/bash
if [ -f ~/.xkbmap.sh ]; then
        . ~/.xkbmap.sh
fi
xmodmap /etc/X11/extra_keys
 

Make sure the script is executable:

chmod +x /etc/X11/xinit/xinitrc.d/10-xkb

Portion of Xorg Configuration

File: /etc/X11/xorg.conf
Section "InputDevice"
	Identifier  "Keyboard1"
	Driver      "kbd"
	Option	    "AutoRepeat" "500 30"
	Option	    "XkbRules" "xorg"
	Option	    "XkbModel" "pc101"
	Option	    "XkbLayout" "us"
EndSection


Touchpad

Code: cat bus/input/devices
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=isa0060/serio4/input0
S: Sysfs=/class/input/input4 

Udev - 70-touchpad.rules

This dynamically links the correct intput/event* device file to /dev/input/touchpad:

File: /etc/udev/rules.d/70-touchpad.rules
SUBSYSTEM=="input",KERNEL=="event*",SYSFS{name}=="SynPS/2 Synaptics TouchPad",SYMLINK+="input/touchpad"
 

Portion of Xorg Configuration

File: /etc/X11/xorg.conf
Section "InputDevice"
        Identifier      "synaptics"
        Driver          "synaptics"
        Option          "CorePointer"           "true"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/input/touchpad"
        Option          "Protocol"              "auto-dev"
        Option          "TapButton1"            "1"
        Option          "TapButton3"            "3"
        Option          "FastTaps"              "1"
        Option          "LeftEdge"              "1700"
        Option          "RightEdge"             "5300"
        Option          "TopEdge"               "1700"
        Option          "BottomEdge"            "4200"
        Option          "FingerLow"             "25"
        Option          "FingerHigh"	        "30"
        Option          "MaxTapTime"	        "120"
        Option          "MaxTapMove"	        "150"
        Option          "VertScrollDelta"       "100"
        Option          "VertEdgeScroll"        "true"
        Option          "VertTwoFingerScroll"   "false"

        Option          "HorizScrollDelta"      "250"
        Option          "HorizTwoFingerScroll"  "true"
        Option          "HorizEdgeScroll"       "false"
        
        # enables middle-mouse button with two-finger tab on the pad
        Option          "TapButton2"            "2"
        Option          "EmulateMidButtonTime"  "70"
        Option          "Emulate3Buttons"       "true"

        Option          "SHMConfig"             "1"
EndSection


ACER-specific Controllers

Linux Kernel Configuration: ACER Settings
Device Drivers  --->
[*] Misc devices  --->
<*> Acer WMI Laptop Extras

[*] LED Support  --->
<*> LED Class Support

LCD brightness

Wireless kill switch

To enable wireless, run

echo "1" > /sys/devices/platform/acer-wmi/wireless

To disable wireless, run

echo "0" > /sys/devices/platform/acer-wmi/wireless

Bluetooth kill switch

Note: This only works if an internal Bluetooth module is installed.

To enable Bluetooth, run

echo "1" > /sys/devices/platform/acer-wmi/bluetooth

To disable Bluetooth, run

echo "0" > /sys/devices/platform/acer-wmi/bluetooth

Mailbox LED

Miscellaneous Files

Kernel dot-config files

Each subsection contains a link to a full copy of the kernel .config.

2.6.25

Because www.gentoo-wiki.info only allows uploading of image files (png, jpeg, gif) the .config has been stegographically encoded into one of the images used in this article.

Fetching it is extremely simple:

 emerge -u steghide
 cd /tmp
 wget http://www.gentoo-wiki.info/images/d/d6/Acer_Aspire_5020_13_uv.jpg
 steghide extract -p '' -sf Acer_Aspire_5020_13_uv.jpg
 rm Acer_Aspire_5020_13_uv.jpg
 more .config 

Sysctl

The following are additions to sysctl.conf to improve system performance.

File: /etc/sysctl.conf
vm.vfs_cache_pressure = 100000
vm.swappiness = 0
vm.overcommit_memory = 2
vm.overcommit_ratio = 100
kernel.nmi_watchdog = 0
vm.laptop_mode = 0
fs.xfs.xfsbufd_centisecs = 1000
vm.dirty_ratio = 100
vm.dirty_background_ratio = 1
vm.dirty_expire_centisecs = 3000
vm.dirty_writeback_centisecs = 3000
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2

Grub

File: /boot/grub/grub.conf
default 0
timeout 5
splashimage=/grub/splash.xpm.gz

title=Gentoo Linux 2.6.25
        kernel /bzImage-2.6.25 root=/dev/sda6 ro clocksource=acpi_pm disable_timer_pin_1 quiet
 

Portage

File: /etc/make.conf
CHOST="x86_64-pc-linux-gnu"

CFLAGS="-Os -march=athlon64 -msse3 -mfpmath=sse,387 \
        -ffast-math -ftracer -fomit-frame-pointer   \
        -pipe"

CXXFLAGS="${CFLAGS}"
FFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"

CLEAN_DELAY="0"
PORTAGE_NICENESS="20"
PORTAGE_COMPRESS="lzma"
FEATURES="parallel-fetch -sandbox -metadata-transfer noinfo nodoc"

INPUT_DEVICES="keyboard mouse evdev synaptics"
VIDEO_CARDS="radeon"
ALSA_CARDS=""

USE="opengl dri kdeenablefinal kdehiddenvisibility lzo flac nsplugin \
     speex xvid win32codecs fastcgi dvd ffmpeg dts a52 cgi fortran   \
     dvdread dvdr kdeenablefinal -gpm xv offensive aac x264 xvmc     \
     -ipv6 -gnome -quicktime -oss -esd -mysql alsa -fam libnotify    \
     -mozilla -ldap -java bash-completion slang gif pdf sqlite mad   \
     vorbis mp3 jpeg png truetype kde ogg mpeg spell -python fastcgi \
     dbus hal -arts wifi 3dnow 3dnowext mmx mmxext sse sse2 ssse3    \
     xrandr X"

Init Scripts

local.start

File: /etc/conf.d/local.start
ulimit -l unlimited
linux_logo -L2 > /etc/issue

#  Lower the frequency step-up threshold and increase the sampling rate
cd /sys/devices/system/cpu/cpu0/cpufreq/ondemand
echo 30 > up_threshold
cp sampling_rate_min sampling_rate
cd -

# prevent HAL from starting daemons for things we already manage
cd /usr/libexec
chmod -x hald-addon-acpi hald-addon-cpufreq hald-addon-input
cd -

#  Setup power saving, hdparm, and pci settings
/etc/conf.d/powersave

#  Identify keycodes the kernel doesn't understand
setkeycodes e033 202 # 148 Euro key
setkeycodes e034 203 # 149 Dollar key
setkeycodes e058 210 # Bluetooth key
setkeycodes e056 218 # Wireless off
setkeycodes e055 206 # Wireless on
setkeycodes e073 148 # P key
setkeycodes e074 149 # e key (Acer Empowering Technology)
setkeycodes e025 138 # Fn+F1 key (Acer Hotkey Help)
setkeycodes e026 141 # Fn+F2 key (Acer eSettings)
setkeycodes e027 152 # Fn+F3 key (Acer ePowerManagement)
setkeycodes e029 212 # Fn+F4 key (switch to external monitor?)
setkeycodes e078 213 # Fn+F4 key (switch to LCD panel?)
setkeycodes e071 222 # Fn+F7 key (turn on touch pad)
setkeycodes e072 223 # Fn+F7 key (turn off touch pad)

# Manually setup and maintain the wifi connection
nohup /etc/init.d/wlan0 &> /dev/null &

/etc/conf.d/powersave

The following settings are applied during startup and after resuming from hibernation. This script is called from /etc/conf.d/local.start and /etc/acpi/events/lid (on resume).

File: /etc/conf.d/powersave
# Boost FSB DDR speed from 166/333Mhz to 200/400Mhz and disable 2T timing
setpci -v -s 0:18.2 96.b=70:70
setpci -v -s 0:18.2 93.b=00:10

# set the base PCI latency for all devices
setpci -v -d *:* latency_timer=32 &> /dev/null

# Never let output devices starve input devices, so start wide open on 
# input (memory, HD, network) and incrementally step down to output
# devices (sound, video)
# Subsystem: Acer Incorporated [ALI] Aspire 5024WLMMi

setpci -v -s 00:14.4 latency_timer=ff   # PCI-PCI Bridge
setpci -v -s 00:14.1 latency_timer=f0   # IDE Controller
setpci -v -s 06:07.0 latency_timer=e6   # RTL-8169 Gigabit Ethernet
setpci -v -s 00:13.2 latency_timer=e0   # USB2 (EHCI)
setpci -v -s 00:13.0 latency_timer=d6   # USB (OHCI)
setpci -v -s 00:13.1 latency_timer=d6   # USB (OHCI)
setpci -v -s 06:05.0 latency_timer=d0   # BCM4318 802.11g Wireless
setpci -v -s 01:00.0 latency_timer=c6   # Radeon Mobility X700 (PCIE)
setpci -v -s 00:14.5 latency_timer=c0   # AC'97 Audio Controller (rev 02)

# Disable wake-on-LAN and, if not plugged in
# reduce LAN to 100mbit, because both draw additional power
ethtool -s eth0 wol d
ethtool eth0 | grep -q "detected: no" && ethtool -s eth0 speed 100

# Enable USB auto-suspend for all USB devices
for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i; done

# enable power savings, which requires inputs to be muted
amixer set Line mute nocap &> /dev/null
amixer set Mic mute nocap  &> /dev/null
echo Y > /sys/module/snd_ac97_codec/parameters/power_save

# Enable read-ahead, write caching, and disable
# spin down and HD head parking both of which can kill laptop HDs
hdparm -A1 -a1024 -W1 -S0 -B254 /dev/sda &> /dev/null
for i in /sys/block/*/queue/{read_ahead_kb,nr_requests}; do echo 1024 > $i; done

System Maintenance

Firmware Upgrade from DELL

Upgrading the firmware is straight forward with freedos, mtools, and syslinux:

emerge -u mtools syslinux 
echo 'drive a: file="/boot/freedos.img"' > /etc/mtools/mtools.conf
echo 'mtools_lower_case=1'              >> /etc/mtools/mtools.conf
 
mount /boot
cp /usr/lib/syslinux/memdisk /boot
 
wget http://www.fdos.org/bootdisks/autogen/FDSTD.288.gz -O - | gunzip > /boot/freedos.img

cd /tmp
wget ftp://ftp.work.acer-euro.com/notebook/travelmate_4400/bios/bios%201.20.zip
unzip bios\ 1.20.zip
cd Bios\ 1.20
unzip FBB033WW.zip
rm FBB033WW.zip */*.EXE 
mdeltree a:/bios
mmd a:/bios
mcopy -bsv * a:/bios

Now add the following to your /boot/grub/grub.conf, reboot into FreeDOS, and run cd bios, BOL120.bat:

title FreeDOS [Acer BIOS update]
   kernel /memdisk
   initrd /freedos.img

The latest BIOS can be found at Acer's support site and the latest FDSTD.288.gz boot disk at fdos.

Authors


502x Closed

Retrieved from "http://www.gentoo-wiki.info/Acer_Aspire_5024_WLMi"

Last modified: Sun, 10 Aug 2008 22:39:00 +0000 Hits: 4,442