PS3硬件第一期,底层Syscon调节风扇转速,预告第二期,CPU和GPU降压教程。 心得研究

三级用户 leoncri123 1天前 888

此教程适用Sherwood固件芯片也就是2系列3系列薄机和4系列超薄机,厚机请百度搜索syscon,B站有个人发了。


PS3Syscon风扇调整操作适用所有机型,包括正版机器,比wenbman等第三方软件调速相比:


1-Syscon的风扇转速上升呈曲线,不会像webman那样一会儿很吵,一会儿又降速。而是匀速上升;

2-Syscon可完全由自己配置,不会像webman只能设定目标温度或固定在某个转速,而不能自己完美控制转速和温度的对应关系;

3-Syscon从机器开机的那一秒钟开始,主板上的对应固件芯片就在保护系统,而不需要进入XMB软件系统才生效,也不会因软件Bug而出现错误;

4-Syscon调节风速是系统硬件底层执行,正版机可用。

在调整之前可以尝试通过更换硅脂等排除散热问题:


排除硬件因素后,进入正题:PS3,25系列薄机示例风扇调整流程:

0-电脑上需要先安装Python以及两个插件以及PS3Syscon相关脚本,下面的分享文件里有,安装方法:

【python官网下载最新的windows 64位版本并安装

打开CMD命令提示符,输入:

pip install pyserial pycryptodomex

不要挂梯子,否则会下载失败或安装失败

安装完成后,将ps3syscon-master.zip解压到D盘根目录或其他位置,无中文文件夹命名就好,以后启用Sycon连接脚本就是在CMD命令提示符里面输入

D:\ps3syscon-master\Linux\ps3_syscon_uart_script.py COM10 SW

路径根据你自己设定的路径做出更改,如果直接解压到D盘就和上面一样,COM10,这个10根据你USB端口会不一样,在设备管理器的“端口(COM和LPT)”里面找到并更改,后面的SW,只要是薄机就不用改】


1-拆机,根据“焊接点位图.JPG”焊接三根杜邦母线即可,该点位图适用于SUR-001-JTP-001-JSD-001-KTE-001主板(21xx-40xx机型),只需要焊接“SC_Rx”和“SC_Tx”,以及一根地线,三根线从硬盘口出,留10公分左右冒头可以塞在硬盘盖里面隐藏方便下次不拆机直接调试;焊接好后把机器重新组装起来。

2-使用带3.3V的USB转TTL转接器(参考“USB转TTL.png”),记住PS3的对应芯片为3.3V,不要用错了规格。将地线插GND,“SC_Rx”插转接器的TX,“SC_Tx”插转接器的RX,实际测试插反也能正常读取写入,不会烧鸡,但确保信号电平是3.3V,把USB端插电脑,把PS3开机,有没有硬盘都行。

3-电脑上安装好Python以及两个Module:pyserial和pycryptodomex,教程在另一个文件夹,这里不赘述,打开CMD命令提示符,输入:

D:\ps3syscon-master\Linux\ps3_syscon_uart_script.py COM10 SW

注:

【前面的“D:\ps3syscon-master\Linux\”是ps3_syscon_uart_script.py脚本所在的路径,COM10是USB转TTL的端口,可以在设备管理器的“端口(COM和LPT)”里面找到,数字10根据自己电脑显示的端口数更改,SW表示Sherwood固件,从CECHL开始的所有机型都是Sherwood固件(包括CECHL),而之前的老型号都是Mullion固件,指令有一定差异,这里只讨论Sherwood固件的薄机型号。需要折腾厚机的参考“PS3基于SYSCON的风扇调速配置记 - 哔哩哔哩.pdf”】

输入后它应该显示:

Press Ctrl+C to exit

>$

这个金钱符号说明成功启用脚本,如果没有,说明之前你的Python或两个Module没有安装好;

输入:

AUTH

如果AUTH提示不成功(Auth1 response invalid)说明两根RX和TX线接反了或地线接触不良。如果没接反,重试下,先PS3插电,再USB插电脑,再PS3开机。多输入几遍AUTH,抽风是正常现象,直到出现:

Auth successful表明授权成功可以进行读写

输入fantbl get 0和fantbl get 1,可以查看系统默认的CPU和GPU风扇转速和温度的对应关系,可以看到25系列的标准风扇转速表:

注:

【TemprU表示超过该温度则进入下一个转速阶段,TemprD表示低于该温度则进入上一个转速阶段】

> revision

# Revision = 2242(08C2)

> version

# Sherwood Version = 1.21.0

CPU:

> fantbl get 0

# FanconNo:00

# P0: TemprD:0.0(0x0000) - TemprU:59.0(0x3B00) Duty:20%

# P1: TemprD:47.0(0x2F00) - TemprU:60.0(0x3C00) Duty:22%

# P2: TemprD:49.0(0x3100) - TemprU:61.0(0x3D00) Duty:23%

# P3: TemprD:49.50(0x3180) - TemprU:62.0(0x3E00) Duty:24%

# P4: TemprD:51.50(0x3380) - TemprU:63.0(0x3F00) Duty:25%

# P5: TemprD:52.0(0x3400) - TemprU:64.0(0x4000) Duty:26%

# P6: TemprD:54.50(0x3680) - TemprU:65.0(0x4100) Duty:27%

# P7: TemprD:55.0(0x3700) - TemprU:70.0(0x4600) Duty:28%

# P8: TemprD:61.50(0x3D80) - TemprU:74.0(0x4A00) Duty:29%

# P9: TemprD:62.0(0x3E00) - TemprU:76.0(0x4C00) Duty:31%

# P10: TemprD:62.50(0x3E80) - TemprU:77.0(0x4D00) Duty:33%

# P11: TemprD:63.0(0x3F00) - TemprU:78.0(0x4E00) Duty:35%

# P12: TemprD:63.50(0x3F80) - TemprU:79.0(0x4F00) Duty:40%

# P13: TemprD:64.0(0x4000) - TemprU:80.0(0x5000) Duty:50%

# P14: TemprD:65.0(0x4100) - TemprU:81.0(0x5100) Duty:70%

# P15: TemprD:67.0(0x4300) - TemprU:85.0(0x5500) Duty:100%

# P16: TemprD:255.75(0xFFFF) - TemprU:255.75(0xFFFF) Duty:100%

# P17: TemprD:255.75(0xFFFF) - TemprU:255.75(0xFFFF) Duty:100%

# P18: TemprD:255.75(0xFFFF) - TemprU:255.75(0xFFFF) Duty:100%

# P19: TemprD:255.75(0xFFFF) - TemprU:255.75(0xFFFF) Duty:100%

GPU:

> fantbl get 1

# FanconNo:01

# P0: TemprD:0.0(0x0000) - TemprU:83.0(0x5300) Duty:20%

# P1: TemprD:68.0(0x4400) - TemprU:84.0(0x5400) Duty:22%

# P2: TemprD:69.0(0x4500) - TemprU:85.0(0x5500) Duty:23%

# P3: TemprD:69.50(0x4580) - TemprU:86.0(0x5600) Duty:24%

# P4: TemprD:70.0(0x4600) - TemprU:87.0(0x5700) Duty:25%

# P5: TemprD:70.50(0x4680) - TemprU:88.0(0x5800) Duty:26%

# P6: TemprD:71.0(0x4700) - TemprU:89.0(0x5900) Duty:27%

# P7: TemprD:71.50(0x4780) - TemprU:90.0(0x5A00) Duty:28%

# P8: TemprD:72.0(0x4800) - TemprU:91.0(0x5B00) Duty:29%

# P9: TemprD:72.50(0x4880) - TemprU:92.0(0x5C00) Duty:31%

# P10: TemprD:73.0(0x4900) - TemprU:93.0(0x5D00) Duty:33%

# P11: TemprD:73.50(0x4980) - TemprU:94.0(0x5E00) Duty:35%

# P12: TemprD:74.0(0x4A00) - TemprU:95.0(0x5F00) Duty:40%

# P13: TemprD:74.50(0x4A80) - TemprU:96.0(0x6000) Duty:50%

# P14: TemprD:75.0(0x4B00) - TemprU:97.0(0x6100) Duty:70%

# P15: TemprD:78.0(0x4E00) - TemprU:100.0(0x6400) Duty:100%

# P16: TemprD:255.75(0xFFFF) - TemprU:255.75(0xFFFF) Duty:100%

# P17: TemprD:255.75(0xFFFF) - TemprU:255.75(0xFFFF) Duty:100%

# P18: TemprD:255.75(0xFFFF) - TemprU:255.75(0xFFFF) Duty:100%

# P19: TemprD:255.75(0xFFFF) - TemprU:255.75(0xFFFF) Duty:100%

> tshutdown get 0

# TZone No:00

# Temperature:+85.0(0x5500)

> tshutdown get 1

# TZone No:01

# Temperature:+100.0(0x6400)

> eepcsum

# csum = 0xECE3

通过观察可以发现,CPU的风扇转速表是相对合理的,个人感觉没有更改的必要,但是GPU的风扇转速设定就有点离谱了,83度以下完全不提高转速,要到92度才勉强提到31%,30%转速在25系列孱弱的散热性能上肯定压不住90多度的芯片,所以GPU的风扇设定基本上就是摆设,或许索尼认为GPU没有CPU容易坏,或许是因风扇静音问题做出妥协,总之,为了机器寿命着想,应该更改此配置。

根据自身需求,可以自己设定温度和转速,也可以照搬我的设定,如果想自己自定义,可以参考下面列出的风扇转速:

风扇转速在Syscon中以16进制代码0xYY表示,YY换算十进制后等于Z,风扇转速X%,X=Z除以2.56,如不想计算,可参考下面列表:

0x33 = 20%

0x36 = 21%

0x39 = 22%

0x3b = 23%

0x3e = 24%

0x40 = 25%

0x43 = 26%

0x45 = 27%

0x48 = 28%

0x4a = 29%

0x4d = 30%

0x50 = 31%

0x52 = 32%

0x55 = 33%

0x57 = 34%

0x5a = 35%

0x5c = 36%

0x60 = 37.5%

0x63 = 38.7%

0x66 = 39.8%

0x80 = 50%

0x8d = 55%

0xa6 = 64.8%

0xb3 = 70%

0xff = 100%

以下是我设定的风扇转速和温度对应关系,可以照搬:

# P0: TemprD:0.0(0x0000) - TemprU:59.0(0x3B00) Duty:20%

# P1: TemprD:47.0(0x2F00) - TemprU:60.0(0x3C00) Duty:22%

# P2: TemprD:49.0(0x3100) - TemprU:61.0(0x3D00) Duty:23%

# P3: TemprD:49.50(0x3180) - TemprU:62.0(0x3E00) Duty:24%

# P4: TemprD:51.50(0x3380) - TemprU:63.0(0x3F00) Duty:25%

# P5: TemprD:52.0(0x3400) - TemprU:64.0(0x4000) Duty:26%

# P6: TemprD:54.50(0x3680) - TemprU:65.0(0x4100) Duty:27%

# P7: TemprD:55.0(0x3700) - TemprU:70.0(0x4600) Duty:28%

# P8: TemprD:61.50(0x3D80) - TemprU:74.0(0x4A00) Duty:29%

# P9: TemprD:62.0(0x3E00) - TemprU:76.0(0x4C00) Duty:30%

# P10: TemprD:62.50(0x3E80) - TemprU:77.0(0x4D00) Duty:31%

# P11: TemprD:63.0(0x3F00) - TemprU:78.0(0x4E00) Duty:33%

# P12: TemprD:63.50(0x3F80) - TemprU:79.0(0x4F00) Duty:35%

# P13: TemprD:64.0(0x4000) - TemprU:80.0(0x5000) Duty:40%

# P14: TemprD:65.0(0x4100) - TemprU:81.0(0x5100) Duty:50%

# P15: TemprD:67.0(0x4300) - TemprU:85.0(0x5500) Duty:70%

P16到P19不改,到不了这个温度系统就过热关机了

自动关机温度:86度

以下是对应的代码,因为一次只能读写60位,所以分两批写入:

前60位:起始位置2c0

r 2c0 3c

w 2c0 33 3B 00 00 00 39 3C 00 2F 00 3B 3D 00 31 00 3E 3E 00 31 80 40 3F 00 33 80 43 40 00 34 00 45 41 00 36 80 48 46 00 37 00 4A 4A 00 3D 80 4D 4C 00 3E 00 50 4D 00 3E 80 55 4E 00 3F 00

r 7fe 2

后20位:起始位置2fc

r 2fc 14

w 2fc 5A 4F 00 3F 80 66 50 00 40 00 80 51 00 41 00 B3 55 00 43 00

r 7fe 2

关机温度:(86度)

w 3b8 56

r 7fe 2

写入是实时的,所以确保自己没有写错,写完以后,Checksum值会发生变化,如果不更改Checksum,机器就无法开机。

输入:

eepcsum

它会反馈错误:(以下为示例,以你在屏幕上看到的为准)

csum = 0x0c80

纠正checksum指令:

w 7fe 80 0C

也就是把80放前面,0C放后面,中间一个空格,不要写错了,检查好了再回车

此时调速流程就走完了,按Ctrl+C退出,然后关闭PS3,然后拔掉USB转TTL,然后拔掉PS3电源线,然后再插上,开机,机器就会按照设定好的风速运行,此时可烤鸡观察温度是否理想,可多次调试直至满意

上面说了CPU风扇转速相对合理不用更改,但如果还是想要调整,可参考“Syscon Thermal Configs - PS3 Developer wiki.pdf”自行研究,基本都和上面一样,除了起始位置不一样,可以用十六进制的加减来找出CPU配置文件的起始位置,wiki说是0x250,我未验证,可以用r 250 3c的指令读取60位,并对比wiki pdf中的sherwood的Thermal Config,看是否一一对应,找准了位置就没问题。另外,16进制的加减法和10进制不一样,比如10进制,前20位,直觉是减去20,而十六进制则是减去14。


所有相关资料软件点位图分享:

分享只能最高15天,需要速取。



上一篇:求助各位大佬:买了mx4sio,陈年的ps2记忆卡中的哪些可以删了?
下一篇:ps1金手指卡,这玩意能升级么?
最新回复 (25)
  • 四级用户 z1008 1天前
    0 2
    多谢大佬分享
  • 五级用户 无敌宇宙大帝 1天前
    0 3
    看看
  • 五级用户 hoboyo 1天前
    0 4
    很有用,最近也在研究
  • 五级用户 仙望乡 1天前
    0 5
    感谢大佬分享
  • 四级用户 cfi1000 1天前
    0 6
    好长的帖子,牛逼。但我没有PS3试不了。
  • 四级用户 chujiantao 1天前
    0 7
    大佬 牛比啊。。。只能等有需求再说了,估计手残也搞不好
  • 四级用户 ad2000 1天前
    0 8
    多谢分享
  • 五级用户 Morrowind 1天前
    0 9
    感谢大佬分享
  • 四级用户 yousei 1天前
    0 10
    好麻烦的样子,凑个热闹
  • 五级用户 dust1129 1天前
    0 11
    我觉得最根本的方法还是上PC端的散热器。但是三公主和四公主都太难固定散热底座了。不然自己DIY个没有外壳的真蛮好的。水冷改造的又太多了
  • 三级用户 reboot520 1天前
    0 12
    这个属于高精尖技术了
  • 六级用户 Linux_YL 1天前
    0 13
    感谢大佬分享
  • 三级用户 zac 1天前
    0 14
    技术贴,插眼以后看
  • 五级用户 fragranse 1天前
    0 15
    看看
  • 五级用户 djawfi 23小时前
    0 16
    谢谢分享好方案
  • 三级用户 danman 22小时前
    0 17
    这个高级,感谢分享
  • 四级用户 koalais 22小时前
    0 18
    多谢大佬分享
  • 四级用户 南苑 22小时前
    0 19
    这是老爱无私的奉献!
  • 三级用户 leoncri123 19小时前
    0 20
    南苑 这是老爱无私的奉献!
    咋成了老爱无私奉献了😂😂
    • 老男人游戏网配套论坛
      27
        立即登录 立即注册
发新帖
本论坛禁止发布SWITCH和PS4相关资源,若有其他侵权内容,请致邮3360342659#qq.com(#替换成@)删除。