From 06a4a79034520db133dbb0af740a1e5f92a2dd98 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 17 Sep 2026 12:09:27 +0600 Subject: [PATCH] [2026-09-17] eagle: family/tech/t610-bios-and-memtest.md family/tech/t610-hang-investigation.md --- family/tech/t610-bios-and-memtest.md | 143 +++++++++++++++++++------ family/tech/t610-hang-investigation.md | 3 +- 2 files changed, 114 insertions(+), 32 deletions(-) diff --git a/family/tech/t610-bios-and-memtest.md b/family/tech/t610-bios-and-memtest.md index 69499178..d5c3863a 100644 --- a/family/tech/t610-bios-and-memtest.md +++ b/family/tech/t610-bios-and-memtest.md @@ -22,13 +22,15 @@ related: > **Родительская дока расследования:** [[family/tech/t610-hang-investigation]] — там формулировка задачи, факты момента смерти, что опровергнуто, кандидаты и приоритеты. **Эта дока — процедурная: как физически сделать тест памяти и обновить BIOS.** > Связанные: [[family/how-to/home-automation]] (§3.1 RCU stall, §3.5 ограничения аддона, §3.9 память), [[family/how-to/t610-backup-to-truenas]] > -> 🕐 **Статус 2026-09-17 (обновлено):** -> ✅ **BIOS-softpaq `SP71296` получен и распакован** — Alex скачал браузером, номер был неизвестен, теперь известен (§2.2). -> ✅ **Флешка записана** — `HP_TOOLS`, FAT32/MBR, структура `HP/BIOS/{Current,New}/K30_0120.BIN`, SHA256 сверен (§2.4). -> 🔴 **НО метод оказался НЕ ТЕМ:** каталога `ToolLess` в SP71296 **нет**. Структура восстановлена вручную из образа. **Основной путь прошивки для t610 — `DOS Flash`, не `ToolLess`** (§2.5). -> ⏳ **memtest86+ на флешку НЕ записан** — вторая флешка не выделена (§6). +> 🕐 **Статус 2026-09-17 (ФИНАЛ):** +> ✅ **BIOS ПРОШИТ — K30 v01.20** через FreeDOS-флешку и `DOSFlash.exe` (§2.5, §2.9). +> ✅ **BIOS-softpaq `SP71296` получен и распакован** (§2.2). +> ✅ **FreeDOS-флешка `FD13-LITE` сделана** — образ `FD13LITE.img` через `dd`, три файла BIOS в корне (§2.5a). +> ✅ **memtest86+ скачан и SHA256 сверен** (§0). +> ⏳ **Осталось:** снять новое значение `Total Memory Size` в `System Information` (было 1.44 ГиБ) + проверить UMA Frame Buffer (§3) + записать memtest на флешку (§6). +> ❌ **Мёртвый путь (вычеркнут):** структура `HP/BIOS/New/K30_0120.BIN` на флешке с меткой `HP_TOOLS` — BIOS при `Flash System ROM` ответил **«File is missing or damaged»**. Причина: каталога `ToolLess` в SP71296 нет, `.efi`-загрузчика BIOS не находит. **Не тратить время на этот путь** (§2.4 — оставлено как исторический факт). -> 🔴 **ГЛАВНОЕ ОТКРЫТИЕ СЕССИИ (по прошивке):** `Linux Flash` из softpaq **для t610 НЕ ПОДХОДИТ** — требует UEFI (`hpuefi` модуль), а t610 legacy BIOS. `HPQFlash` требует Windows. **Единственный рабочий метод — `DOS Flash`** (FreeDOS-флешка). +> 🔴 **ГЛАВНОЕ ОТКРЫТИЕ СЕССИИ (по прошивке):** `Linux Flash` из softpaq **для t610 НЕ ПОДХОДИТ** — требует UEFI (`hpuefi` модуль), а t610 legacy BIOS. `HPQFlash` требует Windows. **Единственный рабочий метод — `DOS Flash`** (FreeDOS-флешка). ✅ **Проверено на практике: прошивка прошла.** --- @@ -161,15 +163,18 @@ diskutil eraseDisk MS-DOS "HP_TOOLS" MBR /dev/diskN # ✅ проверено > ⚠️ **Флешка была 61.5 ГБ — FAT32/MBR встал нормально.** Ограничение «>32 ГБ = exFAT» относится к заводской разметке, а `eraseDisk … MS-DOS` принудительно даёт FAT32. Работает. -### 2.4. Распаковать softpaq и разложить +### 2.4. ⚠️ МЁРТВЫЙ ПУТЬ: структура `HP/BIOS/New/` на флешке — НЕ РАБОТАЕТ -⚠️ **`ToolLess` в SP71296 НЕТ** — но структуру можно собрать вручную: BIOS при `Update System BIOS from USB` читает `HP/BIOS/New/.bin`. +> 🔴 **Проверено 2026-09-17 на практике. Результат: провал.** BIOS при `F10 → File → Flash System ROM` ответил **«File is missing or damaged»**. +> **Почему:** BIOS ищет `.efi`-загрузчик внутри `HP/BIOSUpdate/`, который в штатном HP-пакете раскладывает каталог `ToolLess`. В SP71296 его **нет** → копирование одного `K30_0120.BIN` в `HP/BIOS/New/` бесполезно, BIOS не знает, чем его прошить. + +⚠️ **`ToolLess` в SP71296 НЕТ** — поэтому ручная сборка структуры ниже **не даёт рабочего результата**. Оставлено как исторический факт, чтобы не повторять. ```bash cd ~/Downloads/t610-bios-memtest /opt/homebrew/bin/7zz x ~/Downloads/sp71296.exe -o sp71296 # ⚠️ 7zz, не 7z (его нет) -# разложить на флешку +# разложить на флешку (❌ НЕ РАБОТАЕТ — см. врезку выше) V=/Volumes/HP_TOOLS SRC=~/Downloads/t610-bios-memtest/sp71296 mkdir -p "$V/HP/BIOS/Previous" "$V/HP/BIOS/Current" "$V/HP/BIOS/New" "$V/HP/BIOSUpdate" @@ -181,19 +186,86 @@ find "$V" -name "._*" -delete rm -rf "$V/.Spotlight-V100" "$V/.fseventsd" ``` -**✅ Записано 2026-09-17 на `/dev/disk29`:** -``` -/Volumes/HP_TOOLS -└── HP - ├── BIOS - │ ├── Current/K30_0120.BIN (4 194 304 байт) - │ ├── New/K30_0120.BIN ← BIOS читает отсюда - │ └── Previous/ (пусто) - └── BIOSUpdate/ (пусто) -``` -`SHA256 efb2806d52a139a09739e06723a2698a4d0491d85eb45332e5464052915c02b6` — совпал с источником. +--- -### 2.5. Прошить — ⚠️ ОСНОВНОЙ ПУТЬ: `DOS Flash`, НЕ `ToolLess` +### 2.5. ✅ РАБОЧИЙ МЕТОД: FreeDOS-флешка + `DOSFlash.exe` + +#### 2.5a. Сделать загрузочную FreeDOS-флешку + +⚠️ **macOS не умеет штатно создавать DOS-загрузочные флешки** (`diskutil` не умеет, `syslinux`/`ms-sys` нет). Нужен **готовый образ**. + +**Образ:** FreeDOS 1.3 Lite USB — `FD13-LiteUSB.zip` → внутри `FD13LITE.img` (33 554 432 байт, FAT16, загрузочный). + +```bash +# распаковать +unzip -o /tmp/FD13-LiteUSB.zip -d /tmp/ # → /tmp/FD13LITE.img + +# записать на флешку (⚠️ /dev/rdiskN — ДИСК, не раздел) +diskutil unmountDisk /dev/disk29 +sudo dd if=/tmp/FD13LITE.img of=/dev/rdisk29 bs=1m +sync +``` + +⚠️ **Образ 33.5 МБ на флешке 61.5 ГБ** → создаётся разметка MBR с разделом FD13-LITE на 33.5 МБ, остальные **61.5 ГБ остаются неразмеченными** (`free space`). Для прошивки BIOS это **неважно** — 33.5 МБ хватает с головой (три файла = ~4.2 МБ). Но флешка становится непригодной как накопитель, пока не переформатируешь. + +**Результат после `dd` — проверить:** +``` +/dev/disk29 (external, physical): + #: TYPE NAME SIZE IDENTIFIER + 0: FDisk_partition_scheme *61.5 GB disk29 + 1: DOS_FAT_16_S FD13-LITE 33.5 MB disk29s1 + (free space) 61.5 GB - +``` + +#### 2.5b. Положить файлы BIOS в корень + +```bash +diskutil mountDisk /dev/disk29 # → /Volumes/FD13-LITE +cd ~/Downloads/t610-bios-memtest/sp71296/"DOS Flash" +cp -v DOSFlash.exe FlshUefi.cpu K30_0120.BIN /Volumes/FD13-LITE/ + +# 🔴 ОБЯЗАТЕЛЬНО: убрать AppleDouble-мусор, FreeDOS от него сбоит +cd /Volumes/FD13-LITE && rm -f ._* && rm -rf .fseventsd .Spotlight-V100 .Trashes + +diskutil unmountDisk force /dev/disk29 # ⚠️ force: иначе macOS держит том +``` + +**✅ Итоговое содержимое флешки (проверено):** +``` +/Volumes/FD13-LITE/ +├── COMMAND.COM (85 480, FreeDOS) +├── KERNEL.SYS (46 256, FreeDOS) +├── fdauto.bat / fdconfig.sys / setup.bat +├── freedos/ + packages/ +├── DOSFlash.exe (58 735) ← наши +├── FlshUefi.cpu (3 892) ← наши +└── K30_0120.BIN (4 194 304) ← наши +``` + +#### 2.5c. Прошить на t610 + +1. Вставить флешку в **t610** (любой USB-порт, лучше задний) +2. Включить, нажать **F9** → Boot Menu +3. Выбрать флешку в **Legacy Boot Sources** (НЕ UEFI) +4. FreeDOS загрузится до приглашения `C:\>` +5. Набрать: + +```dos +dosflash /f flshuefi.cpu K30 +``` + +*(если не сработает — просто `dosflash`, дальше интерактивно)* + +6. Прошивка ~1–2 минуты. **Не выключать питание.** +7. По завершении — выключить и включить. **F10** → `System Information`. + +✅ **Результат у Alex 2026-09-17: прошло успешно, BIOS = K30 v01.20.** + +**Если `dosflash` говорит «file missing»** — флешка определилась, но файлы не читаются: проверить, что при загрузке видно `C:\>`, и `dir` показывает три файла. + +--- + +### 2.5d. ❌ Альтернативные методы (разбор — почему не подошли) 🔴 **Разбор методов из softpaq SP71296:** @@ -364,7 +436,7 @@ diskutil eject /dev/diskN --- -## 6. 📋 Что сделано / что осталось (состояние 2026-09-17) +## 6. 📋 Что сделано / что осталось (состояние 2026-09-17, ПОСЛЕ прошивки) ### ✅ Сделано @@ -375,21 +447,24 @@ diskutil eject /dev/diskN | 3 | **Скачаны 3 архива + sha256sum.txt** в `~/Downloads/t610-bios-memtest/` | §0 | | 4 | **SHA256 сверены** — все три совпали с эталоном | §0 | | 5 | Определена целевая версия для t610 (`i586`) и разведены два проекта memtest | §0 | -| 6 | Снят факт по дискам Mac: внешних физических **нет** | §1.1 | -| 7 | Инструкция записана в эту доку | — | +| 6 | Получен и распакован `SP71296` (K30 v01.20) | §0 | +| 7 | ❌ Попытка №1 — структура `HP/BIOS/New/` на `HP_TOOLS`-флешке | §2.4 — **провал: «File is missing or damaged»** | +| 8 | ✅ **FreeDOS-флешка `FD13-LITE` создана** через `dd FD13LITE.img` | §2.5a | +| 9 | ✅ **Три файла BIOS в корне флешки** + мусор macOS убран | §2.5b | +| 10 | ✅ **BIOS ПРОШИТ — `K30 v01.20`** через `dosflash /f flshuefi.cpu K30` | §2.5c | ### ⏳ Осталось | # | Шаг | Блокер | |---|---|---| -| 1 | **Записать memtest на флешку** | 🔴 **Флешка не вставлена.** `diskutil list external physical` → пусто | -| 2 | **Скачать BIOS-softpaq** для t610 | 🔴 **Номер softpaq не установлен.** HP отдаёт `Access Denied` на скриптовые запросы. Качать **браузером** со страницы драйверов (§2.2) | -| 3 | Залить BIOS на вторую флешку (FAT32 + `HP_TOOLS`) | Зависит от п.2 | -| 4 | Снять 3 экрана BIOS (память / UMA / дата) | Нужен физический доступ к t610 (§4, §5.1 родительской доки) | -| 5 | memtest: прогон, затем **по одной планке** | Зависит от п.1 | +| 1 | **Снять `Total Memory Size` в `System Information` после прошивки** | 🔴 **Главный вопрос:** помогла ли v1.14 («Optimize memory settings»). Было 1.44 ГиБ | +| 2 | **Проверить UMA Frame Buffer** (`Advanced → Device Options → Integrated Graphics`) | Настройка стала доступна с v1.16 — сейчас должна быть в BIOS | +| 3 | **Записать memtest86+ на флешку** | Флешка занята FreeDOS-образом; нужна вторая либо переформатировать эту | +| 4 | **memtest: прогон, затем по одной планке** | Зависит от п.3 | +| 5 | Заменить батарейку CMOS (CR2032), если дата сбрасывается | Гипотеза №4 | -> 🔴 **Порядок, который имеет смысл:** сначала **3 экрана BIOS** (1 минута, ничего не разбирая — сразу показывает, видит ли BIOS 4 ГБ и что стоит в UMA). Только потом разбирать корпус под memtest. -> Проверка «сколько памяти видит BIOS» — **самая дешёвая и самая информативная**: она разводит «BIOS не поднимает планки» и «теряется после BIOS». +> 🔴 **Порядок после прошивки:** (1) `System Information` → объём памяти; (2) UMA Frame Buffer → поставить **64M**; (3) только потом memtest, если память всё ещё не поднялась. +> Обновление BIOS могло **не вернуть** память (parkytowers: 1.20 ничего не изменил, §3) — тогда виновата планка/слот, и memtest решает. --- @@ -410,6 +485,12 @@ diskutil eject /dev/diskN | 11 | ⚠️ **`ftp.hp.com/pub/softpaq/` отвечает 200 на «угаданные» имена** (`sp70221.exe`, `sp60365.exe` отдаются) — но это **НЕ значит, что это BIOS для t610**. Без точного номера качать нельзя: получишь чужой softpaq | | 12 | 🔴 **`diskutil list` на этом Mac забит `disk image`/`synthesized`** (симуляторы iOS, 20+ записей) — легко принять за флешку. Фильтровать по `physical` + `external` | | 13 | ⚠️ **Два разных memtest:** `memtest.org` (memtest86+, open-source, legacy OK) и `memtest86.com` (MemTest86, v11.7 только UEFI). Для legacy BIOS t610 — **первый** | +| 14 | 🔴 **`HP/BIOS/New/K30_0120.BIN` на флешке НЕ РАБОТАЕТ** — BIOS отвечает «File is missing or damaged», потому что ищет `.efi`-загрузчик из каталога `ToolLess`, которого в SP71296 нет. **Не повторять.** Рабочий путь — FreeDOS + `DOSFlash.exe` | +| 15 | ⚠️ **macOS не создаёт DOS-загрузочные флешки** — нужен готовый образ (`FD13LITE.img`). `syslinux`/`ms-sys` на этом Mac нет | +| 16 | ⚠️ **`dd` образа 33.5 МБ на флешку 61.5 ГБ** оставляет 61.5 ГБ «free space» — флешка как накопитель теряется, но для прошивки хватает. Предупреждать Alex заранее | +| 17 | 🔴 **`diskutil unmountDisk force`** нужен — обычный `unmountDisk` не отпускает том, и `dd`/`cp` может застрять | +| 18 | ⚠️ **`delete`/`dd`/`rm -rf` на устройстве = ОБЯЗАТЕЛЬНОЕ подтверждение Alex.** Alex крайне резко реагирует на `sudo` без отмашки. Флешку форматирует и образ пишет **он сам** — агент только готовит команды | +| 19 | ⚠️ **ASPM (USB 3.0) в BIOS трогать НЕ НУЖНО** — остаётся `disabled` (дефолт). Включение ASPM **ухудшает** стабильность USB-устройств (камера, Zigbee, CH340), а не улучшает. Экономии энергии от сети нет | --- diff --git a/family/tech/t610-hang-investigation.md b/family/tech/t610-hang-investigation.md index ea146e5b..aa6e4190 100644 --- a/family/tech/t610-hang-investigation.md +++ b/family/tech/t610-hang-investigation.md @@ -7,12 +7,13 @@ updated: 2026-09-17b # 🔴 t610 — зависания: состояние расследования -> **Статус: ПРИЧИНА НЕ УСТАНОВЛЕНА.** +> **Статус: ПРИЧИНА НЕ УСТАНОВЛЕНА.** BIOS **прошит до K30 v01.20** (2026-09-17) — следующий замер памяти покажет, помогло ли. > **Три кандидата:** (A) 🔴 **память** — стоит 4 ГБ, оба слота заняты, видно 1.44 ГБ > (§3.1.0) + 🔑 **UMA Frame Buffer в BIOS** как документированный механизм потери (§3.1.3) > + 🔑 **батарейка CMOS** (§3.1.4) · (B) деградация носителя → SQLite disk I/O (§5). > **Сессия 2026-09-17. Ниже — что проверено фактом, что опровергнуто, и что осталось.** > 🧰 **Процедура (флешка memtest + прошивка BIOS + UMA):** [[family/tech/t610-bios-and-memtest]] — там пошагово, список скачанного (SHA256 сверены) и что осталось сделать. +> ✅ **2026-09-17: BIOS прошит до `K30 v01.20`** через FreeDOS-флешку + `DOSFlash.exe` (метод — [[family/tech/t610-bios-and-memtest]] §2.5). ⏳ **Не снято:** новое `Total Memory Size` и значение UMA Frame Buffer. > Родительская дока: [[family/how-to/home-automation]] · §3.1 (RCU stall, закрыто), §3.5 (ограничения аддона), §3.9 (память). > > ⚡ **Читать в этом порядке:** §1.0 формулировка задачи → §1 факты момента смерти →