I have installed an M.2 SATA 2242 SSD on my RK3399. It doesn’t appear to show up at all under Linux - is there something I’m missing?
thanks
I have installed an M.2 SATA 2242 SSD on my RK3399. It doesn’t appear to show up at all under Linux - is there something I’m missing?
thanks
I have a similar problem: I’ve inserted a M.2 → SATA converter 1 and attached a sata harddrive, but the drive is not showing up in Linux. I’ve looked at lsblk and lspci (the latter results in an error) with no luck.
i think I saw that the kernel needs to be configured for support in another thread
BiatuAutMiahn Posted at 4/12/2017 11:00
i think I saw that the kernel needs to be configured for support in another thread
Do you have a link?
I just tried with the latest beta image: https://drive.google.com/drive/folders/0B7HO8lbGgAqAN0hWd1FMN1Zjb0k
… still no dice.
Do I have to use the official adapter board? http://shop.t-firefly.com/goods.php?id=52
Or do I have to use a different kernel to get pci/m.2 support?
I have done some research, the kernel looks like it has PCI enabled in the config (how/if it’s implemented I do not know) and I’m now leaning toward u-boot needing some configuration to use the PCIe bus. I have reached out to support but no reply from them at this time.
I did just get confirmation on the #linux-rockchip irc channel that someone has actually gotten pci working but not with the firefly. He pointed me to the https://github.com/rockchip-linux/kernel project and said the 4.4 kernel is what he used. He was also kind enough to show where in the device tree pci was defined https://github.com/rockchip-linux/kernel/blob/release-4.4/arch/arm64/boot/dts/rockchip/rk3399-firefly-linux.dts#L744 Now, last time I looked through the firefly SDK source and compiled a kernel I did notice that device tree was not enabled in the .config so unless I misunderstood something, the kernel will need to be compiled with device tree support to properly use the pci bus. This should include m.2 SSD devices also.
Is there actually SATA support on the M.2 slot or is it PCI-E only? Seems strange they made the decision to put the mini PCI-E port on the bottom instead of the M.2 (would have had space for a full size 2280 drive there). Problem here is that if there is no SATA support on the M.2 - you can’t really find PCI-E drives in that form factor so you have to use an awkward adapter card.
I just tried again with the latest Firefly-rk3399_xubuntu1604_201704271809 image - it still doesn’t work…
Hi
did you get the “/dev/block/nvme0n1p1” when insert your pci-e devices.?
Nope, there’s no such device as /dev/block/nvme0n1p1
firefly@firefly:~/Desktop$ dmesg | grep pci
[ 0.270194] of_get_named_gpiod_flags: parsed 'gpio' property of node '/vcc3v3-pcie-regulator[0]' - status (0)
[ 0.270341] vcc3v3_pcie: no parameters
[ 0.270373] reg-fixed-voltage vcc3v3-pcie-regulator: vcc3v3_pcie supplying 0uV
[ 0.366993] rockchip-pcie f8000000.pcie: GPIO lookup for consumer ep
[ 0.367002] rockchip-pcie f8000000.pcie: using device tree for GPIO lookup
[ 0.367027] of_get_named_gpiod_flags: parsed 'ep-gpios' property of node '/pcie@f8000000[0]' - status (0)
[ 0.367262] rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply from device tree
[ 0.367273] rockchip-pcie f8000000.pcie: Looking up vpcie3v3-supply property in node /pcie@f8000000 failed
[ 0.367286] rockchip-pcie f8000000.pcie: no vpcie3v3 regulator found
[ 0.367858] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply from device tree
[ 0.367868] rockchip-pcie f8000000.pcie: Looking up vpcie1v8-supply property in node /pcie@f8000000 failed
[ 0.367878] rockchip-pcie f8000000.pcie: no vpcie1v8 regulator found
[ 0.368435] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply from device tree
[ 0.368444] rockchip-pcie f8000000.pcie: Looking up vpcie0v9-supply property in node /pcie@f8000000 failed
[ 0.368453] rockchip-pcie f8000000.pcie: no vpcie0v9 regulator found
[ 0.910817] rockchip-pcie f8000000.pcie: PCIe link training gen1 timeout!
[ 0.911459] rockchip-pcie: probe of f8000000.pcie failed with error -110
[ 1.053521] ehci-pci: EHCI PCI platform driver
[ 1.068234] ohci-pci: OHCI PCI platform driver
ls /dev/block/
179:0 179:1 179:2 179:3 179:32 179:4 179:5 179:6 179:64 179:96 1:0 1:1 1:10 1:11 1:12 1:13 1:14 1:15 1:2 1:3 1:4 1:5 1:6 1:7 1:8 1:9 254:0 7:0 7:1 7:2 7:3 7:4 7:5 7:6 7:7
Will this work if I get your m.2 to SATA connector? http://shop.t-firefly.com/goods.php?id=52 The only reason I didn’t get that one was that shipping was expensive.
rk3399 only support nvme ssd..
rk3399 only support nvme ssd..
…ok - why then is Firefly selling a SATA adapter? http://shop.t-firefly.com/goods.php?id=52
Just to note, Firefly’s M.2-Sata adapter works nicely with my 2.5" harddrive here. I’m of course working with a mainline kernel, but remember even the vendor kernel that was on the board before did recognize the harddrive with the adapter.
Also the actual sata support seems to be sitting on the adapter board, as there is that unlabeled 48-pin IC on it, which according to lspci is a
01:00.0 IDE interface: ASMedia Technology Inc. ASM1061 SATA IDE Controller (rev 02)
So you’re using the adapter from the Firefly shop? Also, what instructions do you use to build a normal kernel?
Correct, the adapter from the shop. The firefly devicetree will make its way into kernel 4.13, so some time next week take linux-next, the arm64 “defconfig”, enable rockchip pcie options (ip block and phy I thing) and just build a kernel using your favorite arm64 cross compiler.
You might also want to drop the vendor uboot and move the something resembling mainline. Rockchip arm64, atf and firefly patches are still in-flight, so I’ve collected the necessary things and am using https://github.com/mmind/u-boot-rockchip/commits/tmp/rk3399-firefly right now. With that you can just use extlinux to boot things from usb-devices, emmc or whatever.
Heiko!
Can I start building https://github.com/mmind/linux-rockchip/tree/tmp/rk3399-firefly in the interim before the changes are in linux-next?