Disable Scale down CPU clock speed

Hi team. I buy a bpi-m3 for my project and I have some issue. In kernel 3.4 when I test sysbench with CPU freqency is 1.8 GHz, I see that frequency of CPU is decreased depend on temperature of A83T (1.6GHz, 1.2GHz…v.v). In my project I need Bpi-M3 always run with 1.8GHz to ensure that CPU handle fastest. Can you give me some method to prevent the decreasing clock speed of A83T…?. thank you very much !.. Sorry my english is not well.

You should do some research before you buy a device next time.

You could change THS/cooler_table values which will destroy A83T under heavy load due to overheating. Operating BPi M3 in full load situations without liquid cooling is impossible.

Have a look how responsible vendors deal with overheating SoCs (look at the mounting holes on the SBC and the large heatsinks Hardkernel used on ODROID C1/C2 for example)

In other words: You bought the wrong device for your use case :slight_smile:

Thank for your reply… My leader bought it. before I use odroid xu4 in my project but have some change in designed so we use Bpi-M3. Yes I see the cooler table values but when I change the values of ths_trip1_0 ,ths_trip1_2 ,…, ths_trip5, Ii still not change. Do need to I complie my kernel for Bpi-M3 ?..

If you use any of the more recent OS images you can use bin2fex/fex2bin to exchange script.bin contents. I won’t tell you exactly since what you’re trying to do (disable throttling) might damage A83T permanently (you might find instructions somewhere here in the forums, the @sinovoip support muppet posted an article containing partially wrong information some time ago)


TL;DR: Wrong device.

Yes, I know it will damage A83 chip. But I will have a method to decrease temperature of board such as include Fan for it. I only want Bpi-M3 not change CPUfreq when temperator change to limit of ths_trip1_0, ths_trip1_1… Because in my project temperator of CPU about 80-90 not include fan…

Well, if you know what you’re doing then look through this here: [BPI-M3] how to use fatload uEnv.txt & script.bin & kernel uImage

(I find it close to unbelievable that @sinovoip thinks this would be appropriate documentation). You find script.bin somewhere on the 1st partition of their OS images (of course not at the usual location) and maybe they include bin2fex/fex2bin also in their bloated OS images.

If not then on Debian ‘apt-get install sunxi-tools’ might help or you compile it yourself: https://github.com/linux-sunxi/sunxi-tools

Yes… Thank you very much . I will test it.You saved me some days… Thank you again…

You’re welcome. Please report back how things evolve since I really doubt that it’s possible to let A83T run constantly at 1.8GHz. In my opinion we should consider A83T an 1.6Ghz SoC (don’t trust in the stuff ‘Team BPi’ is telling – they never test their hardware regarding full thermal/load situations, when you rely on their THS settings your octa-core A83T will be most of the times a quad-core SoC since their THS settings prefer killing of CPU cores instead of throttling. They simply don’t care about import stuff like that)

Maybe also interesting: Set CPU clock speed to 2GHz

Yes. I see. When Bpi-m3 reach to hight temperature about 85 oC it will auto kill some CPU to decrease temperature. It not good for me. My Octa-core A83T alway run constanty at 1.6 GHz. How do you setting for it run constanty at 1.8 GHz ?..

You can tweak the THS settings that CPU cores aren’t killed but then throttling has to occur a lot earlier. So there are no settings for running ‘constanty at 1.8 GHz’ at all 8 CPU cores unless – I think I repeat myself – you use liquid cooling. :slight_smile:

This is just another of the many design flaws of this board. Such an insanely overheating SoC on a board without mounting holes for a huge heatsink --> design failure. But the vendor does not care, they do not even take care that killed CPU cores come back when temperatures are ok again later.

If they would care they could include this simple script I adopted for H3 devices (same kernel, same behaviour) a while ago (has to be extended to 0 - 7 of course) to be part of every OS image they provide. But they simply don’t give a sh*t whether you’re running on 8 or 4 or even less cores.

BTW: Since you want to push the envelope installing RPi-Monitor might be a good idea. I also provided a script for this but currently there’s something broken in the original github repo so some minor tweaks are necessary: http://forum.armbian.com/index.php/topic/1070-install-to-emmc/?view=getlastpost