Jump to content

Asus fan control in Linux? +Virtualization

Long story I want to run windows inside a VM with CentOS & KVM, BUT I'm need control of my fan speeds etc. I'm currently using AI Suite 3 to do this in windows but I need something to do this in linux?

Halp.

Link to comment
Share on other sites

Link to post
Share on other sites

PC: Case: Cooler Master CM690 II - PSU: Cooler Master G650M - RAM: Transcend 4x 8Gb DDR3 1333Mhz - MoBo: Gigabyte Z87x-D3H - CPU: i5 4670K @ 4.5Ghz - GPU: MSI GTX1060 ARMOR OC - Hard disks: 4x 500Gb Seagate enterprise in RAID 0 - SSD: Crucial M4 128Gb

Phone: Samsung Galaxy S6

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, SnipeYa said:

I have done a quick google BTW.

Has this approach worked for you personally?

Never needed it.

You can still try though.

PC: Case: Cooler Master CM690 II - PSU: Cooler Master G650M - RAM: Transcend 4x 8Gb DDR3 1333Mhz - MoBo: Gigabyte Z87x-D3H - CPU: i5 4670K @ 4.5Ghz - GPU: MSI GTX1060 ARMOR OC - Hard disks: 4x 500Gb Seagate enterprise in RAID 0 - SSD: Crucial M4 128Gb

Phone: Samsung Galaxy S6

Link to comment
Share on other sites

Link to post
Share on other sites

I will give it a go with my new hardware, But I have done this before with my old servers and didn't have any luck, It couldn't detect my fans only temperature sensors.

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 weeks later...
On 8/14/2017 at 5:49 PM, Name Taken said:

With Corsair Link I just pass the USB controller device through to the VM.

any ideas if that would work for the LED controller in an ASUS AURA board?

I talk in brackets (a bit like this (sometimes multilayered) (I know it's hard to read but I sort of think like this(maybe it has something to do with being a programmer)))

Link to comment
Share on other sites

Link to post
Share on other sites

17 hours ago, SEGFAULT said:

any ideas if that would work for the LED controller in an ASUS AURA board?

This will affect me aswell thanks to my asus aura mobo and graphics card. I don't believe aura is a USB device like corsair link stuff is... 

Link to comment
Share on other sites

Link to post
Share on other sites

19 hours ago, SEGFAULT said:

any ideas if that would work for the LED controller in an ASUS AURA board?

 

1 hour ago, SnipeYa said:

This will affect me aswell thanks to my asus aura mobo and graphics card. I don't believe aura is a USB device like corsair link stuff is... 

You can only do this in Windows that has direct access to mobo (so not on Linux, and not on windows inside a vm). If you want mobo led-control on Linux, it has to be in UEFI or you won't be able to control it.

Graphics card might work if you pass it to your windows vm, as it then has direct access to the card

Be safe, don't drink and sudo

 

Laptop: ASUS K541UA (i5-6198DU, 8GB RAM, 250GB 850 EVO) OS: Debian Buster (KDE)

Desktop: i7-7700, ASUS Strix H270F, 16GB RAM, 128GB SSD from laptop, some HDD's, iGPU, some NIC's, OS: Debian Buster (KDE)

 

Link to comment
Share on other sites

Link to post
Share on other sites

On 8/24/2017 at 9:00 PM, 101dmrs said:

 

You can only do this in Windows that has direct access to mobo (so not on Linux, and not on windows inside a vm). If you want mobo led-control on Linux, it has to be in UEFI or you won't be able to control it.

Graphics card might work if you pass it to your windows vm, as it then has direct access to the card

That's what I had thought, Seems it's a little harder to cut ties from windows.

Would it be possible to run the Asus software with mono? Or something of that nature?

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, SnipeYa said:

Would it be possible to run the Asus software with mono? Or something of that nature?

Never really tried mono/wine/..., but you can always try.
If the settings are saved on the mobo (but I guess they are saved in Windows) you could try booting in Windows, setting everything up and rebooting in Linux.

Be safe, don't drink and sudo

 

Laptop: ASUS K541UA (i5-6198DU, 8GB RAM, 250GB 850 EVO) OS: Debian Buster (KDE)

Desktop: i7-7700, ASUS Strix H270F, 16GB RAM, 128GB SSD from laptop, some HDD's, iGPU, some NIC's, OS: Debian Buster (KDE)

 

Link to comment
Share on other sites

Link to post
Share on other sites

that won't work with wine, If it isn't USB then the LED's are on the SMBus, wine can't give windows applications native like access to the hardware, all it does is map windows API calls to linux syscalls. commands directly to the hardware are lost.

I talk in brackets (a bit like this (sometimes multilayered) (I know it's hard to read but I sort of think like this(maybe it has something to do with being a programmer)))

Link to comment
Share on other sites

Link to post
Share on other sites

SEGFAULT is right, using wine will not give you any kind of HW driver support, (the OS running Wine needs to see the HW, and only then some software runnig in Wine might be able to use the HW).

 

As someone tinkering for a long time with fan control in Linux, I believe I can give some insight.

 

There are two ways to achieve this in Linux: 1) Already linked lm-sensors based (in /sys/class/hwmon) with related software and 2) ACPI thermal zones based control (more usefull with laptops, /sys/class/thermal).

 

See if either of these already exists, and if they are populated. This might point you to the right software solutiuon for the host OS.

 

Neither of these (nor will anything else AFAIK) will enable fan control in another OS running in a VM. Allow me to explain:

 

The "lm-sensors way" is the standard way of monitoring temperatures, fan speeds and setting the fan speeds in Linux. However, quite a few motherboard and/or sensor vendors don't write drivers for Linux. Also, (buggy / non-standard?) ACPI BIOSes may conflict with using a sensor chip, even if the chip was supported by a driver in the Kernel tree. This is why sometimes one may need some special Kernel options such as "acpi_enforce_resources=lax" to enable using certain sensor chips directly. However, this might not be safe and might cause breakage (as in: your HW and/or data)!

 

Thermald is another way, and more commonly usable in some laptops. IIRC it requires an ACPI compliant (as in: following the standard to the spec) ACPI implementation, which some laptops lack. Instead theyr manufacturers only provide proprietary drivers for the OS the manufacturers choose to write them for (usually Windows).

 

In the OPs situation it is unclear if the OP wishes to control the fans from the host OS or the one running inside the VM - but the question implies the latter is intended. IMO it makes no sense to do this from the VM OS, even if it was possible, since things that can cause critical failures - such as cooling - should be left to the host OS for obvious reasons. I believe (this is coming from someone who has not played with VMs nor any kind of experience with writing drivers): it will also get quite hairy really soon if it would be implemented / attempted. Either the host OS needs to pass trough the whole BUS / ACPI address space / whatever what is needed for fan control (and not mess with it at all itself), or some kind of "glue driver" is needed which will pass trough the information/communication from the Linux driver to the VM (and vice versa). But for obvious reasons (possibility of failure) such a possibility does not exist: it would not be a sane thing to implement.

Link to comment
Share on other sites

Link to post
Share on other sites

12 hours ago, Wild Penquin said:

SEGFAULT is right, using wine will not give you any kind of HW driver support, (the OS running Wine needs to see the HW, and only then some software runnig in Wine might be able to use the HW).

 

As someone tinkering for a long time with fan control in Linux, I believe I can give some insight.

 

There are two ways to achieve this in Linux: 1) Already linked lm-sensors based (in /sys/class/hwmon) with related software and 2) ACPI thermal zones based control (more usefull with laptops, /sys/class/thermal).

 

See if either of these already exists, and if they are populated. This might point you to the right software solutiuon for the host OS.

 

Neither of these (nor will anything else AFAIK) will enable fan control in another OS running in a VM. Allow me to explain:

 

The "lm-sensors way" is the standard way of monitoring temperatures, fan speeds and setting the fan speeds in Linux. However, quite a few motherboard and/or sensor vendors don't write drivers for Linux. Also, (buggy / non-standard?) ACPI BIOSes may conflict with using a sensor chip, even if the chip was supported by a driver in the Kernel tree. This is why sometimes one may need some special Kernel options such as "acpi_enforce_resources=lax" to enable using certain sensor chips directly. However, this might not be safe and might cause breakage (as in: your HW and/or data)!

 

Thermald is another way, and more commonly usable in some laptops. IIRC it requires an ACPI compliant (as in: following the standard to the spec) ACPI implementation, which some laptops lack. Instead theyr manufacturers only provide proprietary drivers for the OS the manufacturers choose to write them for (usually Windows).

 

In the OPs situation it is unclear if the OP wishes to control the fans from the host OS or the one running inside the VM - but the question implies the latter is intended. IMO it makes no sense to do this from the VM OS, even if it was possible, since things that can cause critical failures - such as cooling - should be left to the host OS for obvious reasons. I believe (this is coming from someone who has not played with VMs nor any kind of experience with writing drivers): it will also get quite hairy really soon if it would be implemented / attempted. Either the host OS needs to pass trough the whole BUS / ACPI address space / whatever what is needed for fan control (and not mess with it at all itself), or some kind of "glue driver" is needed which will pass trough the information/communication from the Linux driver to the VM (and vice versa). But for obvious reasons (possibility of failure) such a possibility does not exist: it would not be a sane thing to implement.

To clear things up I'm looking to do the control from the host OS(Centos Linux) as the VM(Windows) will only be running very rarely(When playing games or using software with no Linux alternative).

If I can get an LM_Sensors type control to work, The plan was to allow control via a web page with access whitelisted to he host and VM's.

I would do some more testing for all of this but as I would have to do all of this in a host os rather than a VM I don't get much of a chance, Maybe next weekend...

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×