1 Востаннє редагувалося HetmanNet (29.08.2025 22:52:07)

Тема: [OpenWRT] SSD замість SD картки на Rasberry Pi 5

Суть така. Є Raspberry Pi 5, є Samsung PM991a MZ-9LQ128C M.2 2230 NVME Gen3, PCIe To M.2 Mini Adapter for Raspberry Pi 5 та пару RTL8153.

1. Вантажимо звідси образ openwrt 24.10.2 factory (ext4) для Raspberry Pi 5/500/CM5.
2. Використовуючи адаптер Agestar AS-MC01 та ПК, щоб записати на SSD образ за допомогою dd.
3. Встановлюємо SSD через адаптер на Raspberry Pi.
4. Вмикаємо, система завантажується, та маємо гальма ніби у нас не nvme, а старий HDD з 90х, а також маємо кілька помилок в лоґах щодо SSD.
5. Додаємо в кінець файлу /boot/config.txt строки:

dtparam=pciex1
dtparam=pciex1_gen=3
dtparam=nvme
dtoverlay=vc4-kms-v3d,cma-512
dtoverlay=cma,cma-512

6. Додаємо в кінець файлу /boot/cmdline.txt строки:

nvme.max_host_mem_size_mb=128
nvme_core.default_ps_max_latency_us=0
pcie_aspm=off

7. Робимо reboot
8. Тепер працює все значно швидше, але все одно лишається помилка в лоґах:

nvme nvme0: failed to allocate host memory buffer.

Які ідеї?

P.S. Суть така, в збірці OpenWRT через дуже економних ******* вимкнено виділення пам'яті яке використовується для HMB, який у вище згадано SSD 64MB, тому ніби було би досить вказати:

nvme.max_host_mem_size_mb=128

та

dtoverlay=vc4-kms-v3d,cma-128
dtoverlay=cma,cma-128

Але по зазначеним значенням може здогадатися, що багато раз збільшували. В /proc/meminfo видно виділення пам'яті і навіть що трохи споживається, але все одно помилка лишається. Часом не маєте ідей якого?

Подякували: leofun01, Chemist-i2

2 Востаннє редагувалося leofun01 (30.08.2025 13:20:37)

Re: [OpenWRT] SSD замість SD картки на Rasberry Pi 5

Форум Raspberry Pi теж шумить про цю проблему.
Бачу 24.10.2 ..
Якщо я хочу відтворити помилку в лоґах, то мені тягти кого ?
Знайдено: bcm27xx/bcm2712/openwrt-24.10.2-bcm27xx-bcm2712-rpi-5-ext4-factory.img.gz

Встановлені пакети
  1. base-files

  2. bcm27xx-gpu-fw

  3. bcm27xx-utils

  4. ca-bundle

  5. dnsmasq

  6. dropbear

  7. e2fsprogs

  8. firewall4

  9. fstools

  10. kmod-fs-vfat

  11. kmod-nft-offload

  12. kmod-nls-cp437

  13. kmod-nls-iso8859-1

  14. kmod-sound-arm-bcm2835

  15. kmod-sound-core

  16. kmod-usb-hid

  17. libc

  18. libgcc

  19. libustream-mbedtls

  20. logd

  21. mkf2fs

  22. mtd

  23. netifd

  24. nftables

  25. odhcp6c

  26. odhcpd-ipv6only

  27. opkg

  28. partx-utils

  29. ppp

  30. ppp-mod-pppoe

  31. procd-ujail

  32. uci

  33. uclient-fetch

  34. urandom-seed

  35. cypress-firmware-43455-sdio

  36. brcmfmac-nvram-43455-sdio

  37. kmod-brcmfmac

  38. wpad-basic-mbedtls

  39. kmod-i2c-bcm2835

  40. kmod-spi-bcm2835

  41. kmod-i2c-brcmstb

  42. kmod-i2c-designware-platform

  43. kmod-spi-dw-mmio

  44. kmod-hwmon-pwmfan

  45. kmod-thermal

  46. iwinfo

  47. luci

Читайу:

3 Востаннє редагувалося Torbins (30.08.2025 23:29:11)

Re: [OpenWRT] SSD замість SD картки на Rasberry Pi 5

Офіційні образи OpenWRT зараз на ядрі 6.6, в якому може й не бути повної підтримки вашого заліза, враховуючи, що це ядро вийшло приблизно тоді ж, коли й п'ята малина. Можна спробувати щоденні білди OpenWRT на 6.12.
Також варто запустити распбіан, і подивитись які модулі ядра завантажені, та які пакети з firmware стоять, а потім поставити відповідні пакети на OpenWRT.
До речі, там де ви качали образ є пунктик "Налаштування встановлених пакетів" де можна вказати потрібні пакети ще перед початком закачки образу. Єдине обмеження що готовий образ не повинен бути більшим за 32 Мб. Це актуально якщо є проблеми із завантаженням з екзотичного заліза, і наприклад ядро не може перейти з використання драйверів Uefi/Uboot на свої власні.

Подякували: leofun011