vap-tech/intel-nuc-m15-lightbar-linux
GitHub: vap-tech/intel-nuc-m15-lightbar-linux
通过对 Intel NUC Software Studio 的 WMI 接口进行逆向工程,为 Linux 用户提供原生控制 Intel NUC M15 及 Uniwill 笔记本前置 RGB 灯带的能力。
Stars: 2 | Forks: 0
# Intel NUC M15 Linux 灯带控制
在 Linux 下控制 Intel NUC M15 及兼容的基于 Uniwill 的笔记本电脑上的前置 RGB 灯带。
本项目记录了对 Intel NUC Software Studio 使用的 WMI 接口进行逆向工程的成果,并提供了直接在 Linux 下控制灯带状态的工具。不需要 Windows 软件、Wine 或专有服务。
功能:
* 逆向工程的 WMI 协议
* 已记录的 LED 状态映射
* Python 命令行实用程序
* Kernel 辅助模块
* Linux 优先实现
## intel-nuc-m15-lightbar-linux
对 Intel NUC M15 / 相关基于 Uniwill 的笔记本电脑平台上发现的前置 RGB 灯带进行 Linux 控制。
当前状态:
- 已找到可用的 Linux 端控制路径
- 不需要 Windows runtime 依赖
- 已在真实硬件上确认多种视觉状态
## 可用功能
当前可用的工作栈:
- kernel 辅助模块:`kernel/intel_lightbar_wmi.c`
- `tools/` 中的用户态辅助工具
- 通过 GUID `F3517D45-0E66-41EF-8472-FCB7C98AE932` 的原始 WMI 传输
- 灯带方法族 `0x0603`(在较新的 Intel NSS 包中称为 `AlexaLedControl`)
基本用法:
```
sudo python tools/lightbar_ctl.py talking
sudo python tools/lightbar_ctl.py off
sudo python tools/lightbar_ctl.py --list-states
```
## 仓库结构
- `kernel/`
- 用于方法调用的最小化 Linux WMI 辅助模块
- `tools/`
- `lightbar_ctl.py`:高级 CLI
- `raw_f351_call.py`:原始方法调用器
- `run_f351_packet.py`:数据包运行器
- `wmi_call.py`:低级 debugfs 调用器
- `docs/`
- `state-map.md`:视觉确认的状态行为
- `reverse-notes.md`:精简的逆向摘要
- `ru-setup.md`:俄语设置和部署指南
## 构建 kernel 辅助模块
要求:
- 匹配的 kernel headers
- `make`
构建:
```
cd kernel
make
```
加载:
```
sudo insmod intel_lightbar_wmi.ko
```
该辅助模块在以下位置暴露 debugfs 条目:
```
/sys/kernel/debug/intel_lightbar_wmi/
```
## 视觉状态映射
请参阅 [docs/state-map.md](docs/state-map.md)。
当前测试的亮点:
- `talking`:紫色/青色平滑循环混合
- `thinking`:青色在紫色底色上从中心向外扩展
- `notification_incoming`:一次柔和的黄色闪烁
- `notification_unheard`:缓慢的黄色脉冲
- `bluetooth_connect`:三次快速蓝色闪烁
- `error`:三次红色脉冲
## 逆向状态
此 repo 在 runtime 不需要厂商二进制文件。
厂商二进制文件仅用作逆向源,以恢复方法名、状态 ID 和传输语义。
请参阅 [docs/reverse-notes.md](docs/reverse-notes.md)。
## 俄语指南
请参阅 [docs/ru-setup.md](docs/ru-setup.md)。
## 安全性/假设
此代码是特定于硬件的。
它的目标是当前已测试的 Intel/Uniwill 笔记本电脑版本,在早期基于 HID 的灯带实现上可能表现不同。
## 后续工作
- 封装安装和支持 DKMS 的模块构建
- 将灯带状态挂钩到 Linux 桌面/系统事件
- 确定是否可以从 Linux 上下文有意义地驱动 `active_direction`
标签:Linux工具, Python, WMI接口, 云资产清单, 客户端加密, 无后门, 硬件控制, 端口探测, 网络安全监控, 逆向工具, 逆向工程, 驱动开发