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

285 lines
19 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:** образы memtest скачаны и **SHA256 сверены** (§0). **Флешка НЕ записана** — в системе нет внешних физических дисков (только `disk0` 2 ТБ системный и `disk6` SanDisk512 NTFS). **BIOS-softpaq НЕ скачан** — номер не установлен, HP блокирует скрипты.
---
## 0. Что уже скачано
Каталог на Mac: **`~/Downloads/t610-bios-memtest/`**
| Файл | Размер | 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 для t610 ещё НЕ скачан** — точный номер файла не найден (HP Support блокирует скриптовые запросы, `Access Denied` от Akamai). См. §2.2.
---
## 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** — без него планка перегревается.
---
## 2. Обновление BIOS
### 2.1. Текущая версия
```
BIOS K30 v01.07 07/27/2012
Плата: HP t610 WW Thin Client / 17E2
```
Смотреть заново: **F10**`System Information`.
> 📌 На parkytowers.me.uk тестировали **K30 V01.16**; там же сообщают, что обновление до **1.20 память не вернуло** — но версия 07 против 16/20 это годы патчей, поднять стоит.
### 2.2. Скачать softpaq
**Страница драйверов:** `https://support.hp.com/us-en/drivers/hp-t610-flexible-thin-client/5226816`
⚠️ **HP блокирует скриптовые запросы** (`Access Denied` от Akamai). Качать **браузером вручную**.
⚠️ **Номер softpaq для BIOS K30 не установлен.** Нужно найти на странице HP файл с описанием вида «BIOS Update» / «System BIOS», скачать `.exe` в `~/Downloads/t610-bios-memtest/`.
### 2.3. Подготовить флешку
**Требования (критично):**
- Таблица разделов: **DOS/MBR**
- Раздел: **FAT32**, метка ровно **`HP_TOOLS`**
- Размер: 100 МБ достаточно
- ⚠️ Флешки >32 ГБ обычно в exFAT — **не работает**. Переформатировать в FAT32.
```bash
diskutil eraseDisk MS-DOS "HP_TOOLS" MBR /dev/diskN
```
### 2.4. Распаковать softpaq и разложить
```bash
cd ~/Downloads/t610-bios-memtest
7z x <softpaq>.exe # 7z: brew install sevenzip (если нет)
```
Скопировать содержимое каталога **`ToolLess`** в **корень флешки**. В корне должен появиться каталог **`HP`**.
### 2.5. Прошить
1. Вставить флешку в t610
2. **F10** → Computer Setup
3. `File``Flash System BIOS``Update System BIOS from USB`
4. Пойдёт **отсчёт 15 секунд** на отмену → дальше не трогать, не выключать
5. Обновление завершится и t610 перезагрузится сам
### 2.6. После обновления
- Обновление **может включить Secure Boot**. Выключить: `Security``Secure Boot Configuration`**F10**`Secure Boot: Disabled` → сохранить **F10**
- При первом бусте после смены Secure Boot попросит ввести **случайное 4-значное число** — это защита от тихой отмены Secure Boot, не ошибка
---
## 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 | Снят факт по дискам Mac: внешних физических **нет** | §1.1 |
| 7 | Инструкция записана в эту доку | — |
### ⏳ Осталось
| # | Шаг | Блокер |
|---|---|---|
| 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 |
> 🔴 **Порядок, который имеет смысл:** сначала **3 экрана BIOS** (1 минута, ничего не разбирая — сразу показывает, видит ли BIOS 4 ГБ и что стоит в UMA). Только потом разбирать корпус под memtest.
> Проверка «сколько памяти видит BIOS» — **самая дешёвая и самая информативная**: она разводит «BIOS не поднимает планки» и «теряется после BIOS».
---
## Питфоллы
| # | Питфолл |
|---|---|
| 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 — **первый** |
---
## Связанные
- [[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]] — эта дока