BPI-R3 with debian does not see SSD

Hello. I have a Bpi-R3 running Debian with Linux image 6.6.36-bpi-r3-main on aarch64. I put an SSD in the board but I can’t see it using lsblk. The SSD is functional. Is it possible that it is incompatible?

lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
mtdblock0     31:0    0   20M  0 disk 
mtdblock1     31:1    0 10.5M  0 disk 
mtdblock2     31:2    0  512K  1 disk 
mtdblock3     31:3    0  512K  0 disk 
mtdblock4     31:4    0  256K  0 disk 
mtdblock5     31:5    0  256K  1 disk 
mmcblk0      179:0    0  7.3G  0 disk 
|-mmcblk0p1  179:1    0    4M  0 part 
|-mmcblk0p2  179:2    0  512K  0 part 
|-mmcblk0p3  179:3    0    2M  0 part 
|-mmcblk0p4  179:4    0    2M  0 part 
|-mmcblk0p5  179:5    0  100M  0 part /boot
`-mmcblk0p6  179:6    0  6.4G  0 part /
mmcblk0boot0 179:8    0    4M  1 disk 
mmcblk0boot1 179:16   0    4M  1 disk 

Have you tried lspci (must be installed) and dmesg to find rootcause?

lspci will not return anything. But once I found out using lsblk nvme. But after the reboot it was no longer found.

Maybe your ssd need additional delay in pci init…we had it some time ago for some ssd,but upstreaming was rejected

You could try this patch:

I’m afraid I can’t use the patch. My SSD is made in 2019. Is it a real possibility that the new 2TB SSD won’t have problems?

It is possible that it uses more than the 2 lanes provided by r3 and require maybe some more tome to come up.

Why can’t you test the patch?

I have no idea how to apply the patch.

You have to recompile kernel…with an ubuntu x64 host

just clone my repo with …then you can cherry-pick the commit change build.conf to r3 and use “./build.sh importconfig” to import the defconfig and without param to build.

What does your dmesg say about pci and nvme?

You can also try adding pci=nomsi to bootopts via uEnv.txt on bpi-boot partition

pci=nomsi did not help.

dmesg | grep -i pci
[    0.047914] PCI: CLS 0 bytes, default 64
[    1.560692] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    1.568048] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    1.574325] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020000000..0x002fffffff -> 0x0020000000
[    1.811699] mtk-pcie-gen3 11280000.pcie: PCIe link down, current LTSSM state: polling.compliance (0x3000003)
[    1.821575] mtk-pcie-gen3: probe of 11280000.pcie failed with error -110

dmesg | grep -i nvme returns nothing.

Mhm,then maybe the patch above helps

I can’t patch or compile. I have never done that. I guess I’ll postpone the SSD installation until I have a new SSD. I will hope that the new SSD will be OK. Thanks for the advice so far.

A new nvme is no guarantee for not having to patch.

I still have to patch for my quite new nvme…

are you sure the option was applied? your grep should show the cmdline too

bootopts=pci=nomsi

in uEnv,txt in root of bpi-boot-partition (p5)

uploaded package with the patch above

it should be enough unpacking the itb to bpi-boot-partition (make backup of existing one or just rename it in case it breaks something, but it should not)…filename should be same so no change of uEnv.txt needed (bpi-r3.itb is default for variable “fit”)