Hi !
I try to install a NVME SSD but my RockPi4 do not recognize it. I tried 3 differents NVME :
WD Black SSD PCIe 250 GB
Samsung evo 970 250 GB
XPG SX8200 Pro 512 GB
Without success. I have two other RK3399 SBC, a Rockpro64 and a Nano Pi PC T4 and all these three NVME SSD work flawlessly with these SBC.
I tried these OS
Armbian 4.20.13-rockchip64 #5.76.190228
and
rockpi4b-ubuntu-bionic-minimal-20190104_2101-gpt
With the exact same result. No NVME SSD found.
The command lspci return nothing
I am unable to see my NVME with blkid and lsblk or fdisk -l
I tried to plug my NVME via the extension board and directly connected to the SBC with the exact same result.
Can someone give me extra ideas to try? Can my SBC be defective?
Hi @jack !
First of all, thank you for your help !
There are a lot of evolutions, yesterday evening I re-did all my test case with my three NVME SSDs.
I competly removed the etension board and this is my result :
With armbian and no extension board, no NVME detected.
With armbian and the extension board, same situation NVME not detected.
With rockpi4b-ubuntu-bionic-minimal-20190104_2101-gpt without extension board
- WD Black : detected
- Samsung EVO 970 : detected
- XPG SX8200 Pro : Not detected
With rockpi4b-ubuntu-bionic-minimal-20190104_2101-gpt with extension board
- WD Black : detected
- Samsung EVO 970 : detected
- XPG SX8200 Pro : Not detected
So, the only NVME drive not detected is my XPG, ogiginally my WD Black was in my Nanopi PC T4, so I switched the XPG NVME drive with the WD BLACK to use this one with my Rockpi4.
But I am very sad because Armbian do not detect the NVME, I am a huge fan of Armbian, I really like this distribution.
So, to resume :
WD Black NVME SSD work ok
Samsung Evo 970 work ok
XPG SX8200 Pro do not work (but it work with Nanopi and Rockpro)
I am running a rockpi4 A here with armbian. My Samsung 970evo arrived today. I plugged it directly to the rockpi, booted and was able to setup a partition on it.
I run the following version:
sudo uname -r
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.8 (stretch)
Release: 9.8
Codename: stretch
sudo uname -r
4.4.154-rk3399rockpi4b
I will try the adaptor-board sometime later tonight.
I could not run further tests with data-transfers. I believe my power-supply is too weak to handle the NVME. Need to update that first.
Hi @postfrog66 !
That’s a good news. I tried armbian 4.20.13-rockchip64 #5.76.190228 witout sucess, nvme not found and I tried Armbian_5.75_Rockpi-4b_Ubuntu_bionic_default_4.4.174.7z and this version do not boot or I do not wait enough.
I will test the release 4.4.154 immediatly when I will have time…
Thank you !
Hi @postfrog66 !
Thank you for your help, Armbian is now up and running. I moved the system on my NVME and now my Rockpi is really fast.
This is a picture of my Rockpi with the big heatsink and the extension board mounted. It is really not intuitive and not very cute too but all work really well.
I use a Samsung 970EVO witrh 500Gbytes and tested the performance today. I think it does not yet run at full speed:
sudo hdparm -Tt --direct /dev/nvme0n1
/dev/nvme0n1:
Timing O_DIRECT cached reads: 614 MB in 2.00 seconds = 306.61 MB/sec
Timing O_DIRECT disk reads: 920 MB in 3.00 seconds = 306.39 MB/sec
carsten@rockpi4b:~$ sysbench --test=fileio --file-total-size=2G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run
sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Initializing random number generator from timer.
Extra file open flags: 0
128 files, 16Mb each
2Gb total file size
Block size 16Kb
Number of random requests for random IO: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Threads started!
Time limit exceeded, exiting…
Done.
Operations performed: 297300 Read, 198200 Write, 634191 Other = 1129691 Total
Read 4.5364Gb Written 3.0243Gb Total transferred 7.5607Gb (25.807Mb/sec)
1651.66 Requests/sec executed
Test execution summary:
total time: 300.0009s
total number of events: 495500
total time taken by event execution: 31.3085
per-request statistics:
min: 0.01ms
avg: 0.06ms
max: 15.18ms
approx. 95 percentile: 0.18ms
Threads fairness:
events (avg/stddev): 495500.0000/0.00
execution time (avg/stddev): 31.3085/0.00
rockpi@rockpi4b:~$ sudo hdparm -Tt --direct /dev/nvme0n1
[sudo] password for rockpi:
/dev/nvme0n1:
Timing O_DIRECT cached reads: 1020 MB in 2.00 seconds = 510.00 MB/sec
Timing O_DIRECT disk reads: 1382 MB in 3.00 seconds = 460.60 MB/sec
But for me the best app to test the speed of my NVME is iozone (NVME = WD Black):
rockpi@rockpi4b:~$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
Iozone: Performance Test of File I/O
Version $Revision: 3.429 $
Compiled for 64 bit mode.
Build: linux
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa.
Run began: Tue Mar 12 08:34:56 2019
Include fsync in write timing
O_DIRECT feature enabled
Auto Mode
File size set to 102400 kB
Record Size 4 kB
Record Size 16 kB
Record Size 512 kB
Record Size 1024 kB
Record Size 16384 kB
Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
102400 4 59325 84009 76919 77801 40893 79823
102400 16 130702 227024 213902 216338 120339 226025
102400 512 557596 590522 521821 522062 500256 576589
102400 1024 629537 641508 583415 600946 550795 644552
102400 16384 661427 694791 659492 659860 660166 681809
iozone test complete.
It’s a little bit slow compare to my NanopiPCT4 (XPG NVME) but the result can be compare to my RockPro64 (Samsung Evo 970 NVME).
This is the result I got on my RockPro64 with my Samsung Evo 970 :
rock@rockpro64:~$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
[sudo] password for rock:
Iozone: Performance Test of File I/O
Version $Revision: 3.429 $
Compiled for 64 bit mode.
Build: linux
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa.
Run began: Tue Mar 12 08:48:01 2019
Include fsync in write timing
O_DIRECT feature enabled
Auto Mode
File size set to 102400 kB
Record Size 4 kB
Record Size 16 kB
Record Size 512 kB
Record Size 1024 kB
Record Size 16384 kB
Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
102400 4 82368 117913 145635 146582 52602 84380
102400 16 166460 238068 269713 271330 168286 235563
102400 512 590845 619712 572332 572707 557272 621562
102400 1024 616225 633981 578821 578426 572636 638544
102400 16384 676638 695671 657252 657771 656296 695662
rockpi@rockpi4b:~$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
[sudo] password for rockpi:
Iozone: Performance Test of File I/O
Version $Revision: 3.429 $
Compiled for 64 bit mode.
Build: linux
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa.
Run began: Tue Mar 12 15:10:40 2019
Include fsync in write timing
O_DIRECT feature enabled
Auto Mode
File size set to 102400 kB
Record Size 4 kB
Record Size 16 kB
Record Size 512 kB
Record Size 1024 kB
Record Size 16384 kB
Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
102400 4 60903 103967 79528 82953 41992 85719
102400 16 142777 267881 247469 248952 123519 261772
102400 512 781774 910028 769780 770132 725685 878638
102400 1024 971169 1026856 920207 906010 788857 1059701
102400 16384 1125377 1226484 1208797 1208035 1205309 1164655
here are my results (option -I dis give me an error, so I did not use it):
root@rockpi4b:/tmp# iozone -e -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
Iozone: Performance Test of File I/O
Version $Revision: 3.429 $
Compiled for 64 bit mode.
Build: linux
Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa.
Run began: Wed Mar 13 12:59:10 2019
Include fsync in write timing
Auto Mode
File size set to 102400 kB
Record Size 4 kB
Record Size 16 kB
Record Size 512 kB
Record Size 1024 kB
Record Size 16384 kB
Command line used: iozone -e -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
Output is in kBytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 kBytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
102400 4 1129045 1373941 1648500 1692926 1208573 1254668
102400 16 1299375 1589864 1835551 1931747 1421671 1461232
102400 512 985505 1355517 1283321 1452912 1359262 1572724
102400 1024 977517 1402778 1265571 1337655 1282953 1455931
102400 16384 1005955 1362626 1320420 1384915 1314086 1402176
very good that you got that done. But what did you do in detail? I stand with a Samsung 960 nvme ssd facing the same problem?!?
Best thanks in advance !