Fans RPM have erratic behaviour #2

Closed
opened 2020-03-04 00:08:54 +01:00 by terence · 9 comments

I see fans do a lot of ups and downs (going from 1500 RPM to 1200 RPM to 1500 RPM in 2 seconds) when the temp is at 57 and the target is 50:
image

I set the fans like so:

- it8665/pwm2: [90, 255]
- it8665/pwm3: [100, 255]

Does this mean I need to tweak the PID values? And if so, what can I try?

Another thing: I notice the RPM is almost exactly the same for fan2 and fan3 but shouldn't it be different because of the different min value set for pwm?

I see fans do a lot of ups and downs (going from 1500 RPM to 1200 RPM to 1500 RPM in 2 seconds) when the temp is at 57 and the target is 50: ![image](/attachments/2b658ee2-219f-463d-bde9-55b496431007) I set the fans like so: ``` - it8665/pwm2: [90, 255] - it8665/pwm3: [100, 255] ``` Does this mean I need to tweak the PID values? And if so, what can I try? Another thing: I notice the RPM is almost exactly the same for fan2 and fan3 but shouldn't it be different because of the different min value set for pwm?
Owner

So, this fan "jojoing", is it happening after a 'normal' boot or after suspend? I noticed simillar behaviour after suspend from time to time.
Did you try to restart pyfan?

Does this mean I need to tweak the PID values? And if so, what can I try?

You can try lowering the differential part (d), for example to 1, and see if that changes anything.

I notice the RPM is almost exactly the same for fan2 and fan3 but shouldn't it be different because of the different min value set for pwm?

Did you look at the debug output to confim pyfan is setting them to the same values? Normally each fan should be treated differently, so if they are not that's a bug and we should fix it.

So, this fan "jojoing", is it happening after a 'normal' boot or after suspend? I noticed simillar behaviour after suspend from time to time. Did you try to restart pyfan? > Does this mean I need to tweak the PID values? And if so, what can I try? You can try lowering the differential part (d), for example to 1, and see if that changes anything. > I notice the RPM is almost exactly the same for fan2 and fan3 but shouldn't it be different because of the different min value set for pwm? Did you look at the debug output to confim pyfan is setting them to the same values? Normally each fan should be treated differently, so if they are not that's a bug and we should fix it.
Author

So, this fan “jojoing”, is it happening after a ‘normal’ boot or after suspend? I noticed simillar behaviour after suspend from time to time. Did you try to restart pyfan

I'll pay attention if there is a difference between normal boot and resume from suspend.

Did you try to restart pyfan?

I did try to restart pyfan and it had not effect.

You can try lowering the differential part (d), for example to 1, and see if that changes anything.

Did an initial quick test and it seems to work. Will keep you updated on that.

Did you look at the debug output to confim pyfan is setting them to the same values? Normally each fan should be treated differently, so if they are not that's a bug and we should fix it.

I just did and on low usage the values do not have the same values (39%µ and 35%) however, with high usage they get set to the same exact values.
Here is a log where you can observe the values being the same:

>So, this fan “jojoing”, is it happening after a ‘normal’ boot or after suspend? I noticed simillar behaviour after suspend from time to time. Did you try to restart pyfan I'll pay attention if there is a difference between normal boot and resume from suspend. >Did you try to restart pyfan? I did try to restart pyfan and it had not effect. >You can try lowering the differential part (d), for example to 1, and see if that changes anything. Did an initial quick test and it seems to work. Will keep you updated on that. >Did you look at the debug output to confim pyfan is setting them to the same values? Normally each fan should be treated differently, so if they are not that's a bug and we should fix it. I just did and on low usage the values do not have the same values (39%µ and 35%) however, with high usage they get set to the same exact values. Here is a log where you can observe the values being the same:
6.3 KiB
Owner

I just did and on low usage the values do not have the same values (39%µ and 35%) however, with high usage they get set to the same exact values. Here is a log where you can observe the values being the same

Since you didn't limit them they should be set high (and possibly to the same value) if your thermal zone is above target.

> I just did and on low usage the values do not have the same values (39%µ and 35%) however, with high usage they get set to the same exact values. Here is a log where you can observe the values being the same Since you didn't limit them they should be set high (and possibly to the same value) if your thermal zone is above target.
Author

Since you didn't limit them they should be set high (and possibly to the same value) if your thermal zone is above target.

Ah I see. Could you add a third value to tweak how fast a fan will reach its max RPM?

I have a loud fan that I don't want to be maxed out, or only if it really needs to, so I would setup something like [40, 100, 200] and it would interpolate values in between so that it takes more time to reach higher RPM.

> Since you didn't limit them they should be set high (and possibly to the same value) if your thermal zone is above target. Ah I see. Could you add a third value to tweak how fast a fan will reach its max RPM? I have a loud fan that I don't want to be maxed out, or only if it really needs to, so I would setup something like [40, 100, 200] and it would interpolate values in between so that it takes more time to reach higher RPM.
Owner

That would defeat the propose of using pid entirely. If you want to ramp it up slower, try lowering the linear bit, slower over time would be the integral bit (at least with little differences)

That would defeat the propose of using pid entirely. If you want to ramp it up slower, try lowering the linear bit, slower over time would be the integral bit (at least with little differences)
Author

That would defeat the propose of using pid entirely. If you want to ramp it up slower, try lowering the linear bit, slower over time would be the integral bit (at least with little differences)

OK, but then this means I will have to create a new thermal zone just because I need one fan to ramp up slower.

>That would defeat the propose of using pid entirely. If you want to ramp it up slower, try lowering the linear bit, slower over time would be the integral bit (at least with little differences) OK, but then this means I will have to create a new thermal zone just because I need one fan to ramp up slower.
Author

I don't know if it's related but I have this when resuming from suspend:

mars 15 23:11:34 terence-desktop pyfan.py[801]: WARNING:pyfan:[CPU+OUT] Failed to set pwm, trying to reset it. (Device or resource busy)
mars 15 23:11:34 terence-desktop pyfan.py[801]: WARNING:pyfan:[GPU+IN+OUT] Failed to set pwm, trying to reset it. (Device or resource busy)
I don't know if it's related but I have this when resuming from suspend: ``` mars 15 23:11:34 terence-desktop pyfan.py[801]: WARNING:pyfan:[CPU+OUT] Failed to set pwm, trying to reset it. (Device or resource busy) mars 15 23:11:34 terence-desktop pyfan.py[801]: WARNING:pyfan:[GPU+IN+OUT] Failed to set pwm, trying to reset it. (Device or resource busy) ```
Owner

I don't know if it's related but I have this when resuming from suspend:

mars 15 23:11:34 terence-desktop pyfan.py[801]: WARNING:pyfan:[CPU+OUT] Failed to set pwm, trying to reset it. (Device or resource busy)
mars 15 23:11:34 terence-desktop pyfan.py[801]: WARNING:pyfan:[GPU+IN+OUT] Failed to set pwm, trying to reset it. (Device or resource busy)

That's quite normal after suspend, as long as it does not countinue that should be allright.

> I don't know if it's related but I have this when resuming from suspend: > > ``` > mars 15 23:11:34 terence-desktop pyfan.py[801]: WARNING:pyfan:[CPU+OUT] Failed to set pwm, trying to reset it. (Device or resource busy) > mars 15 23:11:34 terence-desktop pyfan.py[801]: WARNING:pyfan:[GPU+IN+OUT] Failed to set pwm, trying to reset it. (Device or resource busy) > ``` That's quite normal after suspend, as long as it does not countinue that should be allright.
Owner

It seems like this was a configuration issue, so I'm going to close this. If you still run into this problem, please reopen this.

It seems like this was a configuration issue, so I'm going to close this. If you still run into this problem, please reopen this.
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anonfunc/PyFan#2