Кастомная прошивка AO725 для нестандартной AL12B32/SANYO батареи
Эта страница состоит из двух частей. Первая часть - простая пошаговая инструкция для уже подготовленного набора файлов AO725. Вторая часть - вариант работы с AI-ассистентом, который можно адаптировать и для других похожих задач с прошивками, но только после отдельной проверки модели, файлов и способа восстановления.
Внимание: прошивка BIOS/EC может вывести ноутбук из строя. Ошибка с образом, моделью, питанием, recovery-файлом или флешкой может закончиться нерабочей платой. Не начинайте прошивку без внешнего питания, заряженной батареи, проверенных хэшей и заранее подготовленного rescue-варианта.
Часть 1. Простая инструкция прошивки
1. Возьмите нужные файлы
Скачайте файлы для прошивки и проверки:
winpe.img.gz- подготовленный dd-образ WinPE-флешки;zhgbiosR_AL12B32_profile3_to_profile0_patched.fd- подготовленный patched FD для рабочей папки прошивки;ZHGBIOS.fd- оригинальный recovery image для rescue-флешки;zhgbiosR.fd- оригинальный stock FD V1.08 для проверки diff;ZHG108.EXE- официальный пакет Acer BIOS V1.08, внутри него находится InsydeFlash;platform.ini- настройки InsydeFlash.
Если используется готовый winpe.img.gz, то ZHG108.EXE и platform.ini обычно нужны не как отдельные ручные шаги, а как проверяемые исходники/часть подготовленной среды. Для безопасности все равно держите их рядом: они помогают понять, чем именно прошивается ноутбук.
Для AO725 ожидаемые SHA256:
winpe.img.gz-7a6f3245d6746badad430fa398ecdc50ba467553744e87edf5151fe3f7e592fd;zhgbiosR.fd-44a2b1220fa9b11b1f65c71a017b2835c241409a52cd179fddeb4af47bd6379d;ZHGBIOS.fd-44a2b1220fa9b11b1f65c71a017b2835c241409a52cd179fddeb4af47bd6379d;zhgbiosR_AL12B32_profile3_to_profile0_patched.fd-0444fe3d87d2582ad0a654f94bb5739718eb9bfafdf86c1b3f8ead99f0489744.
Если хэш не совпал, этот файл не используйте.
2. Запишите WinPE-флешку
Возьмите winpe.img.gz и запишите его на USB-флешку как raw/dd-образ.
Пример для Linux:
gzip -dc winpe.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
Где /dev/sdX - именно флешка, а не системный диск.
Осторожно:
ddполностью стирает выбранный диск. Перед запуском проверьте имя устройства два раза.
3. Подготовьте rescue-флешку
Возьмите отдельную FAT32-флешку.
Положите в корень файл:
ZHGBIOS.fd
Держите эту флешку рядом, но не вставляйте ее в рабочий ноутбук без необходимости. Для AO725 recovery связан с Fn+Esc, и его не нужно запускать "просто проверить".
4. Проверьте, что это именно ваш случай
Продолжайте только если совпадает все:
- ноутбук Acer Aspire One 725 / AO725;
- BIOS ветки
1.xx, не2.xx; - используется образ V1.08 семейства
ZHG; - батарея определяется как
AL12B32/SANYO; - симптом до патча - резкое выключение примерно около
11.6 V.
Если модель, ветка BIOS или батарея отличаются, не прошивайте этот patched FD.
5. Проверьте patched-файл
Сравните original и patched FD:
cmp -l zhgbiosR.fd zhgbiosR_AL12B32_profile3_to_profile0_patched.fd
Ожидается ровно одна строка:
55883 3 0
Это соответствует изменению:
offset 0xDA4A: 03 -> 00
Если отличий больше одного, файл не прошивайте.
6. Подготовьте рабочую папку прошивки
На WinPE-флешке должна быть рабочая папка прошивки. В ней должны лежать:
InsydeFlash.exe
platform.ini
zhgbiosR.fd
Здесь zhgbiosR.fd должен быть patched-файлом, переименованным из:
zhgbiosR_AL12B32_profile3_to_profile0_patched.fd
Проверьте, что в рабочей папке ровно один .fd файл:
dir *.fd
Ожидается только:
zhgbiosR.fd
7. Прошейте из WinPE
Подключите блок питания.
Убедитесь, что батарея установлена и заряжена.
Загрузитесь с подготовленной WinPE-флешки.
Откройте рабочую папку прошивки.
Запустите:
InsydeFlash.exe
Во время прошивки:
- не отключайте питание;
- не закрывайте крышку;
- не вынимайте батарею;
- не трогайте recovery-флешку;
- дождитесь завершения и перезагрузки.
8. Проверьте результат
После успешной загрузки проверьте, что ноутбук проходит старую точку выключения около 11.6 V.
Безопасная проверка:
- зарядите батарею;
- включите логирование показаний батареи;
- разряжайте обычной нагрузкой;
- остановитесь по программному порогу ОС, например на
30%; - не тяните 3S Li-ion батарею до глубокого разряда.
В успешном тесте ноутбук дошел до программного shutdown при 30% и примерно 10.68 V, а затем сразу начал заряжаться после подключения питания.
Часть 2. AI-assisted сопровождение
Для сопровождения прошивки можно использовать стартовый промпт:
Стартовый промпт для AI-ассистента прошивки
На сайте тот же файл лежит здесь:
https://ai.pzhurba.com/files/ao725-firmware/ao725-firmware-ai-starter-prompt-ru.md
Смысл AI-assisted режима не в том, чтобы AI "угадал" прошивку. Его роль другая:
- вести оператора по шагам;
- проверять модель, ветку BIOS и имена файлов;
- требовать rescue-план до прошивки;
- сверять SHA256 и
cmp; - останавливать опасные действия;
- не давать использовать patched-файл не для той модели;
- напоминать, что
flashromдля записи на ноутбуке с EC - плохой путь без отдельного анализа.
Этот подход можно переносить на другие ноутбуки и другие прошивочные задачи, но не сами AO725-файлы. Для другой модели AI должен заново запросить:
- точную модель устройства;
- текущую версию BIOS/EC;
- официальный пакет прошивки;
- штатный способ восстановления;
- проверенные хэши;
- ожидаемый diff;
- отдельные stop conditions.
AO725-специфичные хэши, файл ZHGBIOS.fd, patched FD и изменение offset 0xDA4A: 03 -> 00 относятся только к исследованному Acer Aspire One 725.
Что именно меняет патч
Новая совместимая батарея AL12B32/SANYO заряжалась и определялась Linux, но AO725 резко выключался при разряде около 11.6 V. Анализ EC firmware показал, что для AL12B32 выбирался battery profile selector 03, а он содержит ранний порог около 11600 mV.
Патч меняет только одно значение:
offset 0xDA4A: 03 -> 00
Итоговый смысл:
до: AL12B32 -> selector 3 -> profile 3
после: AL12B32 -> selector 0 -> profile 0
Цель патча - убрать аппаратно выглядящий cutoff около 11.6 V и дать ОС самой выполнить контролируемое выключение по настроенному порогу.
Софт, использованный для изучения прошивки
В расследовании и подготовке прошивки использовались:
- Linux shell/coreutils:
sha256sum,cmp,dd,od,find,mount,umount,sync; - Python 3 для бинарного анализа, поиска offsets и проверки diff;
- InsydeFlash для штатной прошивки из Windows/WinPE;
- WinPE как сервисная среда;
flashromтолько для probe/read-only оценки SPI-чипа, не для записи;iaslдля ACPI/DSDT-разбора battery/EC paths;stringsи бинарный поиск по образу прошивки;- UEFI/IFR analysis tools для анализа Setup/IFR и скрытых BIOS-переменных;
- 7-Zip или аналогичный архиватор для распаковки vendor packages и подготовки рабочих каталогов.