Note: This patch is for use with acpi4asus version 0.30. The acpi4asus project is the source of the asus_acpi module in the Linux kernel, and can be built separately. If you decide to build the asus_acpi module from the acpi4asus source you may want to disable the built in ASUS ACPI support in the Kernel to prevent subsequent installs from overwriting the updated patched version.
Note #2:: The Z71V patch is now part of the acpi4asus CVS. A version of acpi4asus has not yet been released containing this patch, but in the future it will eventually make its way into the kernel, thereby making it unnecessary to apply it.
acpi4asus-0.30_M7V-v4.patch
- Version 4 of the Z71V patch for acpi4asus Version 0.30.
Version 3 of the asus_acpi patch for model M7V support (includes the Z71V and maybe others?). These are patches for specific Linux kernel versions, if you would like to download the acpi4asus project separately and patch it use the acpi4asus patch above (recommended if you have a different kernel version or if the patch doesn't apply cleanly).
asus_acpi_M7V-2.6.16-v3a.patch
- Version 3a of the Z71V patch for Kernel 2.6.16.
Note that version 3a of this patch also fixes a bug in the asus_acpi
module that comes with kernel 2.6.16 that was causing M7V support to fail.
asus_acpi_M7V-2.6.14-v3.patch - Version 3 of the Z71V patch for Kernel 2.6.14.
My xorg.conf, you may find it useful:
xorg.conf
My kernel .config file. Use at your own risk of course. To use it, copy to your
/usr/src/linux source directory as .config and run "make menuconfig"
(or "make gconfig", "make xconfig", etc).
kernel_config-2.6.14
hotkey.sh that I'm using with acpid to handle special key events:
hotkey.sh
Related Links
Leviathan's Z71V page
- Contains info for using these laptops in Ubuntu and also general information,
including some info on suspend to disk/ram.
Change History
Revision 1.10 2006-05-03
Revision 1.9 2006-04-04
Revision 1.8 2006-01-11
Revision 1.7 2005-12-18
Revision 1.6 2005-11-23
Updated asus_acpi patch against kernel 2.6.14 and also added Z71A light sensor support.
Revision 1.5 2005-09-06
Revision 1.4 2005-09-04
Revision 1.3 2005-08-07
Revision 1.2 2005-05-24
Revision 1.1 2005-05-06
Revision 1.0 2005-04-15
Initial posting
Introduction
Here you will find some notes and information that I found useful in getting Linux to
run on an ASUS Z71V based laptop.
I purchased mine from
www.powernotebooks.com model
PowerPro A 2:21 but much of this information will probably also apply to
other ASUS Z71V based laptops. I use Gentoo so some of this info may be Gentoo Linux
specific, but could be easily adapted to other distributions.
This is work in progress and will become more complete as I get more accustomed to using my new laptop.
Disclaimer: Use this information at your own risk. You are responsible for how you use (or misuse) the information found here. This is common sense though, and should go without saying.
License: This documentation is public domain, use as you please. The patch to the asus_acpi module is distributed under the GPL.
Laptop Experience
I have sometimes been asked as to whether I recommend this laptop. I usually just
tell people my own experience and let them decide for themselves.
Keep in mind that this is my own experience and does not necessarily reflect the
experience of every Z71V user.
As far as the features go, it is a nice powerful system. I have been mostly happy
with it overall and the Linux support is fairly good (minus the modem and memory
card reader). I think the most major issue is the failing battery issue discussed
on this forum thread:
Z71V Battery Problems...
Fortunately for me I have a good support package with this laptop, so I have been able
to replace the battery rather easily (twice now). I'm not sure if this issue will be
resolved by ASUS, so thats something to keep in mind when considering puchasing
this model. I'm not certain that it affects every laptop of this model or not.
I don't regret my purchase at all though, and besides the battery issue I
would say it has exceeded my expectations.
Hardware
The hardware in my system (yours may vary).
| Feature | Works | Notes |
| Video | YES | I'm using commercial nVIDIA drivers |
| Audio | YES | Using latest ALSA, some problems |
| Ethernet | YES | Use sk98lin module |
| Modem | NO | No driver for this software modem |
| Touchpad | YES | Synaptics driver is nice to have |
| PCMCIA | YES | I had to pass "pci=assign-busses" to Linux kernel |
| Firewire | YES | I haven't tested personally but other users report success |
| DVD burner | YES | DVD burning works |
| Memory card reader | NO | No driver currently |
asus_acpi # For additional buttons and LEDs ac battery button fan processor thermal video uhci-hcd ehci-hcd ide_cd cdrom rtc evdev # Used by synaptics driver speedstep_centrino nvidia # If you are using the commercial nvidia driversUPDATE:Seems with kernel 2.6.16 the correct module to use is now again speedstep_centrino. Starting with kernel-2.6.11 it was the acpi_cpufreq module. You're milage may vary. Try speedstep_centrino and if you have problems then the acpi_cpufreq module may work.
Video
Works great with the nVidia commercial drivers, which is required for 3D support.
The widescreen display required some special mode lines to get the 1680x1050 resolution. Here is my Monitor section of my xorg.conf. The vrefresh of 0-60 is likely not a good idea, but the mode lines seem to work fine for me.
Section "Monitor"
Identifier "monitor1"
VendorName "Generic"
ModelName "Flat Panel 1680x1050"
# hsync in kHz
HorizSync 29-64
# vrefresh in Hz
VertRefresh 0-60
# 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
ModeLine "1280x800" 83.46 1280 1344 1480 1680 800 801 804 828
# 1680x1050 @ 60.00 Hz (GTF) hsync: 63.84 kHz; pclk: 144.02 MHz
ModeLine "1680x1050" 144.02 1680 1784 1968 2256 1050 1051 1054 1064
EndSection
Remaining problems: Many games refuse to play audio including Quake 3 and sometimes Descent 3. Many others work fine though. Seems to be related to programs that mmap the device or use sample rates that aren't natively supported by the device. Sometimes I've experienced clicking in the output or synchronization problems in media programs like mplayer. There is a module parameter "position_fix" that was added to be able to try different buffer position reporting schemes. Try adding "position_fix=1" or "position_fix=2" to the module parameters like so:
modprobe snd-hda-intel position_fix=1Or add "options snd-hda-intel position_fix=1" to your /etc/modules.d/alsa file and run "update-modules" (Gentoo specific).
UPDATE: Quake3 source code has been released and SDL support has already been added for audio. So Quake3 can now be played with this sound card. I built quake3 from the subversion source code repository found here: http://icculus.org/quake3/. Thanks to ID Software for continuing to open source their older game engines! :)
Ethernet
Works great. Use the "skge" module
("Device Drivers"->"Networking support"->"Ethernet 1000 Mbit"->"New SysKonnect GigaEthernet"
when configuring the kernel). Note that the sk98lin module will also work but
has been marked as depricated (thanks to Paul Clark for pointing this out).
Touchpad
This touchpad has a scroll area. I had to install the synaptics driver before this
would work ("emerge synaptics"). You'll need to edit your xorg.conf to finish the
install (see the included INSTALL.gz and README.gz in /usr/share/doc/synaptics-0.xx.x).
This driver gives you greater control over the touchpad which is also nice.
PCMCIA
I just got this working after reading some bug reports for Linux PCMCIA. It seems I had to
pass "pci=assign-busses" to the Linux kernel to get things to work. If you are using LILO
you can add this to the "append" line, example (the append line is only of interest, the other
lines may likely differ on your machine):
...
image=/boot/vmlinuz
label=linux
append="pci=assign-busses"
...
Go to the File Downloads section of this page for the M7V patches.
This patch adds the files "lssw" and "lslvl" to /proc/acpi/asus. Sending a 0 to lssw will disable the light sensor any other value will enable it. A value from 0 to 15 can be sent to lslvl to control the light sensor level.
UPDATE: The M7V patch has been merged with the acpi4asus project CVS. This means that future versions of acpi4asus, and eventually the Linux kernel, will contain support for the M7V model, making patching unnecessary. As of now (acpi4asus version 0.30 and Linux kernel 2.6.16) it is still necessary to patch things.
Extra buttons
To enable the Fn-keys, launch and audio control buttons the ACPI daemon (acpid)
is your friend. Note that my config is probably not the proper way to do things,
but I was unable to get the regular expression event matching to work properly.
Here are my configuration files:
/etc/acpi/default.sh
#!/bin/sh
# Default acpi script that takes an entry for all actions
set $*
group=${1/\/*/}
action=${1/*\//}
case "$group" in
button)
case "$action" in
power) /sbin/init 0
;;
*) logger "ACPI action $action is not defined"
;;
esac
;;
hotkey)
/etc/acpi/hotkey.sh "$@"
;;
*)
logger "ACPI group $group / action $action is not defined"
;;
esac
And here is a new file called hotkey.sh.
Edit to your taste, in particular change the applications to ones you prefer
and the name "josh" to your own user.
#!/bin/bash
case "$3" in
# Mute button
00000032)
/usr/bin/amixer set Front toggle
/usr/bin/amixer set Headphone toggle
;;
# Volume up button
00000030)
/usr/bin/amixer set Front 1+
/usr/bin/amixer set Headphone 1+
;;
# Volume down button
00000031)
/usr/bin/amixer set Front 1-
/usr/bin/amixer set Headphone 1-
;;
# Rewind button
00000040) su - josh -c "/usr/bin/xmms -r"
;;
# Stop button
00000043) su - josh -c "/usr/bin/xmms -s"
;;
# Play/pause button
00000045) su - josh -c "/usr/bin/xmms -t"
;;
# Forward button
00000041) su - josh -c "/usr/bin/xmms -f"
;;
# CD-player ON/OFF button (I use it to eject the cdrom)
0000004c) eject cdrom
;;
# Mail button
00000050) su - josh -c "export DISPLAY=:0.0;evolution &"
;;
# Browser button
00000051) su - josh -c "export DISPLAY=:0.0;galeon &"
;;
# WiFi button
0000005d) # wlanup start
;;
# Light sensor toggle
0000007a) echo $((`cat /proc/acpi/asus/lssw` ^ 1)) > /proc/acpi/asus/lssw
;;
# LCD/CRT button (LCD only)
00000061) echo 1 > /proc/acpi/asus/disp
;;
# LCD/CRT button (CRT only)
00000062) echo 2 > /proc/acpi/asus/disp
;;
# LCD/CRT button (LCD and CRT)
00000063) echo 3 > /proc/acpi/asus/disp
;;
# Uncomment "logger" to log unknown key presses to system log
*) # logger "ACPI hotkey $3 is not defined"
;;
esac
The application launching (evolution and galeon in this case) don't yet work due to X
security. Need to figure out how to get around this.
UPDATE: I just started experiencing the battery not fully charging problem
that many users are reporting with the Z71V. ASUS has confirmed this issue and
says they are working to find a solution. I heard one technician say that its
a problem with how the laptop is charging the battery, that causes them to fail
prematurely. Fortunately, since mine is under warranty, I get a new battery
for free. Although I was told the problem will surface again, which is
unfortunate. I was also told that leaving the battery out while using AC
power may increase the life of the battery (perhaps a good option if yours is
out of warranty).
Here is a rather large ongoing forum on this issue:
Z71V Battery Problems...
Xorg config
My xorg.conf, you may find it useful. Now a separate file by suggestion of
Paul Clark.
xorg.conf