Skip to content
This repository has been archived by the owner on Jun 30, 2019. It is now read-only.

"Kernel extension not loaded" - El Capitan #60

Open
OYMYO opened this issue Aug 3, 2015 · 37 comments
Open

"Kernel extension not loaded" - El Capitan #60

OYMYO opened this issue Aug 3, 2015 · 37 comments

Comments

@OYMYO
Copy link

OYMYO commented Aug 3, 2015

when launching WavTap in El Capitan 10.11 Beta (15A234d) I am getting an error saying "Kernel extension not loaded"

@dnichols
Copy link

dnichols commented Aug 8, 2015

+1

@OYMYO
Copy link
Author

OYMYO commented Aug 10, 2015

just a quick update on this issue:
i have solved my original problem (broadcasting system audio in live streams / recording system audio) by using soundflowerbed & making sure the kext file is stored in library/extensions & also in system/library/extensions

(previously soundflowerbed was having similar problems to wavtap)

there was a lot more steps than that to get it to work but it took days & i unfortunately I didn't keep a record of the whole process

El Capitan 10.11 Beta (15A243d)

@dcunited001
Copy link

i'm having the same problems with El Capitan beta. i set nvram boot-args, but no luck

@dcunited001
Copy link

I'm running OSX 10.11 beta6

### boot-args are set
$ sudo nvram boot-args

boot-args   kext-dev-mode=1

### after restart, manually loading kernel extensions also fails
$ sudo kextload /System/Library/Extensions/WavTap.kext

/System/Library/Extensions/WavTap.kext failed to load - (libkern/kext) not loadable (reason unspecified); check the system/kernel logs for errors or try kextutil(8).

### but still, kextutil is not allowed to load unsigned kernel extensions
$ sudo kextutil /System/Library/Extensions/Wavtap.kext

Diagnostics for /System/Library/Extensions/Wavtap.kext:
Code Signing Failure: not code signed
Untrusted kexts are not allowed
ERROR: invalid signature for com.wavtap.driver.WavTap, will not load

@ghost
Copy link

ghost commented Sep 15, 2015

I'm having the same issue running the El Capitan GM, I have tried setting the boot-args but no luck, I also tried stealing the ktext from Soundflower and adding it in as the WavTap one, no luck.

@siuying
Copy link

siuying commented Sep 16, 2015

@pje have you tried to request developer ID certificate for kext from Apple? https://developer.apple.com/contact/kext/

@yordis
Copy link

yordis commented Oct 3, 2015

+1 the same issue.

El Capitan: Official Release

@guilhermegustavo
Copy link

+1 Same problem.

temporarily using Sounflower, but without audio return equals Wavtap.

@dcunited001
Copy link

Yeh I've been using soundflower too.

On Saturday, October 3, 2015, guilhermegustavo [email protected]
wrote:

+1 Same problem.

temporarily using Sounflower, but without audio return equals Wavtap.


Reply to this email directly or view it on GitHub
#60 (comment).

David Conner *@dcunit3d 424-244-1486*
[[ Github http://www.github.com/dcunited001 - Coursera
https://www.coursera.org/user/i/8671e7b4d35f3d498f22e225dbe70bd9 -
Smarterer http://smarterer.com/dcunit3d - Plus
http://plus.google.com/101141634039644438128/ ]]

@worldsfinestdj
Copy link

If anyone is still experiencing this problem and is running El Captain on their Mac OSX please go to the link provided to see how to get sound flower back with no issues at all
https://youtu.be/kyS7UG3wmb0

@rgbjoy
Copy link

rgbjoy commented Oct 10, 2015

+1 @pje help!

@fgimian
Copy link

fgimian commented Oct 11, 2015

+1 here

@luizdsilveira
Copy link

After a long day trying everything, including other softwares (I almost payed $40 for one!), finally solved the problem: restart your Mac in "Restore Mode" (cmd + r), open Terminal and type:

csrutil disable

It's working perfectly now. Hope for you too.

@jason-murray
Copy link

@luizdsilveira worked, now the kext is loading but I can't listen to the WavTap device. Unfortunately the project seems abandoned at the moment.

For anyone else using the above instructions, after using Cmd+R just after the boot up sound, you need to select utilities in the top bar to launch the terminal.

EDIT: I should also mention that you should not perform this fix unless you know what you're getting in to. csrutil is part of the OSX security line up and disabling it could lead to your system being vulnerable to attack, or could enable you to mess with files you shouldn't and break your OSX install.

@luizdsilveira
Copy link

Hi, @JasonD33. In fact I had the same problem, so I opened Preferences, Sound and changed output to Headphones, than back to Wavtap. So I closed Wavtap, opened it again, changed output again to Headphones, back to Wavtap and it worked. I really don't know what I really did to make it work, but switching between them in this random way did the trick. :)

@jason-murray
Copy link

@luizdsilveira ok, so some random amount of swapping and opening closing WavTap later and it's working properly. Bizarre! I too cannot honestly say what the series of events were that lead to it working. I think it does have something to do with opening and closing the wav tap app:

  1. I had headphones selected, WavTap status bar app running.
  2. Changed to WavTap output in sound config panel. (no sound)
  3. Switched back to headphones and closed WavTap status bar app.
  4. Switched back to WavTap output in sound config window. (no sound)
  5. Opened the WavTap status bar app, WavTap output sound started working.

@luizdsilveira
Copy link

@JasonD33 Bizarre is the word. :) But if it's working is better to do not investigate the reason. :)

I had a SCSI scanner in 1994 that worked for years even without the SCSI board installed in the system (OS didn't have support for it). Weird things we have with computers.

@jason-murray
Copy link

@luizdsilveira Hah you're right! Thanks for the help.

@rgbjoy
Copy link

rgbjoy commented Oct 22, 2015

so why can't WavTap just get a developer ID certificate... what's holding this back? Anything we can do? I don't want to do some weird hacky terminal code in 'restore mode'...

@yordis
Copy link

yordis commented Oct 22, 2015

@rgbjoy yeah that's all what we need 👍

@idcmp
Copy link

idcmp commented Oct 27, 2015

Is it just money, or is Apple against something like WavTap?

@promyth3us
Copy link

Yea let me know how to do this!

@ed-george
Copy link

The csrutil disable method seems like a dirty hack - If an Apple Dev ID Certificate is needed (and assuming that costs money), I'd consider crowdfunding it for sure as I am sure many people would

@yordis
Copy link

yordis commented Dec 29, 2015

@ed-george indeed!

@siuying
Copy link

siuying commented Dec 29, 2015

@dorian If the author can sign this app with Apple approved cert, users will not need to run that command to install the app.

@ed-george Unfortunately you cant just register as an Apple Developer and sign the app, you need Apple approve for signing kext. It seems best for the author to request it.

@rgbjoy
Copy link

rgbjoy commented Dec 29, 2015

@dorian Why do you think disabling system integrity protection (csrutil) is a good idea? You shouldn't run any type of command to get this to work. We just wait for the author to request it.

There's always a good reason why Apple does these things.

@ed-george
Copy link

@dorian: I am in complete agreement with @rgbjoy. Even if running that command does work, it isn't a valid solution that should be recommended

@siuying: Thanks for the clarification - Fingers crossed this will be dealt with as soon as possible.

@OYMYO
Copy link
Author

OYMYO commented Dec 29, 2015

@rgbjoy @ed-george but thats why terminal is there :D
I would suggest people learn as much as possible about their system before making changes though.

if people are still having problems with WavTap to change audio sources then they should check out Soundflowerbed, its not as simple as WavTap was, but it does work on my system...

  • OS X El Capitan
  • Version 10.11.3 Beta (15D9c)
  • MacBook Pro (13-inch, Early 2011)

@ed-george
Copy link

@OYMYO I just don't think turning off a security layer of the underlining operating system is a very sensible suggestion. It may fix the issue, but it certainly leaves your operating system more vulnerable which, for an app of this nature, is probably not worth the risk.

As you mentioned, the latest Soundflowerbed release does seem to work. Recommending users use that project for the meantime seems like a much more logical solution for now.

@Carson-Shook
Copy link

@ed-george @rgbjoy System integrity didn't even exist until El Capitan, and OS X has done fine since before then. I had to disable it within days of upgrading for another project that I follow. If an app requires a kernel extension, then unless they're good friends with Apple, it's pretty much a guarantee that crsutil will have to be disabled. Seeing as kext dev mode is already a prereq, disabling system integrity is hardly an imposition.

At this point WavTap is way too early in development for Apple to sign. If you want to get it to that point, contribute to the project to help it along.

@pje
Copy link
Owner

pje commented Jan 4, 2016

Hey folks!

First some background: WavTap relies on a custom kernel extension to function. Before 2013 (when WavTap was originally written), it was possible to load kernel extensions using only KEXTLOAD(8) and sudo. Over the past two years, Apple has slowly been locking down user access to kernel space. As others have already noted: with El Capitan it is now impossible to install custom kernel extensions unless that extension has been signed by an apple-approved developer ID (and even then you have to write apple to request special permission [1]). I strongly disagree with this trend, but that's the direction they've chosen to take OSX.

WavTap is a simple tool, but it's always been about giving people control over their computers. I've been thinking a lot about what Apple's recent decisions mean for the future of WavTap, and frankly I'm worried that Apple will only choose to lock down the platform further.

That said, I've requested kernel extension permissions from Apple using a new developer account. If Apple deems it worthy, the next step is simply to build a new release of WavTap signed with that certificate. I'll update this thread as soon as I get a response from Apple. Stay tuned, expect news soon.

@rgbjoy: Anything we can do? I don't want to do some weird hacky terminal code in 'restore mode'...

Yes, that's horrible user experience and I wouldn't want to recommend it in the README, but it's certainly a valid temporary workaround.

Also I've just updated the README to mention that WavTap is currently broken..

Everyone: thanks for your patience and happy new year!

@ed-george
Copy link

👍 Thanks for the update @pje, fingers crossed Apple are reasonable about this.

@rgbjoy
Copy link

rgbjoy commented Aug 30, 2016

@pje Any updates? =)

@devinroth
Copy link
Contributor

Works in Sierra. Try in El Capitan.

  1. Restart computer in recovery mode ⌘R

  2. In Terminal type

    csrutil disable

  3. Restart computer

  4. Change permissions of kext

    sudo chown -R root:wheel mykext.kext
    sudo chmod -R 755 mykext.kext
    
  5. Load Kext
    sudo kextload mykext

@Birch-san
Copy link

Birch-san commented Sep 2, 2017

Confirmed that this works on Sierra.

Proof:

image

=====

Stupid things that you need to do to be allowed to open the .pkg:

Allow apps downloaded from identified developers

image

image

When you open the package, use Right-click > Open

image

But probably you all knew that bit already.

=====

Here's how to allow unsigned kernel extensions:

  1. Restart computer in recovery mode R
  2. Utilities > Terminal
  3. Tell System Integrity Protection to allow unsigned kernel extensions:
    csrutil enable --without kext
  4. Restart computer
  5. Download & install WavTap.0.3.0.pkg (or check for a newer release)
  6. The package will successfully install the application & kernel extension. It will also ask you to restart, so restart.

@OYMYO
Copy link
Author

OYMYO commented Sep 2, 2017

This is my current desktop sound recording set up, working on sierra;

@AtharvaVaidya
Copy link

@Birch-san thanks! That worked for High Sierra as well.

@ghost ghost deleted a comment Jul 16, 2019
@ghost ghost deleted a comment Jul 16, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests