免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5599 | 回复: 10
打印 上一主题 下一主题

自己修改主板 ACPI BIOS 解决 FB 无法正常软关机 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-25 13:07 |只看该作者 |倒序浏览
自己修改主板 ACPI BIOS 解决 FB 无法正常软关机

警告与协议:修改 BIOS 不当,可能会让你造成主板无法开机。在确认修改前,请自己衡量风险与效益。
同时,因此造成的所有损失,由修改者自行负责!



作者:海鹰小花,也叫 xiaohua

文章版本:2006-01-25-1.0

版权:保留!允许全文完整的情况下,未经本人同意自由传播。



广告:现在是10秒的广告时间。本工作室相应技术支持,欢迎来人来电联系。

广告完毕。




问题:一块 D6VAA 双 CPU PIII 主板无法正常通过 ACPI 关机,造成老板(我)很生气!!!

主板信息: http://www.speedy.com.cn/drv/p6/d6vaa.htm PCB 1.0

BIOS 信息:AWARD BIOS 6.0PG

OS:FreeBSD 5.4

主要 BIOS 修改工具:cbrom ,个人推荐版本:2.19
主要 BIOS 刷新工具:uniflash 1.40

原理:
  由于我手上的是 PCB 1.0 板,经比较,发现 PCB 1.1 板子的 ACPI table 与 PCB 1.0 的不同。由此引发我修改的意图。


BIOS 比较:
PCB1.0 Award BIOS 1.0d
  1. cbrom219.exe dvaa10d.bin /d
复制代码


  1.               ********  dvaa10d.bin BIOS component ********

  2. No. Item-Name         Original-Size   Compressed-Size Original-File-Name
  3. ===============================================================================
  4.   0. System BIOS       20000h(128.00K) 154F9h(85.24K)  Dvaa10d.BIN
  5.   1. XGROUP CODE       08F20h(35.78K)  06221h(24.53K)  awardext.rom
  6.   2. CPU micro code    01800h(6.00K)   00FE5h(3.97K)   CPUCODE.BIN
  7.   3. ACPI table        02C28h(11.04K)  0119Ah(4.40K)   ACPITBL.BIN
  8.   4. EPA LOGO          0168Ch(5.64K)   002AAh(0.67K)   AwardBmp.bmp
  9.   5. YGROUP ROM        03C90h(15.14K)  028DEh(10.22K)  awardeyt.rom
  10.   6. GROUP ROM[ 0]     02150h(8.33K)   01030h(4.05K)   _EN_CODE.BIN
  11.   7. VRS ROM           02280h(8.62K)   014BBh(5.18K)   ANTI_VIR.BIN
  12.   8. PCI ROM[A]        0897Bh(34.37K)  0522Ah(20.54K)  3703b.ROM

  13.   Total compress code space  = 36000h(216.00K)
  14.   Total compressed code size = 27B36h(158.80K)
  15.   Remain compress code space = 0E4CAh(57.20K)

  16.                           ** Micro Code Information **
  17. Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
  18. ------------------+--------------------+--------------------+------------------
  19. PPGA   03   0665  |  PPGA   11   0681  |  PPGA   10   0683  |  PPGA   08   0686
复制代码




PCB1.1 Award BIOS 1.2e

  1. cbrom219.exe dvaa12e.bin /d
复制代码


  1.               ********  dvaa12e.bin BIOS component ********

  2. No. Item-Name         Original-Size   Compressed-Size Original-File-Name
  3. ===============================================================================
  4.   0. System BIOS       20000h(128.00K) 156BAh(85.68K)  dvaa12e.BIN
  5.   1. XGROUP CODE       09130h(36.30K)  06382h(24.88K)  awardext.rom
  6.   2. CPU micro code    03000h(12.00K)  01B55h(6.83K)   CPUCODE.BIN
  7.   3. ACPI table        02BD0h(10.95K)  01194h(4.39K)   ACPITBL.BIN
  8.   4. EPA LOGO          0168Ch(5.64K)   002AAh(0.67K)   AwardBmp.bmp
  9.   5. YGROUP ROM        03CE0h(15.22K)  02908h(10.26K)  awardeyt.rom
  10.   6. GROUP ROM[ 0]     02150h(8.33K)   01030h(4.05K)   _EN_CODE.BIN
  11.   7. VRS ROM           02280h(8.62K)   014BBh(5.18K)   ANTI_VIR.BIN
  12.   8. PCI ROM[A]        0897Bh(34.37K)  0522Ah(20.54K)  3703b.ROM

  13.   Total compress code space  = 36000h(216.00K)
  14.   Total compressed code size = 289ECh(162.48K)
  15.   Remain compress code space = 0D614h(53.52K)

  16.                           ** Micro Code Information **
  17. Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
  18. ------------------+--------------------+--------------------+------------------
  19. PPGA   03   0665  |  PPGA   11   0681  |  PPGA   14   0683  |  PPGA   08   0686
  20. PPGA   01   068A  |  PPGA   04   06B0  |  PPGA   1C   06B1  |
复制代码


见两者 ACPI table 一项。


BIOS 的修改:
  将 1.2e 的 ACPI table 提取并加入到 1.0d BIOS 中去。

  1. F:\BIOS>cbrom219.exe dvaa12e.bin /acpitbl extract
  2. CBROM V2.19 (C)Award Software 2001 All Rights Reserved.
  3. Enter an extract file Name :(ACPITBL.BIN)
  4. [ACPI] ROM is extracted to ACPITBL.BIN
  5. F:\BIOS>
复制代码


得到文件 ACPITBL.BIN

将提取出来的 ACPI table 加入到 1.0d BIOS 中去。

  1. F:\BIOS>cbrom219.exe dvaa10d.bin /acpitbl acpitbl.bin
  2. CBROM V2.19 (C)Award Software 2001 All Rights Reserved.
  3. Adding acpitbl.bin . 39.8%
复制代码


现在看看新的 BIOS

  1. cbrom219.exe dvaa10d.bin /d
复制代码


  1.               ********  dvaa10d.bin BIOS component ********

  2. No. Item-Name         Original-Size   Compressed-Size Original-File-Name
  3. ================================================================================
  4.   0. System BIOS       20000h(128.00K) 154F9h(85.24K)  Dvaa10d.BIN
  5.   1. XGROUP CODE       08F20h(35.78K)  06221h(24.53K)  awardext.rom
  6.   2. CPU micro code    01800h(6.00K)   00FE5h(3.97K)   CPUCODE.BIN
  7.   3. EPA LOGO          0168Ch(5.64K)   002AAh(0.67K)   AwardBmp.bmp
  8.   4. YGROUP ROM        03C90h(15.14K)  028DEh(10.22K)  awardeyt.rom
  9.   5. GROUP ROM[ 0]     02150h(8.33K)   01030h(4.05K)   _EN_CODE.BIN
  10.   6. VRS ROM           02280h(8.62K)   014BBh(5.18K)   ANTI_VIR.BIN
  11.   7. PCI ROM[A]        0897Bh(34.37K)  0522Ah(20.54K)  3703b.ROM
  12.   8. ACPI table        02BD0h(10.95K)  01194h(4.39K)   acpitbl.bin

  13.   Total compress code space  = 36000h(216.00K)
  14.   Total compressed code size = 27B30h(158.80K)
  15.   Remain compress code space = 0E4D0h(57.20K)

  16.                           ** Micro Code Information **
  17. Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
  18. ------------------+--------------------+--------------------+-------------------
  19. PPGA   03   0665  |  PPGA   11   0681  |  PPGA   10   0683  |  PPGA   08   0686
复制代码


修改完成。

最后用 uniflash 将新的 BIOS 刷新到主板上去,测试一切正常。

附:
我黑过的的 BIOS 信息
  1.               ******** bak\dvaa10d.bin BIOS component ********

  2. No. Item-Name         Original-Size   Compressed-Size Original-File-Name
  3. ===============================================================================
  4.   0. System BIOS       20000h(128.00K) 1563Fh(85.56K)  DVAA10D.BIN
  5.   1. XGROUP CODE       08F20h(35.78K)  06221h(24.53K)  awardext.rom
  6.   2. YGROUP ROM        03C90h(15.14K)  028DEh(10.22K)  awardeyt.rom
  7.   3. GROUP ROM[ 0]     02150h(8.33K)   01031h(4.05K)   _EN_CODE.BIN
  8.   4. ACPI table        02BD0h(10.95K)  01194h(4.39K)   acpitbl.bin
  9.   5. MIB ROM           00562h(1.35K)   00254h(0.58K)   mib.txt
  10.   6. EPA LOGO          021B4h(8.43K)   00588h(1.38K)   epa.bmp
  11.   7. CPU micro code    03000h(12.00K)  01B55h(6.83K)   CPUCODE.BIN
  12.   8. VRS ROM           02280h(8.62K)   014BBh(5.18K)   ANTI_VIR.BIN
  13.   9. ISA ROM[1]        10000h(64.00K)  0EAC6h(58.69K)  romos.bin

  14.   Total compress code space  = 36000h(216.00K)
  15.   Total compressed code size = 325B5h(201.43K)
  16.   Remain compress code space = 03A4Bh(14.57K)

  17.                           ** Micro Code Information **
  18. Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
  19. ------------------+--------------------+--------------------+------------------
  20. PPGA   03   0665  |  PPGA   11   0681  |  PPGA   14   0683  |  PPGA   08   0686
  21. PPGA   01   068A  |  PPGA   04   06B0  |  PPGA   1C   06B1  |
复制代码

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
2 [报告]
发表于 2006-01-25 13:12 |只看该作者
久仰xiaohua大名。

论坛徽章:
0
3 [报告]
发表于 2006-01-25 13:23 |只看该作者
不错,我收藏了

论坛徽章:
0
4 [报告]
发表于 2006-01-25 14:49 |只看该作者
太高深了.看不懂!

论坛徽章:
0
5 [报告]
发表于 2006-01-26 01:53 |只看该作者
cbrom2001年用的多,但主要是修改BIOS开机画面(改了N次,现在觉得真无聊),LZ这样才算发挥了这个工具真实的功能。

论坛徽章:
0
6 [报告]
发表于 2006-01-26 15:53 |只看该作者
9. ISA ROM[1]        10000h(64.00K)  0EAC6h(58.69K)  romos.bin

这是虾米东东???


PS:为何不直接写1。2E的进去?
这个不是这块板子的升级程序吗??

论坛徽章:
0
7 [报告]
发表于 2006-01-26 15:54 |只看该作者
7. CPU micro code    03000h(12.00K)  01B55h(6.83K)   CPUCODE.BIN


你是怎么把这行搞到第八位来的?

论坛徽章:
0
8 [报告]
发表于 2006-01-26 20:50 |只看该作者
原帖由 hbaoy 于 2006-1-26 15:54 发表
7. CPU micro code    03000h(12.00K)  01B55h(6.83K)   CPUCODE.BIN


你是怎么把这行搞到第八位来的?


我更新了CPU微码

论坛徽章:
0
9 [报告]
发表于 2006-01-26 20:52 |只看该作者
原帖由 hbaoy 于 2006-1-26 15:53 发表
9. ISA ROM[1]        10000h(64.00K)  0EAC6h(58.69K)  romos.bin

这是虾米东东???


PS:为何不直接写1。2E的进去?
这个不是这块板子的升级程序吗??


ISA ROM 是一个嵌入式操作系统

1.2E 是为 PCB1.1的板子设计的。而且我不喜欢照搬主义

论坛徽章:
0
10 [报告]
发表于 2006-02-06 15:20 |只看该作者
自己修改主板 ACPI BIOS 解决 FB 无法正常软关机[ Ver:1.1 ]

警告与协议:
1、修改 BIOS 不当,可能会让你造成主板无法开机。在确认修改前,请自己衡量风险与效益。
因修改失败造成的所有损失,由修改者自行负责!
2、本文假设你已经知道 BIOS、ACPI、FreeBSD 等为何物。如果你确实不知它们是何物,请点击右上角的 [X] 按钮来关闭此窗口。



作者:海鹰小花,也叫 xiaohua

文章版本:2006-01-25-1.0

修订版本:2006-02-06-1.1

版权:保留!允许全文完整的情况下,未经本人同意自由传播。

如何获得最新的文章:留意本站。或许很快就会更新,或许永远都不会。看作者心情与你的运气。



广告:现在是10秒的广告时间。本工作室提供相应技术支持,欢迎来人来电联系。

广告完毕。




问题:一块 D6VAA 双 CPU PIII 主板在 FB 5.3 下无法正常通过 ACPI 关机(shutdown -p now),造成老板(我)很生气!!!

主板信息: http://www.speedy.com.cn/drv/p6/d6vaa.htm PCB 1.0

BIOS 信息:AWARD BIOS 6.0PG

OS:FreeBSD 5.4

主要 BIOS 修改工具:cbrom ,个人推荐版本:2.19
推荐 BIOS 刷新工具:uniflash 1.40

思路:
  由于板子是同一型号,又经比较,发现 PCB 1.1 板子的 ACPI table 与 PCB 1.0 略有不同。由此引发我修改的想法。


BIOS 比较:
PCB1.0 Award BIOS 1.0d

  1. cbrom219.exe dvaa10d.bin /d
复制代码


  1.               ********  dvaa10d.bin BIOS component ********

  2. No. Item-Name         Original-Size   Compressed-Size Original-File-Name
  3. ===============================================================================
  4.   0. System BIOS       20000h(128.00K) 154F9h(85.24K)  Dvaa10d.BIN
  5.   1. XGROUP CODE       08F20h(35.78K)  06221h(24.53K)  awardext.rom
  6.   2. CPU micro code    01800h(6.00K)   00FE5h(3.97K)   CPUCODE.BIN
  7.   3. ACPI table        02C28h(11.04K)  0119Ah(4.40K)   ACPITBL.BIN
  8.   4. EPA LOGO          0168Ch(5.64K)   002AAh(0.67K)   AwardBmp.bmp
  9.   5. YGROUP ROM        03C90h(15.14K)  028DEh(10.22K)  awardeyt.rom
  10.   6. GROUP ROM[ 0]     02150h(8.33K)   01030h(4.05K)   _EN_CODE.BIN
  11.   7. VRS ROM           02280h(8.62K)   014BBh(5.18K)   ANTI_VIR.BIN
  12.   8. PCI ROM[A]        0897Bh(34.37K)  0522Ah(20.54K)  3703b.ROM

  13.   Total compress code space  = 36000h(216.00K)
  14.   Total compressed code size = 27B36h(158.80K)
  15.   Remain compress code space = 0E4CAh(57.20K)

  16.                           ** Micro Code Information **
  17. Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
  18. ------------------+--------------------+--------------------+------------------
  19. PPGA   03   0665  |  PPGA   11   0681  |  PPGA   10   0683  |  PPGA   08   0686
复制代码




PCB1.1 Award BIOS 1.2e

  1. cbrom219.exe dvaa12e.bin /d
复制代码


  1.               ********  dvaa12e.bin BIOS component ********

  2. No. Item-Name         Original-Size   Compressed-Size Original-File-Name
  3. ===============================================================================
  4.   0. System BIOS       20000h(128.00K) 156BAh(85.68K)  dvaa12e.BIN
  5.   1. XGROUP CODE       09130h(36.30K)  06382h(24.88K)  awardext.rom
  6.   2. CPU micro code    03000h(12.00K)  01B55h(6.83K)   CPUCODE.BIN
  7.   3. ACPI table        02BD0h(10.95K)  01194h(4.39K)   ACPITBL.BIN
  8.   4. EPA LOGO          0168Ch(5.64K)   002AAh(0.67K)   AwardBmp.bmp
  9.   5. YGROUP ROM        03CE0h(15.22K)  02908h(10.26K)  awardeyt.rom
  10.   6. GROUP ROM[ 0]     02150h(8.33K)   01030h(4.05K)   _EN_CODE.BIN
  11.   7. VRS ROM           02280h(8.62K)   014BBh(5.18K)   ANTI_VIR.BIN
  12.   8. PCI ROM[A]        0897Bh(34.37K)  0522Ah(20.54K)  3703b.ROM

  13.   Total compress code space  = 36000h(216.00K)
  14.   Total compressed code size = 289ECh(162.48K)
  15.   Remain compress code space = 0D614h(53.52K)

  16.                           ** Micro Code Information **
  17. Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
  18. ------------------+--------------------+--------------------+------------------
  19. PPGA   03   0665  |  PPGA   11   0681  |  PPGA   14   0683  |  PPGA   08   0686
  20. PPGA   01   068A  |  PPGA   04   06B0  |  PPGA   1C   06B1  |
复制代码


见两者 ACPI table 一项。


BIOS 的修改:
  将 1.2e 的 ACPI table 提取并加入到 1.0d BIOS 中去。

  1. F:\BIOS>cbrom219.exe dvaa12e.bin /acpitbl extract
  2. CBROM V2.19 (C)Award Software 2001 All Rights Reserved.
  3. Enter an extract file Name :(ACPITBL.BIN)
  4. [ACPI] ROM is extracted to ACPITBL.BIN
  5. F:\BIOS>
复制代码


得到文件 ACPITBL.BIN

将提取出来的 ACPI table 加入到 1.0d BIOS 中去。

  1. F:\BIOS>cbrom219.exe dvaa10d.bin /acpitbl acpitbl.bin
  2. CBROM V2.19 (C)Award Software 2001 All Rights Reserved.
  3. Adding acpitbl.bin . 39.8%
复制代码


现在看看新的 BIOS

  1. cbrom219.exe dvaa10d.bin /d
复制代码


  1.               ********  dvaa10d.bin BIOS component ********

  2. No. Item-Name         Original-Size   Compressed-Size Original-File-Name
  3. ================================================================================
  4.   0. System BIOS       20000h(128.00K) 154F9h(85.24K)  Dvaa10d.BIN
  5.   1. XGROUP CODE       08F20h(35.78K)  06221h(24.53K)  awardext.rom
  6.   2. CPU micro code    01800h(6.00K)   00FE5h(3.97K)   CPUCODE.BIN
  7.   3. EPA LOGO          0168Ch(5.64K)   002AAh(0.67K)   AwardBmp.bmp
  8.   4. YGROUP ROM        03C90h(15.14K)  028DEh(10.22K)  awardeyt.rom
  9.   5. GROUP ROM[ 0]     02150h(8.33K)   01030h(4.05K)   _EN_CODE.BIN
  10.   6. VRS ROM           02280h(8.62K)   014BBh(5.18K)   ANTI_VIR.BIN
  11.   7. PCI ROM[A]        0897Bh(34.37K)  0522Ah(20.54K)  3703b.ROM
  12.   8. ACPI table        02BD0h(10.95K)  01194h(4.39K)   acpitbl.bin

  13.   Total compress code space  = 36000h(216.00K)
  14.   Total compressed code size = 27B30h(158.80K)
  15.   Remain compress code space = 0E4D0h(57.20K)

  16.                           ** Micro Code Information **
  17. Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
  18. ------------------+--------------------+--------------------+-------------------
  19. PPGA   03   0665  |  PPGA   11   0681  |  PPGA   10   0683  |  PPGA   08   0686
复制代码


修改完成。

最后用 uniflash 将新的 BIOS 刷新到主板上去,测试一切正常。

附:
我黑过的的 BIOS 信息
  1.               ******** bak\dvaa10d.bin BIOS component ********

  2. No. Item-Name         Original-Size   Compressed-Size Original-File-Name
  3. ===============================================================================
  4.   0. System BIOS       20000h(128.00K) 1563Fh(85.56K)  DVAA10D.BIN
  5.   1. XGROUP CODE       08F20h(35.78K)  06221h(24.53K)  awardext.rom
  6.   2. YGROUP ROM        03C90h(15.14K)  028DEh(10.22K)  awardeyt.rom
  7.   3. GROUP ROM[ 0]     02150h(8.33K)   01031h(4.05K)   _EN_CODE.BIN
  8.   4. ACPI table        02BD0h(10.95K)  01194h(4.39K)   acpitbl.bin
  9.   5. MIB ROM           00562h(1.35K)   00254h(0.58K)   mib.txt
  10.   6. EPA LOGO          021B4h(8.43K)   00588h(1.38K)   epa.bmp
  11.   7. CPU micro code    03000h(12.00K)  01B55h(6.83K)   CPUCODE.BIN
  12.   8. VRS ROM           02280h(8.62K)   014BBh(5.18K)   ANTI_VIR.BIN
  13.   9. ISA ROM[1]        10000h(64.00K)  0EAC6h(58.69K)  romos.bin

  14.   Total compress code space  = 36000h(216.00K)
  15.   Total compressed code size = 325B5h(201.43K)
  16.   Remain compress code space = 03A4Bh(14.57K)

  17.                           ** Micro Code Information **
  18. Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID  |  Update ID  CPUID
  19. ------------------+--------------------+--------------------+------------------
  20. PPGA   03   0665  |  PPGA   11   0681  |  PPGA   14   0683  |  PPGA   08   0686
  21. PPGA   01   068A  |  PPGA   04   06B0  |  PPGA   1C   06B1  |
复制代码



总结(只供参考):
  如果你的机器在 FB 下无法通过 ACPI 关机,那么可以试试此方法。替换、修改的原则一般是:
1、必须是同一南北桥芯片组的主板;
2、尽量是同一厂家同一系列的主板;
3、必须同一品牌的 BIOS;
4、AMI BIOS 也可以通过类似的方法使用 AMIBCP 来修改。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP