
1.elan触控板被识别为ImPS/2 Logitech Wheel Mouse
解决方法:
升级内核至2.6.35以上即可解决,不要升级内核至2.6.38,虽然能识别elan触控板但是输出至外置显示器会花屏(我只测试过2.6.38,别的版本我不确定)
另外还有一种解决方法,不需要升级内核并且还有Fn+F9功能键不能用的解决方法,英文我就不翻译了

UPDATE: This patch set (3/4 of it at least) has been included in 2.6.34-rc7
To find out your kernel version, run: uname -r
If you are running 2.6.34-rc7 or later, create /etc/modprobe.d/psmouse.conf and add the line: options psmouse force_elantech=1
DO NOT do the above if you are running an older kernel than 2.6.34! Proceed directly below to Step 1.
Step 1
IMPORTANT: BACK UP THE EXISTING MODULE FIRST! You can revert to the .backup copy if things go wrong.
Code:
sudo cp /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko.backup
DO NOT run the above command twice. You may lose your good backup copy of the module; to restore the backup see 'IF SOMETHING GOES WRONG' at the bottom of this post.
Note: I modified this post to work for stock kernels. If you're running a custom kernel that you built from source, you don't need to go through all of this. Instead, cd to your source directory, make sure the elantech option is on in your .config (step 4), apply the patches (step 5) and make drivers/input/mouse/psmouse.ko then insmod it (step 7) to see if it works. You can continue to step 8 if you want to make the change permanent.
Step 2
Get the kernel source and headers for your installed kernel along with some prerequisites:
Code:
sudo apt-get install linux-source linux-headers-`uname -r` build-essential libncurses5 libncurses5-dev kernel-package fakeroot
(Note: You don't need kernel-package or fakeroot for this, but if you want to build your entire kernel after this for a separate reason, you will have everything you need.)
If you get a warning saying linux-source is a virtual package, install the specific source package for your installed kernel, such as linux-source-2.6.31, linux-source-2.6.32, linux-source-2.6.33, etc. To find out what kernel version you are running, run uname -r.
Step 3
Now extract the kernel sources to a folder named src in your home directory, where VERSION is the version of your kernel sources. If you aren't sure, just do a ls /usr/src/linux-source*.bz2 to find it:
Code:
mkdir ~/src
cd ~/src
tar jxvf /usr/src/linux-source-VERSION.tar.bz2
cd linux-source-VERSION
Then copy your config file in and make oldconfig:
Code:
cp /boot/config-`uname -r` .config
make oldconfig
Step 4
Make sure that the elantech option is on:
Code:
grep -i elantech .config
It should return this if it is set:
CONFIG_MOUSE_PS2_ELANTECH=y
If it is not set it will return:
# CONFIG_MOUSE_PS2_ELANTECH is not set
If the elantech option is not set, run make menuconfig and navigate to Device Drivers->Input device support->Mice and press space on the Elantech PS/2 protocol extension so that it has an asterisk like this:[*]. Then press the right arrow and enter repeatedly to back out of the menus, and then answer YES to save your config.
Step 5
Get and apply the patches:
Code:
wget -O elantechpatch1 https://patchwork.kernel.org/patch/94862/raw/
wget -O elantechpatch2 https://patchwork.kernel.org/patch/94863/raw/
wget -O elantechpatch3 https://patchwork.kernel.org/patch/94861/raw/
wget -O elantechpatch4 https://patchwork.kernel.org/patch/94864/raw/
patch -p1 < elantechpatch1
patch -p1 < elantechpatch2
patch -p1 < elantechpatch3
patch -p1 < elantechpatch4
Step 5.5 - DELL MINI ONLY
For the Dell Mini (not sure about others), you will need to force version 2 by editing drivers/input/mouse/elantech.c after applying the original 4 patches, go to line 675 and remove these two lines:
Code:
if ((etd->fw_version_maj == 0x02 && etd->fw_version_min >= 0x30) ||
etd->fw_version_maj > 0x02) {
...and replace them with with this line:
Code:
if (1) {
Reference: https://bugs.launchpad.net/ubuntu/+s...92/comments/43
Step 6
Next, build the module:
Code:
make -C /usr/src/linux-headers-`uname -r` SUBDIRS=`pwd` drivers/input/mouse/psmouse.ko
Step 7
Try the new module to see if it works:
Code:
sudo modprobe -r psmouse
sudo insmod drivers/input/mouse/psmouse.ko
If it doesn't work, DO NOT continue to step 8. You can reload the psmouse module and your touchpad will function again:
Code:
sudo modprobe -r psmouse
sudo modprobe psmouse
There are no permanent changes to your system until step 8 below.
Step 8
Note: This step will make a persistent change to your system.
If the patched module worked, you can move it into its place in /lib/modules/ if you want to keep using it:
Code:
sudo cp drivers/input/mouse/psmouse.ko /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko
It'd be a good idea to try this copy of the module to make sure it works:
Code:
sudo modprobe -r psmouse
sudo modprobe psmouse
IF SOMETHING GOES WRONG
If for some reason your touchpad will not work after following these directions, move the backup back into place and you should be fine:
Code:
sudo cp /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko.backup /lib/modules/`uname -r`/kernel/drivers/input/mouse/psmouse.ko
sudo modprobe -r psmouse
sudo modprobe psmouse
IF IT WORKED
For ASUS machines, see http://ubuntuforums.org/showthread.php?t=1333961&page=8 for details on switching the tap buttons and a tweak to get Fn+F9 to work to toggle the touchpad on/off.
For the Dell Mini 10, or machines which have integrated buttons (if you press down on the touchpad surface to click), you may want to set AreaBottomEdge to 600 via xorg.conf, a udev rule, or synclient (see below). This will prevent the problem described here by disabling a lower border of the touchpad area. The value can be adjusted up or down to find the optimal setting. If this breaks things just set it back to 0.
Code:
synclient AreaBottomEdge=600
Similarly, AreaLeftEdge or AreaRightEdge (depending on orientation) can be set to disable the left or right hand border, if desired. A suggested starting value is 50:
Code:
synclient AreaLeftEdge=50
2.无线网卡的指示灯: 当使用Fn+F2关闭无线网卡时,指示灯不会灭
解决方法
Wireless LED: you need to create two files and restart acpi. Follow this commands:
sudo gedit /etc/acpi/events/asus-wireless-switch
Code:
event=hotkey ATKD 0000005d
action=/etc/acpi/asus-wireless-switch.sh
sudo gedit /etc/acpi/asus-wireless-switch.sh
Code:
#!/bin/sh
# Toggle wireless device on Asus K52 laptops
WLANSTATUS=`cat /sys/class/ieee80211/phy*/rfkill*/state`
test -z $WLANSTATUS && exit 1
if [ $WLANSTATUS = 0 ]; then
echo 0 > /sys/devices/platform/asus_laptop/wlan
elif [ $WLANSTATUS = 1 ]; then
echo 1 > /sys/devices/platform/asus_laptop/wlan
fi
sudo chmod +x /etc/acpi/asus-wireless-switch.sh
sudo service acpid restart
sudo /etc/init.d/acpi-support restart
3.SUSPEND: suspend to ram freezes my laptop.
解决方法
SUSPEND: you need to create a new file with this commands:
sudo gedit /etc/pm/sleep.d/20_custom-ehci_hcd
Code:
#!/bin/sh
# File: "/etc/pm/sleep.d/20_custom-ehci_hcd".
case "${1}" in
hibernate|suspend)
# Unbind ehci_hcd for first device 0000:00:1a.0:
echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
# Unbind ehci_hcd for second device 0000:00:1d.0:
echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
;;
resume|thaw)
# Bind ehci_hcd for first device 0000:00:1a.0:
echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind
# Bind ehci_hcd for second device 0000:00:1d.0:
echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind
;;
esac
sudo chmod +x /etc/pm/sleep.d/20_custom-ehci_hcd
4.使用ubuntu10.04默认alsa驱动时,耳机插入时内置扬声器不会关闭,升级至alsa 1.0.23后,耳机没有声音
解决方法
sudo gedit /etc/modprobe.d/alsa-base.conf
在最后一行下面加上:options snd-hda-intel model=lifebook
ps:k42jv采用的是combo audio port,就是只有一个音频接口,即可当mic输入,也可当headphone输出,win7下插入插头会提示插入的是何种插头,ubuntu下不会提示,现在耳机可以使用,因为我没有mic所以不知道mic有没有用,哈哈,罗嗦了

本人也是linux小白,最近刚刚开始用,大家不要拍砖阿
