引言
这样的BIOS论坛上就有得下载,为什么要自己搞那么高风险的事情呢?只要是出于两方面的考虑:一方面,某些机型的MOD BIOS论坛上没得下载,就好像我的R61i 8943机型;另一方面,论坛上下载的MOD BIOS很难全面跟得上官方更新速度。从年初开始我一直在关注R61i 8943A18 15寸普屏机型解除1802、1804和“白清单”限制的BIOS,并通过多种方式联系国内、外的高手,但到前两天为止都还没有此机型的MOD BIOS放出来。
参考forum.thinkpads.com论坛里Zender网友发表的修改BIOS资料后,决定自己动手。经过这两天日日夜夜的折腾,于今天上午终于完成了对R61i 8943机型BIOS的修改,并在我的机子上测试通过。给机子升级的联想拆机Intel WiFi Link 5100 AGN无线网卡工作完美,无须绝缘第20脚,开机无1802报错,硬件无线开关和Fn+F5组合键,无线指示灯全部工作正常。
可行性研究
ThinkPad笔记本电脑自从T43起更改了BIOS对无线网卡检测机制,再也不能像之前的机型那简单“跳过”处理来解决非认证网卡使用的问题。经Zender网友的研究发现:新机型,例如我的R61i,BIOS里面对无线网卡检测代码存放在BIOSCODE区域的B.05模块里面。B.05模块的无线网卡相关内容包括两方面主要内容:1、认证的无线网卡数据,即我们所说的“白清单”或者“whitelist”;2、无线网卡检测过程及检测结果数据的传送。由此可以看出实现对非认证无线网卡的使用可以从三方面入一手:
1、把非认证的无线网卡数据加入到B.05模块中,但此方法不太实际,非认证的无线网卡实在太多了,对用户来说用哪张无线网卡就加那张卡的数据入去也不容易操作;
2、修改B.05模块中对无线网卡检测过程,这个方法看上去不错,但实际操作起来也有非常大的困难,主要因为不同此检测过程不同,而且要修改多处,例如R61i 8943就要修改50多处;
3、更改无线网卡检测结果,在B.05模块对无线网卡检测后,无论其检测结果如何都把其检测的结果更改为“是”。所以第三个方法最好,只要更改一处理论上就可以实现对所有非认证的无线网卡的正常使用。
B.05模块对无线网卡的检测首先检测miniPCI-E插槽有没有无线网卡,如果检测到有无线网卡就读取无线网卡的硬件数据。然后拿这个读取得来的数据在“白清单”查找,查找的结果存放某个状态寄存器里面。此状态寄存器被清除(即清0),表示miniPCI-E插槽上没有无线网卡或者无线网卡是通过认证的;此状态寄存器被设置(即置1),表示此无线网卡非认证的,同时给无线网卡第20脚发送一个无线传输关闭的信号(“radio disable”)。只要在B.05模块对无线网卡的检测后,人为再将这个状态寄存器清0一次即可。
实现过程设计
在总结forum.thinkpads.com论坛Zender和本论坛cayman网友的经验,并作了一些简化后得出如下实现过程:
1、获得ThinkPad BIOS的镜像文件。利用官方网站的BIOS升级文件包中WinPhlash.exe程序通过对BIOS进行备份便可以获得BIOS镜像文件。
2、从BIOS镜像文件中提取BIOSCODE区域的B.05模块。运行phnxdeco.exe后,生成的phoenix_.B5便是BIOSCODE区域的B.05模块。
3、通过修改phoenix_.B5文件实现在B.05模块对无线网卡的检测后将状态寄存器清0。此过程由phnxpatch.exe完成。
4、把修改后的phoenix_.B5压缩文件成B.05模块。prepare.exe实现对phoenix_.B5压缩。
5、把修改后的B.05模块放回BIOS镜像文件中的BIOSCODE区域。此过程由phnxmod.exe完成。
6、更新修改后的BIOS镜像文件校验码。此过程由phnxcksm.exe完成。
7、把修改后的BIOS镜像文件刷回ThinkPad中。再次利用WinPhlash.exe刷新BIOS。
详细实现过程
先到ThinkPad官方网站上下载对应最新的BIOS硬盘版升级程序,按官方说明更新BIOS。下载本贴的附件,解压后会成生一个名为bios_mod的文件夹,里面包含修改所需的程序。此过程都在此文件夹里面完成。然后开始修改BIOS。
1、获得ThinkPad BIOS镜像文件。
首先找到官方的BIOS升级程序所在的文件夹,一般在C:DRIVERSFLASH里面。然后运行WinPhlash.exe程序,并设置为只备份BIOS的操作模式,填入BIOS备份文件名:bios.bak,点击“Browes”按钮找到程序所在的文件夹里面扩展名FL1的BIOS文件,然后点击右下角的“Backup BIOS”按钮进行备份BIOS。程序运行完成后,便会在程序所在文件夹里生成一个名为bios.bak的BIOS镜像文件。把这个bios.bak文件复制到bios_mod的文件夹里面。
承接服务:郴州电脑维修,笔记本电脑维修,显示器电脑维修,上门电脑维修,配件批发等。邓先生0735-2236120 13607358182