[iMac] Fan Control

  • I have an 21.5-inch iMac from 2011 on which i recently installed LE. It works great, except that the fans go nutz. I have experienced this before, however i cobbeld together a script to set the fan speeds manually. It looks like this

    External Content pastebin.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.
    and worked great on the prev linux distro i had installed. On LE the applesmc.768 path does not exist tho and i am unsure how to set the speed otherwise. I installed the pack with lm_sensors from the addon section but this does not help as sensors does not detect the fans. Any ideas on how to fix this?

  • LE is minimalist and the Generic image probably needs CONFIG_SENSORS_APPLESMC enabling in defconfig.

    See: https://github.com/LibreELEC/Libr…6_64.conf#L3509

    There's no problem to include the module, but we need to prove that's the fix first. As you seem to be the tinkering type, can you self-build an image to test? See: https://wiki.libreelec.tv/development/build-basics .. it's just a case of cloning our sources and then editing the .conf file before running the build command.

  • Took me a bit cuz i was busy and macs can be a pain to get working with anything non apple approved buuut.. It worked. The applesmc now shows up in sensors and the script also works again. However, i have two questions. When i changed the config, I noticed that some config values were set to "=m" and some to "=y". What's the difference? I went with y as that seemed intuitive to me, but what does m do? The other thing is that the installed LE now is a devel version. Does updating from that work? I am planing to give this mac to my family and i want it to be easy to use. Not having automatic updates on what's a TV to them would be bad.

  • The =y option means the module is compiled into the kernel and always loaded (whether it's used or not) and =m (which is more appropriate in this case) means it's compiled as a loadable module and only loaded if matching hardware is probed.

    I'll send an update to include the module in the Generic image kernel config.