[2026-09-17] eagle: family/how-to/home-automation.md family/tech/t610-bios-and-memtest.md family/tech/t610-hang-investigation.md
This commit is contained in:
@@ -0,0 +1,284 @@
|
||||
---
|
||||
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]] — эта дока
|
||||
Reference in New Issue
Block a user