Files
obsidian-vault/family/tech/t610-bios-and-memtest.md
T

503 lines
34 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "🧰 t610: прошивка BIOS и тест памяти (memtest86+) — процедура"
aliases:
- t610 BIOS update
- t610 memtest
- memtest86+ флешка
- HP_TOOLS флешка
- UMA frame buffer t610
- обновление BIOS HP t610
tags: [family, tech, smarthome, t610, howto, bios, memory]
updated: 2026-09-17
related:
- '[[family/tech/t610-hang-investigation]]'
- '[[family/how-to/home-automation]]'
- '[[family/how-to/t610-backup-to-truenas]]'
---
# t610 — обновление BIOS и тест памяти (memtest86+)
> **Зачем:** HP t610 периодически зависает насмерть, помогает только сброс питанием. Из 4 ГБ памяти система видит 1.44 ГиБ — карта памяти от BIOS обрывается на `0x5e7fffff`, то есть память теряется **на уровне BIOS**, до ядра.
> **Что даёт эта процедура:** (1) проверка, сколько памяти видит BIOS и сколько поднимает из каждого слота; (2) поиск неисправной планки; (3) подъём BIOS с K30 v01.07 (2012) до актуальной; (4) правка UMA Frame Buffer — на t610 эта настройка крадёт до ~650 МБ памяти сверх номинала.
> **Родительская дока расследования:** [[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 ПРОШИТ — 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-флешка). ✅ **Проверено на практике: прошивка прошла.**
---
## 0. Что уже скачано
Каталог на Mac: **`~/Downloads/t610-bios-memtest/`**
### BIOS — `SP71296` (✅ получен, распакован)
**`~/Downloads/sp71296.exe`** → 7 065 776 байт, `SHA256 4fbd38875612f1c85822c10a1b36ea413415f0ad31e30ba955d142b715c5a898`
Распакован через `/opt/homebrew/bin/7zz x sp71296.exe` в `~/Downloads/t610-bios-memtest/sp71296/`.
```
TITLE: ROM Firmware for t610 Thin Clients (K30)
VERSION: v01.20 ← ПОСЛЕДНЯЯ (у Alex v01.07)
SP: SP71296 SUPERSEDES: SP70800
DATE: 2015-05-08
CATEGORY: BIOS
```
⚠️ **7zz, а не 7z:** на этом Mac стоит `/opt/homebrew/bin/7zz` (7-Zip 21+). `7z`/`7za`**нет**.
Содержимое:
```
sp71296/
├── Bios Flash.htm (23 КБ, инструкция)
├── History.txt (5 КБ, история версий K30 — см. §2.1a)
├── How to Use.txt
├── K30.CAB (1.99 МБ)
├── SP71296.cva / SP71296.txt
├── DOS Flash/ ← ✅ ЕДИНСТВЕННЫЙ рабочий путь
│ ├── DOSFlash.exe (58 КБ, v1.15.01)
│ ├── FlshUefi.cpu (3.9 КБ) — ОБЯЗАТЕЛЕН рядом
│ ├── K30_0120.BIN (4 194 304 байт)
│ ├── DOSFlash.txt (ключи запуска)
│ └── README.TXT
├── HPQFlash/ ← ❌ нужна Windows
│ ├── hpqFlash.exe (1.47 МБ) + ROM.CAB (1.99 МБ)
│ └── HPQPswd.exe
└── Linux Flash/ ← ❌ требует UEFI
├── hp-flash-1.00-1_x86_64.tar.gz
├── hp-flash-1.00-1_i686.tar.gz
└── hpuefi-mod-1.0.3.tar.gz
```
🔴 **Каталога `ToolLess` НЕТ** — отсюда весь вывод про DOS Flash.
### memtest86+
| Файл | Размер | SHA256 |
|---|---|---|
| `mt86plus_8.10_i586.iso.zip` | 232 КБ | `a55c3a12b6c4d4f444df3e5213aa85045f2629eb0d56e98a06cc31ef1cda51b9` ✅ |
| `mt86plus_8.10_x86_64.iso.zip` | 234 КБ | `93530005d6ac6a85aa2a49c68604a43c25794ecccf796c4f8849a73a8001be9a` ✅ |
| `mt86plus_8.10.binaries.zip` | 221 КБ | `7e6c5162cb84ab959aeb9d13c9cfd6976b0dec3b34936b73820b20c55eb26c29` ✅ |
| `sha256sum.txt` | — | эталонные суммы (совпали с вычисленными) |
**Версия: memtest86+ `v8.10`** (релиз `2026-05-16`). Прямые ссылки (работают curl-ом, в отличие от HP):
```bash
BASE=https://memtest.org/download/v8.10
curl -sL -o mt86plus_8.10_i586.iso.zip $BASE/mt86plus_8.10_i586.iso.zip
curl -sL -o mt86plus_8.10_x86_64.iso.zip $BASE/mt86plus_8.10_x86_64.iso.zip
curl -sL -o mt86plus_8.10.binaries.zip $BASE/mt86plus_8.10.binaries.zip
curl -sL -o sha256sum.txt $BASE/sha256sum.txt
shasum -a 256 *.zip # сверить с sha256sum.txt
```
**Для t610 берём `i586`**у него legacy BIOS (не UEFI), 32-битная загрузка. В v8.10 единый бинарник умеет и UEFI, и legacy, но **i586-образ — правильный выбор для этой машины**.
⚠️ **НЕ путать два разных проекта:** `memtest.org` = **memtest86+** (open-source, есть legacy-загрузка — берём этот). `memtest86.com` = **MemTest86** (проприетарный; текущая v11.7 — **только UEFI**, на t610 **не загрузится**; для legacy у них только старая v4).
⚠️ **BIOS-softpaq получен:** **`SP71296`** (K30 **v01.20**) — Alex скачал браузером вручную. Номер, который не удалось найти скриптами, теперь известен — см. §0.
---
## 2. Обновление BIOS
### 2.1. Текущая версия
```
BIOS K30 v01.07 07/27/2012
Плата: HP t610 WW Thin Client / 17E2
```
Смотреть заново: **F10**`System Information`.
### 2.1a. 📋 История версий K30 — что даёт прошивка ЛИЧНО нашей проблеме
Из `sp71296/History.txt` (у Alex **v01.07** — пропущено **7 версий**):
| Версия | Что исправлено | Отношение к зависаниям / памяти |
|---|---|---|
| **1.04** | Initial System BIOS | — |
| **1.06** | **`memory module overtemp support`** (thermal protection) | 🔑 планка перегревается |
| **1.06** | Исправлено отображение модулей памяти в `F10 → System Information` (правильный номер слота и channel mode) | 🔑 нужно для диагностики |
| **1.06** | **Исправлены метки модулей в SMBIOS record 17** | 🔑 объём планок BIOS показывал неверно |
| **1.07** | ← **ТЕКУЩАЯ У ALEX** (`07/27/2012`) | |
| **1.10** | Bluetooth, 2D graphics, DisplayPort VBIOS, **устранён непреднамеренный сброс boot order в F10** | |
| **1.14** | 🔴 **`Optimize memory settings to improve the reliability of the memory system`** | 🎯 **ПРЯМОЕ ПОПАДАНИЕ** |
| **1.14** | `Fixed issue with Power button not functioning after power brownout` | 🎯 просадки питания |
| **1.14** | WES8 OA3, Stringent Password, PXE Allied Telesis | |
| **1.16** | Improved reliability of BIOS flash update. **`Allowed BIOS Config Utility to set UMA Frame buffer size`** | 🔑 та самая настройка памяти |
| **1.18** | Added **S3 support**, Broadcom 2-port fiber NIC, USB 3.0 port disable, USB keyboard on L2206tm | |
| **1.19** | Security updates (UEFI) | |
| **1.20** | Security updates (UEFI variables) — **рекомендовано HP** | последняя |
> 🔑 **Ключевой вывод:** у Alex **1.07**, то есть **НЕТ** ни `Optimize memory settings` (1.14), ни `memory module overtemp support` (1.06), ни исправления SMBIOS record 17 (1.06), ни возможности менять UMA через BIOS Config Utility (1.16).
>
> ⚠️ **Но ожидание осторожное:** в разборе parkytowers обновление до `1.20` **памяти не вернуло** (§3.1.3 родительской доки). Версия 1.14 «оптимизация памяти» — **кандидат**, не гарантия. Поднимать стоит и как гигиену, и как проверяемую гипотезу.
### 2.2. Скачать softpaq
**Страница драйверов:** `https://support.hp.com/us-en/drivers/hp-t610-flexible-thin-client/5226816`
⚠️ **HP блокирует скриптовые запросы** (`Access Denied` от Akamai). Качать **браузером вручную**.
**РЕШЕНО 2026-09-17:** Alex скачал **`sp71296.exe`** (7 065 776 байт). Файл лежит в `~/Downloads/`.
### 2.3. Подготовить флешку
**Требования (критично):**
- Таблица разделов: **DOS/MBR**
- Раздел: **FAT32**, метка ровно **`HP_TOOLS`**
- Размер: 100 МБ достаточно
- ⚠️ Флешки >32 ГБ обычно в exFAT — **не работает**. Переформатировать в FAT32.
```bash
diskutil list external physical # найти флешку (external + physical!)
diskutil eraseDisk MS-DOS "HP_TOOLS" MBR /dev/diskN # ✅ проверено 2026-09-17 на /dev/disk29
```
> ⚠️ **Флешка была 61.5 ГБ — FAT32/MBR встал нормально.** Ограничение «>32 ГБ = exFAT» относится к заводской разметке, а `eraseDisk … MS-DOS` принудительно даёт FAT32. Работает.
### 2.4. ⚠️ МЁРТВЫЙ ПУТЬ: структура `HP/BIOS/New/` на флешке — НЕ РАБОТАЕТ
> 🔴 **Проверено 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"
cp "$SRC/DOS Flash/K30_0120.BIN" "$V/HP/BIOS/New/"
cp "$SRC/DOS Flash/K30_0120.BIN" "$V/HP/BIOS/Current/"
# 🔴 ОБЯЗАТЕЛЬНО: убрать AppleDouble-мусор macOS
find "$V" -name "._*" -delete
rm -rf "$V/.Spotlight-V100" "$V/.fseventsd"
```
---
### 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:**
| Метод | Инструмент | Подходит для t610? |
|---|---|---|
| `HPQFlash/` | `hpqFlash.exe` + `ROM.CAB` | ❌ **нужна Windows** |
| `Linux Flash/` | `hp-flash` + модуль `hpuefi` | ❌ **требует UEFI** — t610 legacy BIOS |
| **`DOS Flash/`** | **`DOSFlash.exe` + `FlshUefi.cpu` + `K30_0120.BIN`** | ✅ **ЕДИНСТВЕННЫЙ рабочий** |
| ~~`ToolLess`~~ | — | ⚠️ **в этом softpaq отсутствует** |
🔴 **Почему `Linux Flash` не годится:** его README требует загрузить модуль ядра **`hpuefi`** (`hpuefi-load`) — это UEFI-интерфейс. У t610 `/sys/firmware/efi` **не существует** (проверено: legacy BIOS). Это **не** то же самое, что `flshuefi.cpu` в DOS-каталоге — там файл назван по UEFI-переменным, но работает из DOS.
**Прошивка через DOS:**
1. Сделать **FreeDOS-загрузочную флешку**
2. Положить в корень **три файла рядом**: `DOSFlash.exe`, `FlshUefi.cpu`, `K30_0120.BIN`
3. Загрузиться с неё на t610
4. Запустить:
```dos
dosflash :: обновить, если Setup-пароля нет
dosflash /f flshuefi.cpu K30 :: без запросов (K30 — семейство, из System Information)
dosflash /p <пароль> :: если Setup-пароль установлен
```
**Коды возврата DOSFlash:** `0` — ок · `4` — не открылся входной файл · `16` — неподдерживаемый тип системы · `44` — не открылся `flshuefi.cpu` · `45` — пароль/размер/размеры изображения.
⚠️ `DOSFlash.exe` и `FlshUefi.cpu` **обязаны лежать в одном каталоге**.
⚠️ «Windows command line is not supported» — только DOS/FreeDOS.
**Альтернатива (если DOS-флешку делать не хочется):** попробовать `F10 → File → Flash System BIOS → Update System BIOS from USB` с уже записанной `HP_TOOLS`-флешкой (§2.4) — структура `HP/BIOS/New/` собрана именно для этого. **Но без `ToolLess`-каталога с `.efi`-загрузчиками успех не гарантирован** — BIOS может не найти загрузчик. **Основной путь — DOS.**
### 2.6. Прошить (USB-метод, если сработает)
1. Вставить флешку в t610
2. **F10** → Computer Setup
3. `File``Flash System BIOS``Update System BIOS from USB`
4. Пойдёт **отсчёт 15 секунд** на отмену → дальше не трогать, не выключать
5. Обновление завершится и t610 перезагрузится сам
### 2.7. ⚠️ НЕОБРАТИМОСТЬ — прочитать до прошивки
```
ALERT: This BIOS includes critical updates. Once the system is updated to this
version, rollback to previous versions is restricted. This restriction
also applies to BIOS recovery files.
```
🔴 **После прошивки до 1.20 откат на 1.07 ЗАБЛОКИРОВАН — включая recovery-файлы.** Пункты «Flash Back Restrictions» введены с 1.19. **Решение принимается один раз.**
### 2.8. После обновления
- Обновление **может включить Secure Boot**. Выключить: `Security``Secure Boot Configuration`**F10**`Secure Boot: Disabled` → сохранить **F10**
- При первом бусте после смены Secure Boot попросит ввести **случайное 4-значное число** — это защита от тихой отмены Secure Boot, не ошибка
---
## 1. memtest86+ — флешка и запуск
### 1.1. Записать флешку
**Требования:** флешка от 100 МБ, **данные будут стёрты**.
```bash
# 1. Найти флешку — смотреть только physical, не disk image
diskutil list physical
# либо только внешние:
diskutil list external physical # ← пусто = флешка не подключена
# 2. Распаковать образ
cd ~/Downloads/t610-bios-memtest
unzip mt86plus_8.10_i586.iso.zip
# 3. Записать (⚠️ /dev/diskN — НОМЕР ДИСКА флешки, НЕ раздела, НЕ s1!)
diskutil unmountDisk /dev/diskN
sudo dd if=mt86plus_8.10_i586.iso of=/dev/rdiskN bs=1m
diskutil eject /dev/diskN
```
⚠️ `rdiskN` (raw) — в разы быстрее, чем `diskN`.
⚠️ **НЕ ОШИБИТЬСЯ С НОМЕРОМ.** На этом Mac внутренние физические диски: **`disk0`** (2 ТБ, APFS — система) и **`disk6`** (511.9 ГБ, `SanDisk512`, NTFS). Флешка — только среди `physical` **внешних**.
⚠️ В `diskutil list` **десятки `disk image` и `synthesized`** (симуляторы iOS) — их игнорировать полностью. Смотреть только строки `(internal, physical)` / `(external, physical)`.
⚠️ `diskutil list external physical` возвращает **пустоту**, если флешка не вставлена. Проверка перед записью — обязательна.
### 1.2. Загрузиться с флешки
1. Вставить флешку в t610
2. Включить, нажать **F9** → Boot Menu
3. Выбрать флешку в **Legacy Boot Sources** (не UEFI)
4. memtest86+ стартует сам, тест идёт автоматически
**Если F9 не ловится:** t610 часто грузится сразу в syslinux и игнорирует нажатия. Приём — на этом меню **Ctrl+Alt+Del** (перезагрузка), после неё F9/F10 срабатывает.
### 1.3. Что смотреть
- **Верхние строки экрана:** сколько памяти memtest нашёл и на каких адресах. Сверить с 1.44 ГиБ.
- **Errors:** должны быть **0**. Любая ошибка = планка неисправна, в строке будет адрес — по нему определяется модуль.
- **Гонять минимум 2–3 полных прохода**, лучше несколько часов.
### 1.4. Тест по одной планке
Чтобы понять, какая планка битая:
1. Снять правую боковую панель t610 → доступ к слотам SO-DIMM
2. ⚠️ **Отключить кабель питания и подождать ~30 секунд** — питание на модули подаётся, пока шнур воткнут
3. Вынуть **вторую** планку, оставить **первую** → memtest
4. Поменять местами → memtest
5. Так разводится: планка / слот / контакт
⚠️ **На HP t610 (не PLUS) на SO-DIMM обязателен thermal pad** — без него планка перегревается.
---
## 3. UMA Frame Buffer — настройка, крадущая память
**Путь в BIOS:** `Advanced``Device Options``Integrated Graphics`
| Значение | Что делает |
|---|---|
| **Auto** | 256 МБ при 4 ГБ RAM (128 МБ при 2 ГБ) |
| **Force** | Появляется параметр **UMA Frame buffer size**: 32M / 64M / 128M / 256M / 512M / 1G |
### Замеры parkytowers.me.uk (4 ГБ установлено)
| UMA Frame Buffer | Свободно памяти |
|---|---|
| Auto (256 МБ) | 2 607 496 К |
| 256 МБ | 2 869 640 К |
| **128 МБ** | **3 525 000 К** |
| 64 МБ | 3 590 536 К |
**Наблюдения автора:**
- 64 → 128 МБ: минус 64 МБ — логично
- **128 → 256 МБ: минус ещё ~650 МБ — «absurd», объяснения нет**
- Явный 256 МБ вместо Auto дал чуть больше — код инициализации Auto не выбрасывается полностью
- **Обновление BIOS до 1.20 ничего не изменило**
> 🔴 **Вывод: на t610 надо ставить UMA Frame Buffer = 128M или 64M.** При Auto теряется существенно больше, чем номинальные 256 МБ.
> 📌 **Гипотеза для нашего случая:** если BIOS сбросился в дефолт (жёсткое отключение питания при севшей батарейке CMOS), значение UMA могло уехать, и часть памяти «пропала». Батарейка на t610 — CR2032, доступ через левую панель.
---
## 4. Диагностический чек-лист (что снять в BIOS за один заход)
| Экран | Что смотреть | Зачем |
|---|---|---|
| `System Information` | версия BIOS, объём памяти | сколько видит BIOS |
| `Advanced → Device Options → Integrated Graphics` | значение UMA Frame Buffer | нестандартное значение = потеря памяти |
| `Storage → Device Configuration` | список устройств | проверка видимости железа |
| `Advanced → System Options` / Memory | **слот 1 и слот 2, объём каждого** | разводит: планка / слот / контакт |
⚠️ **Из SSH-аддона объём слотов не достать**`/dev/mem` запрещён (`Operation not permitted`), `/sys/firmware/` пуст, `dmidecode` нет. Только BIOS или доступ к хосту.
---
## 5. Итог по памяти (факты)
- Установлено **4 ГБ**, оба слота заняты (`DMI: Memory slots populated: 2/2`)
- Система видит **1.44 ГиБ** (`MemTotal 1 475 788 kB`)
- e820 от BIOS обрывается на **`0x5e7fffff` = 1.48 ГиБ**
- **Потеря ~2.5 ГиБ происходит на уровне BIOS**, до ядра
- `MemFree` 16–18 МБ при ~1 ГБ в файловом кэше — **это норма**, не признак нехватки (см. [[family/how-to/home-automation]] §3.9)
**Гипотезы (не проверены):**
1. Планка отваливается (контакт / деградация) → тест по одной планке, memtest
2. UMA Frame Buffer в нестандартном значении → смотреть BIOS
3. BIOS не поднимает модуль → обновление BIOS
4. Батарейка CMOS села, BIOS сбрасывается при каждом отключении питания → заменить CR2032
---
## 6. 📋 Что сделано / что осталось (состояние 2026-09-17, ПОСЛЕ прошивки)
### ✅ Сделано
| # | Шаг | Артефакт |
|---|---|---|
| 1 | Найдена процедура обновления BIOS без Windows (3 источника) | §2, §8 родительской доки |
| 2 | Найдены прямые ссылки на memtest86+ v8.10 | §0 |
| 3 | **Скачаны 3 архива + sha256sum.txt** в `~/Downloads/t610-bios-memtest/` | §0 |
| 4 | **SHA256 сверены** — все три совпали с эталоном | §0 |
| 5 | Определена целевая версия для t610 (`i586`) и разведены два проекта memtest | §0 |
| 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 | **Снять `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 |
> 🔴 **Порядок после прошивки:** (1) `System Information` → объём памяти; (2) UMA Frame Buffer → поставить **64M**; (3) только потом memtest, если память всё ещё не поднялась.
> Обновление BIOS могло **не вернуть** память (parkytowers: 1.20 ничего не изменил, §3) — тогда виновата планка/слот, и memtest решает.
---
## Питфоллы
| # | Питфолл |
|---|---|
| 1 | `dd` на `/dev/diskN` **раздел** вместо **диска** — загубит не то. Писать в `/dev/rdiskN` |
| 2 | Флешка >32 ГБ = exFAT → **BIOS с неё не обновится**. Только FAT32 |
| 3 | Метка раздела **`HP_TOOLS`** обязательна для части моделей HP |
| 4 | Обновление BIOS может **включить Secure Boot** → HA не загрузится. Выключать сразу |
| 5 | t610 не даёт войти в BIOS с первого раза — **Ctrl+Alt+Del на syslinux-меню**, потом F10 |
| 6 | Из SSH-аддона SMBIOS недоступен — объём слотов смотреть **только в BIOS** |
| 7 | При снятии панели **отключить питание и подождать 30 с** — на модулях всегда есть напряжение |
| 8 | На t610 (не PLUS) **thermal pad на SO-DIMM обязателен** |
| 9 | `MemFree` 16 МБ ≠ кончилась память. Верные метрики — `MemTotal` и `MemAvailable` |
| 10 | 🔴 **HP Support (`support.hp.com`) блокирует скриптовые запросы**`Access Denied` от Akamai EdgeSuite на `/wcc-services/rest/…`, пустой ответ на прямые curl. Скачивать **браузером вручную** |
| 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), а не улучшает. Экономии энергии от сети нет |
---
## Связанные
- [[family/tech/t610-hang-investigation]] — **родительская дока:** формулировка задачи, факты, что опровергнуто, кандидаты, приоритеты
- [[family/how-to/home-automation]] — главный справочник по t610 (§3.1 RCU stall, §3.5 ограничения аддона, §3.9 память)
- [[family/how-to/t610-backup-to-truenas]] — бэкап конфигов t610
- [[family/tech/t610-bios-and-memtest]] — эта дока