Manjaro ARM for the VIM3

First i need to understand which config is needed in kernel config to make the linux kernel detect the nvme drive once we can see the drive then we can look into the booting side of it.

Update: Bought an nvme 256gb by kingston a2000 and it doesn’t seem to detect on Manjaro even when using mainline kernel.

@hyphop or @frank can you share which kernel config is needed for m2 to work on mainline?
As you said the dtb have m2 support already then please share what module is needed to get it to work.

Thanks.

Update: I found something on Kernel side which I remember now that USB3 and M2 PCIE is muxed.

So we need to enable kbi or something to make it use pcie instead of the usb3 connector.
Or patch this dts by uncommented those lines.

I also see a patch for pcie in fenix git. @numbqq can you help me understand why 0092-VIM3-hack-for-PCIe.patch is needed?

1 Like

The PCIe/USB3 switch can be accessed from the command line as shown in Khadas Docs.

2 Likes

Thanks @RDFTKV This helped but not without a custom dtb with pcie enabled.
Finally I can see it visible in lsblk

What is needed:

  1. Enable kbi to PCIE Mode using this guide.
  2. Change dtb to pcie enabled version which I build, Will share the dtb here later.

Add-pcie-vim3-makefile.patch

meson-g12b-a311d-khadas-vim3-pcie.dtb

Try this dtb and also change it to pcie using uboot kbi steps.

There seems to be some problem when using NVME,
When NVME is being used the screen would keep flickering and glitching all the time. without the nvme it will not do this.

3 Likes

Hello, @Spikerguy

Thank you for great work!
I can check it tomorrow.
PCIE mode is switched on with Krescue in kbi settings.

Should I only add meson-g12b-a311d-khadas-vim3-pcie.dtb to dtbs and change it in
extlinux.conf?
Or do I also need to apply Add-pcie-vim3-makefile.patch?

Please also find here how this PCIE-USB3 switch is made in Khadas Ubuntu 4.9 and 5.7
I hope it will be useful.
https://yadi.sk/d/5Cr8sSnemnxxAQ

And there are also some NVME related files in the same folder
https://yadi.sk/d/ZxBfjJLYbkKWpw?w=1

If it helps I can also check the other configs.

2 Likes

Yes just paste meson-g12b-a311d-khadas-vim3-pcie.dtb in /boot/dtbs/amlogic/
replace meson-g12b-a311d-khadas-vim3.dtbto meson-g12b-a311d-khadas-vim3-pcie.dtb in extlinux.conf

Update: I have switched to Mainline Kernel and I cannot get the Fan to work @numbqq or @hyphop any advice on fan for mainline kernel ?

2 Likes

The FAN driver merged long time ago, it should work.

Yes I was aware of the MCu driver added to upstream kernel

Tripping point at 80°C is too high.
Will have to set it to 60.

Thanks its working fine now.

@numbqq any advice on this? I am using Kingston A2000 256gb nvme and I tried to use khadas official psu to Power up the vim3 I thought it was power draw issue but it is now I have tested the power draw and it’s not going above 0.7amp which makes me think that nvme is pulling alot of power and causing the screen to flicker constantly.


This is the power draw during nvme write process.

Are you using Khadas 10w or the 24w USB-C power supply? Your tester shows only 5 volts. You might be looking at a power starvation issue if only 5 volts is supplied to the VIM3.

5V should work stable, the output is max 3A, 12V@2A is still enough I think

I am using the official one provided by khadas with usb-c port which have all the needed power output and I suppose its 24w.

I am not sure why it is not pulling more power instead of starving the board.

Even I am confused about this behavior.

As the Khadas 24W(USB-C) is a PD type power supply, I would assume it will let the VIM3 take what it needs. If I recall accurately (?), the VIM3 defaults to 12v for PD negotiation. I am curious why your tester only shows 5v.
I have an NVMe drive on the VIM3 using the original M2X expansion board. It is powered by the Khadas 24W PS, I have not checked it’s voltage output. I have not noticed flicker when writing to the drive. I will pay closer attention next time I write to it.

1 Like

I agree, though it may depend on connected devices on USB, PCIe and/or GPIO.
12V@2A should be sufficient.

1 Like

There seems to be some problem when using NVME,
When NVME is being used the screen would keep flickering and glitching all the time. without the nvme it will not do this.

[NVMe Tuning](PINE64 › Pinebook Pro › Pinebook Pro Hardware and Accessories › NVMe Tuning)

I’m not sure that it will help but possibly it makes sense to look at this thread as they discuss nvme settings to decrease SSD power use.

And I checked my board with new meson-g12b-a311d-khadas-vim3-pcie.dtb but unfortunately no differences. My nvme ssd is still not visible in Manjaro. :pensive:
And it works in Ubuntu with kernel 4.9 and works with errors with 5.7
And only if I put it directly into pcie slot.
It doesn’t work at all if connect it with M2X board (new cheaper version).

Here discussion is to reduce the draw as it is a mobile device, while in my situation it is about "Why it is not drawing more when the psu is capable to push more power maybe the board is not understanding that there is a need for more power?? IDK I am not an expert on this.

I can see it when using pcie dtb and also enabling pcie in kbi.

I think your M2X is not working.

Did you make it enabled from within Manjaro? Or it doesnt matter and can be done separately, for example with KBI state switch in Krescue like in my case? I switched it to pcie by Krescue and it works in Ubuntu SD firmwares but doesnt work in Manjaro. Maybe the reason is that I load it from sd card while you start it form emmc?

No idea but make sure before you boot into manjaro you enter uboot cli and switch it to pcie and use pcie dtb.

1 Like

Manjaro ARM 20.12 released for Vim3

6 Likes

hi @Spikerguy
what about build for VIM3L ? ( VIM3 image must same works for VIM3L ?)

No i have not got vim3l to boot pass starting kernel..

Most likely missing kernel config for sm1 boards.