QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3646|回复: 10

神州笔记本电脑电源管理(acpi)问题的补丁

[复制链接]
发表于 2005-8-21 17:30:35 | 显示全部楼层 |阅读模式
今天翻检旧迹,发现了修改我的神州承运M726E中DSDT错误导致kernel中acpi
模块定期出现电源指示错误的BUG,想想可能对大家有用,所以贴出来,日记:

”今天将linux下笔记本电源的显示问题解决了。
首先,下午发现cat /proc/acpi/dsdt > dsdt.dat
              ./iasl -d dsdt.dat
  生成的dsdt.dsl文件中_OS默认为:"Microsoft Windows NT",
  在启动内核境象语句后加acpi_os_name="Microsoft Windows XP"
  启动后,调试信息反而显示非windows类的系统,且除了拔插电源
  时显示不正确外,其它电源百分比和内核信息都正常,于是修改
  了dsdt.dsl中判断系统的函数,使其全部返回为非win32系统。
其次,到晚上也解决了电源拔插时图标不准确的问题,是在
  "AC Change"这个函数中将原Notify (\_SB.PCI0.AC0, 0x00)改
  为:Notify (\_SB.PCI0.AC0, 0x80)
      Notify (\_SB.PCI0.BAT0, 0x80)
  翻spec发现:AC0->"ACPI0003"实际是电源管理的适配器;
              BAT0->"PNP0C0A"是电源设备对象。
      Notify (\_SB.PCI0.AC0, 0x00)是叫适配器重新扫描联接pci
      和pnp上的电源设备。
      而  Notify (\_SB.PCI0.AC0, 0x80)
          Notify (\_SB.PCI0.BAT0, 0x80)
      才是提醒适配器和电源设备,电源的状态已更改。 “

相关的资料网上有下,补丁见附件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2005-8-21 17:35:30 | 显示全部楼层
这是针对内核的补丁,2.6.x系列好像都可用,测试过2.6.11、2.6.12
回复

使用道具 举报

发表于 2005-8-21 18:02:18 | 显示全部楼层
太高深了,看不动。我的本本是神州M340E,也有电源显示不正常的现象,表现在:
使用电池的时候,有时会检测不到电池,导致自动关机。但是禁用触摸板以后,这个问题就消失了。不知道你的这个patch能解决我的问题不能。

wall_john对acpi有很深的研究吧。
回复

使用道具 举报

 楼主| 发表于 2005-8-21 18:18:51 | 显示全部楼层
这个是内核的补丁,把补丁考到linux代码目录
patch -p1 < acpi_hasee_m726e.patch
重新编译内核,试试看应该可以解决问题,我
估计hasee也不会对不同的系列做不同的电源系
统,如果试了不行可以卸掉补丁
patch -R -p1 < acpi_hasee_m726e.patch
重新编译安装内核,对你应该不会有什么损失
回复

使用道具 举报

发表于 2005-8-21 18:24:38 | 显示全部楼层
损失,损失了30分钟左右泡MM时间
回复

使用道具 举报

 楼主| 发表于 2005-8-21 18:35:31 | 显示全部楼层
你可以一边编译一边泡塞,哦,楼上的兄弟
“ATi出了fglrx8.12.10我的9700SE不支持。 ”这句话也不对,
看看我丢的同名的帖子。
回复

使用道具 举报

发表于 2005-8-21 21:54:31 | 显示全部楼层
wall_john真是太厉害了。另外你的M726E有猫么?是不是也是smartlink的芯片,你的猫的驱动是怎么装的?
我的M340E是smartlink的猫,下载了smartlink猫的驱动slmodem-2.9.10.tar.gz,在ML1.2(内核2.6.9)的时候能正常安装,后来把内核升级到了2.6.12,驱动可以通过编译,但是不能insmod,提示说找不到symbol get_drivers。
回复

使用道具 举报

 楼主| 发表于 2005-8-21 22:58:46 | 显示全部楼层
关于内猫,在内核中
Device Drivers   --->
                  Sound   --->
                      Advanced Linux Sound Architecture   --->     
                                                      PCI devices          --->
                                    Intel/SiS/nVidia/AMD MC97 Modem (EXPERIMENTAL)
这个模块已支持了AC97芯片的内猫

我的是这个
lspci | grep -i modem
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)

如果你是上面类型的话,只要:
cd slmodem-2.9.10/modem
make SUPPORT_ALSA=1
这个编译是用内核的ALSA中的驱动snd_intel8x0m,而不是用slmodem的编译模块。

然后拨号的时候用上面编译出来的:slmodemd文件,
modprobe snd_intel8x0m
./slodemd --alsa
它会显示如下:
SmartLink Soft Modem: version 2.9.10 Aug 21 2005 22:41:01
symbolic link `/dev/ttySL0' -> `/dev/pts/5' created.
modem `modem:1' created. TTY is `/dev/pts/5'
Use `/dev/ttySL0' as modem device, Ctrl+C for termination

然后在kdial中用/dev/ttySL0作为联接设备拨号就行了
回复

使用道具 举报

发表于 2005-8-21 23:40:35 | 显示全部楼层
试试 modprobe,他会自动解决依赖关系问题。
回复

使用道具 举报

发表于 2005-8-23 12:53:34 | 显示全部楼层
俺的T280S也有acpi的问题,打开了acpi之后开机加载完内核就自动重启,现在之后加上内核参数acpi=off勉强使用。。。
回复

使用道具 举报

发表于 2006-4-15 17:09:52 | 显示全部楼层
楼主的本本有读卡器吗?
不知读卡器在linux下怎么用,我的用不了,4合1的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-28 19:42 , Processed in 0.058975 second(s), 17 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表