HARDWARE Asus A3E
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
Contents |
[edit] 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.
[edit] 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. |
[edit] What works
I've tested the below components and all their features are supported by Linux.
- Sound
- Touchpad
- Ethernet
- CDRW/DVD
- USB
- CardBus/PCMCIA
- Wireless
- MMC ( requires =>2.6.17 kernel)
- VIDEO
- ACPI ( Fn+F2 key seems problematic. It can turn off wireless device but can't turn it on again. I wrote a fix for it)
The following items I have not tested :
- IEEE 1394 (firewire)
- IR - I have a usb bluetooth dongle so I never needed this.
(SWilk: Works for me, at least in SIR mode. It emulates /dev/ttyS1 port. Not tested in FIR mode.)
[edit] What doesn't work
- Little USB camera in LCD : It's based on empia 2750 chipset.
[edit] 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.
[edit] 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:
- Gentoo: HOWTO ALSA sound mixer aka dmix
[edit] Network controller
Relevant hardware:
- Ethernet controller: Realtek RTL-8139
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
|
[edit] WiFi
Relevant hardware:
- Network controller: Intel PRO/Wireless LAN 2200 Mini PCI Adapter
Installation of the driver, in Gentoo this can be done with this command:
emerge net-wireless/ipw2200-firmware (if you have the 2200 version).
Make sure you have the right modules in your kernel, if not portage will complain.
for 2200, those modules include...
crypto algorithms: AES, ARC4, MICHEAL MIC
wireless lan drivers & wireless extensions (device drivers -> networking support -> wireless lan
[edit] 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
|
[edit] FireWire
Relevant hardware:
- FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller
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
|
[edit] PC Card
Relevant hardware:
- CardBus: RL5c476 II
The PC Card (pcmcia) works. It is Yenta compatable.
| Linux Kernel Configuration: PC Card (pcmcia) |
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCMCIA/CardBus support --->
<*> PCMCIA/CardBus support
<*> CardBus yenta-compatible bridge support
|
As of 2.6.13 you will need to remove pcmcia-cs and install sysfsutils and pcmciautils.
Append 'pci=assign-busses' (without quotes) to kernel boot parameters.
[edit] 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"
[edit] Video
| Linux Kernel Configuration: Device Drivers |
Graphics Support --->
<*> Support for frame buffer devices
...
<*> VESA VGA Graphics support
VESA driver type(vesafb-tng)-->
(1024x768@72) VESA default mode
...
<*> Intel 810/815 support (EXPERIMENTAL)
Character Devices --->
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
<*> Intel 830M,845M,852GM,855GM,865G (i915 driver) --->
|
[edit] 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 :: Video card |
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "ColorKey" # <i>
#Option "CacheLines" # <i>
#Option "Dac6Bit" # [<bool>]
#Option "DRI" # [<bool>]
#Option "NoDDC" # [<bool>]
#Option "ShowCache" # [<bool>]
#Option "XvMCSurfaces" # <i>
#Option "PageFlip" # [<bool>]
Identifier "Card0"
Driver "i810"
VendorName "Intel Corporation"
BoardName "Mobile 915GM/GMS/910GML Express Graphics Controller"
BusID "PCI:0:2:0"
Option "Accel"
Option "DisplayInfo" "False"
Option "VBERestore" "true"
Option "DRI" "true"
EndSection
|
| 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
|
[edit] 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.
[edit] 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.
[edit] 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 :)
[edit] 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 HOWTO Fix Common ACPI Problems.
