Is it possible to activate the Cooling Fan in VIM3 running Libreelec?
yes its easy
just two commads like this
enable fan
i2cset -y 0 0x18 0x88 3 b # max speed
i2cset -y 0 0x18 0x88 2 b # mid
i2cset -y 0 0x18 0x88 1 b # low
disable fan
i2cset -y 0 0x18 0x88 0 b
PS: may be u need install i2c-tools before like sudo apt-get install i2c-tools
or u can use this my script https://raw.githubusercontent.com/hyphop/khadas-utils/master/utils/fan
In LE not there is package management and concepts of conventional packages. This is a binary system (all compiled from source code).
brrr )) yes its LE i forget
but we can build i2c-tools still from sources ))
or just change config for busybox its have same i2c-tools
This should be checked. There may be another problem, the entire system is mounted in read-only mode and need to check the availability of making changes to the fan control settings.
i will try to improve this script ! for work in automatic mode (monitor temp + change cooler state)
and after we can move all fan functionality from kernel to user-space
I already did a similar fan control script for VIM1 and VIM2 (Nick included it in FENIX sources).
Can you give me instructions on how to use this script? Many thanks.
download this script
cd
wget https://raw.githubusercontent.com/hyphop/khadas-utils/master/utils/fan -O fan
chmod 0777 fan
USAGE
fan [0|1|2|3|min|mid|max|on|off] [--help]
yes i know about it - its lil diffrent
my script work directly with i2c bus and no need special khadas fan kernel driver
Thanks. I will try that when I have time.
Is there actually any plan to add a new option to control the cooling fan in the settings menu of LE?
What kernel did you test the script on ?
u can use this script for any kernel which not have special khadas mcu/fan driver (for example i use last mainline 5.3.xx)
this script just use raw i2c bus
При запуске скрипта на 5.3.0 выдаёт ошибку, что нет i2c устройства.
должно быть !
root@Krescue-init:/# ls /dev/i2c-?
/dev/i2c-0 /dev/i2c-1 /dev/i2c-2
i2c_scan что дает ?
должно быть!!!
root@Krescue-init:/# i2c_scan | grep 18
10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- --
если нет то проверить DT активированы и есть ли i2c вообше поддержка ?
root@Krescue-init:/# zgrep I2C /proc/config.gz | grep =y
CONFIG_REGMAP_I2C=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_DESIGNWARE_CORE=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_MESON=y
CONFIG_I2C_RK3X=y
CONFIG_I2C_SLAVE=y
CONFIG_DRM_I2C_CH7006=y
CONFIG_DRM_I2C_SIL164=y
CONFIG_DRM_I2C_NXP_TDA998X=y
CONFIG_DRM_I2C_NXP_TDA9950=y
CONFIG_RTC_I2C_AND_SPI=y
а так посмотри мои вариант! я его как раз активно пытаюсь утрести
https://github.com/hyphop/khadas-linux-kernel
ЩЫ: включили IKCONFIG_PROC=y бы эту штуку в libreelec /proc/config.gz
а то не удобно же когда ее нет
Зачем столько дублирующих опций ? И нет автоматического управления по температуре. Когда я писал про свой скрипт, речь была про автоуправление.
автоуправлению думаю сделать на днях!
больше опций чтоб удобнее было)
Лишние опции - хуже работа (длиннее обработка, выше риск ошибок) и путаница для пользователей.
спорно)) для примера shot-option and long-options почти во всем GNU всех устраивает!!
в моем случае как мне кажется довольно интуитивный для пользователя подход
fan on | fan enable | fan 1 # дает одинаковый резльтат
fan 0 -> fan 1 -> fan 2 -> fan 3 # выбор скорости
fan 0 | fan off | fan disable # отключение
PS: я думаю на этом не стоит заострять внимание !!
Длинные и короткие опции имеют единый “стиль” , а тут совершенно разное обозначение, ни как не связанное между собой (цифры и текст).
Правильный интрфейс, это основа юзабилити для пользователей, и отсутствие “точек” для получения ошибок. В хелпе не указано вообще, что обозначают эти параметры.