Pi 5 fan activation bracket [SOLVED]

March 24, 2024, 22:30

k9t33n

How can I lower the pi 5 active cooler fans activation bracket? Not sure if it's British temperature but my pi idles at about 45°C and only just about reaches the first bracket at full throttle. To get that little bit more out of my pi and prevent the die from breaking from too much thermal changes how can I lower this temp and/or keep the fan on constantly. For whatever reason the option isn't in sudo raspi-config like temp control is for the pi 4.

illegitimate_egg

nice, another brit

k9t33n

Only the best country to exist! 😂

k9t33n

Have any ideas?

justaccsolol

Nah it isn't because ya brit, my pi also run at idle 45-47 even with a fan

illegitimate_egg

I'm looking at the docs

k9t33n

Yeah pretty much searched them

k9t33n

Don't know why they purposely avoided this

illegitimate_egg

I don't have a pi 5 check

illegitimate_egg

but where do the fan connector traces actually go?

k9t33n

You want me to look?

illegitimate_egg

yeah

k9t33n

Not sure if your in Britain but im in pitch black rn

illegitimate_egg

true

k9t33n

I can check tomorrow

illegitimate_egg

but I also have lights

k9t33n

Lol no I'm sick in bed.

illegitimate_egg

fair enough

k9t33n

Been asleep pretty much the entire day lol. Tomorrow I'll be better and can check

k9t33n

Do you want me to just look where the copper goes?

illegitimate_egg

yeah

k9t33n

Oh not to mention I plan to do some testing with overclocking tomorrow

k9t33n

Will do 🫡

illegitimate_egg

cool

k9t33n

Then you plan to control it directly?

k9t33n

Forgetting fancy raspi-config

illegitimate_egg

well, I plan to work out what's driving it

illegitimate_egg

bad news

k9t33n

Ah ok

k9t33n

Yes?

illegitimate_egg

"Both of the available official accessories are actively managed by Raspberry Pi firmware. As the temperature of the Raspberry Pi increases, the fan reacts in the following way:"

illegitimate_egg

firmware

illegitimate_egg

not software

illegitimate_egg

the bios manages the fan speed

k9t33n

Oh

illegitimate_egg

so you'd need to make a custom firmware image

k9t33n

I do not wanna do that

illegitimate_egg

though

illegitimate_egg

you do get a dt overlay for it

k9t33n

Too much work and I don't have two different boot devices. The current one I have is used as my Nas with too many files I don't wanna lose

k9t33n

How difficult is that?

illegitimate_egg

no at all because it gives it to you

illegitimate_egg

the difficult part is making use of it

illegitimate_egg

I'm looking into it

k9t33n

I'm gonna commit a GitHub request for this feature

k9t33n

illegitimate_egg

this is compiled

illegitimate_egg

I'm looking for the source

illegitimate_egg

but this part of it is licensed under GPL

illegitimate_egg

so it should be available

illegitimate_egg

its possible to check if you have a pi 5 without having to find the source

illegitimate_egg

I just don't have a pi 5

k9t33n

I'm confused. Explain to me like I'm 5

illegitimate_egg

dt overlay could give you control

k9t33n

Why would you want to check if I have a pi 5?

k9t33n

I know I have a pi 5

illegitimate_egg

so that I can find if the dt overlay will give you that control

illegitimate_egg

and if so how to control it

k9t33n

But why would that require you checking if I have a pi 5? I don't know why I'm stuck on this tbh

illegitimate_egg

because

illegitimate_egg

I don't like debugging by telling people to do things and trying

illegitimate_egg

I like to solve the problem, then tell them the solution

k9t33n

I get that

k9t33n

I attempt to solve stuff on my pi first too

illegitimate_egg

so

illegitimate_egg

the overlays I can find are compiled

illegitimate_egg

so I can't read them

illegitimate_egg

but the pi can

illegitimate_egg

but I don't have the pi

k9t33n

How would I share you my terminal?

illegitimate_egg

hang on hang on

illegitimate_egg

there's a readme

illegitimate_egg

with a list of parameters

k9t33n

Ok nice

illegitimate_egg

uh

illegitimate_egg

the cooling fan appears to just be a boolean

illegitimate_egg


illegitimate_egg

AH

illegitimate_egg

I've found it

illegitimate_egg

        fan_temp0               Temperature threshold (in millicelcius) for
                                1st cooling level (default 50000). Pi5 only.
        fan_temp0_hyst          Temperature hysteresis (in millicelcius) for
                                1st cooling level (default 5000). Pi5 only.
        fan_temp0_speed         Fan PWM setting for 1st cooling level (0-255,
                                default 75). Pi5 only.
        fan_temp1               Temperature threshold (in millicelcius) for
                                2nd cooling level (default 60000). Pi5 only.
        fan_temp1_hyst          Temperature hysteresis (in millicelcius) for
                                2nd cooling level (default 5000). Pi5 only.
        fan_temp1_speed         Fan PWM setting for 2nd cooling level (0-255,
                                default 125). Pi5 only.
        fan_temp2               Temperature threshold (in millicelcius) for
                                3rd cooling level (default 67500). Pi5 only.
        fan_temp2_hyst          Temperature hysteresis (in millicelcius) for
                                3rd cooling level (default 5000). Pi5 only.
        fan_temp2_speed         Fan PWM setting for 3rd cooling level (0-255,
                                default 175). Pi5 only.
        fan_temp3               Temperature threshold (in millicelcius) for
                                4th cooling level (default 75000). Pi5 only.
        fan_temp3_hyst          Temperature hysteresis (in millicelcius) for
                                4th cooling level (default 5000). Pi5 only.
        fan_temp3_speed         Fan PWM setting for 4th cooling level (0-255,
                                default 250). Pi5 only.

illegitimate_egg

so in config.txt you could put
...
dtoverlay=fan_temp0,40000

illegitimate_egg

and it would start the fan at 40 degrees

illegitimate_egg

<@1071178789939331253> solved

k9t33n

Nice

k9t33n

Can I change the rest? Or would that also change the rest of the brackets?

illegitimate_egg

yeah

illegitimate_egg

you can change the rest

k9t33n

So if I want to put every bracket down by 10° how would that look?

illegitimate_egg

uhh

illegitimate_egg

hang on

illegitimate_egg

this isn't something I've really done before

k9t33n

Yes of course no problem

k9t33n

Glad I could challenge you

illegitimate_egg

ok

illegitimate_egg

so

illegitimate_egg

I got it wrong

illegitimate_egg

but

illegitimate_egg

I know what to do differently

k9t33n

Ok..

illegitimate_egg

this args are all passed to the pi's base dtb

illegitimate_egg

could you send me a copy of config.txt from your pi for reference?

k9t33n

Sure

illegitimate_egg

cheers

k9t33n

My mind isn't working what directory is the config on again? I swear it was just in the .conf Dir

k9t33n

But ls -a isn't picking it up

illegitimate_egg

/boot/firmware

illegitimate_egg

I think

k9t33n

Here ya go
# For more options and information see
# http://rptl.io/configtxt
# Some settings may impact device functionality. See link above for details
# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
# Additional overlays and parameters are documented
# /boot/firmware/overlays/README
# Automatically load overlays for detected cameras
camera_auto_detect=1
# Automatically load overlays for detected DSI displays
display_auto_detect=1
# Automatically load initramfs files, if found
auto_initramfs=1
# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2
# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1
# Run in 64-bit mode
arm_64bit=1
# Disable compensation for displays with overscan
disable_overscan=1
# Run as fast as firmware / board allows
arm_boost=1
[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1
[all]

illegitimate_egg

thanks

k9t33n

Should I go ahead with the push request?

illegitimate_egg

wait what

illegitimate_egg

alright

illegitimate_egg

this is news so good I cannot quanitfy it

k9t33n

Sorry I used the wrong git lango in the wrong place

illegitimate_egg

because these paremeters are part of the main device tree

k9t33n

What?

illegitimate_egg

you don't even have to specify them as dtparams

illegitimate_egg

because they're part of the main dt

k9t33n

So... Remember I'm 5.

illegitimate_egg

You don't have to call the fans name

illegitimate_egg

you can just shout instructions at it

justaccsolol

that can be taken in another meaning without context 💀

illegitimate_egg

# Base fan temps
# fan_temp0=50000
# fan_temp1=60000
# fan_temp2=67500
# fan_temp3=75000
# Lowered by 10 degrees
fan_temp0=40000
fan_temp1=50000
fan_temp2=57500
fan_temp3=65000

illegitimate_egg

there

illegitimate_egg

you add that to the end of config.txt

k9t33n

I mean I've got the mental capacity of a 5 year old

justaccsolol

ight ight

k9t33n

Nice. And if I want to change one of them it's just the actual temp multiplied by a 1000 right?

illegitimate_egg

yes

k9t33n

Why is that may I ask? Surely the pi doesn't have that accuracy

k9t33n

And last I remember ive never heard of microcelsious

illegitimate_egg

why does vcgencmd return values multiplied by 1000?

illegitimate_egg

because it uses the same system

illegitimate_egg

you can also change the speed and hysteresis of the fan

illegitimate_egg

speed being obvious

illegitimate_egg

and hysteresis being the difference between the temperature it has to be to go up and the temperature it has to be to go down

illegitimate_egg

basically a software schmitt trigger

k9t33n

It doesn't for me. Atleest that is without any args

illegitimate_egg

vcgencmd measure_temp

illegitimate_egg

oh woops

illegitimate_egg

nvmd

illegitimate_egg

idk

illegitimate_egg

I just looked at the default vals

k9t33n

temp=49.4'C

illegitimate_egg

though it is the same system

k9t33n

Yeah I am assuming it's just deviding by 1000

k9t33n

Ok I'll play along with it tomorrow as well as how it works with the overclocking

illegitimate_egg

cool

k9t33n

Btw if you've ever done overclocking what's the highest you can get without it crashing on stress tests? And on what pi

illegitimate_egg

Jeff Geerling modified his best one up to 3.14GHz for pi day

justaccsolol

Yeah

justaccsolol

that was cool

illegitimate_egg

but he only had one that could go to 3GHz anyway

k9t33n

That's the inspiration for asking this question actually 😁

justaccsolol

Nice

k9t33n

I wanted to see what your die is like

illegitimate_egg

I overclocked my 3 and 4 once

illegitimate_egg

can't remember what to though

k9t33n

If I try it my files are safe right?

illegitimate_egg

yeah

illegitimate_egg

worst comes to worst you can change config.txt from a different computer

k9t33n

Yeah thought so

k9t33n

Well actually no I can't... I don't have another SSD slot in my computer

illegitimate_egg

just unplug what ever's in the other one temporarily

k9t33n

On my computer?

illegitimate_egg

well

illegitimate_egg

what's in the other one?

k9t33n

But that's what it's booting off of.

illegitimate_egg

then how did you flash it originally?

k9t33n

Literally only have 1 slot. It's a laptop

k9t33n

I used an old SD and RPi imager from cli

k9t33n

That SD card is being used in my pi 4 tho

illegitimate_egg

also why do you boot your laptop from sd?

k9t33n

*SSD

illegitimate_egg

then why can't you put an sd card in it?

k9t33n

Because it's being used by the pi 4. Little tight for storage devices ik

illegitimate_egg

alright lets start clean

illegitimate_egg

why IO does your laptop actually have?

k9t33n

I could actually use my usb although it's really tight for raspberry pi os since it's 4 gb

k9t33n

All the normal stuff on the outside like usbs and SD card, hdmi and ethernet ofcourse

illegitimate_egg

what about the internal hard drive?

k9t33n

But nothing available in the inside. It only has one nvme slot and that's being booted from

k9t33n

It does have 1 free HDD slot but I don't have a hdd

illegitimate_egg

is it like a sata connector?

illegitimate_egg

you could also connect an SSD to that

k9t33n

Not Sure at all

illegitimate_egg

But regardless, that leaves you a spare sd card slot

k9t33n

I actually didn't check since I think the actual connector is on the wrong side of the board

k9t33n

I just know it is it has a spare space for a HDD which would be used if I got the upgraded more expensive laptop

illegitimate_egg

so why can't you use it like this?

k9t33n

You mean I just ram my SSD into the SD card reader and hope it works? I didn't know it could be read nor fit into it

k9t33n

Unless you mean a adapter

illegitimate_egg

no

illegitimate_egg

no

illegitimate_egg

no

illegitimate_egg

no

illegitimate_egg

I don't mean any of that

illegitimate_egg

I mean, plug the ssd into the m.2 slot, and plug the sd card into the sd card slot

k9t33n

On my computer? I get the first part but why would the SD card get involved now?

illegitimate_egg

because we're trying to modify data on an sd card?

illegitimate_egg

What laptop do you have?

k9t33n

No we're trying to modify it on an ssd

k9t33n

Asus vivobook something or other

k9t33n

Actually let me check one second

k9t33n

Yes it's Asus vivobook

illegitimate_egg

so, the laptop doesn't have an sd card slot

illegitimate_egg

so you're using a card reader?

k9t33n

No it does have one.

illegitimate_egg

not all vivobooks do then

justaccsolol

Have you tried live booting from an USB

k9t33n

I'm saying the pi boots of a SSD so we'd change config.txt on the SSD so the SD card doesn't need to get involved

illegitimate_egg

oh what

illegitimate_egg

your pi is booting from an sdd

illegitimate_egg

what interface does that ssd use?

k9t33n

I'm planning to try it but my usb might not have enough

k9t33n

Nvme I think. I'm using the pimoroni hat

illegitimate_egg

I see

k9t33n

SSD for reliability ofcourse

illegitimate_egg

sd for convinience ofc

illegitimate_egg

I'm joking

k9t33n

Nah

illegitimate_egg

anyway it should be fine

k9t33n

How much storage does pi os lite use? At it's absolutely lowest

illegitimate_egg

do you plan to run it on your host system?

illegitimate_egg

Alpine linux fits in under 1GB

illegitimate_egg

pi os lite needs at least 4GB

k9t33n

Well could I boot from alpine quickly on the usb just to change config.txt?

illegitimate_egg

yeah

illegitimate_egg

you could try looking for a live boot image for something like that

illegitimate_egg

hell even archiso could do it

k9t33n

What's archiso?

illegitimate_egg

the arch linux installer

illegitimate_egg

it's a "minimal" system

illegitimate_egg

though it is 1GB

k9t33n

Linux mint does that for me. I could also use the imager to do so

k9t33n

Mint has the same. Love the feature.

k9t33n

If I find a way to store all my files of the SSD although painful, I will probably switch to alpine to boot off of pernamentally now I think about it

k9t33n

How much more efficient is it?

illegitimate_egg

it's just a very minimal system

illegitimate_egg

give me a minute

k9t33n

Yes. That's why I like it

illegitimate_egg

the disk image is 200mb

illegitimate_egg

it's tiny

illegitimate_egg

although it does not come with a text editor

illegitimate_egg

there is an image that comes with some stuff

illegitimate_egg

I'd look into that

k9t33n

I mean I can just use nano right?

justaccsolol

Nah its arch not debian

k9t33n

Arch works though right?

illegitimate_egg

no

illegitimate_egg

the apline iso does not ship with any text editor

k9t33n

Oh including Nano

illegitimate_egg

yeah

illegitimate_egg

including nano

k9t33n

Fun. Then can I not install it?

k9t33n

Or is apt not included either 😂

illegitimate_egg

I don't really know how the alpine package manager works put apk add nano didn't work

illegitimate_egg

apt is debian exclusive

illegitimate_egg

so no

illegitimate_egg

apt isn't included

k9t33n

Oh

k9t33n

Damn alpine is really cut back huh

illegitimate_egg

the install image is

k9t33n

Just checking, ls and everything is still normal right?

illegitimate_egg

yeah

k9t33n

I wouldnt have to completely relearn Linux then

illegitimate_egg

no

illegitimate_egg


illegitimate_egg

its not included on the live image

illegitimate_egg

I'm going to look at the extended image

illegitimate_egg

it's 700mb larger

k9t33n

Still under 4GB

illegitimate_egg

the extended image ships with nano and vim

illegitimate_egg

you just have to add them with apk

k9t33n

Nice

k9t33n

To install id use a monitor?

k9t33n

On the pi

illegitimate_egg

wait what

illegitimate_egg

I was talking about installing this on a disk to load on your laptop to recover the config if we had to

k9t33n

Why couldn't we just boot the pi off it and access it that way?

illegitimate_egg

because alpine extended doesn't build for arm

k9t33n

You were right

k9t33n

Well atleest I get ya now. Wouldnt loading an image we can use on the pi be easier?

k9t33n

One below 4GB

illegitimate_egg

it doesn't really matter

illegitimate_egg

there are pi builds of alpine which you'd probably be able to get a text editor on if you really needed it

k9t33n

I do remember I could just about use raspberry pi os on the usb but I couldn't do anything past that. A upgrade or installing something would just fail

k9t33n

Felt claustrophobic for it lol

k9t33n

Thank you tho. I'm gonna rest now

illegitimate_egg

cool

k9t33n

ive done your changes but doesnt turn on at 40 degrees

k9t33n

and 50 degrees (the only bracket i can get into) doesnt seem any faster

k9t33n

but atleest i overclocked succesfully

k9t33n

wait no i cant do that because the ssd is first in the boot order

illegitimate_egg

hmm

prodbynotches

ew bri ish

prodbynotches

jk ily

illegitimate_egg

so

illegitimate_egg

there's another file

illegitimate_egg

not just config.txt

illegitimate_egg

that controls the loading of the base device tree

k9t33n

Ooooh

illegitimate_egg

idk what the file is called though

illegitimate_egg

but I remember it existing

k9t33n

Oh nice

k9t33n

Config.conf? I remember that

illegitimate_egg

what's in it?

illegitimate_egg

nvmd

illegitimate_egg

I was thinking of cmdline.txt

illegitimate_egg

its unrelated

k9t33n

Oh

k9t33n

So no new advancements?

illegitimate_egg

maybe

illegitimate_egg

still thinking

illegitimate_egg

# Base fan temps
# dtparam=fan_temp0=50000
# dtparam=fan_temp1=60000
# dtparam=fan_temp2=67500
# dtparam=fan_temp3=75000
# Lowered by 10 degrees
dtparam=fan_temp0=40000
dtparam=fan_temp1=50000
dtparam=fan_temp2=57500
dtparam=fan_temp3=65000

illegitimate_egg

perhaps this?

k9t33n

Anything use in the dir .config?

k9t33n

Already tried it remember

illegitimate_egg

no

illegitimate_egg

this is modified

k9t33n

Ohh

illegitimate_egg

it feeds it straight to the device tree

illegitimate_egg

rather than someting else (?)

k9t33n

Oh I'll have to do it tomorrow again

k9t33n

It's late

illegitimate_egg

ik

k9t33n

Yeah

illegitimate_egg

anyway I'm getting a pi 5 soon

illegitimate_egg

should make all this faster lol

k9t33n

What pis you have currently?

illegitimate_egg

I've got 2 pi zero ws, 3 picos, a pi 3 and a pi 4 (blown power resistors)

k9t33n

You got no roles tho

illegitimate_egg

ah

illegitimate_egg

updated role system

k9t33n

But makes sense. You plan to use the pi for a home server too?

illegitimate_egg

idk

illegitimate_egg

I've got a cheap vps so I'm not sure

k9t33n

There u go

k9t33n

You have no clue what your gonna do with it?

illegitimate_egg

No

illegitimate_egg

I like messing with the faster IO

illegitimate_egg

good for radio based on harmonics

illegitimate_egg

no radio chip needed lol

illegitimate_egg

yeah

illegitimate_egg

I do what I feel like doing

k9t33n

You didn't think it out at all tho did you

illegitimate_egg

no

k9t33n

I thought out and planned exactly what I was using it for and why I needed it

illegitimate_egg

I like using them ig

illegitimate_egg

Cool for seeing how ARM is coming along

k9t33n

That is because I'm tight on money working solely off pocket money 😂 so I have to think about what I buy a lot

illegitimate_egg

yeah

k9t33n

A pi 3 could do for that tho

illegitimate_egg

yeah

illegitimate_egg

but

illegitimate_egg

err

illegitimate_egg

speed

k9t33n

Sure

illegitimate_egg

I don't actually know what's new on the pi 5

illegitimate_egg

other than the fan connector

k9t33n

It sure is fast, about a low-medium laptop

illegitimate_egg

wowzers

illegitimate_egg

a power button

k9t33n

Apart from speed it's got a RTC and pcie port

k9t33n

And power button

illegitimate_egg

you forgot the UART debug port

k9t33n

Yeah

illegitimate_egg

the GPUs better too

k9t33n

Yes

k9t33n

rp1 chip but im not actually sure what the advantage of having that is

illegitimate_egg

faster IO (?)

k9t33n

Faster io?

illegitimate_egg

Interchangable connectors

illegitimate_egg

I think

k9t33n

Beat me to it

illegitimate_egg

It's like a southbridge on a motherboard

illegitimate_egg

the chipset

k9t33n

What's that mean?

illegitimate_egg

You can't just have a CPU sitting on its own

illegitimate_egg

something needs to sit between the CPU and the things it connects to

k9t33n

Yeah

k9t33n

So the RP1 does that?

illegitimate_egg

yeah

illegitimate_egg

I think

k9t33n

Idk

k9t33n

I mean 2A upgrade has to be going to something

k9t33n

That's how I see it

illegitimate_egg

cool

k9t33n

Hey btw what do you do as a job if you don't mind me asking?

illegitimate_egg

I think I'm the same age you are

k9t33n

I don't think so

k9t33n

I'm 14. You?

illegitimate_egg

yeah

k9t33n

Oh wow.

k9t33n

And I thought I was decent for my age

illegitimate_egg

you are

illegitimate_egg

better than anyone else ik

k9t33n

Apart from yourself

illegitimate_egg

no comment

k9t33n

That shocked me, you never said this before have you?

illegitimate_egg

Don't think so

k9t33n

Yeah I didn't miss it then

k9t33n

Jees thats the shock. So year 9?

illegitimate_egg

y10

illegitimate_egg

first half

k9t33n

Ohh ok

illegitimate_egg

I mentioned it once

k9t33n

Ohh

k9t33n

When'd you get into pis?

illegitimate_egg

My first computer was a pi 3

k9t33n

Oh lol

illegitimate_egg

yeah

k9t33n

What year was that?

illegitimate_egg

not sure

illegitimate_egg

give me a minute

illegitimate_egg

it couldn't have been later than 2017

k9t33n

Oh yeah you've had a lot more practice time

illegitimate_egg

yeah

k9t33n

I got a pi about when I joined this server

illegitimate_egg

ah

illegitimate_egg

Once you understand why things are the way that they are it becomes much easier

k9t33n


illegitimate_egg

yeah

k9t33n

Yeah It becomes pretty nice and easy I get that

k9t33n

I'm there with Linux cli, dockers the next step

illegitimate_egg

ah

illegitimate_egg

I have a discord bot running on docker

k9t33n

Still kinda confusing to me

illegitimate_egg

its funny

k9t33n

Whats it for?

illegitimate_egg

its double containerised

illegitimate_egg

Don't want to self promote, I'll send in DMs

k9t33n

Sure

illegitimate_egg

You tested yet?

k9t33n

Ohhh yeah

k9t33n

I forgot so badly

k9t33n

I'll do it rn

k9t33n

just replying to it so it's easily findable for me later

k9t33n

done and rebooting

k9t33n

<@685869137939267603> it works!

illegitimate_egg

Yay

k9t33n

thank you so much

illegitimate_egg

You could write an FaQ think about this

illegitimate_egg

Or maybe I'll do it

k9t33n

oh cool

k9t33n

i think you should take the cred but if you dont want to write it i will

illegitimate_egg

I'll write it dw

illegitimate_egg

<@1071178789939331253> I made the faq

k9t33n

Nice

oops.se

Nice

riothedev

<@1071178789939331253> hey so i think i found something

riothedev

in raspi-config

riothedev

when u go into performance settongs

riothedev


riothedev

theres that

riothedev

and it lets u set the temp

riothedev

i dont know if its the same on pi 5 tho

k9t33n

yes thats what i checked at first

k9t33n

a couple months ago when i first tried this it said "this is not supported for your pi", now its not even their

k9t33n

i found it strange and made me think they are purposefully avoiding this