恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 24595|回复: 259

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的时候必须要手动刷新网页才会刷新数据)


1.jpg


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

2.jpg

不发单独的修改教程,帖子结尾打包上传显示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:

photo_2019-11-08_12-10-38.jpg



代码如下:
        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添加权限:

photo_2019-11-08_12-13-12.jpg


photo_2019-11-08_12-14-09.jpg
46行,luci这一行的结尾处改为"getMountPoints", "getCPUInfo" ],
注意结尾处空格和英文状态的逗号

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


1.jpg


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



2.jpg

        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,

3.jpg

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

luci.zip (13.44 KB, 下载次数: 308)


我的恩山、我的无线 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.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2021-8-1 07:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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