无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: wintoflash
打印 上一主题 下一主题

[原创] 开源的硬件信息工具nwinfo [20260105]

    [复制链接]
751#
 楼主| 发表于 3 天前 | 只看该作者
20260105更新v1.5.4
[ALL] 支持Intel Nova Lake/Diamond Rapids/Wildcat Lake SMbus
[ALL] 支持 IMC 读取实时内存频率/时序
[GUI] 修复GUI刷新问题
-------------------------
目前GitHub版本预装PawnIO驱动,wuyou版本预装HwIo(EVGA)驱动
-------------------------
使用 nwinfo --sensors=imc 可以读取实时内存频率/时序
目前支持 AMD Zen UMC 和 Intel MCHBAR (2代酷睿至今),未做充分测试。
回复

使用道具 举报

752#
 楼主| 发表于 3 天前 | 只看该作者
0cat0 发表于 2026-1-2 10:43
不知道是不是BUG,每次点刷新按钮都自动退出,如图:

v1.5.4已修复

点评

多谢修复更新,已经正常使用中  详情 回复 发表于 3 天前
回复

使用道具 举报

753#
 楼主| 发表于 3 天前 | 只看该作者
红毛樱木 发表于 2026-1-4 21:41
之前还在公司的时候,做ARM64 Windows PE的时候专门买了台设备,华为的MateBook E Go,骁龙处理器的。    ...

github加上ARM64的了,只有libcdi和cditest能编译成功。
主要问题还是libcpuid。ARM64下Windows不允许用户态程序执行mrs MIDR_EL1指令,得先搞个驱动。

点评

有个疑问。现在都nwinfo里的cditest.exe不输出U盘这一类设备了,为什么? 哪里的机关?  详情 回复 发表于 3 天前
回复

使用道具 举报

754#
发表于 3 天前 | 只看该作者

多谢修复更新,已经正常使用中
回复

使用道具 举报

755#
发表于 3 天前 | 只看该作者
wintoflash 发表于 2026-1-5 10:42
github加上ARM64的了,只有libcdi和cditest能编译成功。
主要问题还是libcpuid。ARM64下Windows不允许用 ...

有个疑问。现在的nwinfo里的cditest.exe不输出U盘这一类设备了,为什么?  哪里的机关?

点评

之前单独给cditest弄了个disklib来枚举physicaldriveX https://github.com/a1ive/libcdi/blob/main/cditest/disklib.c  详情 回复 发表于 3 天前
回复

使用道具 举报

756#
发表于 3 天前 | 只看该作者
目前有一个问题,我的内存用您的程序打开无法显示出内存的品牌,但是游戏加加可以显示海盗船的英文品牌
截图有三张:



代码调用如下
nwinfo.exe" --smbios=17
---
NWinfo:
    Build Time: 'Jan  5 2026 02:06:42'
    libnw: 'v1.5.4.0'
    MSVC Version: '194435222'
    NT Version: '10.0.22631'
    Driver: 'NOT FOUND'
    Language ID: '2052'
    libcpuid: '0.8.1'
    CrystalDiskInfo: '9.7.2'
    PCI ID: '2026.01.03'
    USB ID: '2025.09.15'
    PNP ID: '2026.01.05'
    JEP106 ID: '2025.06.12'
    Error: [  ]
    SMBIOS:
        - DMI:
            SMBIOS Version: '2.8'
            DMI Reversion: 0
            SMBIOS Length: 2611
        - Table:
            Table Type: 17
            Table Length: 40
            Table Handle: 25
            Description: 'Memory Device'
        - Table:
            Table Type: 17
            Table Length: 40
            Table Handle: 27
            Description: 'Memory Device'
            Physical Memory Array Handle: 17
            Memory Error Information Handle: 26
            Total Width (bits): 64
            Data Width (bits): 64
            Device Size: 17179869184
            Form Factor: 'DIMM'
            Device Set: 0
            Device Locator: 'DIMM 1'
            Bank Locator: 'P0 CHANNEL A'
            Device Type: 'DDR4'
            Type Detail: 16512
            Speed (MT/s): 3200
            Manufacturer: 'Unknown'
            Serial Number: 'B0F18A26'
            Asset Tag Number: 'NULL'
            Part Number: 'CM4X16GC3200C16K2E  '
            Attributes: 1
            Configured Speed (MT/s): 3200
            Minimum Voltage (mV): 1200
            Maximum Voltage (mV): 1200
            Configured Voltage (mV): 1200
        - Table:
            Table Type: 17
            Table Length: 40
            Table Handle: 30
            Description: 'Memory Device'
        - Table:
            Table Type: 17
            Table Length: 40
            Table Handle: 32
            Description: 'Memory Device'
            Physical Memory Array Handle: 17
            Memory Error Information Handle: 31
            Total Width (bits): 64
            Data Width (bits): 64
            Device Size: 17179869184
            Form Factor: 'DIMM'
            Device Set: 0
            Device Locator: 'DIMM 1'
            Bank Locator: 'P0 CHANNEL B'
            Device Type: 'DDR4'
            Type Detail: 16512
            Speed (MT/s): 3200
            Manufacturer: 'Unknown'
            Serial Number: 'C6F18A26'
            Asset Tag Number: 'NULL'
            Part Number: 'CM4X16GC3200C16K2E  '
            Attributes: 1
            Configured Speed (MT/s): 3200
            Minimum Voltage (mV): 1200
            Maximum Voltage (mV): 1200
            Configured Voltage (mV): 1200

点评

执行nwinfo.exe --spd看看 这个命令有风险,后果自负。  详情 回复 发表于 3 天前
回复

使用道具 举报

757#
发表于 3 天前 | 只看该作者
wintoflash 发表于 2026-1-4 20:56
有没有办法搞到EV,给驱动过WHQL?

有EV,支持驱动,但是无WHQL
回复

使用道具 举报

758#
 楼主| 发表于 3 天前 | 只看该作者
pandaligx 发表于 2026-1-5 18:52
目前有一个问题,我的内存用您的程序打开无法显示出内存的品牌,但是游戏加加可以显示海盗船的英文品牌
截 ...

执行nwinfo.exe --spd看看
这个命令有风险,后果自负。
回复

使用道具 举报

759#
 楼主| 发表于 3 天前 | 只看该作者
红毛樱木 发表于 2026-1-5 18:12
有个疑问。现在的nwinfo里的cditest.exe不输出U盘这一类设备了,为什么?  哪里的机关?

之前单独给cditest弄了个disklib来枚举physicaldriveX
https://github.com/a1ive/libcdi/blob/main/cditest/disklib.c

点评

libcdi也不返回U盘了呀 没法用了  详情 回复 发表于 3 天前
回复

使用道具 举报

760#
发表于 3 天前 | 只看该作者
wintoflash 发表于 2026-1-5 18:21
之前单独给cditest弄了个disklib来枚举physicaldriveX
https://github.com/a1ive/libcdi/blob/main/cdit ...

libcdi也不返回U盘了呀  没法用了

点评

加上了 https://github.com/a1ive/nwinfo/commit/a8c9d1a9dd2e489a1e2943428caf1be446cbd6dc [attachimg]570247[/attachimg]  详情 回复 发表于 3 天前
cdi_get_int 传CDI_INT_DISK_ID 这种也过滤U盘了吧  详情 回复 发表于 3 天前
回复

使用道具 举报

761#
发表于 3 天前 | 只看该作者
红毛樱木 发表于 2026-1-5 18:39
libcdi也不返回U盘了呀  没法用了

cdi_get_int 传CDI_INT_DISK_ID 这种也过滤U盘了吧
回复

使用道具 举报

762#
 楼主| 发表于 3 天前 | 只看该作者
红毛樱木 发表于 2026-1-5 19:39
libcdi也不返回U盘了呀  没法用了

加上了 https://github.com/a1ive/nwinfo/ ... 3428caf1be446cbd6dc

点评

之前那个烧脑的问题,RAID模式下磁盘号始终为-1的情况,是否考虑一下把这种磁盘号直接整成 -2 -3 -4 ... 直接循序渐进的-1,这样也好区分一下  详情 回复 发表于 前天 00:06
还有一个地方遗漏的。cdi_get_disk_count 这个API本来是返回的个数,本来是可以通过 CDI_FLAG_HIDE_NO_SMART 来控制的。现在不是这样子了。 比如:U盘没有SMART(或者别的没有SMART的磁盘),可以用 CDI_FLAG_HIDE_N  详情 回复 发表于 3 天前
回复

使用道具 举报

763#
发表于 3 天前 | 只看该作者
wintoflash 发表于 2026-1-5 20:30
加上了 https://github.com/a1ive/nwinfo/commit/a8c9d1a9dd2e489a1e2943428caf1be446cbd6dc

还有一个地方遗漏的。cdi_get_disk_count
这个API本来是返回的个数,本来是可以通过 CDI_FLAG_HIDE_NO_SMART 来控制的。现在不是这样子了。
比如:U盘没有SMART(或者别的没有SMART的磁盘),可以用 CDI_FLAG_HIDE_NO_SMART 来控制 cdi_get_disk_count 的返回值,现在没效。  不知道别的地方还有没有遗漏的了


点评

这个以前就是无效的啊  详情 回复 发表于 3 天前
回复

使用道具 举报

764#
 楼主| 发表于 3 天前 | 只看该作者
本帖最后由 wintoflash 于 2026-1-5 22:07 编辑
红毛樱木 发表于 2026-1-5 21:54
还有一个地方遗漏的。cdi_get_disk_count
这个API本来是返回的个数,本来是可以通过 CDI_FLAG_HIDE_NO_S ...

这个以前就是无效的啊,我这边一直都不能用它控制u盘的。

点评

哦哦哦,那可能是我印象流了  详情 回复 发表于 3 天前
回复

使用道具 举报

765#
发表于 3 天前 | 只看该作者
wintoflash 发表于 2026-1-5 21:00
这个以前就是无效的啊

哦哦哦,那可能是我印象流了
回复

使用道具 举报

766#
发表于 3 天前 | 只看该作者
HwIox64.sys 请问这个驱动文件是读取那些硬件参数的

点评

CPU MSR/内存SPD。具体可以看压缩包中的文档。  详情 回复 发表于 3 天前
回复

使用道具 举报

767#
 楼主| 发表于 3 天前 | 只看该作者
pandaligx 发表于 2026-1-5 23:21
HwIox64.sys 请问这个驱动文件是读取那些硬件参数的

CPU MSR/内存SPD。具体可以看压缩包中的文档。

点评

好的谢谢,非常感谢您提供的软件,我很荣幸借此也做了一款烤机软件,在其中借用您的软件进行参数显示  详情 回复 发表于 3 天前
回复

使用道具 举报

768#
发表于 3 天前 | 只看该作者
wintoflash 发表于 2026-1-5 22:51
CPU MSR/内存SPD。具体可以看压缩包中的文档。

好的谢谢,非常感谢您提供的软件,我很荣幸借此也做了一款烤机软件,在其中借用您的软件进行参数显示

点评

看到你也是开发者,我提供些额外信息。 获取准确内存信息的话要读SPD (nwinfo --spd)。这个操作比较危险。PawnIO驱动是把全流程封装到驱动里面的,速度最快,也经过了很多实机检验,可以认为是安全的。其他驱动是用  详情 回复 发表于 3 天前
回复

使用道具 举报

769#
 楼主| 发表于 3 天前 | 只看该作者
本帖最后由 wintoflash 于 2026-1-6 00:15 编辑
pandaligx 发表于 2026-1-5 23:57
好的谢谢,非常感谢您提供的软件,我很荣幸借此也做了一款烤机软件,在其中借用您的软件进行参数显示

看到你也是开发者,我提供些额外信息。
获取准确内存信息的话要读SPD (nwinfo --spd)。这个操作比较危险。PawnIO驱动是把全流程封装到驱动里面的,速度最快,也经过了很多实机检验,可以认为是安全的。其他驱动是用户态每次Port I/O都要单独调一次驱动,速度很慢。

除此之外,读IMC和CPU传感器也需要驱动。如果你开发的程序会长时间后台运行,就选PawnIO或HwIo。
如果不需要长时间运行,可以考虑用cpuid驱动。这个驱动是CPU-Z内置的,不能多实例,因此如果NWinfo加载了驱动,CPU-Z就会报错。
HwIo驱动是从EVGA Precision X1中提取的,设计上可以多实例,并且EVGA似乎已经倒闭了,法律风险比较低。

HwIo/cpuid这两个驱动都是比较正规的,不会导致反作弊软件/反病毒软件哈气。、
PawnIO虽然也是正规驱动正规签名,但是给它签名的公司信誉不太好,某些反作弊软件会对它哈气。
HwRwDrv/WinRing0 已经被微软拉黑,也不要尝试为它签名。

点评

好的,目前我正在使用HwIo驱动  详情 回复 发表于 前天 12:10
回复

使用道具 举报

770#
发表于 前天 00:06 | 只看该作者
wintoflash 发表于 2026-1-5 20:30
加上了 https://github.com/a1ive/nwinfo/commit/a8c9d1a9dd2e489a1e2943428caf1be446cbd6dc

之前那个烧脑的问题,RAID模式下磁盘号始终为-1的情况,是否考虑一下把这种磁盘号直接整成
-2
-3
-4
...
直接循序渐进的-1,这样也好区分一下
回复

使用道具 举报

771#
发表于 前天 11:29 | 只看该作者
不知道是不是BUG,用的是HwIo驱动,显卡功率总是0,如图:






点评

GPU传感器调用的是系统显卡驱动和Nvapi.dll。 我也用的是Quadro,我的电脑上也不能获取功率,甚至连电压都获取不到。很可能是因为显卡太老了,NVIDIA官方不支持。 [attachimg]570282[/attachimg]  详情 回复 发表于 前天 11:43
回复

使用道具 举报

772#
 楼主| 发表于 前天 11:43 | 只看该作者
0cat0 发表于 2026-1-6 12:29
不知道是不是BUG,用的是HwIo驱动,显卡功率总是0,如图:

GPU传感器调用的是系统显卡驱动和Nvapi.dll。
我也用的是Quadro,我的电脑上也不能获取功率,甚至连电压都获取不到。很可能是因为显卡太老了,NVIDIA官方不支持。

点评

多谢回复,我想也是,应该太老了  详情 回复 发表于 前天 12:29
回复

使用道具 举报

773#
发表于 前天 12:10 | 只看该作者
wintoflash 发表于 2026-1-5 23:05
看到你也是开发者,我提供些额外信息。
获取准确内存信息的话要读SPD (nwinfo --spd)。这个操作比较危险 ...

好的,目前我正在使用HwIo驱动
回复

使用道具 举报

774#
发表于 前天 12:29 | 只看该作者
wintoflash 发表于 2026-1-6 11:43
GPU传感器调用的是系统显卡驱动和Nvapi.dll。
我也用的是Quadro,我的电脑上也不能获取功率,甚至连电压 ...

多谢回复,我想也是,应该太老了
回复

使用道具 举报

775#
发表于 前天 18:10 | 只看该作者
wintoflash 发表于 2026-1-4 20:17
红毛用的什么ARM64设备啊?
我看鲲鹏920性价比还行,就是跑WOA缺驱动有点痛苦:https://github.com/dixy ...

mac mini 3000多 macos 里vmware虚拟机安装windows 11 ARM
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2026-1-8 07:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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