迅维网

查看: 1615|回复: 44
打印 上一主题 下一主题
[surface]

Surface Pro8 板载内存升级方法

    [复制链接]
跳转到指定楼层
1#
发表于 2025-3-21 17:08:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 湖北 来自 湖北

马上注册,获取阅读精华内容及下载权限

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

x
本帖最后由 shaopeijie 于 2025-3-21 17:36 编辑

本人软件工程师,爱好捣鼓硬件。因为工作需要经常跑虚拟机,原机16GB内存动不动就爆满,看了看某宝升级内存的价格下有点不去手(都是996挣的血汗钱),于是就想着自己升。因为平时经常看某音“浙江吴彦祖”、“大师兄”等大师的维修视频,感觉自己又行了,但隔行如隔山,没想到过程相当艰难。

Surface Pro8升级内存主要有6步:拆屏+换颗粒+改识别电阻+改BIOS+测试+装屏。
苏菲拆机难度大,各位如果想自己升,需要做好充分准备,拆坏了别来骂我。

【拆屏】
难度:五颗星
工具:吹风机+吸盘+拆机片
拆屏幕难度极大。SP8的边框很窄而且面板很薄,一不小心就会割伤排线或者拆裂屏幕,一张屏幕都够升两次内存了。
我采用的土办法是让机器处于亮屏状态,然后用吹风机加热屏幕四周,用吸盘吸喇叭位置,使屏幕翘起一条缝,再用拆手机后盖那种很薄的拆机薄片慢慢割。割的同时观察屏幕是否有液晶挤压,显示是否正常,如果没有,再一点点往里面割(窄边最多割进去3mm左右,底部要注意排线位置,顶部可以深一些),最终花了近一小时才把它无损搞下来。

【换颗粒】
难度:四颗星
工具:热风枪+加热垫(非必须)
器件:4颗镁光MT53E2G32D4NQ-046
Surface Pro8最大支持32GB内存,4片板载颗粒,每片容量8GB/64Gbit。根据图纸上的标注,8GB颗粒只有海力士H9HCNNNFAMMLXR-NEE和镁光MT53E2G32D4NQ-046,我选用的是镁光, 因为货源充足+便宜,而且原机内存也是镁光。在表中之外的颗粒型号BIOS是无法支持的,除非能找到跟两款型号时序参数一致的颗粒。改BIOS二进制代码是不可能的,都有数字签名。

(图片来自https://www.chinafix.com/thread-1365372-1-1.html)

在正式开搞前弄了条报废内存练手,尽可能保证一次成功。
SP8用的高温锡,吹的时候要用湿纸巾包住CPU和不耐高温的器件。拖焊盘是向大师们学的,用低温锡置换高温锡后再用吸锡带拖平,防止焊盘阻焊层脱皮掉点。注意SP8主板上没有内存的丝印,拆颗粒之前可以用铅笔在主板上沿着颗粒边缘划线标记一下。
焊接参数:房间温度15度,热风枪温度400度,最大风力,另外用加热垫把板子预热到70多度。

焊接清洗后的效果如下图:


【改识别电阻】
难度:三颗星
工具:烙铁
器件:634R 0201电阻

一般笔记本是通过上下拉数字电平编码选择内存,而Surface Pro8是通过电阻分压AD采样,电路图如下图,R3432控制采样电压,上表Resistor Value就是对应的电阻值,实际选取时只要在理论值附近即可(AD采样有一定容差)

(图片来自https://www.chinafix.com/thread-1365372-1-1.html)


R3432对应主板的位置在SAM芯片(应该就是EC吧?)右上角,离SAM很近很近,以至于不敢用热风枪吹,用的很尖的烙铁焊上去的。
这颗电阻是0201封装的,实在太小,没有显微镜的情况下只能凭感觉焊,通过手机微距放大检查焊接情况,再通过测量右边R3406 2K电阻的阻值变化确认已焊接稳妥。

根据颗粒型号,我选用的是634欧姆电阻,焊接后的效果如下:


【改BIOS】
难度:两颗星
读写BIOS工具: CH341A+NeoProgrammer V2.2.0.10
操作:拆BIOS芯片-->读取BIOS内容-->清除BIOS内存配置-->烧回BIOS-->焊回BIOS
避坑1:有些编程器无法读取16MB以上FLASH(不支持4字节地址),或者读取出来错的。必须确保编程器能读取完整BIOS,否则烧回去可能就不开机了,
苏菲的机型信息写在BIOS NVRAM里,搞丢了弄回来挺麻烦的
避坑2:焊接BIOS温度要低一点,350度以内。我就是没经验,没打焊油400度直接干,把FLASH干挂了(幸好不是拆的时候挂),关于换FLASH,可以参考https://www.chinafix.com/thread-1379901-1-1.html

为啥要改BIOS呢?网上没有找到Surface Pro8升级内存修改BIOS的教程,采用逆向分析BIOS内存初始化代码获知修改方法,算是首次公开?
下图是Surface Pro8 BIOS内存初始化流程(Surface Pro9/10也大差不差):


FspNvsBuffer的作用是加速开机,内存训练需要十几秒到一分钟不等,如果每次开机都重新训练,开机速度就太慢了。
所以BIOS把训练好的数据命名为“FspNvsBuffer”保存在NVRAM中,下次开机直接用训练好的数据。我认为苏菲的BIOS
没写好,当内存型号变更时(当然这也是软件非预期的行为),傻傻的不知道要重新训练。
知道了原理,修改BIOS的方法就很简单了,只需要修改NVRAM,把FspNvsBuffer变量从NVRAM中删除即可。

删除方法1:手动删除
(1)用UEFITool打开BIOS固件,查找NVS中的FspNvsBuffer变量,定位到变量在BIOS文件中偏移位置

(2)使用hex工具把AA 55后面的3F改成3C即可(3F表示变量有效,3C表示变量已删除)

删除方法2:使用我写的脚本SurfaceMemoryCfgClear.py
详见附件
(1)在windows上安装python3.8或更新的版本
(2)在SurfaceMemoryCfgClear.py打开cmd.exe
(3)执行python SurfaceMemoryCfgClear.py XXXX.bin
(4)在当前文件夹下会自动生成修改好的BIOS文件 __out_image.bin

工具支持清理Surface Pro8的内存配置,Surface Pro9/10理论上也可以,但是我没机器测试。如果有人试了,请帮忙发个反馈。

【测试】
使用memtest86和AIDA测试内存稳定性,确保装机前硬件是稳定的,避免再次拆机。



【装屏】
淘宝不知道为啥买不到Surface Pro8的屏幕胶条,为了省心买了Surface Pro9的,会稍微挡住一点点红外发射管,自己稍微割一下就行。胶不能覆盖的地方,自己再加一点就好。

【Surface Pro8的开机电流和现象
测试是裸板不装电池、摄像头的情况下,通过Type-C口测试的。
(1)不插硬盘:Type-c 20v不升压, 电源输出5V, 有微小电流(估计是给Type-C芯片供电)
(2)插入硬盘: Type-c 输出20v, 刚开始电流几乎为0 ,过几秒后有60ma左右电流
(3)插入硬盘、接上屏幕,没有焊BIOS芯片或者BIOS里面程序为空时:
             Type-c口输出20V,过一会回落5V,然后又升压到20v,循环往复,然后像是EC reset了。
(4)插入硬盘、接上屏幕,焊接BIOS但没有清理内存配置:
        开机定电流0.9(cpu温度较低约20多度)~1.2A(cpu温度较高烫手时)。随着温度升高电流会越来越大。
(5)插入硬盘、接上屏幕,焊接BIOS并且已清理内存配置:
        开机电流0.4(cpu温度较低约20多度)~1.5A(cpu温度较高烫手时)之间跳动,大约几十秒后内存训练结束,机器开机。
(6)如果ME和FLASH不匹配,开机会卡很久,并且找不到内置硬盘,进入BIOS后看到ME版本号为0.0.0.0。
(7)如果ME签名不对或ME配置错误(BIOS刷错了),按开机logo亮, 电流会定在0.6A左右,C口能够保持20V电压。

        
        















SurfaceMemoryCfgClear.zip

3.25 KB, 下载次数: 47, 下载积分: 下载分 -2 分, 下载 1 次


评分

参与人数 21下载分 +79 鑫豆 +55 收起 理由
xu120 + 5
鲁鹏维修 + 5 精品文章
longzhshi + 2 + 2 老司机!双击666+关注.....
fifani + 5 + 5 对您的敬仰如同黄河泛滥,一发不可收拾
生活在别处 + 2 + 2 给愿意分享经验的人加分!
u1490588 + 5 + 5 给愿意分享经验的人加分!
秦风月剑 + 5 + 5 给愿意分享经验的人加分!
军冠维修 + 5 精品文章
维冠快修 + 2 + 2 对您的敬仰如同黄河泛滥,一发不可收拾
新芯箱硬88 + 2

查看全部评分

推荐
发表于 2025-3-22 14:08:28 来自迅维网APP | 只看该作者 来自: 中国 来自 中国
厉害,我只敢动小器件,BGA的还不敢焊接

回复 支持 2 反对 0

使用道具 举报

推荐
发表于 2025-3-21 20:38:12 来自迅维网APP | 只看该作者 来自: 浙江杭州 来自 浙江杭州
chenjm86 发表于 2025-3-21 19:35
我前几天升级PRO7 16内存,改完电阻没有写BIOS就秒进系统认到了,配置电阻图纸没看懂还花了50请教了个大师

有说法说pro7+和之后的机型才需要该bios,感觉就是微软埋的坑

回复 支持 2 反对 0

使用道具 举报

推荐
发表于 2025-3-21 19:35:24 | 只看该作者 来自: 上海长宁区 来自 上海长宁区
我前几天升级PRO7 16内存,改完电阻没有写BIOS就秒进系统认到了,配置电阻图纸没看懂还花了50请教了个大师

回复 支持 1 反对 1

使用道具 举报

推荐
发表于 2025-3-22 19:39:27 来自迅维网APP | 只看该作者 来自: 山东 来自 山东
真的首发,维修界需要你

点评

哈哈,专业的事还得靠您专业的师傅来做  详情 回复 发表于 2025-3-22 22:03
回复 支持 1 反对 0

使用道具 举报

推荐
发表于 2025-3-22 17:46:35 | 只看该作者 来自: 山西运城 来自 山西运城
学习到了,  

回复 支持 1 反对 0

使用道具 举报

推荐
发表于 2025-3-22 12:08:16 | 只看该作者 来自: 河南 来自 河南
厉害,我只敢动小器件,BGA的还不敢焊接

回复 支持 1 反对 0

使用道具 举报

推荐
发表于 2025-3-22 11:29:11 | 只看该作者 来自: 中国 来自 中国
赞赞赞!!!!!!!!!!!!!!!!!!!!!!!!!

回复 支持 1 反对 0

使用道具 举报

9#
发表于 2025-3-22 20:37:50 来自迅维网APP | 只看该作者 来自: 陕西 来自 陕西
高手,理论扎实,实操过硬,高高手!!!

回复 支持 反对

使用道具 举报

10#
发表于 2025-3-22 22:03:35 来自迅维网APP | 只看该作者 来自: 中国 来自 中国
xiaocao1021 发表于 2025-3-22 19:39
真的首发,维修界需要你

哈哈,专业的事还得靠您专业的师傅来做

回复 支持 反对

使用道具 举报

11#
发表于 2025-3-23 06:15:43 | 只看该作者 来自: 上海 来自 上海
灵!高高手。学习了,赶紧收藏好。

回复 支持 反对

使用道具 举报

12#
发表于 2025-3-23 08:55:00 来自迅维网APP | 只看该作者 来自: 辽宁 来自 辽宁
真的是太厉害了。你是浙江吴彦祖之第二人

回复 支持 反对

使用道具 举报

13#
发表于 2025-3-23 11:16:43 | 只看该作者 来自: 中国 来自 中国
谢谢分享,支持湖北吴彦祖

回复 支持 反对

使用道具 举报

14#
发表于 2025-3-23 18:24:07 | 只看该作者 来自: 江西南昌 来自 江西南昌
又学到了新知识

回复 支持 反对

使用道具 举报

15#
发表于 2025-3-24 10:07:47 | 只看该作者 来自: 北京 来自 北京
确实牛逼,手工不输老师傅,理论胜过老师傅,bios和内存之间的交互过程,确实第一次了解,受教了

回复 支持 反对

使用道具 举报

16#
发表于 2025-3-24 14:09:22 来自迅维网APP | 只看该作者 来自: 中国 来自 中国
这个软件 还是不会用,有图文吗

点评

可以用文中方案一,方案二只是懒人方案 (1)下载并安装python运行环境,可选下载地址:https://www.python.org/ftp/python/3.13.2/python-3.13.2-amd64.exe (2)把SurfaceMemoryCfgClear.py和BIOS.bin(从BIOS芯  详情 回复 发表于 7 天前
回复 支持 反对

使用道具 举报

17#
发表于 2025-3-24 22:41:02 | 只看该作者 来自: 江西南昌 来自 江西南昌
高,实在是高

回复 支持 反对

使用道具 举报

18#
发表于 2025-3-24 23:57:22 来自迅维网APP | 只看该作者 来自: 中国 来自 中国
干得好,动手能力强

回复 支持 反对

使用道具 举报

19#
发表于 7 天前 | 只看该作者 来自: 浙江杭州 来自 浙江杭州
wangyjkang 发表于 2025-3-24 14:09
这个软件 还是不会用,有图文吗

可以用文中方案一,方案二只是懒人方案
(1)下载并安装python运行环境,可选下载地址:https://www.python.org/ftp/python/3.13.2/python-3.13.2-amd64.exe
(2)把SurfaceMemoryCfgClear.py和BIOS.bin(从BIOS芯片读取)文件放在同一个文件夹下,如D:\Data\DeskTop\BIOS
(3)按win+r键,输入cmd.exe,回车,弹出cmd窗口
(4)因为因为我放在D盘,所以输入D:  
(5)输入cd D:\Data\DeskTop\BIOS
(6)输入SurfaceMemoryCfgClear.py  BIOS.bin

回复 支持 反对

使用道具 举报

20#
发表于 7 天前 | 只看该作者 来自: 浙江杭州 来自 浙江杭州
TO 会员278753:
可以用文中方案一,方案二只是懒人方案
(1)下载并安装python运行环境,可选下载地址:https://www.python.org/ftp/python/3.13.2/python-3.13.2-amd64.exe
(2)把SurfaceMemoryCfgClear.py和BIOS.bin(从BIOS芯片中读取)放到同一个文件夹下,如 D:\Data\DeskTop\BIOS
(3)如下图操作:

回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复