联想Z510笔记本:
CPU I7 4702MQ没毛病 ;
内存4G DDR3不上虚拟机办公足够用; 
硬盘升级为SSD240G足够用;
有线网卡100M,真是垃圾,不过有线网卡是主板上的芯片,这个我可动不了;
唯有动起无线网卡升级的念头!
可惜现在笔记本供应厂商都很变态,弄了个网卡白名单,现有的Z510只支持如下型号:
从官方硬件说明书和官方BIOS中找到的无线网卡类型和ID名单
VEN DEV SUBSYS 型号 联想备件号
8086 08B2 42628086 Intel 7260BN, 20200412
14E4 4727 060914E4 BCM94313HMG, 20200102
14E4 4365 061117AA BCM943142HM, 20200222
168C 0032 311817AA Liteon HB125, 20200223
168C 0032 321817AA Liteon WB225, 20200224
168C 0036 302617AA Liteon WB335, 20200437
如果你想换无线网卡但是没有修改BIOS白名单的话,只能选择以上型号。 
我仔细查过,没有一个支持802.11AC的,在当代怎么能不追求最高无线速度呢!
一、修改BIOS白名单篇 
1.首先,打开操作系统的的设备管理器,查看笔记本自带原装无线网卡的硬件ID;

如图,我的E420的无线网卡的硬件ID值为“PCI\VEN_10EC&DEV_8176&SUBSYS_819510EC&REV_03”。忽略最后一个REV参数,那么对每个字段分别使用little-endian小段字节序就是“EC107681EC109581”,将该字节序记录下来,作为后阶段搜索BIOS中白名单的依据。(计算方法:EC10为VEN值10EC的字节序,7681为DEV值8176的字节序,EC109581为SUBSYS值819510EC的字节序)。
    由于白名单的限制,ThinkPad E420在插上博通二合一无线网卡Broadcom BCM94352HMB时(802.11a/b/g/n/ac+蓝牙4.0,802.11n下最高支持到300Mbps,802.11ac下最高支持到867Mbps),毫无意外的无法进系统提示如下:

20140608_113955_胜利路-1.jpg(1001.62 KB, 下载次数: 132)

下载附件

2014-6-8 15:36 上传

 

这里有一个插曲,我的网线网卡在我的Z510的笔记本上居然不显示硬件ID,我的笔记本是这样的。
    
碰到这个情况,你只有找同事的笔记本装下,看下硬件ID是多少,或者在淘宝购买之前,就问好卖家硬件ID是多少,否则很麻烦,还要拆别人的笔记本!!
 由于二合一无线网卡,其实是将蓝牙模块和无线网卡模块集成在了一张卡上,开机过程中,联想强制自动比对白名单,会将蓝牙识别另一张无线网卡。不过,报错的提示其实是很重要的,因为它把蓝牙模块和无线网卡模块的硬件ID告诉我们了,后面修改BIOS白名单时,两个都用得上。不过,如果你买的是独立的无线网卡,自然就没有蓝牙模块的硬件ID。
    图中“13D3/3404”为蓝牙模块的硬件ID,根据笔记本电脑通用蓝牙模块的硬件ID格式,可还原为“USB\VID_13D3&PID_3404”,其little-endian小段字节序就是“D3130434”;
    图中“14E4/43B1/1A3B/2123”为无线网卡的硬件ID,还原为“PCI\VEN_14E4&DEV_43B1&SUBSYS_21231A3B”,little-endian小段字节序就是“E414B1433B1A2321”。

通常,你在购买无线网卡前最好沟通卖家提前拿到硬件ID,并按此教程修改BIOS的白名单并刷入主板,避免重复拆装机更换无线网卡。

2.接下来,使用RwPortable提取当前主板的“AcpiTbls.rw”。这个文件是后面修改BIOS所必要的文件。操作过程如下图:

3.联想官网下载的官网下载的E420最新的BIOS及更新工具,当前最新版是1.26/1.14/1.06,下载得到一个可执行文件“BIOS[8huj17us].exe”,双击打开运行,先执行解压,解压路径如下:

4.到刚才解压BIOS及工具的路径,按照下图所示,找到8H开头的BIOS文件“$0A8H000.FL1”,这个文件可以单独复制到别处做修改,比如我在写教程时就复制到路径G:\BIOS\:

5.使用PhoenixTool打开这个BIOS文件,提示找到一个公钥,点“确定”:

6.RW文件导入之前第2步使用RwPortable提取的“AcpiTbls.rw”文件,然后点“高级”,忽略“警告”提示:

7.在高级选项界面,勾选“允许用户修改其他模块”和“非SLIC”,然后点完成:

8.回到PhoenixTool主界面后,点击“执行”:

9.当弹出“现在可以手动修改的任意模块位于DUNM目录”的信息对话框后,此时千万不要点击“确定”:

10.由于前文我提到我把BIOS文件复制到了路径G:\BIOS\之后,使用PhoenixTool做修改,因而此时,在该路径下生成了“DUMP”文件夹:

11.这时,我们需要在DUMP文件夹中找到包含笔记本自带无线网卡的白名单文件。于是,使用XSearch(作者:Jarett)来搜索:

12.使用WinHex打开上一步搜到的ROM文件,并使用“查找十六进制数据”,查找原装无线网卡的小段字节:

当我们查找到原装无线网卡的白名单后,经过仔细观察,可以得到五组8字节的白名单和五组4字节的白名单。我们可以从8字节名单任意挑选一组修改成新无线网卡的白名单,从4字节的白名单中挑选一组修改成二合一无线网卡的蓝牙模块的白名单。这里注意还要把蓝牙的硬件ID写入,否则也会无法启动

13.回到PhoenixTool主界面,此时点击“确定”,经历一小会的软件假死后,BIOS修改完成,并生成了新的BIOS。注意新BIOS的路径,记录下来:

14.按照新的BIOS文件路径,将新BIOS文件复制到Phoenix UEFI WinFlash文件夹中:

15.由于我的ThinkPad E420很久以前就已经将官方原版1.26/1.14/1.06的BIOS刷入主板了,而BIOS更新工具默认是禁止刷入同版本或者低版本的BIOS的,我当前只能使用DOS命令强刷。步骤如下,Windows Vista/7/8/8.1/8.1update以后的用户,请在“cmd.exe”点击鼠标右键,“以管理员身份运行”,并输入命令“winflash.exe /sd /sv 新的BIOS文件名.扩展名”,我的新BIOS名称为“$0A8H000_SLIC.FL1”,所以,我的命令为“winflash.exe /sd /sv $0A8H000_SLIC.FL1”,然后回车:
    注:/sd /sv表示跳过日期及版本号验证,命令来源于本友会的msmmbl会员。
        我的CMD.exe是用Windows 8.1 x64 专业版 update 提取的,可能不兼容x86的32位系统。你可以从自己的C:\Windows\System32\提取cmd.exe。只把这一个应用程序复制出来替换我打包的cmd.exe就行了。

16.接下来,Phoenix UEFI WinFlash Utility开始刷入修改过白名单的新BIOS,之后笔电会自动重启。本篇到此结束。

有了BIOS,我们现在开始来讲解怎么刷新Z510的笔记本BIOS!!!

下面讲讲如何通过睡眠BUG来刷BIOS
准备工作:
1、笔记本从UEFI启动;
2、笔记本安装WIN10系统;
3、系统安装的时候硬盘采取GPT模式;
4、留一个分区格式化为FAT32来刷BIOS用。

首先,下载所有需要的工具EASYUEFI,BOOTX64.ZIP, FPTW64_8SERIES.ZIP,准备好修改了后的BIOS。
1。新建一个FAT32的分区,在新建分区新建一个EFI文件夹,在EFI文件夹新建一个BOOT文件夹,把BOOTX64.ZIP中的BOOTX64.EFI解压到BOOT文件夹。
2.安装并打开EASYUEFI,点击新建(中间一束图标中第二个有加号的图标),类型选"LINUX或其他", 描述随便一个名字,选择你之前新建的FAT32分区,点击浏览,选择你刚才解压到BOOT文件夹下的BOOTX64.EFI, 点击确定。

3.然后启动项新建成功,会回到主界面,点击刚才新建的启动项(我的是SUIBIAN),点击设置一次性启动(中间图标中倒数第三个)。

然后重启

重启后会进入GRUB EFI SHELL,依次输入一下命令(一行一个回车)
SETUP_VAR 0X1EE 0X1

SETUP_VAR 0X4AB 0X0
REBOOT

(注意:这里的代码只有Z410和Z510可以这样输入,其他电脑输入这个代码会导致变砖的)

然后会重启到WINDOWS,在C盘根目录新建一个BIOS文件夹,把FPTW_8SERIES.ZIP里的东西都解压到C:\BIOS文件夹,把你修改好的BIOS也放进这个文件夹(假设修改后的BIOS文件名为BIOS.ROM),以管理员权限打开命令提示符(同时按有WINDOWS徽标的键+X,然后再按A)。
然后使电脑进入睡眠后再唤醒。
唤醒后在命令提示符窗口依次输入以下命令
CD C:\BIOS
FPTW64.EXE -F BIOS.ROM -BIOS
等程序跑完一切大功告成!

 


重启进入UEFI,如果出现这个提示的时候,表示你要在 bios设置里面 把 secure boot关掉,不过有的时候你在bios看到,secure boot的确是关闭的,这个时候,你可以在easyuefi软件界面里观察,安全启动当前状态是否关闭的,如果是启动状态,那么就把自己创建的分区删除,重新再创建,然后再重启,进bios,启动再关闭,多来几次就会成功的!

 
出现这个提示是因为你还没成功进入UEFI命令行,没有执行
 重启后会进入GRUB EFI SHELL,依次输入一下命令(一行一个回车)
SETUP_VAR 0X1EE 0X1

SETUP_VAR 0X4AB 0X0
REBOOT

出现这个提示是因为你的笔记本没有进入睡眠模式,然后再唤醒,有的时候多来几次,就会成功的!

最终成功的截图,不容易啊!!!!!

联想Z510升级BCM94352HMB刷网卡白名单曲折经历的更多相关文章

  1. 重学 Java 设计模式:实战外观模式「基于SpringBoot开发门面模式中间件,统一控制接口白名单场景」

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 你感受到的容易,一定有人为你承担不容易 这句话更像是描述生活的,许许多多的磕磕绊绊总 ...

  2. iOS9 URL Schema 白名单 微信

    近期苹果公司iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装. 受此影响,当你的应用在 ...

  3. ios9 URL Schemes列为白名单,才可正常检查其他应用是否安装

    http://my.oschina.net/u/1244672/blog/512210 如果你在模拟器上运行可以能还会有以下报错: -canOpenURL: failed for URL: “weix ...

  4. X60的BIOS白名单-黑苹果之路

    一时兴起装起了黑苹果,用了最古老的thinkpad X60.装完了才发现无线网卡是硬伤,无法驱动,只有淘了个博通的无线网卡,但商家告诉我需要搞定白名单. 于是在商家的帮助下折腾半天,终于搞定. 1.在 ...

  5. 适配iOS9遇到的一些问题_Scheme白名单_ Bitcode及解决办法

    升级Xcode7 运行项目发现报错如下: 1.Scheme白名单问题 -canOpenURL: failed for URL: “weixin://app/wxdaae92a9cfe5d54c/” - ...

  6. 使用rundll32.exe绕过应用程序白名单(多种方法)

    0x00 前言 本文演示了白名单AppLocker bypass的最常见和最熟悉的技术.我们知道,出于安全原因,系统管理员添加组策略来限制本地用户的应用程序执行.在上一篇文章中,我们讨论了“ Wind ...

  7. 项目适配iOS9遇到的一些问题及解决办法 ,以及URL 白名单配置方法

    1.网络请求报错.升级Xcode 7.0发现网络访问失败.输出错误信息 The resource could not be loaded because the App Transport Secur ...

  8. 嵌入式Linux可用的防火墙——iptables:实现ip白名单、mac地址白名单

    iptables是linux系统下的一个功能强大的模块,不仅可以用作防火墙,还可以实现NAT等众多路由功能.iptables的容器有很清晰的层次关系: 1. iptables是表的容器,iptable ...

  9. 手游聚合SDK开发之远程开关---渠道登入白名单

    白名单有啥好说的呢?无非就是筛选登入,大家第一眼看到就是这个印象,白名单也是有文章的,弄的时机不同会给你带来很不错的收益,注意是收益.还是举例来说,游戏上线前渠道都会做一个预下载,一般提前1-2天,这 ...

随机推荐

  1. Andriod Studio 解决问题 Failed to resolve: com.android.support:appcompat-v7:28.+

    Andriod Studio报错提示: Error:(26, 13) Failed to resolve: com.android.support:appcompat-v7:28.+ 原因:Andri ...

  2. IOS控件大全及控件大小

    一 视图UIView和UIWindow iphone视图的规则是:一个窗口,多个视图.UIWindow相当于电视机,UIViews相当于演员. 1.显示数据的视图 下面几个类可在屏幕上显示信息: UI ...

  3. c++下基于windows socket的单线程服务器客户端程序(基于TCP协议)

    今天自己编写了一个简单的c++服务器客户端程序,注释较详细,在此做个笔记. windows下socket编程的主要流程可概括如下:初始化ws2_32.dll动态库-->创建套接字-->绑定 ...

  4. fluent nhibernate映射的数值类型问题

    fluent nhibernate中,数值类型设置不当,就可能会引发一些意想不到错误. 一.引发映射错误 比如,oracle数据库中,字段ID类型是number,结果用codesmith生成代码,实体 ...

  5. Vec3b类型数据确定颜色通道

    前言 这几天实习生测试一张图像的三个通道分别是什么颜色,使用的是Vec3b类型,然后发现了一个有意思的点.. 测试过程 先创建了一定大小的数据, Mat test( , , CV_8UC3, Scal ...

  6. explain结果字段说明

    Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优 ...

  7. java中 static,final,transient,volatile关键字的作用

    static 和final static  静态修饰关键字,可以修饰 变量,程序块,类的方法: 当你定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而 ...

  8. 多重背包!!!(二进制优化的01背包)hdoj-2844

    #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...

  9. HDU 4035 Maze 概率DP 搜索

    解题报告链接: http://www.cnblogs.com/kuangbin/archive/2012/10/03/2711108.html 先推公式,设计状态,令DP[i]表示在房间i退出要走步数 ...

  10. hdu2087 剪花布条 暴力/KMP

    在字符串中不可重叠地寻找子串数量,暴力/KMP #include<stdio.h> #include<string.h> int main(){ ],b[]; ]!='#'){ ...