V2EX 17小时前
[NAS] 绿联 UGOSPro 更新后导致第三方 UPS 无法使用
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

绿联 UGOSPro 1.5.0.2628 版本更新后,默认配置文件中硬编码了 UPS 的延迟属性,可能导致部分 UPS 设备无法正常启动。该问题在雷迪司 H1000 上报错,原因是延迟值低于设备支持的范围。文章分析了 nut 源码和相关文档,指出部分设备不支持低于 3 分钟的启动延时,而绿联直接将延迟设置为 5 秒。作者推测这可能仅针对绿联自家的 UPS 测试,并质疑其更新的严谨性。

💡绿联 UGOSPro 1.5.0.2628 版本更新中,UPS 服务 nut 的默认配置文件 ups.conf 增加了硬编码的延迟属性,包括 offdelay = 10 和 ondelay = 5。

⚠️该配置可能导致部分 UPS 识别驱动无法启动,例如在雷迪司 H1000 上出现 setvar: value out of range 错误,提示启动延迟超出范围。

🧐问题根源在于 nut 的源码和文档,指出延迟值需要设备支持,部分设备不支持低于 3 分钟的启动延时。绿联的 5 秒延迟设置与此相悖。

🤔作者推测绿联可能仅针对自家 UPS 进行测试,并质疑其更新的严谨性,认为这种硬编码的方式容易导致兼容性问题。

绿联的 UGOSPro 升级到 1.5.0.2628 之后,UPS 的服务 nut 默认配置文件 ups.conf 添加了硬编码的延迟属性

offdelay = 10ondelay  = 5

这个指定参数可能导致 nut 的 ups 识别驱动无法启动在我的雷迪司 H1000 报错

setvar(ups.delay.start, 5)setvar: value out of range [ups.delay.start: 5]Start delay '5' out of rangeDriver failed to start (exit status=1)

翻查了一下 nut 的源码 drivers/nutdrv_qx.c 和相关文档nutdocs
延迟值需要设备支持这么低否则会报错

if (dstate_getinfo("ups.delay.start")) {     /* Retrieve user defined delay settings */      val = getval(QX_VAR_ONDELAY);       if (val && setvar("ups.delay.start", val) != STAT_SET_HANDLED) {            fatalx(EXIT_FAILURE, "Start delay '%s' out of range", val);     }   }

nut 在文档nutdocs提及了部分设备可能不支持低于 3 分钟的启动延时,驱动自带默认参数为 180 秒是适合大部分设备的值
绿联直接硬编码延时为 5 秒,如果他们发版前真测试了,那大概就只针对他自家 UPS 测试了
这种故障使用第三方 UPS 的只能下底层排查,但是这个参数默认又不需要修改,往好点说是屎上雕花雕出了问题
有罪推测的话总不能市占还没起来,就开始学上群晖给用户下绊子强推自家的 ups 吧

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

绿联 UGOSPro UPS 兼容性
相关文章