Voodooprojects
VoodooPS2Controller => Bug Reports => Topic started by: dungbx on April 11, 2009, 06:57:52 PM
-
Hi Voodoo.
At first I want to say thanks to the team for considering to fix this old technology.
It's long time I've been waiting for the kext. I even tried to fix source code but...
Okay, this is my problem:
I installed VoodooPS2 and restart.
At boot it said: "VoodooPS2Keyboard: unexpected acknowledge PS2Controller" repeatly and doesnt stop.
Some history about my laptop:
Leopard 10.5.5 Voodoo Kernel
HP Pavilion DV6205/CT Japanese Keyboard
AMD 1.6GHz Turion64X2
1GB RAM
80GB HDD nForce4 SATA (works, Medevil)
nVidia Geforce 7200 Go (works 100%, NVKush)
Connexant HID sound (works, AzaliaAudio, speakers only)
Broadcom Wifi (works oob)
nForce Network Controller (works, nForce LAN)
PS/2 Keyboard +Trackpad sometimes work
Previously I've tried many PS2 kext but never work.
Since Tiger 10.4 until now Leo 10.5.5. Just sometimes keyboard & touchpad work.
Please take a look at this.
Best regards.
-
Hello.
Can I ask for a debug version of this kext?
Maybe it will help.
-
Source is publicaly available.
-
Could it be smt related to DSDT?
-
I installed VoodooPS2 and restart.
At boot it said: "VoodooPS2Keyboard: unexpected acknowledge PS2Controller" repeatly and doesnt stop.
void ApplePS2Keyboard::interruptOccurred(UInt8 scanCode) // PS2InterruptAction
{
//
// This will be invoked automatically from our device when asynchronous
// keyboard data needs to be delivered. Process the keyboard data. Do
// NOT send any BLOCKING commands to our device in this context.
//
if (scanCode == kSC_Acknowledge) // 0xFA
IOLog("%s: Unexpected acknowledge from PS/2 controller.\n", getName());
else if (scanCode == kSC_Resend)
IOLog("%s: Unexpected resend request from PS/2 controller.\n", getName());
else
dispatchKeyboardEventWithScancode(scanCode);
}
Above function is a keyboard interrupt handler.
That you saw the log message, it means ps/2 kext passed init() and prove() function well.
bool ApplePS2Keyboard::start(IOService * provider)
{
...
//
// Reset and enable the keyboard.
//
initKeyboard();
//
// Install our driver's interrupt handler, for asynchronous data delivery.
//
_device->installInterruptAction(this,
OSMemberFunctionCast(PS2InterruptAction,this,&ApplePS2Keyboard::interruptOccurred));
_interruptHandlerInstalled = true;
//
// Install our power control handler.
//
_device->installPowerControlAction( this,
OSMemberFunctionCast(PS2PowerControlAction,this, &ApplePS2Keyboard::setDevicePowerState ));
_powerControlHandlerInstalled = true;
return true;
}
I don't know well, but I guess there are some mis-initializing or other problem in start() function.
-
Thank you for that information.
I've been looking into the code but it's kind of pointless.
The same problem was found in very previous PS2 kext...
I guess it must be about ACPI. Its behavior is really weird :(