ASUS z99jn(A8JN) Fn+F6 没有作用

笔记本/便携移动设备,手机平板等软硬件
leoc
帖子: 48
注册时间: 2007-09-08 19:01

ASUS z99jn(A8JN) Fn+F6 没有作用

#1

帖子 leoc » 2007-09-10 17:11

本来这应该是brightness up的,但是没有一点作用,在网上有许多文章提到了这一点,我找到一个参考,如下:
ACPI

This notebook have a broken DSDT table, as result Fn+F6 button does not work at all. There are two possible solution for a problem:

* ping ASUS for bugfix (i post a bug, but get "Linux is not supported")
* fix DSDT table manually according to this post, then patch your kernel to support DSDT loading from initramfs. Build and install modified kernel, then put modified DSDT to initramfs.

The fixed DSDT table can downloaded from ACPI site.

有没有人做过修改DSDT的工作?
leoc
帖子: 48
注册时间: 2007-09-08 19:01

#2

帖子 leoc » 2007-09-10 17:15

用asus的有没有遇到过这个问题?各是什么型号?
leoc
帖子: 48
注册时间: 2007-09-08 19:01

#3

帖子 leoc » 2007-09-11 13:31

z99jn就是a8jn,和a8js的也差不多,在这里:
https://wiki.ubuntu.com/LaptopTestingTeam/AsusA8Js

也有讲道Fn+F6没有作用。
头像
skyx
论坛版主
帖子: 9202
注册时间: 2006-12-23 13:46
来自: Azores Islands
联系:

Re: ASUS z99jn(A8JN) Fn+F6 没有作用

#4

帖子 skyx » 2007-09-11 14:07

leoc 写了:
* ping ASUS for bugfix (i post a bug, but get "Linux is not supported")
:lol: :lol:
no security measure is worth anything if an attacker has physical access to the machine
头像
skyx
论坛版主
帖子: 9202
注册时间: 2006-12-23 13:46
来自: Azores Islands
联系:

#5

帖子 skyx » 2007-09-11 14:28

向楼主学了一招,照这个买的本本不应该有这个问题。

http://acpi.sourceforge.net/dsdt/view.php

有问题也可以解决


要是没现成的,改起来可能是抓破头皮哦。上万行的代码。

:lol: :lol: 8) 8)
no security measure is worth anything if an attacker has physical access to the machine
QAU_alex
帖子: 42
注册时间: 2007-07-09 21:53
来自: 山东 潍坊
联系:

#6

帖子 QAU_alex » 2007-09-11 16:21

我的Z99JN也是,真郁闷了~~~
leoc
帖子: 48
注册时间: 2007-09-08 19:01

#7

帖子 leoc » 2007-09-11 20:42

我看到了,也下载了和a8jn最相近的a8js的dsdt,我正在学怎么修改dsdt呢。要给内核加补丁,先用a8js的dsdt试一试,比较一下自己的dsdt,可以加到initrd中,慢慢调试了。
头像
ubuntusky
帖子: 185
注册时间: 2007-02-25 22:55

#8

帖子 ubuntusky » 2007-09-11 20:49

leoc 写了:我看到了,也下载了和a8jn最相近的a8js的dsdt,我正在学怎么修改dsdt呢。要给内核加补丁,先用a8js的dsdt试一试,比较一下自己的dsdt,可以加到initrd中,慢慢调试了。
这两个主板应该是一样的,要是bios 都一样,那就说明是相同的。


还是有希望。
leoc
帖子: 48
注册时间: 2007-09-08 19:01

#9

帖子 leoc » 2007-09-11 21:02

我今天还打了电话给asus的技术支持客服,像a8js, a8jn, a8jp的板子都是i945pm , ich7family的,除了cpu和显卡的配置不同,其它都差不多,不过bios还是有差别,可是这里主要是电源管理方面的,都是放在atk0100驱动中的。用everest看主板/acpi,可以看到许多的table,其中之一就有dsdt。希望它们的dsdt是一致的,就好了。
上次由 leoc 在 2007-09-12 11:00,总共编辑 1 次。
头像
ubuntusky
帖子: 185
注册时间: 2007-02-25 22:55

#10

帖子 ubuntusky » 2007-09-11 21:30

A hierarchical tree structure in OS-controlled memory that contains named objects. These objects may
be data objects, control method objects, bus/device package objects, and so on. The OS dynamically
changes the contents of the namespace at run-time by loading and/or unloading definition blocks from
the ACPI Tables that reside in the ACPI BIOS. All the information in the ACPI Namespace comes
from the Differentiated System Description Table (DSDT), which contains the Differentiated
Definition Block, and one or more other definition blocks.

FN键+组合键调亮度这么个功能都还必须和acpi扯上关系,也太恶心了吧,还不如像台式机的显示器那样,直接osd硬调节得了。如果厂商把namespace里的structure 定义都故意和标准不兼容或不公开,那就十万分的恶心



要是一个无线网卡的电源开关定义在这里面,厂商要是故意不公开spec的话,那就该千刀万剐
leoc
帖子: 48
注册时间: 2007-09-08 19:01

#11

帖子 leoc » 2007-09-12 10:57

ubuntusky 写了: 要是一个无线网卡的电源开关定义在这里面,厂商要是故意不公开spec的话,那就该千刀万剐
你提到这个问题,我也发现在linux下的Fn +F2只能控制wireless led的启停,但实际上并没有控制wireless的driver,而windows下,是真正的启停,停止后,右下角的无线网就真实的关闭了,而Debian/Ubuntu下的无线网(gnome-power-manager)还是开的。

这个应该可以通过配置修改的。

linux下的工具欠整合噢(这些工作,就应该是像redflag,sunwah,neoshine这样的公司来做),彼此之间的关系太松散了。
头像
ubuntusky
帖子: 185
注册时间: 2007-02-25 22:55

#12

帖子 ubuntusky » 2007-09-12 11:23

leoc 写了:
ubuntusky 写了: 要是一个无线网卡的电源开关定义在这里面,厂商要是故意不公开spec的话,那就该千刀万剐
你提到这个问题,我也发现在linux下的Fn +F2只能控制wireless led的启停,但实际上并没有控制wireless的driver,而windows下,是真正的启停,停止后,右下角的无线网就真实的关闭了,而Debian/Ubuntu下的无线网(gnome-power-manager)还是开的。

这个应该可以通过配置修改的。

linux下的工具欠整合噢(这些工作,就应该是像redflag,sunwah,neoshine这样的公司来做),彼此之间的关系太松散了。

FN 关无线网卡,应该只是改某个厂家自定义的register 的状态(是不就在内存中的namespace?),在win下,厂商专用的驱动会读到这个值发生改变,然后再执行关闭的动作?

要是这样,通通和dsdt 有关,以后买本本,按5楼的列表买就不会因为这些讨厌的功能恶心了

自己改的话,我想应先在win下用工具监控namespace的变化。。。。。。。


这个帖子的讨论,我貌似明白了一点点。至少买本本会有明确的指导方向了
头像
ubuntusky
帖子: 185
注册时间: 2007-02-25 22:55

#13

帖子 ubuntusky » 2007-09-12 11:25

如果加 noacpi 的参数启动,而bios不关闭acpi , 会不会有些FN键就都可以正常了呢?我想你的无线网卡应该还关不了。

如果关了后fn 完全不可用,那就说明这些动作都和你的无线网卡类似,FN功能都不能脱离驱动实现。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#14

帖子 eexpress » 2007-09-12 11:38

/usr/share/hotkey-setup/asus.hk
hotkey-settings的配置文件吧。不知道怎么改。xev测试键值,你自己乱试试吧。
● 鸣学
头像
ubuntusky
帖子: 185
注册时间: 2007-02-25 22:55

#15

帖子 ubuntusky » 2007-09-12 11:52

http://acpi.info/acpi_faq.htm
Many times without the specific platform drivers installed, generic drivers are used. This would cause several things from Linux not knowing how to use your chipset (which doesn't seem to be your problem) or small proprietary things like the Fn keys to not work.
Supported systems should run ONLY the DSDT supplied by the platform vendor. Further, the maintainer and the development team generally consider it a Linux bug if Windows handles an un-modified DSDT and Linux does not.

DSDT is an acronym for Differentiated System Description Table. This table contains the Differentiated Definition Block, which supplies the information and configuration information about the base system. It is always inserted into the ACPI Namespace by the OS at boot time. Unfortunately, many hardware vendors and OEMs are not capable of supplying fully functional tables (not even the members of the ACPI SIG), see also the blacklist. So there is a need to patch these tables

一般情况下:proprietary things like the Fn要么打DSDT 的补丁,要么厂商提供fully functional tables, 或者编译安装专属驱动:

下面是一个sony本本 FN功能键解决的例子:

God damn proprietary things on Linux platform !

http://users.skynet.be/thomasvst/linux-on-laptop/


Hotkeys
Getting the hotkeys working, thanks to pijalu
===================================================
Some people report me that this works also with : Sony Vaio
- FSN-660
- FS-215E
===================================================

Requirements : gcc-3.4, linux-headers-...

First, download the modified sony_acpi module here and untar it :
$ tar xzvf sony_acpi.tar.gz
Complile the sony_acpi.c file and move it to your modules directory :
$ cd sony_acpi
$ make
$ sudo cp sony_acpi.ko /lib/modules/`uname -r`/kernel/drivers/acpi/
Edit the /etc/modules file and add the line sony_acpi at the end of the file (the module will be lunch at every boot).
$ sudo vi /etc/modules
Download, compile and move the sonyfn.c file to your /usr/sbin directory.
$ gcc sonyfn.c -o sonyfn
$ sudo mv sonyfn /usr/sbin
Finally, modify your bootmisc.sh file so that the sonyfn script is executed at every boot :
$ sudo vi /etc/init.d/bootmisc.sh
Add the line sonyfn & after the line : [ -f /etc/default/rcS ] && . /etc/default/rcS (at approximatively line 10).
It should look like :
...
[ -f /etc/default/rcS ] && . /etc/default/rcS
sonyfn &
...
Now reboot and test if everything is ok.

ACPI SIG 的几个头头单位居然没有intel ,难怪intel的主板问题多!现在Nvidia的主板问题少,Nvidia 是ACPI SIG的头头单位。nnnnnd

http://acpi.info/adopt.htm
回复