Skip to content

CMP unlock RU

0xHashRaptor edited this page Aug 14, 2026 · 1 revision

Аппаратный разлок CMP — CMP 50HX и CMP 90HX

TL;DR — добавьте --cmp-install в конец строки запуска полётника, один раз запустите форж под root, дайте ригу перезагрузиться. После ребута обе карты работают на полной скорости.

CMP 50HX и CMP 90HX с завода задушены аппаратным throttle — на стоке хешрейт составляет лишь малую долю того, на что чип реально способен. ForgeMiner v1.5.15 и новее умеет поставить хелпер разлока прямо на риге — одна команда, одна перезагрузка, обе карты дальше работают на полной скорости (примерно в 20 раз выше стокового задушенного хешрейта).


Оглавление


Требования

Что Значение
ОС Linux (HiveOS — самый простой путь: ядро и драйвер собраны под неё; другие дистрибутивы работают, если вы сами поставите ту же пару ядро + драйвер)
Ядро 6.10.0-hiveos — точно эта версия
Драйвер NVIDIA 610.43.03 — точно эта версия
Root Да, любая подкоманда --cmp-* требует root
Затрагиваемые карты CMP 50HX (PCI ID 10de:1e09), CMP 90HX (PCI ID 10de:220d)
Не затрагиваемые карты Все остальные GPU в смешанном риге работают ровно как раньше
Место на диске ~35 МБ на модули + бэкап
Интернет при установке Не нужен — хелпер встроен в бинарь майнера

Если ваше ядро или драйвер не совпадают, --cmp-install откажется работать и напишет что именно увидел. Не пытайтесь заставить силой — несовпадающий драйвер может оставить риг без рабочего NVIDIA-модуля до переустановки.


Как поставить нужное ядро и драйвер

HiveOS (проще всего)

Ядра 6.10.0-hiveos в актуальных репозиториях HiveOS больше нет — HiveOS ушёл на 6.12+. Способ его получить — HiveOS beta образ 0.6-229-beta-jammy@241231 (30 декабря 2024), где ядро 6.10.14-hiveos идёт из коробки. Когда риг уже на этом образе, драйвер ставится через nvidia-driver-update --force.

Драйвера 610.43.03 в supported list nvidia-driver-update тоже больше нет, но скрипт всё равно скачивает его с сайта NVIDIA — это как раз и разблокирует --force.

По шагам (все команды из шелла рига — ssh или Hive Shell):

# 1. Проверить что сейчас
uname -r                                            # цель: 6.10.0-hiveos
modinfo -F version nvidia                           # цель: 610.43.03

Если оба уже совпадают — сразу переходите к --cmp-install. Иначе:

# 2. Перепрошить риг на HiveOS beta образ с ядром 6.10.14-hiveos внутри.
#
# ВНИМАНИЕ: hive-replace переустанавливает OS на диске. Ваш rig.conf (farm_hash)
# сохранится автоматически, но локально установленные пакеты слетят, а полётный
# лист применится заново с панели после ребута. Делайте это на риге, который вы
# готовы перепровизировать.
#
sudo hive-replace -y "https://download.hiveos.farm/history/hiveos-0.6-229-beta-jammy@241231.img.xz"
# ожидаемый md5: bf1724fbea4999ec7e85367a1f4899eb
# размер образа: ~1.06 ГБ (~10 мин на быстром канале)

# Риг ребутнется сам, когда прошивка закончится.

После boot риг на ядре 6.10.14-hiveos и драйвере 550.142 (что бы там ни было в образе). Теперь обновляем драйвер до нужного 610.43.03:

# 3. Поставить точно нужный драйвер.
#    --force позволяет nvidia-driver-update тянуть версию, которой нет в его
#    "supported" списке; .run всё равно скачивается с download.nvidia.com.
sudo nvidia-driver-update --force 610.43.03
sudo reboot

# 4. Проверить после boot
uname -r                                            # → 6.10.0-hiveos
modinfo -F version nvidia                           # → 610.43.03

Готово — вы на нужной точной связке. Дальше — sudo forge --cmp-install.

Если HiveOS когда-нибудь уберёт этот образ из download.hiveos.farm/history/, напишите нам в Telegram или Discord — поднимем зеркало.

Другие дистрибутивы Linux (Ubuntu, Debian, …)

Тот же хелпер работает на любом Linux с ядром 6.10.0-hiveos и драйвером 610.43.03, но обе части вам нужно принести самостоятельно:

  • Ядро 6.10.0-hiveos — это сборка HiveOS-бренда. Простейший путь — использовать пакет ядра HiveOS для вашего дистрибутива (посмотрите на HiveOS-хосте apt-cache search linux-image-6.10.0-hiveos или dpkg -l | grep hiveos, чтобы найти точное имя пакета), поставить и добавить в GRUB.
  • Драйвер NVIDIA 610.43.03 — используйте ветку nvidia-open 610. Соответствующий tarball / .deb-пакеты лежат на сайте NVIDIA под названием "unified driver 610.43.03". DKMS сам пересоберёт модуль под заголовками ядра 6.10.0-hiveos, когда оба будут установлены.

Это не поддерживаемый путь — если сможете поставить ту же пару ядро + драйвер, хелпер разлока установится и заработает так же, как на HiveOS; если какая-то версия «поплыла», --cmp-install откажется работать. Если сомневаетесь — поставьте HiveOS на отдельную флешку и используйте её — это бесплатный флешабельный образ.


Команды коротко

Команда Что делает Ребут?
sudo forge --cmp-install ставит хелпер и перезагружает риг ✓ (10 сек на отмену)
sudo forge --cmp-install --no-reboot только установка, ребут делаете сами ✗ (exit 42 = требуется ребут)
sudo forge --cmp-verify живой статус разлока по картам
sudo forge --cmp-rollback вернуть прежний драйвер из бэкапа + ребут ✓ (10 сек на отмену)
sudo forge --cmp-rollback --no-reboot только откат, ребут делаете сами ✗ (exit 42)

Все эти команды можно комбинировать с обычными флагами майнинга — --cmp-install безопасно оставлять в полётнике навсегда.


Рекомендованный способ — держать в полётнике

Замысел такой: просто добавить --cmp-install в конец строки запуска полётника и забыть. Форж сам решит на каждом старте, что делать:

  1. Первый запуск на свежем риге. Форж видит throttled карты → ставит хелпер → перезагружает риг (10 сек на отмену) → HiveOS перезапускает форжа после boot → карты уже разлочены → майнинг пошёл.
  2. Каждый последующий рестарт. Форж видит, что хелпер уже установлен → печатает одну строку («CMP hardware unlock already in place ... Proceeding to mining.») → сразу идёт майнить. Ни переустановки, ни цикла ребутов.

В Extra config HiveOS:

--cmp-install

Готовые полётные листы на forgeminer.org/#flightsheets уже с этим флагом.


Разово из терминала

Если хотите руками (например, чтобы проверить rollback / переустановку) — сначала остановите текущий майнер полётника, чтобы два форжа не дрались за карты:

# 1. Остановить полётный майнер
miner stop

# 2. Посмотреть текущий статус
sudo forge --cmp-verify

# 3. Установка (10 сек на отмену, потом авто-ребут)
sudo forge --cmp-install

# После того как риг поднялся:
sudo forge --cmp-verify         # проверить статус
miner start                     # вернуть полётный майнер

Если бинарь не в $PATH, подставьте свой путь, напр. sudo /home/user/forge.


Что делает каждая подкоманда

--cmp-install

  1. Проверяет окружение (ядро = 6.10.0-hiveos, драйвер = 610.43.03). На других отказывается.
  2. Ищет CMP 50HX / 90HX на PCI-шине. Отказывается, если ни одной не нашёл.
  3. Fast path — если разлок уже активен, печатает одну строку и возвращает управление майнеру. Без переустановки.
  4. Иначе: распаковывает встроенный хелпер в приватную временную папку (mode 0700), сверяет sha256, делает бэкап текущего NVIDIA-драйвера, ставит хелпер, пересобирает initramfs, чистит temp.
  5. Печатает 10-секундный обратный отсчёт, потом ребут через systemctl reboot. Ctrl+C во время отсчёта отменяет ребут.

После boot хелпер загружается сам через depmod.d override. Следующий запуск форжа видит обе карты разлоченными.

--cmp-install --no-reboot

То же, но без отсчёта и ребута. Форж выходит с кодом 42 ("требуется ребут" по конвенции dpkg / needrestart). Перезагрузите риг сами, когда удобно.

--cmp-verify

Читает регистр статуса разлока каждой найденной CMP-карты, печатает по одной строке на карту.

Возможные варианты:

[OK] CMP 90HX @ 02:00.0  unlocked
[i ] CMP 50HX @ 05:00.0  status not observable on this SKU — check the miner TUI hashrate for live unlock state
[!!] CMP 90HX @ 02:00.0  throttled (stock default)
[??] CMP 50HX @ 05:00.0  status indeterminate — retry with the miner running
[!!] CMP 90HX @ 02:00.0  device status unreadable (needs root)

Важно: CMP 50HX всегда печатает [i ] status not observable — даже когда карта разлочена и майнит на полной. Драйвер NVIDIA закрывает этот регистр на PCI ID 50HX, прочитать флаг из userspace на этом SKU физически нельзя. Единственный живой источник правды для 50HX — хешрейт карты в TUI майнера: разлоченный хешрейт примерно в 20 раз выше стокового задушенного. На 90HX и 170HX регистр читается нормально.

--cmp-rollback

Откатывает установку: снимает хелпер и depmod.d override, восстанавливает предыдущий NVIDIA-драйвер из /root/forge-cmp-backup/, пересобирает initramfs, потом ребут (10 сек на отмену). После boot обе CMP-карты возвращаются в задушенное стоковое состояние.

Добавьте --no-reboot, чтобы отложить ребут и получить exit 42.


Коды выхода

Код Значение
0 Успех (в т.ч. fast-path — «уже разлочено, ушли майнить»)
1 --cmp-verify увидел хотя бы одну определённо задушенную карту
2 Запущено не под root
3 Окружение не совпадает (не то ядро или не тот драйвер)
4 CMP 50HX / 90HX на шине не найдены
5 Не удалось распаковать встроенный хелпер
6 Установщик / скрипт отката вернул ошибку
42 Операция прошла, требуется ребут (передан --no-reboot или авто-ребут не сработал)

Что реально ложится на диск

  • Модули хелпера — /lib/modules/6.10.0-hiveos/updates/forge-cmp/
  • depmod.d override — /etc/depmod.d/forge-cmp.conf
  • Бэкап предыдущего NVIDIA-драйвера — /root/forge-cmp-backup/<timestamp>/
  • /root/forge-cmp-backup/latest.txt указывает на последний бэкап — из него восстанавливает rollback
  • initramfs пересобирается для ядра 6.10.0-hiveos
  • Временная папка распаковки (/tmp/forge-cmp-<pid>-<rand>/, mode 0700) удаляется сразу после операции

Больше ничего в системе не трогается.


Как убедиться, что заработало

Быстрее всего — посмотреть per-card хешрейт в TUI форжа (или в панели HiveOS). Разлоченный хешрейт примерно в 20 раз выше стокового задушенного на той же карте и том же пуле. Если после ребута CMP-карта осталась на стоковом задушенном числе — хелпер не подхватился.

Проверка регистра (только 90HX)sudo forge --cmp-verify должен показать [OK] CMP 90HX @ ... unlocked. На 50HX этот регистр из userspace не читается, поэтому инструмент печатает информационную строку — см. заметку в разделе про --cmp-verify выше.

Проверка живучести — после любого следующего ребута sudo modinfo -n nvidia должен по-прежнему указывать на /lib/modules/6.10.0-hiveos/updates/forge-cmp/nvidia.ko. depmod.d override сохраняет это через ребуты автоматически.


Откат

Вернуть риг в стоковое состояние:

sudo forge --cmp-rollback        # авто-ребут через 10 сек
# или
sudo forge --cmp-rollback --no-reboot
sudo reboot                      # когда будете готовы

После boot обе CMP-карты возвращаются к задушенному стоковому хешрейту. Бэкап в /root/forge-cmp-backup/ остаётся на диске — переустановить потом можно без скачивания заново.

Чтобы переустановить после отката, просто снова sudo forge --cmp-install.


FAQ / устранение проблем

environment mismatch — CMP unlock bundle only supports: kernel = 6.10.0-hiveos (have ...)
Вы на другом ядре или другом драйвере NVIDIA. Хелпер подписан под точную комбинацию выше. Пройдите раздел Как поставить нужное ядро и драйвер и попробуйте снова.

no CMP 50HX or CMP 90HX detected on this rig
lspci -nn | grep -iE '10de:(1e09|220d)' должен показать хотя бы одну карту. Если пусто — на риге таких карт нет, разлочивать нечего.

must run as root
Добавьте sudo. На HiveOS у аккаунта user sudo без пароля по умолчанию.

--cmp-verify пишет [i ] status not observable для моей 50HX, а карта явно майнит медленно
Регистр статуса на 50HX всегда закрыт драйвером — по --cmp-verify одному не отличить. Сравните живой хешрейт карты с калькулятором доходности на вашем пуле; если он застрял на задушенной цифре — sudo forge --cmp-install и ребут.

90HX показывает unlocked, а 50HX всё ещё на задушенном хешрейте
Хелпер — один модуль на обе карты; когда он загружается, действует на обе. Если 90HX разлочена, а 50HX нет — модуль не подхватился на boot. Проверьте sudo modinfo -n nvidia (должно быть updates/forge-cmp/) и перезагрузите риг ещё раз.

После ребута полётный майнер стартует, но хешрейт всё равно на задушенной цифре на обеих CMP
Не загрузился композитный модуль — обычно потому что старый nvidia.ko от ручной DKMS-сборки выиграл гонку depmod. Проверьте sudo modinfo -n nvidia — должен заканчиваться на updates/forge-cmp/nvidia.ko. Если указывает в другое место — запустите sudo forge --cmp-install ещё раз (установщик громко упадёт, если depmod до сих пор резолвит не туда).

Хочу оставить риг на хелпере через обновление ядра
Не обновляйте ядро на этом риге. Хелпер подписан под 6.10.0-hiveos — новое ядро из HiveOS не будет иметь совместимой сборки хелпера. hive-replace на другой образ допустим после --cmp-rollback + ребута.

Можно как обычно ставить persistence, разгон, лимит мощности?
Да. Хелпер трогает только флаг throttle. Все нормальные средства HiveOS (autofan, --cclk / --coff / --mclk / --moff / --plimit, nvidia-oc) работают на разлоченных картах ровно так же.

Не окирпичит ли карту?
Нет. Хелпер не трогает VBIOS и не пишет ничего в ROM карты — это runtime kernel-модуль, который иначе управляет throttle-флагом. Любая операция обратима через --cmp-rollback + ребут обратно на стоковый DKMS-драйвер.

Можно ли на новой карте с завода?
Да. Никакого «была ли карта модифицирована ранее» состояния нет — хелпер работает на любой CMP 50HX / 90HX независимо от истории.

Пишется ли что-то в ROM / VBIOS карты?
Нет. Никаких прошивок. --cmp-rollback + ребут возвращает стек драйвера в состояние до установки.

Clone this wiki locally