This problem is well-documented elsewhere: after upgrading from HDD to SSD the control of the HDD fan is lost on the 2011 iMac, because – apparently – the sensor of the original HDD is seated inside it and has no equivalent in the new SSD. This leads to some erratic fan behaviour, which I am indeed experiencing since I put in the SSD.
(This applies to all 2011 iMacs, no matter if they are running MacOS or Linux. What you can find out about it is obviously exclusively about machines running MacOS, but it definitely does presently apply to my machine running Manjaro.)
There are two remedies, it appears, a hardware and a software one:
Regardless of the OS you want to run on it, performing the HDD sensor workaround is completely optional, provided that you are using some fan control software like Macs Fan ControlMacs Fan Control Download for macOS & Windows (Boot Camp) on MacOS and Windows, and mbpfan-gitAUR (en) - mbpfan-git on Linux. But I would recommended performing the workaround nonetheless as it is as easy as shorting only the pins 1 and 4 of the HDD power cable.
Now the difference between the two is that the former has more granular control than the latter. Macs Fan Control can control each of the three fans independently of one another and can assign upon which sensor the fan will derive its speed. This is quite the opposite of mbpfan-git, which is described as
a daemon that uses input from coretemp module and sets the fan speed using the applesmc module. This enhanced version assumes any number of processors and fans (max. 10).
You will need to adjust /etc/mbpfan.conf to account for this behavior. fancontrol from lm-sensors can’t be used because of
/usr/bin/pwmconfig: There are no pwm-capable sensor modules installed
I can’t use Macs Fan Control because there is no more MacOS on the machine – only Manjaro.
Please keep in mind that – on my/the iMac 12.1, mid-2011 – there is no hard disk sensor left after replacing the HDD with an SSD. Whatever fan speed software I would use: where would the input come from?
Moreover: if mbpfan-git is
a daemon that uses input from coretemp module
it would set the hard disk fan speed based on the temperature of the CPU, not the HDD/SSD, and: what sense would that make? It would fake a control that didn’t exist, wouldn’t it, because it would be based on the wrong sensor.
There are three fans in the iMac: CPU, ODD and HDD. The first two run fine, being controlled, as has always been, by their sensors and SMC. Only the last one is „lost” and behaves erratically, the SMC having lost the input from the HDD sensor (after the SSD upgrade).
So – on reflection – I can’t really see that a software workaround would make any sense at all.
I only see two hardware solutions:
Reverting to the original HDD, which has its sensor, or: installing this external sensor manufactured by OWC (see first post), which consists of a sensor that has to be glued to the the (new, sensor-less) SSD and connects via cable to the Apple SMC, which then could regulate the fan speed as before.
i’m using a ssd/nvme instead of the original hdd in this system and yes it is a little bit fiddling to find the right values to adjust mbpfan but it works and that’s what matters. these old iMacs are perfect as a general daily driver for office-multimedia-internet cause of it’s great display-quality but i don’t expect a “perfect” system from it. keep in mind that these pc’s are no actual hardware. the main problem of all this iMacs is the gpu-temperature and its cooling has always been a design-flaw even with the original mac-os.
The link previously given by @Yochanan would seem to outline fan control options available to Arch Linux and derivatives (such as Manjaro).
mbpfan is the only alternative I’m personally aware of;
Software solutions are likely the extent of what might be suggested by Manjaro users in a Support context; plus, as previously mentioned, it is unlikely (though, I suppose not impossible) that a member would be using Manjaro on Mac hardware (of that vintage) which places them at an obvious disadvantage.
As an example I use an iMac20,0 and am unable to contribute possible solutions beyond those that are readily available.
With all of the above in mind, and given that you already seem to have two confirmed (hardware) solutions, this is not a Support issue likely to be solved by Manjaro users.
If you wish to continue this pursuit, regardless, it may prove a fruitless endeavour. However, in case it prompts others to think-outside-of-the-box, please provide your system information as described (below).
Regards.
What follows is from a standard template.
Welcome to the Manjaro community
As a new or infrequent forum user, please take some time to familiarise yourself with forum requirements, and the many ways to use the forum to your benefit.
Note: By virtue of using the Manjaro forum you acknowledge and agree to follow Rules and Guidelines outlined; so, you really should read them:
Be prepared to provide output from commands when asked. It is equally important to provide as much actionable information as possible in your first post, rather than simply indicating there is a problem.
Simply waiting for others to ask you questions can be counter-productive – typically, nobody has a at their disposal – instead, please help others to make informed suggestions based on information you provide.
System Information
While information from *-fetch type apps might be fine for someone wishing to buy your computer, for Support purposes it’s better to ask your system directly;
Output of the inxi command (with appropriate parameters, and formatted according to forum guidelines) will generate information useful for those wishing to help:
With these hints, I hope to be be able to find the most suitable solution. I will let you know, but allow me some time, possibly a couple of weeks – if I have to order rare hardware.
Peter
Well, I had been led to thinking so far that one of the major advantages of Linux in general, with Manjaro making no exception here, is that you can go on using your „old” hardware.
I switched from MacOS to Linux exclusively for that reason: owning a machine that was so „old”, with an OS so „old” and so slow that I heard Apple telling me between the lines „Oh, dear guy, we’d rather advise you to return to our shop and leave a thousand Euros or two, in order to be able to go on computing. Sorry, but we unfortunately can’t tell you anything else.”
With Manjaro, the „old” iMac – and the 2011 MacBook, too – are again as fast as lightning. It has turned out to be the fountain of youth.
How well a Linux distribution might perform on old hardware is rather subjective, as with most generalisms.
As it happens, most Arch Linux based distributions do tend to be more performant; even more so, if using Wayland; but, still it depends greatly on performance of the native hardware and graphics, and available resources.
Try not to leave it too long or the topic may be closed.
In that happens, and if you have more information you would like to add, simply ask a Moderation staff member (via PM) to re-open the topic.
mbpfan-git would control ALL fans it can find and set fan speeds in three steps defind as low, high, and max temps according to the coretemp sensor. This is unfortunately the only automated way, that I’m aware of, to control fans on this hardware while running Linux. Yes it doesn’t make sense that you control the ODD and HDD fans along with the CPU fan according to the CPU sensor, but this is MUCH better than the alternative, which is having NO FAN CONTROL where ALL fans run only at MINIMUM RPM all the time.
I’m running mine with an SSD, and have also done the workaround as stated above. I set the HDD fan to a fixed RPM that is the minimum for it. I don’t need to have this fan working at different speeds given that I have made the switch from spinning to solid-state media.
Your use-case may vary than mine.
EDIT: I looked around once more for other alternatives to mbpfan-git that would provide the same granular control as Macs Fan Control and found this GitHub - ablakely/macfand: Fan control for Macs running Linux
This one looks promising, I have yet to try this on my system.
Nevertheless: considering my issue and your answers, I still have a couple of basic doubts and questions. I’ll ask them one after the other.
What does software fan control do exactly – be it fancontrol (of lm_sensors), mbpfan-git or ablakely/macfand? Do they do anything automatically, according to the information they get from sensors, or do they simply allow users to set arbitrary RPM values for different fans by means of an interface?
Fan control in iMacs has always been in software, regardless of OS. This is also known as a daemon. I’m not aware of any firmware-based fan control in the iMac’s BIOS like in some PC motherboards. Depending on the daemon, you can have it work automatically or set a fixed RPM. Sensor-speed derivation is also dependent upon the daemon implementation. The best I have seen of this is that of Macs Fan Control, but it is only for MacOS and Windows. It isn’t as simple as running it via Wine on Linux to make it work (or maybe it is? I don’t know. I haven’t tried. I’m happy with my mbpfan setup.)
Regarding macfand, I gave it a try and it ended in a SEGV. I also found some packaging issues like missing machine profiles. All these will be reported at a later time. I installed it via AUR.
If the hardware in question is 64-bit hardware - then yes.
If you have even older hardware 32-bit there is few distributions still providing 32-bit operating systems.
Gaming and AI is what is driving the hardware industry in a quest for more and more power.
I don’t know the specifics - but I am fairly certain it polls the system for for the temperature - somewhere in the /sys tree - the temperature decides which signal the software sends to the unit controlling a given fan - the value controls how fast the fan spins.
maybe I should decribe the behaviour of the three fans on my iMac running Manjaro:
As mentioned in post 4, there are three, two of which appear to run normally, always kept at minimum speed by the SMC their sensors are connected to.
(That is my understanding so far: three sensors send their information to the SMC, which in turn sends separate signals to the fans).
The HDD fan, however, now sensorless, starts turning a bit faster – audibly – right after boot-up, when the machine is definitely still cold and surely does not need an elevated fan speed. Minutes later, the fan speed starts varying. It goes down, goes up a little bit, goes down, up again in sort of half-minute intervals. It has never exceeded 3000 rpm, the parameters being min = 1100 rpm and max = 6300 rpm). 6000 rpm or more would be very annoying indeed. (Some posts in Mac forums report that right after the SSD upgrade the HDD fan races up to its maximum speed of 6300 rpm and never goes down. This is not my case, and I don’t know why).
Who is at work here? Any ideas?
PS 1: What is „SEGV” (couldn’t find it anywhere)
PS 2: I have to pause posting for today; I’ll be back tomorrow, Monday.
…. and this is a wanted behaviour of the system. the fan in the mid will boost up at booting and shutdown to blow out the dust from the venting channels of the two smaller intakes !
Of the two 2011 iMacs in the household, none has ever shown this behaviour before, until I made the SSD upgrade in one of them. No fan was ever heard in years while they were equipped with their original HDD, be it running MacOS or Linux.
The very moment I booted one of them after I had taken out the original HDD and put in the SSD, instantly this fan noise started – noise from the HDD fan.
Have you considered attacking this from another perspective; replace the fan(s) – or disable the fan in question, as it no longer needs to cool a spindle type hard disk.
Yes, I have considered it – but I won’t do so until somebody (or various people) can assure me that he/they has/have done so successfully (experiencing the same problem), and how exactly, and that there have been no unexpected nasty side effects.
I can assure you that after removing a fan any noise that it may have produced will no longer be an issue. A fan is typically removed using a phillips head screwdriver to remove the (usually four) mounting screws and disconnecting it’s power lead from wherever it happens to be connected. Naturally, the case would need to be opened to facilitate the removal.
This procedure is equally true no matter the reason for removing a fan.
The other part of my previous suggestion was to replace the fan. A little effort searching online – externally from this forum – will no doubt reveal quieter fans which can be substituted.
Comparing their dimensions with that of the fan in question will help guide you in your quest.