找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 51874|回复: 260

OPENWRT 19.07最新LUCI源码添加CPU频率和温度以及网口信息(FOR X86、X64)

 火... [复制链接]
发表于 2019-11-8 12:33 | 显示全部楼层 |阅读模式
本帖最后由 small_5 于 2019-12-1 02:23 编辑

2019-12-1:修改压缩包里面的autocore文件(来自lean的仓库),部分网卡使用以前的脚本无法打开checksum gso tso功能,做了一下调整

2019-11-18:再次优化读取速度
2019-11-17晚:之前的代码ubus调用时间稍微有点长,所以重写了/usr/libexec/rpcd/luci和/usr/bin/ethinfo文件,重新打包上传

2019-11-17:新增网口信息显示,基于js构建,CPU频率温度和网口信息都与状态页同步刷新(以前在html的时候必须要手动刷新网页才会刷新数据)





另外要说明的是,某些网卡在断开情况下,速率和双工模式会显示为Unknown!,所以在这种情况下,LUCI界面显示的速率和双工模式是"-",这是正常的,请不要因为这个问题回贴回我原因。



不发单独的修改教程,帖子结尾打包上传显示CPU频率温度和网口信息的所有文件,包括原始js文件和po文件。(生成网口信息的ethinfo为明文sh文件,未编译成二进制),网口显示功能依赖ethtool,请确保编译的时候勾选上或者现有固件存在ethtool命令。
如果不知道怎么使用可以下载我发布的X64的固件,已经集成网口显示功能:https://www.right.com.cn/forum/thread-263538-1-1.html(基于https://github.com/openwrt/openwrt 19.07分支编译)




前几天19.07的LUCI将状态页面的显示从之前的html切换成js了。(Master貌似早就切换成js了)


之前给X64添加频率和温度修改index.html或者10_system.html的办法已经失效,因为切换成了js以后,不能直接在js文件里面直接使用luci.sys.exec来运行grep和sensors命令了,需要通过js文件调用ubus接口来获取,现在将新版本的方法发出来供大家参考使用:
首先修改/usr/libexec/rpcd/luci文件,添加一个ubus的method:





代码如下:
        getCPUInfo = {
                call = function()
                        local sys = require "luci.sys"
                        local rv = {}
                        
                        rv.cpufreq      = sys.exec("grep 'MHz' /proc/cpuinfo | cut -c11- | sed -n '1p' | tr -d '\n'")
                        rv.cputemp      = sys.exec("sensors | grep 'Core 0' | cut -c10-24 | tr -d '\n'")
                        return rv
                end
        },


然后修改/usr/share/rpcd/acl.d/luci-base.json,给刚刚添加的getCPUInfo添加权限:





46行,luci这一行的结尾处改为"getMountPoints", "getCPUInfo" ],
注意结尾处空格和英文状态的逗号

最后修改/www/luci-static/resources/view/status/include/10_system.js
因为编译成固件以后js文件会把格式紧凑,所以我使用未编译之前的js文件来修改:





var callCPUInfo = rpc.declare({
        object: 'luci',
        method: 'getCPUInfo'
});





        render: function(data) {
                var boardinfo   = data[0],
                    systeminfo  = data[1],
                    cpuinfo     = data[2],
                    luciversion = data[3];


把_('Architecture'),     boardinfo.system,   改为_('CPU Info'),         cpuinfo.cpufreq + ' MHz ' + cpuinfo.cputemp,



最后/etc/init.d/rpcd restart重启rcpd服务以后就OK了。
我把需要修改的文件打包放出来,可以自行替换源代码里面的文件自行编译,js文件我把编译前和编译后的都放出来,方便已有固件添加使用(请确保有sensors命令,不然无法获取到CPU温度)




本帖子中包含更多资源

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

×

评分

参与人数 1恩山币 +1 收起 理由
明月*** + 1 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-11-8 12:57 | 显示全部楼层
顶楼主啦..希望楼主多发精品好帖啦.....
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-8 13:16 | 显示全部楼层
CPU温度替换源代码
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-8 13:27 | 显示全部楼层
最新LUCI源码添加CPU频率和温度
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-8 13:30 | 显示全部楼层
强烈支持楼主
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-8 13:46 | 显示全部楼层
顶一下,,,,,,,,,,,,,
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-8 13:50 | 显示全部楼层
谢谢分享…………
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-8 17:39 | 显示全部楼层
我试过在html也是可以加的,编译好权限有问题,只能在运行中覆盖,无法编译了用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-8 17:52 | 显示全部楼层

强烈支持楼主
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-8 20:12 | 显示全部楼层
感谢楼主分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-10 02:09 | 显示全部楼层
谢谢楼主。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-10 02:35 | 显示全部楼层
添加物理接口速率显示呢
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-10 10:59 | 显示全部楼层
感谢楼主分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-10 19:54 | 显示全部楼层
学习一下openwrt网页luci显示cpu温度的方法
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-11 04:21 来自手机 | 显示全部楼层
顶楼主啦..希望楼主多发精品好帖啦.
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-26 06:06

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表