本帖最后由 haomc22 于 2026-7-31 12:18 编辑
2026/7/31更新:长期测试发现该方法长时间休眠后仍然可能会出现掉盘情况,不过关闭休眠功能后目前没遇到掉盘问题,故应该没有完全找到根源,以下教程纯属图个乐,大伙看看就好了,懒得删了
事件起因:收拾自己小空间的时候发现了很久以前买的一大袋的剪板内存颗粒,都是DDR3 512M的,想着用掉一些清理下库存得了,正好现在飞牛已经陆续适配了不少奇奇怪怪的ARM小盒子,打算买其中一种用来改装,顺便刷飞牛玩,没多久刷B站的时候就给我推了我家云刷飞牛的使用体验,发现这玩意改个2G运存刷飞牛,当备份机跑些轻量服务相当合适,尤其是内置的3.5寸硬盘位简直就是先天飞牛圣体,这个设备已经出厂多年,早几年前就听说过“掉盘云”的美称,因此,网上也有不少改装该设备防止掉盘的方法,包括但不限于加电容,短接mos,外挂USB3.0主控方案等等,但是这些改装方案要么会导致原机硬盘休眠逻辑失效,要么就是不太优雅,像外挂一个起搏器一样,给我感觉相当不舒服,同时,在思考为什么这么一个小盒子对于掉盘这个问题会有这么多众说纷纭的情况?决定自己买回来研究一番,恰好闲鱼上有不少该款无法联网的设备售卖,价格相当便宜,平均也就在40不到,恩山上又有对此详细的故障维修教程,于是通过蹲点守候,最终一共有7台设备符合研究标准纳入“研究”,包含:3台我家云L1Pro,1台联想粒子云SS2,3台联想粒子云SS1(见图一),研究方法如下:
1、所有设备同一使用同一12V2A电源进行供电,测试硬盘如下(见图二,特意选取了两块古董IDE硬盘,因为老硬盘相对应启动电流要求更大,更符合极端条件,同时由于飞牛的更新推送逻辑,导致7台机器无法处于同一飞牛版本,分别是1.1.3106和1.2.0012,好巧不巧飞牛在1.2版本更新了文件权限管理,导致1.1版本的硬盘建立的存储池插到1.2版本的机器上会提示需要更新权限,而1.2版本建立的存储池在1.1版本的系统下根本无法识别,因此,准备了两块在不同系统版本下建立存储池的硬盘,这方面实在是无法做到精确控制变量了。。。)
2、所有机器先进行如下预处理:清理干净原机屏蔽罩上老化腐蚀的红胶,修复机器被腐蚀的焊盘,确保机器能稳定联网识别硬盘为止,然后,统一升级2G运存(见图三,拆掉原机内存,统一使用金士顿D2516EC4BXGGB颗粒X4),CPU导热硅脂垫更换为莱尔德HD300,焊锡固定屏蔽罩,根据这个教程的思路(https://www.right.com.cn/forum/f ... 1%E5%AE%B6%E4%BA%91),将图四橙色框内的电容统一更换为1206 25V 220μF规格的陶瓷电容,最后将图四中原机APM4953A型号MOS管更换为AO4805(红色框所示)(根据AI提供的信息,AO4805是APM4953A的替代型号,但所有参数更加优异,尤其是压降更小,能够有效防止MOS管分压导致机器外接硬盘电压过低)
3、测试流程:硬盘接上设备内置硬盘位后,先向内连续拷入39G视频文件,确认不掉盘后,飞牛内设置外置硬盘5分钟休眠,分别尝试休眠后唤醒3次,若3次均能正常起转且读取信息,可认为机器不会掉盘
4、测试结果:所有机器均通过了连续大文件拷入的测试,耐人寻味的是,所有的联想粒子云机器(SS1 SS2)均出现了休眠唤醒后存储池损坏的问题,具体表现为打开文件目录一直转圈,后飞牛弹出“设备已移除”后再弹出“设备已插入”,日志里反馈为“退出硬盘sda”后很快弹出“插入硬盘sdb”,此时存储池状态显示为已损坏,证明确实存在掉盘问题,而3台我家云中,一台设备存在无法休眠硬盘的问题,表现为:即使飞牛内设置硬盘休眠,待设定时间过后硬盘仍在运转,且飞牛日志内没有硬盘休眠的日志。另外两台我家云则通过了3次唤醒的测试,全部正常唤醒,没有发生掉盘问题
5、研究思路:翻看论坛内的帖子,有相当多提到是GL3321G这颗SATA桥芯片不稳定所致,查看7台机器均为同一型号SATA桥,理论上硬件完全一致,不应该会出现上述情况,仔细观察该SATA桥旁边存在一颗型号为FM25F01的spi-nor闪存(见图四绿框),以及GL3520这颗hub旁边有一颗同样的闪存,遂将这七台机器的两个闪存全部拆下读取数据,读出数据交由AI分析差别
6、分析结果:所有机器GL3520旁的nor闪存内数据完全一致,而GL3321G旁的闪存存在三个版本,所有的联想粒子云(SS1 SS2)均相同,而两台能正常唤醒的我家云的数据一致,另一台无法休眠的我家云里的数据则出现了GL3520旁和GL3321G旁的数据完全一致的情况,暂不清楚该情况的由来,因差异过大舍弃该机器内的数据,剩余两种版本的数据AI分析差别如下:
好机 GL3321G 和坏机原 GL3321G 只差 3 个字节这是最关键的地方。 两个文件大小都是 128KB,而且绝大部分完全一致,只差这 3 个位置: [td]| 偏移 | 真好机 GL3321G | 坏机原 GL3321G | 可能含义 | | 0xDF0F | 00 | 10 | 高度可疑的配置位 | | 0xDF17 | C1 | D1 | 可能是配置校验/关联字节 | | 0xDF6C | 34 | 36 | USB 序列号末位:14 vs 16 |
其中 0xDF6C 很明确,是 USB 字符串里的序列号: 好机:
0000000000000014
坏机:
0000000000000016
这个只是 USB-SATA 桥的 USB 序列号,不是硬盘序列号。 真正可疑的是:
0xDF0F:好机 00,坏机 10
0xDF17:好机 C1,坏机 D1
这两个位置非常像某个电源管理/休眠相关配置位 + 校验或配套字节。坏机和好机只差这点,却表现为“坏机能休眠但唤醒掉盘,好机能休眠也能稳定唤醒”,所以这两个字节很可能就是关键。
这是AI分析的结果,AI也认为该数据差异与休眠唤醒策略高度相关,因此,尝试将能正常休眠的机器数据(其实就是我家云版)写入所有的联想粒子云设备中,查看情况是否有改善 结果:问题更加严重了。。。所有机器都无法通过大文件拷贝测试,表现为硬盘负载一大就停转,然后反复起转,表现如同供电不足一样,最后飞牛直接显示硬盘退出,这下头大了。。。。
再次交由AI分析,建议尝试保留原机USB序列号的同时只修改配置位数据,重新修改后的数据再次刷入所有的联想粒子云设备,结果相当理想,所有的机器均通过了大文件写入与唤醒测试,无一机器出现掉盘问题,可以认为故障已经得到极大改善甚至根治。唯一那台无法休眠的我家云写入其他可休眠机器的GL3321G数据后仍然无法休眠,表现与之前一致,无法确定问题所在,可能是上家动过哪些地方,就当个例吧
附:AI申明,由于GL3321G 的 SPI 配置格式没有公开文档,也不清楚修改的两个配置到底意味着什么,如果有大佬能指出本文不足与新的见解,欢迎回帖讨论,谢谢!
修改后的SPI文件见隐藏内容,直接用CH341写入GL3321G旁边的那颗nor芯片即可,希望有能力的人尝试一下,确认该方法是否有效,理论上这是改动最小的解决掉盘的方案了
|