Search:  
Gentoo Wiki

Asus_A3E

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

Contents

Introduction

This guide is about how to install Linux on Asus A3E laptop.I use an unstable kernel ( 2.6.17-no5 ) so some options below may not be in your kernel configuration.

Hardware

Code: lspci output
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 04)
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 04)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 04)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 04)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 04)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 04)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 04)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d4)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 04)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 04)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3)
01:01.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 08)
01:01.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 17)
01:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 08)
01:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)
Code: lsusb output
Bus 005 Device 001: ID 0000:0000  
Bus 002 Device 001: ID 0000:0000  
Bus 003 Device 001: ID 0000:0000  
Bus 004 Device 001: ID 0000:0000  
Bus 001 Device 001: ID 0000:0000  
Bus 001 Device 003: ID eb1a:2750 eMPIA Technology, Inc. 

What works

I've tested the below components and all their features are supported by Linux.

The following items I have not tested :

 (SWilk: Works for me, at least in SIR mode. It emulates /dev/ttyS1 port. Not tested in FIR mode.)

What doesn't work

Hard Drive

Linux Kernel Configuration: Device Drivers -> ATA/ATAPI/MFM/RLL Support
<*> ATA/ATAPI/MFM/RLL support
<*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
<*>     Include IDE/ATA-2 DISK support
[*]       Use multi-mode by default
<*>     Include IDE/ATAPI CDROM support
[*]     PCI IDE chipset support
[*]       Sharing PCI IDE interrupts support
[*]       Generic PCI bus-master DMA support
[*]         Use PCI DMA by default when available
[*]           Enable DMA only for disks
<*>         Intel PIIXn chipsets support

And optimizations :

Code: /etc/conf.d/hdparm
hda_args="-d1 -u1 -m16 -c1 -M254 -S253 -B255"

This enables dma and turns off power management.I've also written a script to turn on power management for the hard drive when AC is plugged off.I'll tell more about it in acpi section.

Audio

snd-hda-intel driver is needed to get sound working.You can either enable it in kernel or get the alsa-driver package (remember to add ALSA_CARDS=hda-intel to /etc/make.conf before emerging alsa-driver)

Linux Kernel Configuration: Audio
Device Drivers  --->
   Sound  --->
      <*> Sound card support
          Advanced Linux Sound Architecture  --->
             <*> Advanced Linux Sound Architecture
                 PCI devices  --->
                     <*> Intel HD Audio

For setting up ALSA correctly, read the following: ALSA/Install

Network controller

Relevant hardware:

This card works with the 8139too driver.

Linux Kernel Configuration: Network controller
Device Drivers  --->
   Networking support  --->
      [*] Networking support
          Ethernet (10 or 100Mbit)  --->
            <M>   Generic Media Independent Interface device support
            [*] EISA, VLB, PCI and on board controllers
            <M>   RealTek RTL-8139 PCI Fast Ethernet Adapter support
            [*]     Use PIO instead of MMIO

WLAN

See this guide.

USB

The four USB ports on the laptop support USB 1.0 and 2.0.

Linux Kernel Configuration: USB
Device Drivers  --->
   USB support  --->
      <*> Support for Host-side USB
      [*]   USB device filesystem
      <M>   EHCI HCD (USB 2.0) support
      <M>   UHCI HCD support (most Intel and VIA) support


FireWire

Relevant hardware:

It should work with the following configuration: ( not tested )

Linux Kernel Configuration: FireWire
Device Drivers  --->
   IEEE 1394 (FireWire) support  --->
       <*> IEEE 1394 (FireWire) support
       <*>   OHCI-1394 support

PC Card

See this guide. The RL5c476 II socket is yenta-compatible.

Note: Append pci=assign-busses to kernel boot parameters.

Memory Card Reader

You need a 2.6.17 or newer kernel for this to work.

Linux Kernel Configuration: Device Drivers -> MMC/SD Card Support
     <*> MMC support
     [ ] MMC debugging
     <*> MMC block device driver
     <*> Secure Digital Host Controller Interface Support (EXPERIMENTAL)

Here is what dmesg shows when card is inserted :

Code: dmesg output
mmcblk0: mmc0:0001 AF HMB 250880KiB
 mmcblk0: p1

You can mount it with "mount /dev/mmcblk0p1 /mnt/mmc"

Graphics Card

See this HowTo.

Xorg

Xorg works fine.Here are some parts of my xorg.conf:

File: xorg.conf :: Touchpad
 # Touchpad - Synaptics driver
Section "InputDevice"
    Identifier  "Synaptics"
    Driver      "synaptics"
    Option      "Device"                "/dev/psaux"
    Option      "Protocol"              "auto-dev"
    Option      "LeftEdge"              "1700"
    Option      "RightEdge"             "5300"
    Option      "TopEdge"               "1700"
    Option      "BottomEdge"            "4200"
    Option      "FingerLow"             "25"
    Option      "Fingertop"             "30"
    Option      "MaxTapTime"            "180"
    Option      "MAxTapMove"            "220"
    Option      "VertScrollDelta"       "100"
    Option      "MinSpeed"              "0.06"
    Option      "MaxSpeed"              "0.12"
    Option      "AceelFactor"           "0.0010"
    Option      "SHMConfig"             "on"
    Option      "RTCornerButton"        "2"
EndSection
File: xorg.conf :: LCD
Section "Monitor"
	#DisplaySize	  320   240	# mm
	Identifier   "Monitor0"
	VendorName   "HSD"
	ModelName    "HSD150PX17-A"
	HorizSync    28-50
	VertRefresh  43-75
	Option       "AGPMode" "4"
	Option       "AGPFastWrite" "True"
	Option       "DPMS"
File: xorg.conf :: Screen
Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	DefaultDepth 24
	SubSection "Display"
		Viewport   0 0
		Depth     8
		Modes     "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
		Modes     "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
		Modes     "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes     "1024x768" "800x600" "640x480"
	EndSubSection
EndSection
File: xorg.conf :: ServerLayout

This section will make the toucpad the CorePointer. Xorg will use the touchpad and external mouse when present. The X server will however also start when there is no mouse present and only use the touchpad.

Section "ServerLayout"
    Identifier  "Default Layout"
    Screen      "Default Screen"
    InputDevice "Synaptics" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"
    InputDevice "Mouse" "SendCoreEvents"
EndSection

ACPI

This is a problematic area.acpi4asus package doesn't support this model but with slight modifications the fn+fx keys work (also the 4 functional buttons). The biggest problem that I faced is the fn+f2 button which can turn on the kill switch of the wireless device but can't turn it on. To solve this problem we need to load a fixed DSDT at startup.

First the basic configurations:

Linux Kernel Configuration: ACPI
 Power management options (ACPI, APM)  --->
    [*] Power Management support
        ACPI (Advanced Configuration and Power Interface) Support  --->
           [*] ACPI Support
           <*>   AC Adapter
           <*>   Battery
           <*>   Button
           <*>   Fan
           <*>   Processor
           <*>     Thermal Zone
           < >   ASUS/Medion Laptop Extras
           [*]   Read Custom DSDT from initramfs
       CPU Frequency scaling  --->
           [*] CPU Frequency scaling
           <*>   'performance' governor
           <*>   'powersave' governor
           <*>   'userspace' governor for userspace frequency scaling
           <*>   'ondemand' cpufreq governor
           <*>   'conservative' cpufreq governor
           <*>   CPU frequency table helpers
           <*> Intel Enhanced SpeedStep
           [*]   Use ACPI tables to decode valid frequency/voltage pairs
           [*]   Built-in tables for Banias CPUs

Of course you are free to choose these options as modules.

Pentium M Undervolt

You need to patch the kernel for this to work. See HOWTO Undervolt a Pentium M CPU for detailed information about it. Here are the voltage settings I use when running on ac power and on battery:

File: /etc/conf.d/undervolt
VOLTAGE_AC="798000:988,1064000:1100,1330000:1212,1729000:1356"
VOLTAGE_BATTERY="798000:700,1064000:748,1330000:854,1729000:972"

You can manually echo this to /sys/devices/system/cpu/cpu0/cpufreq/op_points_table or write an init script as explained in Gentoo Power Management Guide.

acpi4asus

asus_acpi driver says this is an unsupported model but it works :)Install the driver and copy the samples directory to your .asus_acpi and make the following modifications to the hotkey files under events directory :

File: samples/events/hotkbtn0
event=hotkey.*51[[:space:]].*
action=~/.asus_acpi/hotk0.sh
File: samples/events/hotkbtn1
event=.*hotkey.*51[[:space:]].*
action=~/.asus_acpi/hotk1.sh
File: samples/events/hotkbtn2
event=hotkey.*6b[[:space:]].*
action=~/.asus_acpi/hotk2.sh
File: samples/events/hotkbtn3
event=hotkey.*5c[[:space:]].*
action=~/.asus_acpi/hotk3.sh

and Voila! You have four more buttons :)

Fixing DSDT

As I mentioned before there's a weird problem I've experienced.You can turn on the kill switch of the wireless device but can't turn it off.I've added some lines to the dsdt and it's been working without problems. (Note : I've done this on an Asus A3500E with BIOS version 203.Newer BIOS versions - if any exists - may have fixed the problem) You can get the fixed dsdt from acpi4linux and follow ACPI/Fix common problems.

Links

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

Last modified: Tue, 26 Aug 2008 21:33:00 +0000 Hits: 9,373