Hi everyone,
I recently purchased a Banana Pi BPI-R4 Pro and I am facing a persistent issue with getting my NVMe SSD to work. I’m hoping someone can point me to the correct firmware image or a workaround.
The Issue: The system physically detects the NVMe controller (visible in lspci), but the block device is not created (not visible in lsblk). It seems the necessary kernel modules (kmod-nvme) are missing from the image, and I cannot install them via opkg due to a kernel version mismatch with the official snapshots.
Hardware Setup:
- Board: Banana Pi BPI-R4 Pro
- Storage: 128GB NVMe SSD (Silicon Motion Controller)
- Current OS: OpenWrt (Vendor Snapshot Image, Kernel 6.6.x - dated approx Nov 25, 2024)
Diagnostics & Logs:
- LSPCI (Hardware is detected): The controller is clearly visible here, so the hardware connection is fine.
root@OpenWrt:~# lspci 0003:01:00.0 Non-Volatile memory controller: Silicon Motion, Inc. SM2263EN/SM2263XT (DRAM-less) NVMe SSD Controllers (rev 03) - LSBLK (No disk found): Only the eMMC (
mmcblk0) and system partitions are visible.nvme0n1is missing.root@OpenWrt:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS mmcblk0 179:0 0 7.3G 0 disk ... (only emmc partitions) - Missing Modules: I searched for the module manually, but it returns nothing.
root@OpenWrt:~# find /lib/modules -name "*nvme*" (no output) - OPKG Install Fails (Kernel Mismatch): When I try to install
kmod-nvmefrom the official repos, it fails because the kernel version of the vendor image does not match the official snapshot repository.`root@OpenWrt:~# opkg install kmod-nvme Unknown package ‘kmod-nvme’.
- opkg_install_cmd: Cannot install package kmod-nvme.
*I even tried using–force-dependsand–nodeps`, but since the kernel magic string is different, it refuses to load the module.*
What I have tried so far:
- Verified the SSD works by formatting it (ExFAT) on a PC via USB. It works perfectly.
- Tried updating
opkglists and installingpciutils,nvme-cli,block-mount(these installed fine, but the driverkmod-nvmeis the issue). - I cannot simply flash the official mainline OpenWrt BPI-R4 image because I need the 2.5G ports to work (which are specific to the Pro model).
My Request: Is there a specific “Full” or “SD-Media” image for the BPI-R4 Pro that comes with kmod-nvme pre-installed/built-in? Or is there a compatible repository where I can pull the correct kernel modules for the Sinovoip vendor kernel?
Any link to a working image for the Pro model with NVMe support would be greatly appreciated.
Thanks in advance!