I was wondering if someone could help me troubleshoot this issue.

I have a handful of VPNs set up on my MacBook (Snow Leopard) which I know are working, but today when I tried to use them I get the following error in all cases:

could not find the PPP kernel extension

I have not needed to use any VPN for a while but they have worked in the past and there is nothing I can think of that I have changed on this machine.

I have looked in System/Library/Extensions and PPP.kext is there which is the file I thought it would be looking for?

Any help would be greatly appreciated.


Some ideas of things to try...

  • Look at your /var/log/ppp.log, /var/log/kernel.log, and /var/log/system.log to look for clues. Pay special attention to the message from around the time of your last boot , and also from the last time you tried to initiate a VPN connection.

  • Enable verbose debugging of your VPN interface in System Preferences > Network > VPN > Advanced > Options > Advanced > Use verbose logging, then attempt to initiate a new PPP connection. Then check /var/log/ppp.log again.

  • It's also possible this is one of the few times that Repairing Permissions actually makes a difference; for security reasons, kexts whose permissions have been set wrong are not loaded. So you might want to run Disk Utility and to a Repair Permissions of your boot volume, then possibly reboot.

  • Mac OS X caches kernel extensions to speed up boot time. You can trigger Mac OS X to rebuild its kext cache by changing the modification time of the Extensions folder:

    sudo touch /System/Library/Extensions

...then reboot.

  • I'd also look at the contents of PPP.kext, and compare it to a known good copy from another machine with the exact same version of Mac OS X installed. A .kext is actually a bundle directory much like a .app is. The real binary is in Contents/MacOS/. It might be good to check for corruption of your PPP.kext binary by comparing, say, an MD5 checksum of it with an MD5 checksum of a known working copy from the exact same version of Mac OS X.

FWIW, I'm running Mac OS X v10.6.3 (10D573) on this machine, and here's the MD5 of my PPP kext's internal binary:

$ md5 /System/Library/Extensions/PPP.kext/Contents/MacOS/PPP 
MD5 (/System/Library/Extensions/PPP.kext/Contents/MacOS/PPP) = fae84adab5b1c5e63b34541f45735ae8
  • If a given kext fails to load, you can get more verbose debugging information by loading it manually with kextload and specifying the -v option:

    sudo kextload -v /System/Library/Extensions/PPP.kext

  • 1
    I just experienced the identical problem...probably provoked by a forced hard reboot after MacOS dropping its Bluetooth connections (again). The problem appeared immediately after reboot. The `sudo touch /System/Library/Extensions' did the trick. – John Fultz May 2 '12 at 1:40

Experienced this same issue on OS X El Capitan (10.11) after a reboot. Didn't see anything obvious in the Console related to it, other than the errors mentioned above, and others talking about PPP not being available in the kernel, etc.

Attempted to do Repair Disk Permissions as mentioned in @Spiff's answer, but that is no longer an option in OS X 10.11, so I simply rebooted the system again, and for whatever reason, the problem went away.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.