Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSI MPG x870e Carbon Wifi no speed sensor #2883

Closed
5paceMonkey opened this issue Dec 22, 2024 · 6 comments
Closed

MSI MPG x870e Carbon Wifi no speed sensor #2883

5paceMonkey opened this issue Dec 22, 2024 · 6 comments

Comments

@5paceMonkey
Copy link

5paceMonkey commented Dec 22, 2024

I have tried all solutions i could find here and nothing.
Latest BIOS update

Any suggestions or solution?
image_2024-12-22_110242898
Ignore 3090 sensors it is watercooled.

MSI software and Bios can see and control fans
image_2024-12-22_111956773

@jaykeny
Copy link

jaykeny commented Dec 23, 2024

FanControl is essentially a UI for existing backend libraries such as LibreHardwareMonitor, which doesn't currently support the Nuvoton NCT6687D Super I/O controller. I went down this rabbit hole and thought about building it myself, but realized I was searching for my motherboard, and not the Super I/O controller. After figuring out what controller I had, I discovered Alcolawl has already been working on it. I'm not sure why he hasn't made a PR yet (probably cause there's still a couple kinks), but he does have releases available that you update the library within the FanControl folder with. Be sure to backup your FanControl directory and make sure Smart Control is disabled in your bios, there's a hardware monitor icon at the top that you can click to get to, then disable Smart Control for the system fans you want to control. I don't believe the CPU or Pump headers are working yet though, so you'll want to let the motherboard still smart control those. You'll also more than likely have to click the 3 dots and manually pair your sensor with FanControl.

@Alcolawl
Copy link

@jaykeny Thanks for the shout-out. So far so good, according to a few X870E Carbon users that have used my releases. Feeling good about it, but it's not perfect. I'm hesitant to create a PR just yet because of the fans ramping up/down slowly, causing issues with FanControl, and the solution itself requires that I hard code every single specific motherboard with this issue into a conditional statement. So every time someone with a newly affected motherboard comes along, I have to add it to the code and create a new PR. I have a feeling the maintainers won't be a fan of this solution, but it's the best we have right now.

@jaykeny
Copy link

jaykeny commented Dec 23, 2024

@jaykeny Thanks for the shout-out. So far so good, according to a few X870E Carbon users that have used my releases. Feeling good about it, but it's not perfect. I'm hesitant to create a PR just yet because of the fans ramping up/down slowly, causing issues with FanControl, and the solution itself requires that I hard code every single specific motherboard with this issue into a conditional statement. So every time someone with a newly affected motherboard comes along, I have to add it to the code and create a new PR. I have a feeling the maintainers won't be a fan of this solution, but it's the best we have right now.

@Alcolawl No problem, thanks for building it so I didn't have to go further down the rabbit hole haha. I noticed the defined ramp up times were ignored. I saw where you were looking into it, so I didn't want to waste time if you were already doing a deep dive. I'm assuming it's with how MSI manufacturers the board and not the NCT6687D, which would prevent you from applying the fix to all boards using NCT6687D? Do you think it's all MSI boards using the x870 chipset and NCT6687D Super I/O controller? I'm wondering if you could do something like:
case var _ when name.Contains("X870") && name.Contains("MS-"),

instead of

case var _ when name.Equals("PRO X870-P WIFI (MS-7E47)",

I only briefly looked over your code, so I'm sure you probably thought of that, there's probably something else preventing you from doing it that way.

@Alcolawl
Copy link

@jaykeny Thanks for the shout-out. So far so good, according to a few X870E Carbon users that have used my releases. Feeling good about it, but it's not perfect. I'm hesitant to create a PR just yet because of the fans ramping up/down slowly, causing issues with FanControl, and the solution itself requires that I hard code every single specific motherboard with this issue into a conditional statement. So every time someone with a newly affected motherboard comes along, I have to add it to the code and create a new PR. I have a feeling the maintainers won't be a fan of this solution, but it's the best we have right now.

@Alcolawl No problem, thanks for building it so I didn't have to go further down the rabbit hole haha. I noticed the defined ramp up times were ignored. I saw where you were looking into it, so I didn't want to waste time if you were already doing a deep dive. I'm assuming it's with how MSI manufacturers the board and not the NCT6687D, which would prevent you from applying the fix to all boards using NCT6687D? Do you think it's all MSI boards using the x870 chipset and NCT6687D Super I/O controller? I'm wondering if you could do something like:
case var _ when name.Contains("X870") && name.Contains("MS-"),

instead of

case var _ when name.Equals("PRO X870-P WIFI (MS-7E47)",

I only briefly looked over your code, so I'm sure you probably thought of that, there's probably something else preventing you from doing it that way.

I'd love to do something like that, unfortunately we're limited by the scope of variable references in certain scripts. Your suggestion is the obvious solution except in the.context of the script you may not be able to reference "Vendor". If I add the ability to do so, I'm increasing the memory footprint for one very particular use case. Not sure how happy the devs would be about that. I'll have to drive into the code more when I get back home.

@jaykeny
Copy link

jaykeny commented Dec 24, 2024

I'd love to do something like that, unfortunately we're limited by the scope of variable references in certain scripts. Your suggestion is the obvious solution except in the.context of the script you may not be able to reference "Vendor". If I add the ability to do so, I'm increasing the memory footprint for one very particular use case. Not sure how happy the devs would be about that. I'll have to drive into the code more when I get back home.

Understood, I figured you thought of that. I primarily work in PHP and JS, so C# is a bit out of my wheelhouse. Sometimes you just need to step away to come back with more ideas. Happy holidays and can't wait to see what you come up with, thanks again.

@Rem0o
Copy link
Owner

Rem0o commented Jan 9, 2025

Since this relies on LHM, will close.
https://github.com/Rem0o/FanControl.Releases#issues-and-hardware-compatibility

@Rem0o Rem0o closed this as completed Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants