Saddytech/Galaxy-Book4-Edge-linux
GitHub: Saddytech/Galaxy-Book4-Edge-linux
为三星 Galaxy Book4 Edge(Snapdragon X1E)提供 Linux 下的逆向工程驱动程序和工具集,解决电池识别、风扇控制等功能在主线内核上不可用的问题。
Stars: 58 | Forks: 0
# Samsung Galaxy Book4 Edge - Linux 硬件支持
本仓库包含用于在 **Samsung Galaxy Book4 Edge** (Snapdragon X1E) 上运行 Linux 的逆向工程驱动程序、工具和文档。
由于该设备采用了专有的 ACPI 实现并依赖于 ENE KB9058 嵌入式控制器 (EC),许多硬件功能在主线 Linux 上无法开箱即用。本仓库旨在填补这些空白。
在此处观看视频:https://youtu.be/V2DxY_PqLBg
## 仓库结构
### 🔋 [`driver/`](./driver/)
包含一个自定义的 Linux 内核模块 (`samsung_galaxybook_battery`),可使笔记本电脑的电池对操作系统可见。
* 绕过损坏的 ACPI 方法,并通过 Mbox 协议直接与 EC 进行通信。
* 提供一个标准的 `power_supply` 设备,可与 GNOME、KDE、`upower`、`acpi` 和 waybar 配合使用。
### 🛠️ [`tools/`](./tools/)
一套 Python 脚本,用于通过 I2C 总线与 ENE KB9058 嵌入式控制器进行逆向工程和通信。
* **风扇控制:** 直接控制风扇曲线和手动 RPM 覆盖。
* **性能配置:** 在静音、自动和最高性能模式之间切换。
* **键盘背光:** 设置键盘亮度和超时时间。
* **压力测试:** 自动化散热测试脚本。
### 📚 [`docs/`](./docs/)
详述逆向工程历程的详细文档。
* **`journey/`**:分步的 Markdown 笔记,涵盖了从最初的 Windows 驱动程序逆向工程 到 DSDT 提取和 I2C 协议解码的所有内容。
* **`timeline/`**:项目的时间顺序表,包括在引导最小 Ubuntu 环境时遇到的失败、方向调整和突破。
## 预构建启动套件 (ISO)
如果您正在寻找已经包含这些驱动程序和工具的、可直接使用的可引导 Linux 镜像,请查看此 GitHub 仓库的 **[Releases](../../releases)** 页面。
## 免责声明
本软件为实验性软件,通过逆向工程开发。它直接与底层硬件组件(I2C、嵌入式控制器、散热管理)进行交互。**使用风险自负。** 我们对任何硬件损坏或设备变砖不承担责任。
## 许可证
* 电池驱动程序 (`driver/`) 在 GPL v2 下授权。
* 脚本和工具按原样提供,用于研究和开发目的。
## 致谢与鸣谢
特别感谢开源社区为 Snapdragon X Elite 设备奠定的基础:
* **Max ([zensanp](https://github.com/zensanp/linux-book4-edge))**:基础内核分支和设备树。
* **Wesley Cheng**:初始的 X1 Elite 最小内核。
* **[jglathe](https://github.com/jglathe/linux_ms_dev_kit)**:用于初始引导的预构建 Ubuntu 镜像。
* **Joshua Grisham ([samsung-galaxybook-extras](https://github.com/joshuagrisham/samsung-galaxybook-extras))**:SABI v4 协议和 ACPI/DSDT 研究。
* **[icecream95](https://github.com/icecream95/xle-ec-tool)** & **[Maccraft123](https://github.com/Maccraft123/it8987-qcom-tool)**:嵌入式控制器 (EC) 研究工具和风扇控制模式。
* **Canonical / Ubuntu**:基础 7.0 内核和官方 OS 镜像。
### 我们的贡献 (SaddyTech)
为使 16 英寸 Galaxy Book4 Edge (NP960XMA-KB1IT) 能够完全可用,我们设计实现的具体解决方案:
* **电池驱动**:对 ENE KB9058 EC Mailbox 协议进行逆向工程,并从零开始编写了 `samsung_galaxybook_battery.c` 驱动程序。
* **PXE 引导**:构建了自定义网络引导基础架构,以在安装期间绕过无法使用的 USB 控制器。
* **DTS 和固件**:手动修补了触摸板 I2C 地址 (`0xd1`),并从 Windows 中提取了用于 USB-C Alt 模式的 Samsung `.jsn` 文件。
标签:ACPI, DSDT提取, ENE KB9058, Ghidra, I2C通信, Linux内核驱动, Mbox协议, 三星Galaxy Book4 Edge, 云资产清单, 内核模块, 安全渗透, 安全资源, 嵌入式控制器, 开源硬件, 性能模式, 数据包嗅探, 无线安全, 电池管理, 电源管理, 硬件支持, 逆向工具, 逆向工程, 键盘背光, 风扇控制, 高通骁龙X1E