Rock960 NVME troubles


Recently I bought the Rock960 4G 32GB eMMC model with the M.2 extended board for a photo project called “Automatic Backup of photos stored on SDXC cards and XQD cards”. I decided to buy the Rock960 because of the possibility to directly attach a NVME SSD. Sadly exactly this is not possible…

I flashed the eMMC with the rock960ab-ubuntu-bionic-minimal-arm64-20181218_2036-gpt.img (this is so far I can see the newest Image) Image. After boot I run the following commands

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get install rockchip-overlay rockchip-fstab
  • sudo apt-get install rock960ab-rk-u-boot-lastest
  • sudo
  • sudo apt-get install linux-base
  • sudo apt-get install linux-4.4.lastest
  • sudo unminimize (to get the full ubuntu system)

Then I put the Intel 660p 1TB NVME SSD directly in the M.2 Connector of the Rock960. After start of Linux linux cannot see the nvme with fdisk -l / lsblk. The command dmesg | grep -i pcie shows the output already posted by other users:

[ 0.225446] of_get_named_gpiod_flags: parsed ‘gpio’ property of node ‘/vcc3v3-pcie-regulator[0]’ - status (0)
[ 0.225487] reg-fixed-voltage vcc3v3-pcie-regulator: Looking up vin-supply from device tree
[ 0.225522] vcc3v3_pcie: supplied by vcc3v3_sys
[ 0.225954] vcc3v3_pcie: at 3300 mV
[ 0.226120] reg-fixed-voltage vcc3v3-pcie-regulator: vcc3v3_pcie supplying 0uV
[ 0.332497] phy phy-pcie-phy.9: Looking up phy-supply from device tree
[ 0.332507] phy phy-pcie-phy.9: Looking up phy-supply property in node /pcie-phy failed
[ 0.333914] rockchip-pcie f8000000.pcie: GPIO lookup for consumer ep
[ 0.333924] rockchip-pcie f8000000.pcie: using device tree for GPIO lookup
[ 0.333951] of_get_named_gpiod_flags: parsed ‘ep-gpios’ property of node ‘/pcie@f8000000[0]’ - status (0)
[ 0.334191] rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply from device tree
[ 0.334202] rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply property in node /pcie@f8000000 failed
[ 0.334216] rockchip-pcie f8000000.pcie: no vpcie3v3 regulator found
[ 0.334803] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply from device tree
[ 0.334813] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply property in node /pcie@f8000000 failed
[ 0.334823] rockchip-pcie f8000000.pcie: no vpcie1v8 regulator found
[ 0.335394] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply from device tree
[ 0.335404] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply property in node /pcie@f8000000 failed
[ 0.335414] rockchip-pcie f8000000.pcie: no vpcie0v9 regulator found
[ 0.877297] rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!
[ 0.878018] rockchip-pcie: probe of f8000000.pcie failed with error -110

Then I installed the Android image rock960-model-ab-nougat-20190322_1009_cbbd3dd-gpt.img on a 64GB Sandisk microSD. After booting I can see and format the NVME on Android.

The dmesg output on Android is the following:

What is the matter with the pcie on linux? What can I do to resolve the issue, that the nvme ssd cannot recognized? Why does the pcie work on Android but not on ubuntu linux?

Because I need linux for my project it is very important that the nvme ssd does work on linux. I already bought another NVME SSD (Samsung 970 EVO Plus 1TB) which is not working on Linux either…

I already tested through all other linux images in your download library; with no luck…

Thanks for for your quick help, which I very appreciate! I am stuck in the development of my project…

Best regards
Chr. Müller

Hi, @cpm034

We confirm this issue exist in the image. This is mostly because the power on of Intel 660p is late and the training failed before the SSD is ready. We will fix it by enable the power of the SSD during the boot. We will update the u-boot image. I will get back to you on this.

Hi hipboi

Thank you very much for the quick answer.

Oh, cool, that would be great! I really appreciate your help! I love working with the Rock960 and I am sure, that my project will be a success.

Btw; is there a possibility to include a “parameter” in extlinux.conf to define a timeout value (in ms) for the pcie probe training? Just in case a SSD needs additional time to initialize?

Many thanks
Best regards

Hi hipboi

Do you have an update on this already?

Thanks and best regards


We have fixed the issue. Please install the latest rock960ab-rk-u-boot-latest package from our repo.
and run

   sudo /usr/local/sbin/

To update the u-boot.

Thanks for the fix; I can confirm that my Intel SSD is working now!

Is it possible to update the linux images at with this fix. I think that would be great for less experienced users?

sure, we will update the pre-built image. Thanks for the suggestion.