First of all, hello all. This is my first post.
I have a synaptics touchpad, which is recognized as an alps, the result is that the correct drivers are not loaded and the I can't use it.
Someone found that in the id sequence it returns 0x02 instead of the expected 0x47 and that results in the touchpad not to be recognized as a synaptics.
Code:
void ApplePS2Mouse::interruptOccurred(UInt8 data) // PS2InterruptAction
{
//
// This will be invoked automatically from our device when asynchronous mouse
// needs to be delivered. Process the mouse data. Do NOT send any BLOCKING
// commands to our device in this context.
//
// We ignore all bytes until we see the start of a packet, otherwise the mouse
// packets may get out of sequence and things will get very confusing.
//
if (_packetByteCount == 0 && ((data == kSC_Acknowledge) || !(data & 0x08)))
{
IOLog("%s: Unexpected data from PS/2 controller.\n", getName());
return;
}
I mean, it is using voodooPS2mouse.kext instead, because the driver is not loaded properly, due to the synaptic trackpad is recognized as ALPS.
The behaviour is pretty good, but when it wakes from sleep, there is an erratic movement from trackpad and I have the following in the kernel.log:
- ApplePS2mouse: unexpected data received from PS2 controller.
- ApplePS2controller: timed out on mouse input stream.
Someone could take a look on it.
By the way my trackpad is a Synaptic (ID: SYN0166, ID COMPATIBLES: SYN0100, SYN0002, PNP0F13).
The computer is a 8540w.
Here is a thread:
http://forum.voodooprojects.org/inde...ic,1803.0.html
Cheers.