tuxd3v / ats

91 stars 12 forks source link

Install Issue #8

Closed gitonio closed 5 years ago

gitonio commented 5 years ago

rock64@rockpro64:~$ sudo luarocks build https://raw.githubusercontent.com/tuxd3v/ats/master/ats-0.2-0.rockspec Warning: variable CFLAGS was not passed in build_variables gcc -c -march=armv8-a+crc -mtune=cortex-a72.cortex-a53 -fPIC -Wall -Werror -O3 -g -I/usr/include/lua5.3 -o debug.o src/debug.c gcc -c -march=armv8-a+crc -mtune=cortex-a72.cortex-a53 -fPIC -Wall -Werror -O3 -g -I/usr/include/lua5.3 -o ats.o src/ats.c gcc -shared -Wl,-soname,ats.so.0 -llua5.3 -o ats.so.0.9 debug.o ats.o Install ATS Tool ..................: ats in /usr/local/sbin Install ATS Config ................: ats.config in /etc Install ATS Service File ..........: ats.service in systemd Remove previous ATS Library .......: ats.so.* from /usr/local/lib/lua/5.3 Install new ATS Library ...........: ats.so.0.9 in /usr/local/lib/lua/5.3 Create soname symLink .............: ats.so in /usr/local/lib/lua/5.3 Failed to enable unit: Unit file ats.service does not exist. Makefile:103: recipe for target 'install' failed make: *** [install] Error 1

Error: Build error: Failed installing. rock64@rockpro64:~$ systemctl status ats Warning: The unit file, source configuration file or drop-ins of ats.service changed on disk. Run 'systemctl daemon-reload' to reload units. ● ats.service - ATS - Active Thermal Service Loaded: loaded (/usr/local/lib/luarocks/rocks/ats/master-0/ats.service; enabled; vendor preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Mon 2019-06-24 02:47:14 UTC; 1s ago Process: 17057 ExecStart=/usr/local/sbin/ats (code=exited, status=1/FAILURE) Main PID: 17057 (code=exited, status=1/FAILURE)

Jun 24 02:47:14 rockpro64 systemd[1]: ats.service: Failed with result 'exit-code'. rock64@rockpro64:~$ sudo /usr/local/sbin/ats --test getConditions: Warning, Values { THERMAL0_CTL, THERMAL1_CTL, FAN_CTL }: /sys/class/thermal/thermal_zone0/temp, /sys/class/thermal/thermal_zone1/temp, ERROR exit 1

tuxd3v commented 5 years ago

Hello @gitonio, For what I see, it should already be correctly installed. It compiled and installed ok, although when it tried to run service it failed, because of kernel requirements.. You need at least kernel '4.4.132-1083'

Do this:

apt-get update
apt-get install linux-image-4.4.138-1097-rockchip-ayufan-gb5128c0a1684 linux-headers-4.4.138-1097-rockchip-ayufan-gb5128c0a1684 linux-firmware-image-4.4.138-1097-rockchip-ayufan-gb5128c0a1684
reboot

After that it should already start working nicely. you can check with: 'systemctl status ats'

gitonio commented 5 years ago

Right you are. Thank you.

tuxd3v commented 5 years ago

You Welcome, Nice to know you Succeed! :)

Best Regards,

svh1985 commented 5 years ago

@tuxd3v I have the same error, but when i run the apt-get install linux-image-4.4.138-1097-rockchip-ayufan-gb5128c0a1684 linux-headers-4.4.138-1097-rockchip-ayufan-gb5128c0a1684 linux-firmware-image-4.4.138-1097-rockchip-ayufan-gb5128c0a1684 command I get:

E: Unable to locate package linux-image-4.4.138-1097-rockchip-ayufan-gb5128c0a1684
E: Couldn't find any package by glob 'linux-image-4.4.138-1097-rockchip-ayufan-gb5128c0a1684'
E: Couldn't find any package by regex 'linux-image-4.4.138-1097-rockchip-ayufan-gb5128c0a1684'
E: Unable to locate package linux-headers-4.4.138-1097-rockchip-ayufan-gb5128c0a1684
E: Couldn't find any package by glob 'linux-headers-4.4.138-1097-rockchip-ayufan-gb5128c0a1684'
E: Couldn't find any package by regex 'linux-headers-4.4.138-1097-rockchip-ayufan-gb5128c0a1684'
E: Unable to locate package linux-firmware-image-4.4.138-1097-rockchip-ayufan-gb5128c0a1684
E: Couldn't find any package by glob 'linux-firmware-image-4.4.138-1097-rockchip-ayufan-gb5128c0a1684'
E: Couldn't find any package by regex 'linux-firmware-image-4.4.138-1097-rockchip-ayufan-gb5128c0a1684'

Do you have any idea why it can't install?

tuxd3v commented 5 years ago

hello svh1985, I was away, only now I saw your comment :(

If you try:

apt-get install linux-firmware-image-4.4.138-1097-rockchip-ayufan-gb5128c0a1684 linux-headers-4.4.138-1097-rockchip-ayufan-gb5128c0a1684 linux-image-4.4.138-1097-rockchip-ayufan-gb5128c0a1684

It doesn't find the packages? try first update the database :)

apt-get update

And then try to install again ;)

svh1985 commented 5 years ago

Tried, but still not luck :(

I'm using DietPi, could that be an issue? Do I need to add other ATP sources maybe?

tuxd3v commented 5 years ago

Hello, I think its not apt sources related, but instead with jumps in previous kernels( not numbered sequencially..ie:1095 doesn't exist.. )..

Search with this:

for package in linux-{firmware-image,image,headers}-4.4.138-109{4..9..1};do apt-cache search ${package};done

this should show you a list of what exists.. :)

svh1985 commented 5 years ago

Hey,

Tried the command but got nothing :(

From running apt-cache search rockchip I'm guessing I can also run: apt-get install linux-image-rockchip64 linux-headers-rockchip64

Only linux-firmware-image is missing

root@RockPi:~# uname -a
Linux RockPi 4.4.182-rockchip64 #1 SMP Fri Jun 28 17:34:00 CEST 2019 aarch64 GNU/Linux

root@RockPi:~# apt-cache search rockchip

rkflashtool - Tools for flashing Rockchip devices
u-boot-rockchip - A boot loader for rockchip systems
linux-dtb-dev-rockchip64 - Linux DTB, version 5.0.0-rockchip64
linux-dtb-rockchip64 - Linux DTB, version 4.4.182-rockchip64
linux-headers-dev-rockchip64 - Linux kernel headers for 5.0.0-rockchip64 on arm64
linux-headers-rockchip64 - Linux kernel headers for 4.4.182-rockchip64 on arm64
linux-image-dev-rockchip64 - Linux kernel, version 5.0.0-rockchip64
linux-image-rockchip64 - Linux kernel, version 4.4.182-rockchip64
linux-source-4.19.14-next-rockchip - This package provides the source code for the Linux kernel 4.19.14
linux-source-4.19.18-next-rockchip - This package provides the source code for the Linux kernel 4.19.18
linux-source-4.19.20-next-rockchip - This package provides the source code for the Linux kernel 4.19.20
linux-source-4.19.33-next-rockchip - This package provides the source code for the Linux kernel 4.19.33
linux-source-4.19.41-next-rockchip - This package provides the source code for the Linux kernel 4.19.41
linux-source-4.19.57-next-rockchip - This package provides the source code for the Linux kernel 4.19.57
linux-source-4.20.0-dev-rockchip64 - This package provides the source code for the Linux kernel 4.20.0
linux-source-4.20.2-dev-rockchip - This package provides the source code for the Linux kernel 4.20.2
linux-source-4.4.167-default-rockchip64 - This package provides the source code for the Linux kernel 4.4.167
linux-source-4.4.172-default-rockchip64 - This package provides the source code for the Linux kernel 4.4.172
linux-source-4.4.174-default-rockchip - This package provides the source code for the Linux kernel 4.4.174
linux-source-4.4.174-default-rockchip64 - This package provides the source code for the Linux kernel 4.4.174
linux-source-4.4.176-default-rockchip - This package provides the source code for the Linux kernel 4.4.176
linux-source-4.4.178-default-rockchip64 - This package provides the source code for the Linux kernel 4.4.178
linux-source-4.4.180-default-rockchip64 - This package provides the source code for the Linux kernel 4.4.180
linux-source-4.4.182-default-rockchip - This package provides the source code for the Linux kernel 4.4.182
linux-source-4.4.182-default-rockchip64 - This package provides the source code for the Linux kernel 4.4.182
linux-source-5.0.0-dev-rockchip64 - This package provides the source code for the Linux kernel 5.0.0
linux-source-5.0.0-rc4-dev-rockchip - This package provides the source code for the Linux kernel 5.0.0-rc4
linux-source-5.0.0-rc5-dev-rockchip - This package provides the source code for the Linux kernel 5.0.0-rc5
linux-source-5.1.0-dev-rockchip - This package provides the source code for the Linux kernel 5.1.0
linux-dtb-dev-rockchip - Linux DTB, version 5.1.0-rockchip
linux-dtb-next-rockchip - Linux DTB, version 4.19.57-rockchip
linux-dtb-rockchip - Linux DTB, version 4.4.182-rockchip
linux-headers-dev-rockchip - Linux kernel headers for 5.1.0-rockchip on armhf
linux-headers-next-rockchip - Linux kernel headers for 4.19.57-rockchip on armhf
linux-headers-rockchip - Linux kernel headers for 4.4.182-rockchip on armhf
linux-image-dev-rockchip - Linux kernel, version 5.1.0-rockchip
linux-image-next-rockchip - Linux kernel, version 4.19.57-rockchip
linux-image-rockchip - Linux kernel, version 4.4.182-rockchip
root@RockPi:~#
tuxd3v commented 5 years ago

its not easy indeed :(

Majority are development packages.. I think you own the latest one..

Check if the controls are in another places in /sys, like:

find /sys -name temp\* -o -name pwm\*

Maybe they are in another places..

svh1985 commented 5 years ago

This is what I got:

root@RockPi:~# find /sys -name temp\* -o -name pwm\*
/sys/bus/platform/drivers/pwm-fan
/sys/bus/platform/drivers/pwm-backlight
/sys/bus/platform/drivers/pwm-regulator
/sys/devices/virtual/thermal/thermal_zone0/temp
/sys/class/pwm
/sys/firmware/devicetree/base/pwm@ff1b0000
/sys/firmware/devicetree/base/pwm@ff1b0010
/sys/firmware/devicetree/base/pwm@ff1b0020
/sys/firmware/devicetree/base/pwm@ff1b0030
/sys/firmware/devicetree/base/__symbols__/pwm0
/sys/firmware/devicetree/base/__symbols__/pwm1
/sys/firmware/devicetree/base/__symbols__/pwm2
/sys/firmware/devicetree/base/__symbols__/pwm3
/sys/firmware/devicetree/base/__symbols__/pwm0_pin_pull_up
/sys/firmware/devicetree/base/__symbols__/pwm0_pin
/sys/firmware/devicetree/base/__symbols__/pwm1_pin
/sys/firmware/devicetree/base/__symbols__/pwm2_pin
/sys/firmware/devicetree/base/__symbols__/pwmir_pin
/sys/firmware/devicetree/base/__symbols__/pwm1_pin_pull_up
/sys/firmware/devicetree/base/thermal-zones/soc-thermal/trips/trip-point-0/temperature
/sys/firmware/devicetree/base/thermal-zones/soc-thermal/trips/trip-point-1/temperature
/sys/firmware/devicetree/base/thermal-zones/soc-thermal/trips/soc-crit/temperature
/sys/firmware/devicetree/base/pinctrl/pwm0
/sys/firmware/devicetree/base/pinctrl/pwm0/pwm0-pin-pull-up
/sys/firmware/devicetree/base/pinctrl/pwm0/pwm0-pin
/sys/firmware/devicetree/base/pinctrl/pwm1
/sys/firmware/devicetree/base/pinctrl/pwm1/pwm1-pin-pull-up
/sys/firmware/devicetree/base/pinctrl/pwm1/pwm1-pin
/sys/firmware/devicetree/base/pinctrl/pwm2
/sys/firmware/devicetree/base/pinctrl/pwm2/pwm2-pin
/sys/firmware/devicetree/base/pinctrl/pwmir
/sys/firmware/devicetree/base/pinctrl/pwmir/pwmir-pin
/sys/kernel/debug/pwm
tuxd3v commented 5 years ago

You got there a thermal zone: /sys/devices/virtual/thermal/thermal_zone0/temp

It would be nice to have there a second one.. /sys/devices/virtual/thermal/thermal_zone1/temp

One is for CPU and the other for GPU..

supersambo commented 4 years ago

Just found this. I guess #18 is related. however in my case thermal_zone1 exists...

root@nextcloudpi:~# find /sys -name temp\* -o -name pwm\*
/sys/kernel/debug/pwm
/sys/kernel/debug/regulator/vcc12v_dcin/pwm-fan-fan
/sys/class/pwm
/sys/class/pwm/pwmchip2
/sys/class/pwm/pwmchip0
/sys/class/pwm/pwmchip1
/sys/devices/platform/ff3d0000.i2c/i2c-4/4-0022/power_supply/tcpm-source-psy-4-0022/hwmon0/temp1_label
/sys/devices/platform/ff3d0000.i2c/i2c-4/4-0022/power_supply/tcpm-source-psy-4-0022/hwmon0/temp2_label
/sys/devices/platform/ff420020.pwm/pwm
/sys/devices/platform/ff420020.pwm/pwm/pwmchip2
/sys/devices/platform/ff420010.pwm/pwm
/sys/devices/platform/ff420010.pwm/pwm/pwmchip1
/sys/devices/platform/ff420000.pwm/pwm
/sys/devices/platform/ff420000.pwm/pwm/pwmchip0
/sys/devices/platform/pwm-fan
/sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1
/sys/devices/platform/vcc12v-dcin/regulator/regulator.1/pwm-fan-fan
/sys/devices/virtual/thermal/thermal_zone0/temp
/sys/devices/virtual/thermal/thermal_zone1/temp
/sys/bus/platform/devices/pwm-fan
/sys/bus/platform/drivers/pwm-clock
/sys/bus/platform/drivers/pwm-fan
/sys/bus/platform/drivers/pwm-fan/pwm-fan
/sys/bus/platform/drivers/pwm-regulator
/sys/firmware/devicetree/base/pwm@ff420020
/sys/firmware/devicetree/base/pwm@ff420010
/sys/firmware/devicetree/base/pwm@ff420000
/sys/firmware/devicetree/base/pinctrl/pwm1
/sys/firmware/devicetree/base/pinctrl/pwm1/pwm1-pin
/sys/firmware/devicetree/base/pinctrl/pwm1/pwm1-pin-pull-down
/sys/firmware/devicetree/base/pinctrl/pwm3a
/sys/firmware/devicetree/base/pinctrl/pwm3a/pwm3a-pin
/sys/firmware/devicetree/base/pinctrl/pwm2
/sys/firmware/devicetree/base/pinctrl/pwm2/pwm2-pin
/sys/firmware/devicetree/base/pinctrl/pwm2/pwm2-pin-pull-down
/sys/firmware/devicetree/base/pinctrl/pwm0
/sys/firmware/devicetree/base/pinctrl/pwm0/pwm0-pin-pull-down
/sys/firmware/devicetree/base/pinctrl/pwm0/pwm0-pin
/sys/firmware/devicetree/base/pinctrl/pwm3b
/sys/firmware/devicetree/base/pinctrl/pwm3b/pwm3b-pin
/sys/firmware/devicetree/base/thermal-zones/gpu/trips/gpu_alert0/temperature
/sys/firmware/devicetree/base/thermal-zones/gpu/trips/gpu_crit/temperature
/sys/firmware/devicetree/base/thermal-zones/cpu/trips/cpu_crit/temperature
/sys/firmware/devicetree/base/thermal-zones/cpu/trips/cpu_alert0/temperature
/sys/firmware/devicetree/base/thermal-zones/cpu/trips/cpu_alert1/temperature
/sys/firmware/devicetree/base/vdd-log/pwms
/sys/firmware/devicetree/base/pwm-fan
/sys/firmware/devicetree/base/pwm-fan/pwms
/sys/firmware/devicetree/base/__symbols__/pwm3a_pin
/sys/firmware/devicetree/base/__symbols__/pwm0_pin
/sys/firmware/devicetree/base/__symbols__/pwm3
/sys/firmware/devicetree/base/__symbols__/pwm3b_pin
/sys/firmware/devicetree/base/__symbols__/pwm1
/sys/firmware/devicetree/base/__symbols__/pwm1_pin
/sys/firmware/devicetree/base/__symbols__/pwm1_pin_pull_down
/sys/firmware/devicetree/base/__symbols__/pwm2_pin
/sys/firmware/devicetree/base/__symbols__/pwm2
/sys/firmware/devicetree/base/__symbols__/pwm2_pin_pull_down
/sys/firmware/devicetree/base/__symbols__/pwm0
/sys/firmware/devicetree/base/__symbols__/pwm0_pin_pull_down
/sys/firmware/devicetree/base/pwm@ff420030
/sys/module/842_compress/parameters/template_counts
/sys/module/pwm_fan
/sys/module/842_decompress/parameters/template_counts
tuxd3v commented 4 years ago

hello, You seems to have a different configuration..it doesn't find 'FAN_CTL'..

root@rockpro64:~# grep PWM_CTL /etc/ats.conf 
    PWM_CTL     = "/sys/class/hwmon/hwmon0/pwm1",

try in '/etc/ats.conf' with:

    PWM_CTL     = "/sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1",

Then restart the service..

supersambo commented 4 years ago

Hi, thanks so much for your help and the sofware btw.!!! In my situaion it is not feasable to run the rockpro64 with the fan constantly blowing at full power.

Changing the PWM_CTL did the trick for a short time. I did not even have to restart the service it detected changes automatically and stopped blowing. However on reboot it failed again. This time pwm had changed to /sys/devices/platform/pwm-fan/hwmon/hwmon0/pwm1. Correcting the settings solved the issue again but on nearly (!) every second reboot it fails just as if it was toggling between /sys/devices/platform/pwm-fan/hwmon/hwmon0/pwm1 and /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1

Is there an easy way to account for that?

tuxd3v commented 4 years ago

Hello a easy , easy way, no, But I will try to adapt '/etc/atc.conf' to be able to receive several inputs per option..

then ats, will check if they exist, and only the one in existence will be assigned.. I will try today for the end of the day.. I will inform you about that :)

best regards, tux

tuxd3v commented 4 years ago

hello supersambo, I believe the version that is now in master branch( option A.1 ), solves the problem you have :) In /etc/ats.conf, There is now the option to have several Locations per Control, Then ATS will find the first one that is available and will assign that, as official Location, This is done for all Inputs/Outputs required..

Performance remains the same, as this is done at beginning only( when service is launched )..

Can you confirm, is remains in place after reboot?

Best Regards

supersambo commented 4 years ago

thanks so much! I just tried rebooting several times and the ats service started succesfully each and every time!