• Become a Premium Member for $25/year with no ads to improve your community experience.

Trying to add ITE IT8390E chip to SMCSuperIO.kext to be able to control the fan

hoaugtran

New member
Joined
Jul 26, 2023
Messages
15
Bootloader
  1. OpenCore (UEFI)
Mac
  1. iMac
Mobile Phone
  1. Android
  2. iOS
Hello everyone, as the title says, today I am trying to add the ITE IT8390E chip ( I found it because I used the Windows software HWInfo64 to view it ) into the SMCSuperIO kext to be able to control the fan on my Razer Laptop, but things are not going very well and I am having quite a few difficulties. with my project. As follows:
I researched and read through the commits on VirtualSMC/SuperIO and I followed those commits to see if I could add my device by:

1. At VirtualSMC/Sensors/SMCSuperIO/Resources folder. I created an additional plist for ITE IT8390E similar to ITE IT8721F. With DeviceID is 0x8390 = 33680 1718637032616.png
2. Next, I go to VirtualSMC/Sensors/SMCSuperIO/ITEDevices.cpp. I edited ITEDevices.cpp and added:

C++:
strcmp(detectedDevice->getModelName(), "ITE IT8390E")

I add to line 391 of the Code (do the same for other ITEs)
1718637153398.png
I didn't edit Devices.cpp because I saw that in SMCSuperIO/DeviceGenerator there was generate.sh and I realized it would automatically rebuild Devices.cpp for me.

1718637174103.png
And here is the Code in Devices.cpp:

1718637200548.png
1718637207117.png

3. Then I Build the kext, and no problem happened. However, my ITE IT8390E is still not detected and my machine still cannot read/control the fan. I used Macs Fan Control app to do that but without success
4. After that, check if the SMCSuperIO kext loads with the command

Code:
kextstat | grep -E "SMCSuperIO"

1718637242194.png
And see that the Kext is still loading fine. I don't know if I'm doing something wrong or missing something and if it's because HWInfo64 misread the name of my SuperIO Chip or not.
Right now I'm stuck and don't know what to do. If anyone knows or has experience about this please help me. Thank you very much..
 

Attachments

  • 1718637125118.png
    1718637125118.png
    114.8 KB · Views: 0
Hello everyone, as the title says, today I am trying to add the ITE IT8390E chip ( I found it because I used the Windows software HWInfo64 to view it ) into the SMCSuperIO kext to be able to control the fan on my Razer Laptop, but things are not going very well and I am having quite a few difficulties. with my project. As follows:
I researched and read through the commits on VirtualSMC/SuperIO and I followed those commits to see if I could add my device by:

1. At VirtualSMC/Sensors/SMCSuperIO/Resources folder. I created an additional plist for ITE IT8390E similar to ITE IT8721F. With DeviceID is 0x8390 = 33680 View attachment 7903
2. Next, I go to VirtualSMC/Sensors/SMCSuperIO/ITEDevices.cpp. I edited ITEDevices.cpp and added:

C++:
strcmp(detectedDevice->getModelName(), "ITE IT8390E")

I add to line 391 of the Code (do the same for other ITEs)
View attachment 7905
I didn't edit Devices.cpp because I saw that in SMCSuperIO/DeviceGenerator there was generate.sh and I realized it would automatically rebuild Devices.cpp for me.

View attachment 7906
And here is the Code in Devices.cpp:

View attachment 7907
View attachment 7908

3. Then I Build the kext, and no problem happened. However, my ITE IT8390E is still not detected and my machine still cannot read/control the fan. I used Macs Fan Control app to do that but without success
4. After that, check if the SMCSuperIO kext loads with the command

Code:
kextstat | grep -E "SMCSuperIO"

View attachment 7909
And see that the Kext is still loading fine. I don't know if I'm doing something wrong or missing something and if it's because HWInfo64 misread the name of my SuperIO Chip or not.
Right now I'm stuck and don't know what to do. If anyone knows or has experience about this please help me. Thank you very much..
Regarding the FAN control, it requires some ACPI patching and the FAN speed is controlled on ACPI level via EC. Read about Rehabman HP Probook implementation.
 
Because I have a Dell machine and + SMCSuperIO it can completely read the fan speed and control it, so I think if I add my machine's SuperIO chip, it will also be able to do that with just that work. I will try Build ACPI. Thank you
 
Because I have a Dell machine and + SMCSuperIO it can completely read the fan speed and control it
Are you sure? If so, provide the details. Maybe can come up with something!

Really, never needed to do it on the Notebook or the Desktop side.
 
Yes, I'm sure my Dell can READ the FAN Speed and Control the FAN SPEED. That's all I can provide. So I just tried to find a way with SMCSuperIO. Try to Build ACPI based on Rehabman is actually a bit difficult. I have some experience with ACPI but I can't understand what Rehabman does in my SSDT-FANREAD. Haiz
 
Yes, I'm sure my Dell can READ the FAN Speed and Control the FAN SPEED. That's all I can provide. So I just tried to find a way with SMCSuperIO. Try to Build ACPI based on Rehabman is actually a bit difficult. I have some experience with ACPI but I can't understand what Rehabman does in my SSDT-FANREAD. Haiz
Have sent you a PM. Can carry on Discord!
 

Latest posts

Forum statistics

Threads
1,710
Messages
16,056
Members
24,881
Latest member
splays