WanderingArrow/Hisense_A6L_Eink_Display
GitHub: WanderingArrow/Hisense_A6L_Eink_Display
该项目逆向工程了海信 A6L 的电子墨水屏,以实现在 LineageOS GSI 等自定义 ROM 下驱动副屏显示和触控功能。
Stars: 0 | Forks: 0
# 海信 A6L E-ink 显示屏
# 介绍
本仓库记录了我在运行自定义 ROM(例如 LineageOS 18.1 GSI)时,尝试使海信 A6L 副屏 E-ink 面板可用的一些发现。我已经找出了如何唤醒电子墨水屏并启用触控板的方法,但要完成最后一步并制作出完善的实现版本目前超出了我的能力范围,因此我将这些内容发布在这里,供想要进一步研究的人使用。我还附上了一个我制作的 shell 脚本,它可以模拟 E-ink 屏幕的切换过程,但目前它存在很多 bug,并且经常会导致手机崩溃——请小心使用,它不适合日常使用。要使用它,你只需按下 E-ink 按钮即可在两块屏幕之间进行切换。
**免责声明:本项目大量使用了 Gemini 和 Claude 完成——我不是程序员,只是一个喜欢学习和使用电子书阅读器的人。因此,下面的信息可能存在不准确之处,并且存在永久损坏设备的风险。**
## 当前项目状态
- [x] 后置面板初始化与硬件连接 (`epd_connect`)
- [x] 后置触控板/触摸面板激活 (`tpenable`)
- [ ] 平滑的刷新率 / E-ink 波形模式优化(目前存在残影/拖影问题)
- [ ] 用于调整显示模式、对比度等的 UI
- [ ] E-ink 侧锁屏功能
- [ ] 自动化脚本的稳定性(目前处于实验阶段,极易导致系统崩溃)
## 前置条件与 Root
在部署此测试脚本之前,你的海信 A6L 必须运行具有活跃 root 权限的 Android 11 GSI。如果你使用 Magisk,关于解锁 bootloader 和修补初始 boot 镜像的指南,请参考 [tombaczynski 的 Hisense-A6L 仓库](https://github.com/tombaczynski/Hisense-A6L)。
## 核心环境与 GSI 目标
- **CPU 架构:** `arm64-v8a`(64位 Qualcomm Snapdragon 660 平台)。
- **分区结构:** System-as-Root (SAR) 为 `true`。
- **目标 GSI 版本:** **`arm64_bgS-vndklite`** 本仓库中的脚本已在 Andy Yan 的 lineage-18.1-20240121-UNOFFICIAL-arm64_bgS-vndklite.img 上进行了测试。你可以从[这里]([Download lineage-18.1-20240121-UNOFFICIAL-arm64_bgS-vndklite.img.xz (Andy Yan's personal builds // GSI)](https://sourceforge.net/projects/andyyan-gsi/files/lineage-18.x/lineage-18.1-20240121-UNOFFICIAL-arm64_bgS-vndklite.img.xz/download)找到它。
- **绝对的系统版本上限:** **Android 11 (API 30)**。由于在 Android 12+ 中引入了基于 Rust 的 `keystore2` 架构,Android 9 vendor 分区上传统的 HIDL Keymaster 3.0/4.0 实现会触发不可恢复的 VINTF manifest 不匹配和系统服务器崩溃。Android 11 是使用 GSI 的硬性加密上限。
## 如何部署测试脚本
由于此脚本直接与底层内核显示节点交互,因此需要通过 Magisk 或推荐的 GSI 获取完整的 root 权限。
1. **在手机的开发者选项中,以 root 权限启用 USB 调试**
2. **将脚本推送到易失性暂存目录:**
Bash
adb push epd_switch.sh /data/local/tmp/epd_switch.sh
3. **在设备上打开 root shell:**
Bash
adb root
adb shell
4. **Windows 换行符修复:**
如果你在 Windows 机器上克隆或下载了此仓库,Git 可能会在换行符处附加隐藏的回车符(`\r`)。这将导致 Android shell 抛出解析错误。在执行之前,请运行 `sed` 来清理文件:
Bash
sed -i 's/\r//' /data/local/tmp/epd_switch.sh
5. **授予执行权限并运行:**
Bash
chmod +x /data/local/tmp/epd_switch.sh
sh /data/local/tmp/epd_switch.sh
标签:Cutter, 云资产清单, 安卓开发, 电子墨水屏, 硬件驱动, 系统适配, 逆向工程