|
警告0:以前咱们可以瞎搞SM的玩意,是因为SM本体在台湾,跨海执法还是有点难度,而现在搞原神必须偷偷摸摸!因为原神在深圳,是真的能直接FBI OPEN THE DOOR的! 这一点搞MA的时候也是同理!
警告1:请勿在固件启动时修改配置,因为关闭时会把配置覆盖回去,到时候一顿折腾发现白干 警告2:修改完配置记得保存,不然不生效 警告3:看不懂教程别问我,除非你愿意给我出几百万律师费,否则我一概不承认
前期准备焊好颗粒插进电脑打开软件,直接一个红彤彤的No flash 草 双击这个No flash,我们可以看到跳线是正确的,4个通道全部OK,每个通道2CE,一共就是8个CE,ID是:453E99B37A72 随便找个群或者软件查查这个ID相关的信息:512Gb,换算过来64G每个CE,8个CE就是256G,容量这些也对上 说明前期准备没啥问题
脉络分析添加颗粒有大概会涉及到8个文件 1. FASet.dat 位于固件\pcie\UI\FAE文件夹里
2. flash.dat 3. FlashType.dat 4. CfgCheck.dat 它们都位于固件\public\Conf文件夹里
5. 9205DrvParamCfg.dat 6. DrvParamUICfg.dat 它们都位于固件\pcie\YS9205\conf\DrvParamCfg文件夹里
7. Sys0_Config.dat 8. Sys1_Config.dat 它们都位于固件\pcie\YS9205\conf\LdpcCfg文件夹里
大概的修改顺序和逻辑如下 1. FASet.dat 在这里面有个FIX_FLASH_EN=1,意思是固定只显示几个参数的意思,改成=0,这样识别的时候就能显示绝大部分ID
2. FlashType.dat 这里面记载了绝大部分市面上能见到的闪存,并且规定了闪存大概是什么制程的
3. flash.dat 闪存的详细信息,比如有多少个块,多少个Die,多少LUN(控制器)TLC还是QLC之类的,大多数识别不到颗粒信息,在这里面添加就行
4. DrvParamUICfg.dat 颗粒的驱动参数,重点偏向于规定颗粒应该怎么运行 比如NvDdrMode参数是控制颗粒的运行频率 FLASH_I参数是控制电压 ALG_TYPE参数是控制运行模式 等
5. 9205DrvParamCfg.dat 主控的驱动参数,重点是偏向告诉主控应该怎么使用这个颗粒 比如MP_CODE_DIR_NAME参数规定使用哪个固件
6. Sys0_Config.dat 7. Sys1_Config.dat 这俩货看名字就知道是LDPC纠错相关的东西,我看不懂,建议你们直接复制类似制程的
8. CfgCheck.dat 将你改过的文件重新计算MD5值然后更新进去,再重新打包,完成! 如果不更新,会报错 打开软件时 点击开卡时
实战演示下面开始实战! 首先来到固件\pcie\UI\FAE文件夹,把FASet.dat文件用某个解密工具将它解密为FASet.ini文件 (工具找别人要去,我出教程已经被盯上了,再公开工具百分百直接律师函) 找到里面的FIX_FLASH_EN=1,改为=0
然后来到public\Conf文件,找到flash.dat和FlashType.dat将它们解密出来,这样就能直接用记事本打开 但我比较嘉豪,记事本太LOW,我要用Notepad++打开!
同时按键盘左下角的唱跳Rap篮球键(Ctrl)和F键,可以打开搜索功能 把颗粒ID扔进去能直接搜到相关信息 FlashType里有,而flash里没有,说明这个颗粒应该是有被顺带收录了ID,但没有实际使用它,需要我们为其添加具体的参数
添加参数的大概逻辑掌握了就很简单 看起来一堆参数,但如果同为一个制程,那大多数最底层的参数都是一样的,只是最上面的每CE的Die、LUN、Plan之类的数据组成不同,从而组成不同的容量 比如这个颗粒后面告诉你了是8T23,那就找同为8T23的颗粒,复制它们的参数,修改部分细节 但具体是哪些细节不同呢?这个就得结合翻译去猜... 怎么可能! 都6202年了,别再能工智人了,数据直接发给AI让它对比去! 如果觉得不保险,还有其他公开参数,比如慧荣的所有开卡固件的FlashDB文件夹里,都有Flash.SET文件,里面记载的就是颗粒的参数和驱动方式 多对比看看就能知道A颗粒和B颗粒有什么区别,是少了几个块,还是频率要低一些 但有一点需要注意 虽然一些枯燥的杂活可以交给AI,但我不建议全部交给AI,让它直接生成参数 一方面是生成出来的数据可能有误,另一方面你连这些个参数的大概意思都不知道,那要你何用 把杂活交给AI,你得掌握大概逻辑和脉络,才能指导AI干活
继续
既然闪迪这边没有参数,但同为0T23,也就是BICS3制程的东芝那边应该会有类似的参数,只需要把 453E99B37A72改为 983E99B37A72就能... 草,居然也没参数
按经验,闪迪东芝最后一位数是制程,倒数第二位是走toggle协议还是onfi协议,理论上暂时忽略掉也没啥关系,所以找找453E99B37A呢 诶~~~有是有,但是BICS4制程的,不太好作为参数,看看东芝那边的983E99B37A呢 还好,能找到4个 第一个虽然后面写的是8T23,但被归位8T22里,不太合适 第二个就比较合适了,和咱们的ID就差一个toggle和ONFI的区别 第三和四是明确是BICS4制程,这里直接跳过 好,那么接下来就要确定2个问题,虽然在理论上可以套壳,但在9205的世界里细节还是有点区别的 比如 1. 东芝和闪迪的区别 2. toggle和ONFI的区别
我们先确定东芝闪迪的区别 这里我随便找了个只有厂商有区别的ID(其实就是第一个ID) 453C98B37672 983C98B37672 把这俩在flash文件里的详细参数都复制出来,发给AI,让它仅显示不同
大体上没啥区别 缺的参数补上,另外个参数看了下,似乎闪迪都是4,那就按闪迪的来 紧接着我对比了有无土狗时候的情况 453C98B376F2 453C98B37672
似乎也没啥区别,理论上可以直接套用 也就是说,按道理,我能直接套用983E99B37AF2的参数给483E99B37A72,然后解决一下那些有小区别的地方就行 但实际上却出现了一些蛋疼的问题,我直接把有问题的地方写出来吧
[453E99B37A72 ID肯定是要变的
FLASH_NAME=SANDISK-SandWind_DIY_8T23 FLASH_TAG=SANDISK-SandWind_DIY_8T23 名称随你写,反正别重复
CAPACITY=256 这里应该问的是单个Die多大,单位是Gb
BLOCK_OF_LUN=2732 EXTEND_BLOCK_OF_LUN =224 闪迪似乎都是这样,有一定的特殊用途块,但全部给普通块也能开,这里保守一下
GAPS_BETWEEN_LUN =1140 没看出规律,先随便写写吧
LUN_OF_CHIP =2 【重要参数】2个LUN(逻辑控制器)
STRING_OF_WL =4 按闪迪的规则改为4
这就是为啥我要求你们大概了解每一个点是个啥意思的原因,对比法只是简单的对比区别,只有大概懂了每个参数的意思,才能真正写出对应的参数 (好吧我承认这一块没教好,但这种有很强经验性质的东西我也没法说出逻辑,只能说看多多了凭感觉填,如果填的不对到时候再改呗- -)
总之我给出来的参数大概就是这个样子
[453E99B37A72] FLASH_NAME_CNT = 1 FLASH_NAME=SANDISK-SandWind_DIY_8T23 FLASH_TAG=SANDISK-SandWind_DIY_8T23 CAPACITY=256 BLOCK_OF_LUN=2732 EXTEND_BLOCK_OF_LUN =224 GAPS_BETWEEN_LUN =1140 LUN_OF_CHIP =2 PAGE_OF_WL = 3 WL_OF_BLOCK = 256 STRING_OF_WL =4 PAGE_OF_BLOCK = 768 SLC_PAGE_OF_BLOCK = 256 REAL_PAGE_OF_BLOCK = 256 SECTOR_OF_PAGE = 32 PLANE_NUM = 2 MAX_BYTE_PERPAGE = 18336 PGM_SUSPEND = 0 ERASE_SUSPEND =0 HIGH_SCAN_FLAG = 8 GROUP_TYPE = 16 CELL_TYPE=3 SECTION=4 IS_SUPPORT_SLC_MODE=True PE_SCALE_OF_SLC_TLC=20 TLC_OP_ADDR_TYPE=0 PROG_NUM_OF_BLOCK=768 PGM_INFO= ORDER_TYPE=2
接下来处理驱动文件:DrvParamUICfg.dat 能走到这一步的的颗粒那真的少了一大截,毕竟一个制程大概有多少颗粒能算出来(FlashType.dat),这些颗粒大概是个怎么情况也有相对固定公式(flash.dat) 但怎么驱动这些颗粒,那要调的东西就比较多而且比较主观了 依旧采用对比法 其实我先让AI写了个小脚本,把里面的颗粒配置全部倒腾成表格,再去表格里对比,这样比较方便
(踏马的,密恐福音) 总之用这种方法我抽出了几组ID开始做对比,对比同ID不同厂商的驱动方式,比如 453E98037664 983E98037664
对比同ID有无土狗的驱动方式,比如 4548A9037E65 4548A9037EE5
当然,肯定不是能工智人,一个个对比起来可踏马的太累了,这种粗活留给AI可得劲了!工作效率猛猛提高!
得出结论 似乎也就厂商存在些许差异,带不带土狗居然没差! 于是我用里面的983E99B37AF2参数简单改改完事! 接下来的9205DrvParamCfg.dat、Sys0_Config.dat、Sys1_Config.dat三个文件也采用同样的找不同套路 在9205DrvParamCfg.dat里,带土狗的interface_current=0,不带的=1,其他无差别
在Sys0_Config.dat、Sys1_Config.dat,他们都没有任何差别,可以无缝复制粘贴 总之不管那一大堆参数到底是个啥意思,就这么一通对比加一通懵逼,参数就基本上全添加好了
最后一步就是把他们都加密回去了,这一步我用文字描述起来比较...繁琐 1. 来到固件\public\Conf文件夹下找到CfgCheck.dat将它解密出来
2. 把6个有所改动的dat文件都删了:FASet.dat、flash.dat、9205DrvParamCfg.dat、DrvParamUICfg.dat、Sys0_Config.dat、Sys1_Config.dat 还有马上要改动的CfgCheck.dat也删了(FlashType.dat没改动,不删)
3. 把6个有所改动的.ini文件找个软件计算MD5值 (别问我啥是MD5,我累了...)
FASet.ini:87e370a59b3e33c60b7dfd61a4d8e6f3 flash.ini:c03e67b81b067cb972604b149fe6f64f DrvParamUICfg.ini:910490e141f1f8d4d0285f1f15c4b88f 9205DrvParamCfg.ini:bb3f896e7c7454b2dce0994cdb816ff4 Sys0_Config.ini:0f1a5f1fe3ab9d95d92bf5e13a226cbf Sys1_Config.ini:f447d32aa6a301adeb6b451e001d2c36
4. 打开CfgCheck.ini,找到上面6个文件,把MD5值修改进去 注意,这里面不知道咋回事,路径是对的,但文件名是倒着的 比如这个pcie\UI\FAE\teSAF.txt,实际上是FASet.txt,也就是FASet.ini (踏马的,为什么不用专业的ini,而用txt记录配置,令人红温) 把上面记录的新MD5值替换进去,以此类推,接着替换剩下几个
5. 终于...来到最后一步啦! 把FASet.ini、flash.ini、9205DrvParamCfg.ini、DrvParamUICfg.ini、Sys0_Config.ini、Sys1_Config.ini,还有踏马的CfgCheck.ini都踏马的扔进解密软件里加密回.dat文件 然后打开软件开踏马的卡!
踏马的!下课!
|