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

28 KiB
Raw Blame History

title, aliases, tags, updated, related
title aliases tags updated related
🧰 t610: прошивка BIOS и тест памяти (memtest86+) — процедура
t610 BIOS update
t610 memtest
memtest86+ флешка
HP_TOOLS флешка
UMA frame buffer t610
обновление BIOS HP t610
family
tech
smarthome
t610
howto
bios
memory
2026-09-17
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-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).

🔴 ГЛАВНОЕ ОТКРЫТИЕ СЕССИИ (по прошивке): 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):

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

Смотреть заново: F10System 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.
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. Распаковать softpaq и разложить

⚠️ ToolLess в SP71296 НЕТ — но структуру можно собрать вручную: BIOS при Update System BIOS from USB читает HP/BIOS/New/<VER>.bin.

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"

Записано 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

🔴 Разбор методов из 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. Запустить:
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. FileFlash System BIOSUpdate 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. Выключить: SecuritySecure Boot ConfigurationF10Secure Boot: Disabled → сохранить F10
  • При первом бусте после смены Secure Boot попросит ввести случайное 4-значное число — это защита от тихой отмены Secure Boot, не ошибка

1. memtest86+ — флешка и запуск

1.1. Записать флешку

Требования: флешка от 100 МБ, данные будут стёрты.

# 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: AdvancedDevice OptionsIntegrated 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 — первый

Связанные