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.

link|improve this question

80% accept rate
feedback

1 Answer

up vote 2 down vote accepted

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

link|improve this answer
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 at 1:40
feedback

Your Answer

 
or
required, but never shown

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