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

Guide on how to get this working on Mojave (Couldn't open IO Service) #94

Open
coworo opened this issue Mar 29, 2023 · 2 comments
Open

Comments

@coworo
Copy link

coworo commented Mar 29, 2023

10.14.6 on MBA 2017, SIP is disabled.

sudo ./voltageshift mon and info results in no output.

sudo ./voltageshift loadkext results in "Couldn't open IO Service"

tried voltageshift versions 10.12-14, 1.24, 1.25

Not sure where to go from here.

sudo csrutil status
System Integrity Protection status: disabled.
sudo kextutil VoltageShift.kext/
Kext rejected due to improper filesystem permissions: <OSKext 0x7fdb13c2fc70 [0x7fff962c5920]> { URL = "file:///Users/AAA/Downloads/voltageshift_1.25(1)/VoltageShift.kext/", ID = "com.sicreative.VoltageShift" }
Code Signing Failure: code signature is invalid
Authentication Failures: 
    File owner/permissions are incorrect (must be root:wheel, nonwritable by group/other): 
        /Users/AAA/Downloads/voltageshift_1.25(1)/VoltageShift.kext
        Contents
        _CodeSignature
        CodeResources
        MacOS
        VoltageShift
        Resources
        en.lproj
        InfoPlist.strings
        Info.plist

Warnings: 
    Personality has no CFBundleIdentifier; the kext's identifier will be inserted when sending to the IOCatalogue: 
        VoltageShiftAnVMSR

Diagnostics for /Users/AAA/Downloads/voltageshift_1.25(1)/VoltageShift.kext:
Authentication Failures: 
    File owner/permissions are incorrect (must be root:wheel, nonwritable by group/other): 
        /Users/AAA/Downloads/voltageshift_1.25(1)/VoltageShift.kext
        Contents
        _CodeSignature
        CodeResources
        MacOS
        VoltageShift
        Resources
        en.lproj
        InfoPlist.strings
        Info.plist

Warnings: 
    Personality has no CFBundleIdentifier; the kext's identifier will be inserted when sending to the IOCatalogue: 
        VoltageShiftAnVMSR

@coworo
Copy link
Author

coworo commented Mar 30, 2023

This is how i solved it :

You probably already tried a lot of things so to start from a clean slate :

  • run

sudo kextcache -clear-staging /
sudo kextcache -invalidate /

  • Delete these folders and files (if they exist)
/System/Library/Extensions/VoltageShift.kext
/Library/Extensions/VoltageShift.kext
/Library/Application Support/VoltageShift
/Library/LaunchDaemons/com.sicreative.VoltageShift.plist
  • run again

sudo kextcache -clear-staging /
sudo kextcache -invalidate /

  • run

kextstat | grep -v apple

to confirm theres nothing related to voltageshift there.

How to actually install it :

  • run in recovery*****

csrutil enable --without kext or csrutil disable
spctl kext-consent disable

  • download

voltageshift_10.12-14 from https://sitechprog.blogspot.com/2017/06/voltageshift.html
or
voltageshift_1.2 from sicreative's post on #31

(difference is 10.12-14 has a bug fix that allows you to set PL on boot afaik)

  • navigate to the folder you downloaded and run

sudo chown -R root:wheel VoltageShift.kext/

most likely unnecessary if you dont want to use voltage shift from anywhere in the command line but im just sticking to exact steps i took here;

sudo cp voltageshift /usr/local/bin
sudo cp -r VoltageShift.kext /Library/Extensions/
sudo chown -R root:wheel /Library/Extensions/VoltageShift.kext

  • open a new terminal (or cd out of voltageshift folder)

voltageshift info to test
voltageshift info to test again to confirm you didnt ran into the weird behaviour i had where the kext would unload after every usage of voltage shift and wouldnt reload again.

  • do the thing you want to do

Example :

sudo voltageshift buildlaunchd 0 0 0 0 0 0 0 20 15 60

Sets PL1 : 20 PL2 : 15 Disables Turbo Boost applies on boot refreshes every 60 minutes .

***** Isnt disabling all that kind of overkill?

It kinda is, a better option could be running spctl kext-consent add 7698T37TAB in recovery mode again to approve the team identifier of this kext. You probably wouldnt even need to disable SIP but im not sure and i dont want to test because im sick of troubleshooting.

@coworo coworo changed the title Couldn't open IO Service Guide on how to get this working on Mojave (Couldn't open IO Service) Mar 30, 2023
@eduardmolnar
Copy link

Confirmed working on macOS Catalina 10.15 too. Thank you very much for the info! Seems like the invalid permissions were the biggest problem.

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

2 participants