Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Is NVMe possible on the BananaPi F3?

Featured Replies

Hello there, 👋

I've connected an NVMe drive that I used in my PC to the Banana Pi F3, but it's not being detected. I'm using a USB-C PD power supply (Pine64 PinePower Desktop) to ensure sufficient power, yet it's still not recognized. The drive might be faulty.

Has anyone successfully used an NVMe drive with this board? If so, could you share which NVMe drives are known to work with it?

Thanks!





 

    _             _    _
   /_\  _ _ _ __ | |__(_)__ _ _ _
  / _ \| '_| '  \| '_ \ / _` | ' \
 /_/ \_\_| |_|_|_|_.__/_\__,_|_||_|

 v25.5.1 for BananaPi BPI-F3 running Armbian Linux 6.6.87-current-spacemit

 Packages:     Debian rolling (trixie)
 IPv4:         (LAN) 192.168.1.185, 192.168.1.83 (WAN) 82.65.177.146
 IPv6:         2a01:e0a:5ed:6230:fcfe:feff:fef8:f4be, 2a01:e0a:5ed:6230:3718:a97e:8a7b:a2c6 (WAN) 2a01:e0a:5ed:6230:9f8a:b5c1:f849:3f6f

 Performance:

 Load:         2%               Up time:       1:31
 Memory usage: 2% of 15.51G
 CPU temp:     45°C              Usage of /:   12% of 113G

 Commands:

 Configuration : armbian-config
 Monitoring    : htop
[...]

# Check PCIe-related kernel messages
sudo dmesg | grep -E "(pcie|nvme|k1x-dwc)"

# Check PCIe power management
cat /sys/module/nvme_core/parameters/default_ps_max_latency_us

# Monitor PCIe during boot
sudo journalctl -b | grep -i pcie
[    0.404937] k1x-dwc-pcie ca400000.pcie: has no power on gpio.
[    0.407218] k1x-dwc-pcie ca400000.pcie: host bridge /soc/pcie@ca400000 ranges:
[    0.407260] k1x-dwc-pcie ca400000.pcie:       IO 0x009f002000..0x009f101fff -> 0x009f002000
[    0.407280] k1x-dwc-pcie ca400000.pcie:      MEM 0x0090000000..0x009effffff -> 0x0090000000
[    0.507413] k1x-dwc-pcie ca400000.pcie: iATU: unroll T, 8 ob, 8 ib, align 4K, limit 4G
[    1.507664] k1x-dwc-pcie ca400000.pcie: Phy link never came up
[    1.508176] k1x-dwc-pcie ca400000.pcie: PCI host bridge to bus 0001:00
[    1.514835] pcieport 0001:00:00.0: PME: Signaling with IRQ 65
[    1.515235] pcieport 0001:00:00.0: AER: enabled with IRQ 65
[    1.515884] k1x-dwc-pcie ca800000.pcie: has no power on gpio.
[    1.518096] k1x-dwc-pcie ca800000.pcie: host bridge /soc/pcie@ca800000 ranges:
[    1.518126] k1x-dwc-pcie ca800000.pcie:       IO 0x00b7002000..0x00b7101fff -> 0x00b7002000
[    1.518150] k1x-dwc-pcie ca800000.pcie:      MEM 0x00a0000000..0x00afffffff -> 0x00a0000000
[    1.518164] k1x-dwc-pcie ca800000.pcie:      MEM 0x00b0000000..0x00b6ffffff -> 0x00b0000000
[    1.618263] k1x-dwc-pcie ca800000.pcie: iATU: unroll T, 8 ob, 8 ib, align 4K, limit 4G
[    2.618384] k1x-dwc-pcie ca800000.pcie: Phy link never came up
[    2.618513] k1x-dwc-pcie ca800000.pcie: PCI host bridge to bus 0002:00
[    2.625055] pcieport 0002:00:00.0: PME: Signaling with IRQ 69
[    2.625444] pcieport 0002:00:00.0: AER: enabled with IRQ 69
[    8.000939] systemd[1]: Starting modprobe@nvme_fabrics.service - Load Kernel Module nvme_fabrics...
[    8.348576] systemd[1]: modprobe@nvme_fabrics.service: Deactivated successfully.
[    8.349624] systemd[1]: Finished modprobe@nvme_fabrics.service - Load Kernel Module nvme_fabrics.
[    9.227876] systemd[1]: nvmefc-boot-connections.service - Auto-connect to subsystems on FC-NVME devices found during boot was skipped because of an unmet condition check (ConditionPathExists=/sys/class/fc/fc_udev_device/nvme_discovery).
100000
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca400000.pcie: has no power on gpio.
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca400000.pcie: host bridge /soc/pcie@ca400000 ranges:
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca400000.pcie:       IO 0x009f002000..0x009f101fff -> 0x009f002000
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca400000.pcie:      MEM 0x0090000000..0x009effffff -> 0x0090000000
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca400000.pcie: iATU: unroll T, 8 ob, 8 ib, align 4K, limit 4G
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca400000.pcie: Phy link never came up
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca400000.pcie: PCI host bridge to bus 0001:00
juil. 04 19:00:44 bananapif3 kernel: pcieport 0001:00:00.0: PME: Signaling with IRQ 65
juil. 04 19:00:44 bananapif3 kernel: pcieport 0001:00:00.0: AER: enabled with IRQ 65
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca800000.pcie: has no power on gpio.
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca800000.pcie: host bridge /soc/pcie@ca800000 ranges:
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca800000.pcie:       IO 0x00b7002000..0x00b7101fff -> 0x00b7002000
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca800000.pcie:      MEM 0x00a0000000..0x00afffffff -> 0x00a0000000
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca800000.pcie:      MEM 0x00b0000000..0x00b6ffffff -> 0x00b0000000
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca800000.pcie: iATU: unroll T, 8 ob, 8 ib, align 4K, limit 4G
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca800000.pcie: Phy link never came up
juil. 04 19:00:44 bananapif3 kernel: k1x-dwc-pcie ca800000.pcie: PCI host bridge to bus 0002:00
juil. 04 19:00:44 bananapif3 kernel: pcieport 0002:00:00.0: PME: Signaling with IRQ 69
juil. 04 19:00:44 bananapif3 kernel: pcieport 0002:00:00.0: AER: enabled with IRQ 69
poddingue@bananapif3 ~ $ # Enable all available kernel modules for NVMe
sudo modprobe nvme
sudo modprobe nvme-core
sudo modprobe nvme-pci

# Check if modules loaded
lsmod | grep nvme
modprobe: FATAL: Module nvme-pci not found in directory /lib/modules/6.6.87-current-spacemit
nvme_fabrics          118784  0

 

I use a 12v 3a PSU "Barrel"

 

patrick@bananapif3:~$ dmesg | grep pcie
[    0.322772] k1x-dwc-pcie ca400000.pcie: has no power on gpio.
[    0.325025] k1x-dwc-pcie ca400000.pcie: host bridge /soc/pcie@ca400000 ranges:
[    0.325065] k1x-dwc-pcie ca400000.pcie:       IO 0x009f002000..0x009f101fff -> 0x009f002000
[    0.325088] k1x-dwc-pcie ca400000.pcie:      MEM 0x0090000000..0x009effffff -> 0x0090000000
[    0.425212] k1x-dwc-pcie ca400000.pcie: iATU: unroll T, 8 ob, 8 ib, align 4K, limit 4G
[    0.525297] k1x-dwc-pcie ca400000.pcie: PCIe Gen.2 x2 link up
[    0.525837] k1x-dwc-pcie ca400000.pcie: PCI host bridge to bus 0001:00
[    0.543059] pcieport 0001:00:00.0: PME: Signaling with IRQ 65
[    0.543510] pcieport 0001:00:00.0: AER: enabled with IRQ 65
[    0.544202] k1x-dwc-pcie ca800000.pcie: has no power on gpio.
[    0.546446] k1x-dwc-pcie ca800000.pcie: host bridge /soc/pcie@ca800000 ranges:
[    0.546484] k1x-dwc-pcie ca800000.pcie:       IO 0x00b7002000..0x00b7101fff -> 0x00b7002000
[    0.546510] k1x-dwc-pcie ca800000.pcie:      MEM 0x00a0000000..0x00afffffff -> 0x00a0000000
[    0.546525] k1x-dwc-pcie ca800000.pcie:      MEM 0x00b0000000..0x00b6ffffff -> 0x00b0000000
[    0.646655] k1x-dwc-pcie ca800000.pcie: iATU: unroll T, 8 ob, 8 ib, align 4K, limit 4G
[    1.647016] k1x-dwc-pcie ca800000.pcie: Phy link never came up
[    1.647233] k1x-dwc-pcie ca800000.pcie: PCI host bridge to bus 0002:00
[    1.654489] pcieport 0002:00:00.0: PME: Signaling with IRQ 69
[    1.654939] pcieport 0002:00:00.0: AER: enabled with IRQ 69
patrick@bananapif3:~$ lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
mmcblk2      179:0    0  14.6G  0 disk 
├─mmcblk2p1  179:1    0   508M  0 part 
└─mmcblk2p2  179:2    0  14.1G  0 part 
mmcblk2boot0 179:8    0     4M  1 disk 
mmcblk2boot1 179:16   0     4M  1 disk 
zram0        250:0    0   1.9G  0 disk [SWAP]
nvme0n1      259:0    0 238.5G  0 disk 
├─nvme0n1p1  259:1    0   508M  0 part /boot
└─nvme0n1p2  259:2    0   238G  0 part /

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.