overdue-scratch

Author Topic: Halt/Restart issues; kernel panics; documentation and guidance is needed  (Read 8188 times)

0 Members and 1 Guest are viewing this topic.

diamondsw

  • Observer
  • Posts: 11
Right now I can't tell exactly what I need, as there is little to no documentation for the various Voodoo power and battery kexts.

What I have today is simple:
VoodooBattery from 1/7/2010 (version 1.0?)
VoodooPower from 5/28/2009 (version "©2008 Superhai")
I'm on Snow Leopard 10.6.2 on an Asus Eee 901, with netkas's vanilla 10.6.2 kernel binpatched to allow it to run on an Atom.

Here is where things get murky, and where the lack of documentation is extremely frustrating. Long ago before the Voodoo kexts, I used Psystar's OpenHaltRestart to allow proper power down and restart. Otherwise the system would finish shutting down, but never hand control back to the BIOS to cut power or reset. I switched to the Voodoo kexts as they were being maintained and provided better battery information than my old solutions.

Today I was trying to move off of the old VoodooPower.kext, as I understand that was designed for Leopard only, and my only hope for having a vaguely supported system would be to move to one of the Snow Leopard kexts. Thus I started experimenting:

  • VoodooBattery + VoodooPower + OpenHaltRestart = success
  • VoodooBattery + VoodooPower = success
  • VoodooBattery + OpenHaltRestart = cannot halt/restart successfully
  • VoodooBattery = cannot halt/restart successfully
  • VoodooBattery + VoodooPowerMini = kernel panic at boot
  • VoodooPowerMini = kernel panic at boot
  • VoodooBattery + VoodooPowerAcpi = cannot halt/restart successfully

From this I've determined that:
  • OpenHaltRestart is no longer functional, and removed it.
  • VoodooBattery is required for any battery support (somewhat obvious).
  • VoodooPowerACPI does nothing on my system.
  • VoodooPowerMini kernel panics at boot.
  • VoodooPower (5/28/2009) is the only one that allows my computer to halt/restart, and it's seemingly no longer supported.

Something in addition to VoodooBattery is required, or my system will not shut down. Whatever this tweak is, it was previously supplied by OpenHaltRestart, and is now supplied only by the obsolete VoodooPower. Vinnie881 reported this same issue weeks ago, and you ignored him. This is clearly related to VoodooPower.

Things that are not documented and should be:
  • Version numbers! Why do none of these extensions have any concept of version numbers to distinguish them? Seriously.
  • What kernel extensions are these kexts dependent on? I'm wagering that the kernel panic with VoodooPowerMini is due to missing dependencies. Of course, the extension should be declaring these and not loading rather than crashing...
  • What chunk of code is it that allows many of these systems to halt/restart properly, and what current extension will provide it? OpenHaltRestart did, and the old VoodooPower did. As far as I can tell, the new kexts do not.
  • Should VoodooBattery be used along with VoodooPowerMini or VoodooPowerACPI? Are some of these mutually exclusive, subsets of each other, etc? There's no guidance on what to use when and where. None.
  • Where is VoodooPower for Snow Leopard? Obviously there's something it does that is crucial that's not being done by other kexts.
« Last Edit: March 28, 2010, 05:20:52 AM by diamondsw »

Superhai

  • VoodooLabs
  • Posts: 102
Things that are not documented and should be:


1) All the kexts are versioned, and have been all the time.
2) The dependencies are of cause declared or the kext wouldn't load, and missing dependencies do not cause a panic. On the other hand if you miss the dependencies you have a system that is unsupported (and seriously flawed), because it only depends on the system kexts.
3) The halt/restart code did exist in VoodooPower, but I removed it in newer kexts because I got some bug reports as it caused different halt/restart kexts and methods to not work. You find the source in google-code. Halt/restart is not something VoodooPower was supposed to handle in the first place anyway.
4) VoodooBattery is independent and have nothing to do with VoodooPower. VoodooPower is only for leopard and unsupported. If it causes confusion I will remove all reference to it. VoodooPowerMini is a smaller version of VoodooPower, Acpi is a special acpi version. You can read about it here http://forum.voodooprojects.org/index.php/topic,1095.0.html and here http://forum.voodooprojects.org/index.php/topic,1094.0.html
5) There is no VoodooPower for snow.

I have plans for updating VoodooPower, but I rarely have time to work on it.

diamondsw

  • Observer
  • Posts: 11
VoodooBattery is 1.0? VoodooPower is version "2008"? Perhaps they're versioned internally, but "Get Info" doesn't tell me anything useful. That's what I mean by the version numbers. I'll take a closer look at the Info.plist's, but the user-visible version does not seem correct, which makes discussion of what's installed hard.

As for dependencies, this was just a guess since VoodooPower Mini kernel panics on boot. It was either a dependency is missing or the code crashed OS X. Well, looks like it's the latter then, which I was hoping it wasn't. Please don't remove the old VoodooPower - many folks still use Leopard, and while it may not be supported on Snow Leopard it works here, whereas all the new VoodooPowerMini does for me is crash. :( If there's anything I can provide to help debug that I'd be glad to.

Actually, I'll take a look at Google Code for the old VoodooPower source. My coding is a bit rusty, but if I can separate the halt/restart code into its own kext, I know a lot of people would benefit from it. Even unsupported, I know of no other kext that works on Snow Leopard.

Superhai

  • VoodooLabs
  • Posts: 102
VoodooBattery is 1.0? VoodooPower is version "2008"?

Yes the Info.plist is where to look for a kext not installed or running. Get Info does not support showing version of kexts.

You find the version of a loaded kext in Apple Menu->"About This Mac"->"More Info..."->Software/Extensions
Under Kext Version is the version. You can also find it in terminal by issuing command "kextstat" and the version is in the parenthesis.

If you think there is a bug in VoodooPowerMini, then post a bug report including the text output from the panic.