Set CPU clock speed to 2GHz

Does anyone have a Suggestion?

cpupower frequency-info
...
  hardware limits: 480 MHz - 1.80 GHz
....

Somebody locking 2GHz frequency… CPU Budget cooling, or what ever. More Investigation required. I spend the whole weekends and didn’t find anything related to this problem…

I want to know the same thing. I have heat-sink and cooling fan installed. ready for 2Ghz, but no way to set it.

Why don’t you ask for a refund? The board has been advertised as being capable of 2 GHz cpufreq but the vendor neither provides software settings nor support for this.

Hi, Here is my vf_table. You see, it works. Regards

[quote]

[dxfs_table] vf_table_count = 3

[vf_table0] L_max_freq = 2016000000 L_boot_freq = 1800000000 L_min_freq = 480000000 L_LV_count = 8 L_LV1_freq = 2016000000 L_LV1_volt = 1080 L_LV2_freq = 1800000000 L_LV2_volt = 1000 L_LV3_freq = 1608000000 L_LV3_volt = 920 L_LV4_freq = 1200000000 L_LV4_volt = 840 L_LV5_freq = 0 L_LV5_volt = 840 L_LV6_freq = 0 L_LV6_volt = 840 L_LV7_freq = 0 L_LV7_volt = 840 L_LV8_freq = 0 L_LV8_volt = 840 B_max_freq = 2016000000 B_boot_freq = 1800000000 B_min_freq = 480000000 B_LV_count = 8 B_LV1_freq = 2016000000 B_LV1_volt = 1080 B_LV2_freq = 1800000000 B_LV2_volt = 1000 B_LV3_freq = 1608000000 B_LV3_volt = 920 B_LV4_freq = 1200000000 B_LV4_volt = 840 B_LV5_freq = 0 B_LV5_volt = 840 B_LV6_freq = 0 B_LV6_volt = 840 B_LV7_freq = 0 B_LV7_volt = 840 B_LV8_freq = 0 B_LV8_volt = 840

[vf_table1] L_max_freq = 2016000000 L_min_freq = 480000000 L_LV_count = 8 L_LV1_freq = 2016000000 L_LV1_volt = 1080 L_LV2_freq = 1800000000 L_LV2_volt = 1000 L_LV3_freq = 1608000000 L_LV3_volt = 920 L_LV4_freq = 1200000000 L_LV4_volt = 840 L_LV5_freq = 0 L_LV5_volt = 840 L_LV6_freq = 0 L_LV6_volt = 840 L_LV7_freq = 0 L_LV7_volt = 840 L_LV8_freq = 0 L_LV8_volt = 840 B_max_freq = 2016000000 B_min_freq = 480000000 B_LV_count = 8 B_LV1_freq = 2016000000 B_LV1_volt = 1080 B_LV2_freq = 1800000000 B_LV2_volt = 1000 B_LV3_freq = 1608000000 B_LV3_volt = 920 B_LV4_freq = 1412000000 B_LV4_volt = 840 B_LV5_freq = 0 B_LV5_volt = 840 B_LV6_freq = 0 B_LV6_volt = 840 B_LV7_freq = 0 B_LV7_volt = 840 B_LV8_freq = 0 B_LV8_volt = 840

[vf_table2] L_max_freq = -2086967296 L_min_freq = 480000000 L_LV_count = 8 L_LV1_freq = -2086967296 L_LV1_volt = 1080 L_LV2_freq = 2016000000 L_LV2_volt = 1000 L_LV3_freq = 1800000000 L_LV3_volt = 920 L_LV4_freq = 1368000000 L_LV4_volt = 840 L_LV5_freq = 0 L_LV5_volt = 840 L_LV6_freq = 0 L_LV6_volt = 840 L_LV7_freq = 0 L_LV7_volt = 840 L_LV8_freq = 0 L_LV8_volt = 840 B_max_freq = -2086967296 B_min_freq = 480000000 B_LV_count = 8 B_LV1_freq = -2086967296 B_LV1_volt = 1080 B_LV2_freq = 2016000000 B_LV2_volt = 1000 B_LV3_freq = 1800000000 B_LV3_volt = 920 B_LV4_freq = 1368000000 B_LV4_volt = 840 B_LV5_freq = 0 B_LV5_volt = 840 B_LV6_freq = 0 B_LV6_volt = 840 B_LV7_freq = 0 B_LV7_volt = 840 B_LV8_freq = 0 B_LV8_volt = 840

[/quote]

Nope, idling at 2.016 GHz is one thing, working reliably under full load another (1080mV might be not enough for this clockspeed, due to overheating I haven’t been able to test this out when I unlocked the 2 GHz back in Dec 2015 so my simple conclusion was: allow 1.8 GHz max and accept that this clockspeed can’t be reached anyway since DC-IN/temperatures prevent that).

Ich schreibe dir mal auf Deutsch zurück.

Ich habe einen 5v Lüfter montiert und steuere den über ein bash Script. Er geht bei einer Temperatur von über 55grad Celsius an und läuft bis die Temperatur bei 45 liegt. Mit 2ghz läuft der m3 stabil. Zumindest für meine Anforderungen. Habe ihn einen Stresstest unterzogen:

root@bananapi:~# sysbench --test=cpu --cpu-max-prime=100000 run --num-threads=8

Bei diesem steigt die Temperatur auf 73 ( allerdings schaltet er dann bei 61grad auf 1,8ghz) und bleibt dort stabil bis zum Ende. Ich denke also, dass es ok ist und stabil läuft. Ich bin mir bewusst, dass es nicht das beste Board ist, aber habe es leider erst zu spät bemerkt. Bei mir läuft FHEM mit tabletUi, ein Cups printserver und der Rygel Mediastreamer. Hätte gerne noch eine Digital-Out über HDMI, aber da muss ich wohl noch lange warten. Deine Infos wären bisher übrigens immer recht hilfreich.

Ps: habe meine SATA Festplatte angeschlossen und bin auch mit der Geschwindigkeit zufrieden. Es reicht allemal wenn man keine riesigen Datenmengen transferieren muss.

Danke für deinen Kommentar.

This is not a heavy workload enough and the results are worthless anyway since throttling already occurs. In other words: You did not test whether A83T with just 1080mV will work reliable at above 2.0GHz :slight_smile:

If you love bit flips, data corruption and the like then this is an option. If you want to stay save better refrain from using potentially unreliable and untested settings. It’s possible to test such stuff but I doubt with BPi M3 since overheating is too much of an issue:

Sorry, but my english isn’t good enough to understand completely what you say. I have tested one oft the things you show me.

Here is the result.

[quote] [/quote]

The cup temp is stable around 53degrees

Which means you just ran the check script but not cpuburn-a7 in parallel (which is a requirement since the whole idea of reliability testing is to heat up the SoC as much as possible and then start to check for bit flips). You will have problems doing this right even with 1.8GHz and 2.0 might need liquid cooling.

And while I don’t care that much about overclocking fans who are happy to fool themselves it should be noted to anyone else who stumbles accross this thread: Don’t try to use 2.0GHz with A83T especially with potentially undervolted VDD_CPUX settings. Test it before. And you won’t be able to test since A83T overheats too much.

It’s as with the H3 SoC. In the beginning everyone (even the vendor of H3 boards) said we’re talking about a Soc ‘capable of running up to 1.6 GHz’. Now everyone accepted that it’s 1.2/1.3 GHz in reality.

With A83T it will just take some time and responsible vendors already speak about ‘octa-core @ 1.6 GHz’: https://www.indiegogo.com/projects/a02-remix-os-octa-core-computer-stick-by-meegopad#/

I have run parallel sysbench and cpu-burn

Here is the result

For me it is ok. It’s possible that for a professional is not enough or the board is a big fail. For my requirements it is ok.

Nice. But…

  • this has nothing to do with reliability testing (since you have to run cpuburn-a7 together with the test tool to detect undervoltage. Or Linpack since this alone is heavy enough). So all you did was demonstrating how badly A83T is overheating even with fan since your graphs show that clockspeed even decreased 500MHz
  • And this shows how absurd the attempt to overclock BPi M3 is. Since you might be able to run the SoC at 2.0GHz when it’s doing nothing. But as soon as something’s to do the clockspeed decreases dramatically due to throttling

Combine both and you get the idea that unlocking the 2.0GHz has no real benefit (except of wasting a little more energy and heating the SoC up for no reason when you use performance governor) but instead might affect reliability and increases the chance of stability issues and/or data corruption (since with your settings you clearly undervolt the SoC at 2.0 GHz). Combine this with all the real existing stability issues BPi M3 already has (Micro USB for DC-IN) and it just looks like a bad idea (limiting max cpufreq to something lower would be the better idea)

Well, if the only reason to unlock 2 GHz is to gain some street credibility (“my board clocks higher than yours!”) then this is totally ok :wink:

But in case you want to benefit in any real world situations from the 2GHz the only situations would be short load peaks where you gain not even 5 percent. If this would be accompanied by save/tested VDD_CPUX voltage settings, everything would be ok. But it’s not (and I write this mainly for others who have the same idea to just increase some values here and there and then think they would be fine – they’re NOT without testing)

And regarding any normal real world performance scenarios it simply doesn’t matter if you unlocked the 2GHz or not since you won’t be able to benefit from anyway. Since throttling is the issue and no real workload will be able to run at 2GHz clockspeed (unless you apply liquid cooling). To give you an idea (did this testing a while ago): https://www.phoronix.com/forums/forum/hardware/general-hardware/856212-raspberry-pi-3-benchmarks-vs-eight-other-arm-linux-boards?p=857160#post857160

that was not what I intended, but certainly good to know for other user.

with these lines change: [vf_table1] L_max_freq = 2016000000 L_min_freq = 480000000 L_LV_count = 8 L_LV1_freq = 2016000000 L_LV1_volt = 1080 L_LV2_freq = 1800000000 L_LV2_volt = 1000 L_LV3_freq = 1608000000 L_LV3_volt = 920 L_LV4_freq = 1200000000 L_LV4_volt = 840 L_LV5_freq = 0 L_LV5_volt = 840 L_LV6_freq = 0 L_LV6_volt = 840 L_LV7_freq = 0 L_LV7_volt = 840 L_LV8_freq = 0 L_LV8_volt = 840 B_max_freq = 2016000000 B_min_freq = 480000000 B_LV_count = 8 B_LV1_freq = 2016000000 B_LV1_volt = 1080 B_LV2_freq = 1800000000 B_LV2_volt = 1000 B_LV3_freq = 1608000000 B_LV3_volt = 920

I can set CPU at 2Ghz now, but it will not increase performance. Because L_LV1_volt = 1080 is the same value for 1.8Ghz which formerly used. When I do Geekbench test, it jump back to 1.8Ghz or lower

So, if we want “real” 2Ghz, we need to give L_LV1_volt a little higher value than 1080.

But what will be the safe value to do the real overclock but not burn BPI-M3?

1 Like

L_LV1_freq = 2016000000 L_LV1_volt = 1160 L_LV2_freq = 1800000000 L_LV2_volt = 1080 L_LV3_freq = 1608000000 L_LV3_volt = 1000 L_LV4_freq = 1200000000 L_LV4_volt = 920

Anyone is brave enough to try?

That’s not the reason. There are certain aspects and some of them are related. You need higher VDD_CPUX at higher clockspeeds. The higher VDD_CPUX --> the higher also the heat emissions. Since A83T is prone to overheating: the higher VDD_CPUX --> earlier throttling.

So without understanding the relationship between clockspeed, VDD_CPUX (high enough to ensure reliability, low enough to not increase heat too much) and temperatures you can’t tune anything. And without something like RPi-Monitor drawing nice graphs you’re lost anyway:

http://kaiser-edv.de/tmp/4U4tkD/install-rpi-monitor-for-a83t_h8.sh

TL;DR: BPi M3 can not be ‘overclocked’ without liquid cooling. Without a heatsink this device is limited to 1.2GHz, with heatsink and much airflow 1.6Ghz is possible. Everything known since 1st devices have been delivered half a year ago:

http://linux-sunxi.org/Banana_Pi_M3#Thermal_behaviour

The only ‘overclocking mode’ that works is the absolute moronic one: 2.0 GHz when the device is idle, but way below when it’s busy and higher clockspeeds would be needed (that’s what you get with all the settings above)

Eventually this helps

https://www.google.de/url?sa=t&source=web&rct=j&url=http://dl.linux-sunxi.org/A83T/A83T_datasheet_Revision_1.1.pdf&ved=0ahUKEwip2ZmNwaTNAhXFFZoKHaKzAKsQFggmMAI&usg=AFQjCNG-2XI0jR0psuOaQc-LF2P3Un2_Lw&sig2=DHlJfyqzS96OHLEzfIePBA

Regards

Absolute maximum ratings for VDD_CPUX are 1300mV (for example: For H3 the datasheet claims that the absolute maximum is 1.5V but VDD_CPUX should not exceed 1400mV under normal conditions).

Based on that one could assume that getting close to 1200mV should be ok on A83T. But that’s just absurd since the SoC already starts to insanely overheat already when fed with 1000mV. Then it’s quite normal that you get tested/recommended values not from the datasheet but from comments in Allwinner’s BSP. In our case that means:

In other words: Allwinner says feeding just 1000mV should be ok up to 1800MHz and 1080mV should be used above :wink:

And now comes the interesting part: How to verify at which voltage / clockspeed combinations A83T works reliable? That’s easy up to 1600MHz since here you can test the whole thing under ‘worst case conditions’ that are necessary since otherwise you’re testing wrong. But exceeding these 1600MHz will be hard since when you do serious testing the SoC will either throttle down or you have to increase the trip points accordingly: Please keep in mind that throttling starts when the internal thermal sensor reaches just 65°C:

So to test higher clockspeeds, the trip points have to be increased a lot. Then to prevent throttling jumping in too early the dvfs operating points have to be decreased step by step until reliability is concerd (bit flips being reported). We (linux-sunxi community) went through this process for A83T’s siblings H3 and A64 already. And anyone interested in better performance with BPi M3 can do the same. But when you do testing seriously then you will waste a lot of time and will end up with the conclusion that A83T is a ‘1.6GHz SoC’ since higher clockspeeds would require liquid cooling or annoying fans.

And the most important thing to understand: Overclocking is a nice try when you want to do numbercrunching on an SBC (which is somewhat weird though) but it’s soooo useless when it’s about real world performance since there other settings and performance metrics matter way more. So by being focused on higher CPU clockspeeds instead of things like random IO performance, IRQ distribution accross different CPU cores, improved scheduler and kernel settings you simply gain nothing.

Good point and well stated.

I notice throttling during Geekbench testing. That seems normal in all SBC

Comparing with my Odroid XU4 which is based Samsung Exynos5422. A83T CPU speed is really not a big concern. But the LDDR3 speed is very slow in BPI-M3. it drags the whole benchmark down!