NanoPi M4 V2 - M4 Image not working


NicoD

Recommended Posts

58 minutes ago, Matthias said:

Don't worry. I remember darkly that when I tested it one month ago the legacy kernel was good at receiving and bad at sending while the current kernel was cood at sending and bad at receiving.

@Matthias the original issue with tx_delay/rx_delay (as tested with iperf) was fixed in all kernels back then.

The issue with tx programmable buffer length that exhibited itself with Samba is fixed only in 5.x for now.

Link to post
Share on other sites
Donate and support the project!

41 minutes ago, Nobby42 said:

Hi,

I have had formative experience with the NanoPI M4v2..
First, you need a real power supply. The Rasbberry 4 power supply for example breaks down when using a NMVe and a SSD, at high load, to below 5V (approx. 4.8V - 4.7V).
2. the CPU frequency. I think the 1.5/2Ghz is too much. I have had several crashes. For example the NanoPi crashes when transferring large amounts of data, sometimes processes (kworker, sshd, ...) just crashed and sometimes the NanoPi just stopped. Since I use the frequency to 1.4/1.8Ghz and a similar power supply, it looks like the NanoPI runs stable with NMVe and USB SSD.  Currently I am using the NanoPi as a file server, MQTT Broker and nextcloud server and haven't had any crashes for 4 days.

 

 

With the 5.x kernel by default the CPU seems to upscale up to 2.02GHz, with the 4.x kernel it only goes up to 1.8Ghz. If I understood you correctly, you think that since my 5.x kernel uses a higher clock it just crashes due to lack of power. That's interesting and would mean that the new kernel isn't broken at all. It would also explain why it reboots without logs.

 

What power supply are you using? and what would you recommend to run at 2.2 without crashes?

 

What do you think about this @piter75?

Link to post
Share on other sites
2 hours ago, TCB13 said:

With the 5.x kernel by default the CPU seems to upscale up to 2.02GHz, with the 4.x kernel it only goes up to 1.8Ghz. If I understood you correctly, you think that since my 5.x kernel uses a higher clock it just crashes due to lack of power. That's interesting and would mean that the new kernel isn't broken at all. It would also explain why it reboots without logs.

 

What power supply are you using? and what would you recommend to run at 2.2 without crashes?

I didn't observe any crashes because of high load but what I encountered when compiling code were messages on the console indicating (indirectly) that there is something odd with the CPU (sorry, I don't remember the text). I tried to fix that using more powerful power supply, but that did not help. Not even the 12V supply via the SATA-hat. What did help was setting the governor for the CPU frequency to "conservative". Since I did that, I never got any strange messages anymore. So my conclusion was, that the board might have problems handling spikes or large changes in power consumption.

But of course, that's not a prove against crashes...

Link to post
Share on other sites
6 hours ago, TCB13 said:

 

With the 5.x kernel by default the CPU seems to upscale up to 2.02GHz, with the 4.x kernel it only goes up to 1.8Ghz. If I understood you correctly, you think that since my 5.x kernel uses a higher clock it just crashes due to lack of power. That's interesting and would mean that the new kernel isn't broken at all. It would also explain why it reboots without logs.

 

What power supply are you using? and what would you recommend to run at 2.2 without crashes?

 

What do you think about this @piter75?

It was the same with me, too. CPU message on the console and nothing works. I use the 5.4.8 kernel.
Currently I use a power supply with 5.3V/4A on pin4/6

https://www.amazon.de/gp/product/B01HRR9GY4/ref=ppx_yo_dt_b_asin_title_o06_s00?ie=UTF8&psc=1

But I'm not entirely satisfied with that either.

I am currently preparing a rack mounting of the NanoPi and will then use this power supply.

https://www.meanwell.com/webapp/product/search.aspx?prod=RS-25

That's stable at 5A.

Link to post
Share on other sites
9 hours ago, Nobby42 said:

I think the 1.5/2Ghz is too much. (...) Since I use the frequency to 1.4/1.8Ghz and a similar power supply, it looks like the NanoPI runs stable with NMVe and USB SSD.  (...) haven't had any crashes for 4 days.

 

8 hours ago, TCB13 said:

With the 5.x kernel by default the CPU seems to upscale up to 2.02GHz, with the 4.x kernel it only goes up to 1.8Ghz. If I understood you correctly, you think that since my 5.x kernel uses a higher clock it just crashes due to lack of power.

 

5 hours ago, Matthias said:

What did help was setting the governor for the CPU frequency to "conservative". Since I did that, I never got any strange messages anymore.

These are all interesting finds, especially the impact of "conservative" governor. You may have just nailed it. I am eagerly looking forward for your stability results after longer runtime period.

We cannot rule out the fact that the batch of cpus that got into M4V2 is simply of a bit worse bin and they cannot cope well with either 2GHz (big) or 1.5GHz (LiTTLE).

 

It will need some more testing but if it is stable then we could probably disable the overclocking and provide an overlay for everyone who wants to verify their luck at the cpu lottery ;-)

To try current kernel with 2.0/1.5 disabled one can build the image from this branch: https://github.com/armbian/build/tree/rk3399-disable-overclocking or download precompiled minimal buster image built from it: https://drive.google.com/open?id=1vgG5krvkhpEnm1oPmvQSvmuoG_hvLd9-

Link to post
Share on other sites

Just did some copying of files using kernel 4.4.210: I copied around about 15GB of random data and about the same amount of other data (videos) on a ZFS-volume. Also copied about 5GB of data from SD to the ZFS-volume. MD5-checks indicate that there has not been any data corrupted. Cpufreq shows the maximum allowed frequency of the CPUs is 1.42/1.8GHz. So the combination of kernel 4.4.x and "low" CPU frequency seems to do the trick.

I'll try again with a 5.4.x-kernel and throttled CPUs.

Link to post
Share on other sites

And repeated the copying with kernel 5.4.11. The CPU frequencies were limited in the sysfs (govenor "conservative", scaling_max_freq) to 1.42/1.8GHz. I copied 30GB of data to the hard drive (this time BTRFS) and got the first errors (file system repors CRC-errors) while calculating the MD5-sums of the copied files.

My conclusion: No indicators that the CPU-frequency spoils the data, but something seems to be odd with kernel 5.4.x and NanoPi M4V2. Or do you think the frequency needs to be reduced the hard way in the kernel? @piter75

Just noticed I only used the governor "conservative" for the A72, the A53 was set to "on demand". Frequencies were correct. So I need to recall my conclusion. I repeated the test, this time all CPUs were set to "on demand".  And voilà: All data was written correctly. Strange.

I don't have the time right now to go back and repeat the test again with the "on demand" governor to see that the problems appear again, but so far my conclusion is: The NanoPi M4V2 only runs reliable if the CPU frequencies are limited to 1.42/1.8GHz AND the governor is NOT set to "on demand" ("conservate" seems to work).

Link to post
Share on other sites

I played around with setting the governor to "conservative" or "ondemand". Result: "conservative" results in a stable system that allows copying of several GBs of data, "ondemand" results in an unstable system that fails after copying some GBs of data and corrupts its filesystem

I also did a scripted load test that copied 100GB (fast: data source was tmpfs) of data to the hard drives with governor set to "conservative". Result: No reported file system errors and a MD5-sum-check of every file copied to the disks passed successfully. If anybody is interested and likes to repeat that test on his configuration I attached the script. It's currently made for BTRFS. If you are using a different file system, just remove the part with the scrubbing.

load_test.sh

Link to post
Share on other sites
20 hours ago, Matthias said:

I played around with setting the governor to "conservative" or "ondemand". Result: "conservative" results in a stable system that allows copying of several GBs of data, "ondemand" results in an unstable system that fails after copying some GBs of data and corrupts its filesystem

This is good but let's see if it keeps being stable.

I still think that we are covering up for some other issue with this cpu frequency governor behaviour change ;)

Link to post
Share on other sites
On 1/21/2020 at 12:20 AM, justin.wills said:

interesting.  I have my v2 running at 2GHz no problem, running "taskset -c 2-5 xz -T4 -9" on multiple sd image backups from 2-32g

 

it runs for a couple of hours with no errors or perceived problems

 

What kernel are you running?

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...