Fan, thermal throttling not operational in mainline kernel 5.3.0-rc4

I have downloaded the 5.3 kernel Ubuntu Bionic server image from the Firmware page on the Docs server, and found that it does not have fan control or thermal throttling; the chip will happily run up to 100C (I stopped it at 98) and the fan does not operate at any point. Attempting to run complains about missing directory /sys/class/fan.

I ran apt update and distupgrade the very first thing before running the OpenSSL speed test, but the kernel remained the same 5.3.0-rc4.

1 Like

AFAIK, The fan node have to be present in the kernel source, Hyhop have it in his source branch.
I am not sure if the official build have it or not.

Where is their source branch? How difficult would it be to get it upstreamed? If it’s just an entry in the dtb it should be trivial, otherwise it may require additional effort. However, it’s rather critical it be in there, since thermal regulation is also missing from mainline and the chip is more than happy to destroy itself.

I have added the fan script in Manjaro using Balbes Kernel Branch.

But you should follow @hyphop branch as he is maintaining the VIM kernel. He is the right person to advice you.
Here is the link

This is the fan script I used from his source.

I would greatly prefer to run a full, up-to-date mainline kernel and not a legacy/vendor kernel, (no offense to anyone, of course, but mainline support is why I purchased the device); I will look over their tree and see what needs to be done to transfer the fan code to mainline (or request that they attempt to submit the code up to mainline so that it can be in the tree available from

1 Like

I haven’t had a chance to compare between the vendor kernel and mainline, which is now 5.4.0; if anyone else has a bit of time I’d appreciate if anyone could take a look and see why the fan control might be missing (or if it’s been fixed between 5.3.0-rc4 and 5.4.0). Sorry to be a bother!

i2c3 definition is needing for the fan to work.

Please follow @hyphop post here

Also I have tested it myself on Mainline 5.3.0-rc6 with Manjaro and it worked.
Here I had reported it.

Maybe you’re missing the tools needed to make it work.
You need busybox' and 'i2c-tools for it to work.

We’re using this package to add the Fan to work on Temp control.

You can follow this package.


In this topic ask Pro normal (the right) decision. This can only be considered as a temporary solution with potential problems and cannot be used in important systems. The script requires the installation of a bunch of extra software and works at the level of userspace, not at the level of the kernel itself. (adds extra load, may hang at any time, etc.).


Yes this is right. This is just a workaround. Will need help from Pro Developers to update the dtb for vim in mainline.

It would be helpful for me and Manjaro team if you can update your branch to 5.4.0.

Thank You.

Do we have any updates on this? Kind of annoying to have this board sitting to the side because there’s a risk of thermal runaway destroying the SoC. Even if there’s just a way to force the fan on full, that would be adequate as a temporary solution, because I don’t want to run this again passively.

There is a workaround as mentioned above. I have used it for building kernels on VIm3 with j6.

Never had any issue with thermals.

IDK what you’re trying to achieve here.

The SOC might get stressed but there should be no issue with self destruction since it has built in thermal throttling.