Jump to content

Cypress PS2 Trackpad kext


Ulysse31
 Share

128 posts in this topic

Recommended Posts

Good evening all,

 

So Ulysse31, I tried downloading it but when I try to DL the debug kext from mega its giving me either errors or just fails to start. I've tried on three networks and a few browsers to no avail. Is the file hosted elsewhere? 

Link to comment
Share on other sites

Good evening all,

 

So Ulysse31, I tried downloading it but when I try to DL the debug kext from mega its giving me either errors or just fails to start. I've tried on three networks and a few browsers to no avail. Is the file hosted elsewhere?

Hi again,

Sorry for the inconvenience, it seems that something happend to the last debug link, I have updated the link on the first post, you should now be able to download it.

 

Cheers,

 

 

--

Ulysse31

Link to comment
Share on other sites

So I installed the debug kext and ran the terminal command, but the cypress_dump.txt file has nothing in it, its just a zero byte file. I did attach the crash report from the pref pane, I don't know if that might help any. Suggestions for the dump file?


I checked the console logs and took a screenshot of what happened right after boot for ps2-related stuff, ill attach the pic here. Not sure if any of these will help

Cypress Pref Pane Crash.rtf

post-1297636-0-36570200-1399686980_thumb.png

Link to comment
Share on other sites

So I installed the debug kext and ran the terminal command, but the cypress_dump.txt file has nothing in it, its just a zero byte file. I did attach the crash report from the pref pane, I don't know if that might help any. Suggestions for the dump file?

 

I checked the console logs and took a screenshot of what happened right after boot for ps2-related stuff, ill attach the pic here. Not sure if any of these will help

Judging by the log you have 2 PS2 drivers installed...

The "is a duplicate" is a giveaway...

Check your Extensions folder...

  • Like 1
Link to comment
Share on other sites

Guys, 

 

thanks much for your help! i found a ps2 kext in my boot drive that i had missed. OOPS. 

thanks for all your work, trackpads amazing!

You're welcome, :D

Happy to know that it is fine now.

 

Cheers,

 

 

--

Ulysse31

Link to comment
Share on other sites

  • 4 weeks later...

 

Hi, good guy,

 

Thanks a lot !

 

Mine is XPS12-9Q23 with i7-3537U and have the same problem like 84th floor. The trackpad is always frozen and jumpping with your V7 kext.

If possible, can you say something about how to tranform the linux cypress trackpad driver to OS X driver?

Here is my infos:

Hi, good guy,

 

I have the same problem like 84th floor. The trackpad is always frozen and jumpping with your kexts V7. Here is my infos:

 

Hi,

 

I have been checking your cypress logs, and from what i read, kext is loaded and interprets data received from PS2 as it should, for about 10 mins (at least thats the appearance in the logs it might be "jumping" on screen if other ps2 kext present for example), then something happens that de-sync ps2 protocol (probably here that it freeze). My first guest would be another ps2 related kext (like smoothmouse or other) present that messes up with the kext input/output that leads to a de-sync of ps2 protocol.

Please could you answer to the following questions :

- what type of installation have you used (pre-patched cd/usb image with pre-installed kext ?) ?

- are you 100 % sure there is no other PS2 related kext loaded ?

- it is jumping from start or just sometimes like when you try to use multifinger or so ?

- Could you send me your entire system.log (located in /var/log/) generated while using debug kext  ? Since I'm guessing something external, and the logs you can made with the command on the first post only retreives cypress logs, would need to read the entire system.log => WARNING : I highly recommend you to send this via PM (you do not want the world to read your entire system logfile)

 

For the linux driver "transformation" part, to be short :

- I firstly read the entire cypress ps2 linux driver source code (free and available in the linux kernel source code, if you have a gentoo like me, it is available directly on your system disk)

- with some short cypress sheet docs, analyse it and understood all the functions and their behaviour

- re-implemented same behaviour under the voodoo appleps2controller kext (rehabman's version)

 

The linux driver is the same if you have a XPS 12, 13, or 15z, you have to understand that the linux driver does not care if you are running a XPS 12, 13, 15z or WX42Whatevercomputer, it simply implements a specific PS2 communication protocol between your system and the cypress ps2 chip, and then interprets the data received from that and send it back to the system, and since my work is based on the linux source code, there is no reason that this driver should not work under xps 12 as it works under xps 13 and 15z.

But this is for the "basic" features, like pointer moving, click left/right and two finger scroll. For multifinger (3 to 5 fingers), some cypress firmware where scavenged by cypress himself (I suppose to sell a cheaper version or whatever reason) to only detect up to 3 fingers under windows (only 2 fingers max detected under linux whatever firmware you have ...) : in fact cypress doc specifies up to 5 fingers, and the protocol like specified on the doc works great with firmwares below v34, which means that with firmware below v34 you have up to 5 fingers and 100% compliant with the documentation. the firmware v34 and higher where modified to only respect official doc up to 3 finger, so i had some patches to get it working on those firmwares.

In your case, from the log you sent, you have a v11 firmware, which is the same as me. And that's why my first guess would be an external problem.

if you want further information about PS2 protocol and my implementation, you can read my other post on the developers corner here :

 

http://www.insanelymac.com/forum/topic/295354-ps2-protocol-in-general-and-cypress-voodoops2-kext-story/

 

 

Cheers,

 

 

--

Ulysse31

Link to comment
Share on other sites

Hi,

 

I have been checking your cypress logs, and from what i read, kext is loaded and interprets data received from PS2 as it should, for about 10 mins (at least thats the appearance in the logs it might be "jumping" on screen if other ps2 kext present for example), then something happens that de-sync ps2 protocol (probably here that it freeze). My first guest would be another ps2 related kext (like smoothmouse or other) present that messes up with the kext input/output that leads to a de-sync of ps2 protocol.

Please could you answer to the following questions :

- what type of installation have you used (pre-patched cd/usb image with pre-installed kext ?) ?

- are you 100 % sure there is no other PS2 related kext loaded ?

- it is jumping from start or just sometimes like when you try to use multifinger or so ?

- Could you send me your entire system.log (located in /var/log/) generated while using debug kext  ? Since I'm guessing something external, and the logs you can made with the command on the first post only retreives cypress logs, would need to read the entire system.log => WARNING : I highly recommend you to send this via PM (you do not want the world to read your entire system logfile)

 

For the linux driver "transformation" part, to be short :

- I firstly read the entire cypress ps2 linux driver source code (free and available in the linux kernel source code, if you have a gentoo like me, it is available directly on your system disk)

- with some short cypress sheet docs, analyse it and understood all the functions and their behaviour

- re-implemented same behaviour under the voodoo appleps2controller kext (rehabman's version)

 

The linux driver is the same if you have a XPS 12, 13, or 15z, you have to understand that the linux driver does not care if you are running a XPS 12, 13, 15z or WX42Whatevercomputer, it simply implements a specific PS2 communication protocol between your system and the cypress ps2 chip, and then interprets the data received from that and send it back to the system, and since my work is based on the linux source code, there is no reason that this driver should not work under xps 12 as it works under xps 13 and 15z.

But this is for the "basic" features, like pointer moving, click left/right and two finger scroll. For multifinger (3 to 5 fingers), some cypress firmware where scavenged by cypress himself (I suppose to sell a cheaper version or whatever reason) to only detect up to 3 fingers under windows (only 2 fingers max detected under linux whatever firmware you have ...) : in fact cypress doc specifies up to 5 fingers, and the protocol like specified on the doc works great with firmwares below v34, which means that with firmware below v34 you have up to 5 fingers and 100% compliant with the documentation. the firmware v34 and higher where modified to only respect official doc up to 3 finger, so i had some patches to get it working on those firmwares.

In your case, from the log you sent, you have a v11 firmware, which is the same as me. And that's why my first guess would be an external problem.

if you want further information about PS2 protocol and my implementation, you can read my other post on the developers corner here :

 

http://www.insanelymac.com/forum/topic/295354-ps2-protocol-in-general-and-cypress-voodoops2-kext-story/

 

 

Cheers,

 

 

--

Ulysse31

 

OH! Thanks!

 

Here is my answer:

 

- what type of installation have you used (pre-patched cd/usb image with pre-installed kext ?) ?

I use official OS X 10.9.3 InstallESD.dmg file. Load basesystem.dmg and copy all the files into a new dmg file, then extract mach_kernel into it and copy “package” to System/Installation. Boot by clover and put all the two kexts(FakeSMC.kext and VoodooPS2Controller.kext) into clover/kexts/10.9. Then boot by clover without caches but with extra kexts and begin to install and after installation, go into system and install the two kexts by Kext Wizard and rebuild/fix the permission by Kext Utility, then reboot. The system is totally new without other extra kexts for it is installed in GUID 64G TF card only to test the cypress trackpad kext. The PlugIns in FakeSMC.kext has already been deleted.

 

- are you 100 % sure there is no other PS2 related kext loaded ?

Firmly YES.

 

- it is jumping from start or just sometimes like when you try to use multifinger or so ?

Once I use the trackpad frequently, like move here and there with no stop, first it “runs OK” but the freezing will come in one or two minutes no matter how many fingers used even only one finger and then wait a moment, it “runs OK” again, but a few minutes later, it will be frozen again. It circulates again and again. If I use two or more fingers, sometimes the both left buttons in cypress trackpad and the USB mouse will not be recognized by system, only the right button works. All the problems above will not stopped automatically but will stop after entered any two or three Keys in fast speed in the PS2 keyboard.

In the “runs OK” period, it will jump mostly with multifinger, sometimes with one finger, like I press here, but it appears there.

 

For examples:

While it runs OK, the information in log is like that ”14-6-10 10:55:21.000 kernel[0]: CYPRESS: ApplePS2CypressTouchPad: packet dump { 0x40, 0x20, 0x42, 0x99, 0x46, 0x00, 0x00, 0x00 }

14-6-10 10:55:21.000 kernel[0]: CYPRESS: Counting Fingers: 1, tap 0

14-6-10 10:55:21.000 kernel[0]: CYPRESS: contacts[0] = {578, 153, 70}

14-6-10 10:55:21.000 kernel[0]: CYPRESS: l=0, r=0, m=0

14-6-10 10:55:21.000 kernel[0]: CYPRESS: old coord: _xpos=588 _ypos=161

14-6-10 10:55:21.000 kernel[0]: CYPRESS: Sending pointer event: -5,-4,0

It freezes with only this information repeated more than 4000 times in less than one minutes in system logs if I do not press any keys in PS2 keyboard to interrupt it. “CYPRESS: ApplePS2CypressTouchPad: packet dump { 0x3b, 0x40, 0x11, 0x95, 0x05, 0x00, 0x00, 0x00 }

” ;

while I use one finger and with two fingers, the freezing information is like that “CYPRESS: ApplePS2CypressTouchPad: packet dump { 0x1a, 0x40, 0x20, 0x23, 0xf2, 0x00, 0x00, 0x00 }

Three finger freezes with the both left buttons in cypress trackpad and the USB mouse not working, its information “CYPRESS: ApplePS2CypressTouchPad: packet dump { 0x0e, 0x40, 0x11, 0xf1, 0x14, 0x00, 0x00, 0x00 }

 

system.log 2014.6.10 am.zip

OS X 10.8.3 system log trackpad debug 2014.6.14.zip

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Great motitas, seems cool, thanks for the contribution ^^

 

Does not mean that I won't add it some day to the code, but at least for now people can use this to get a better use of my actual driver.

 

EDIT: too bad it's a commercial app ... :(

 

Hey everyone I figured out how to make the scrolling inertial. instructions are in the description. Pretty close to a real mac.

 

 

 

I'm been overloaded of job (professionally and personally), so I haven't got the time to working more seriously on it lately :s

Really need to get some time for it ...

 

Cheers.

 

 

--

Ulysse31

Link to comment
Share on other sites

  • 2 months later...

Hello Ulysse31, 

 

First of all thank you very much for your work on the cypress trackpad. 

I have the same problem as pppgghhgg where the cursor will just start jumping and then freeze, I have tried all the versions available of your kexts to no avail. I have made sure that all PS2 related kexts were deleted. 

 

Can you please help me to get my Dell XPS 12 9Q23 trackpad working with at least two finger scrolling please?

 

Please let me know what info you need from me. 

 

Thank you in advance. 

 

Link to comment
Share on other sites

  • 3 weeks later...

Hi,

 

Sorry for the late answer, unfortunately I have no internet connection at home for now (since almost a month, and until the end of this month) which means it would be hard to answer quickly on the forum until the end of the month.

And since its a hobby project, cannot do it at work ^^'.

From the logs that i saw with pppgghhgg, there was no errors reported on the protocol communication between kext and the trackpad, which seems weird, since it seems to have a bogus behaviour.

I have then supposed that it might be something related to the resolution/rate set at init (communication speed problem between kext and trackpad: i think the trackpad "floods" the kext and so it starts "jumping").

Will have to build a new kext with some speed limitations at start, and will send to you a link to download and test it.

 

Cheers,

 

--

Ulysse31

 

 

Hello Ulysse31, 

 

First of all thank you very much for your work on the cypress trackpad. 

I have the same problem as pppgghhgg where the cursor will just start jumping and then freeze, I have tried all the versions available of your kexts to no avail. I have made sure that all PS2 related kexts were deleted. 

 

Can you please help me to get my Dell XPS 12 9Q23 trackpad working with at least two finger scrolling please?

 

Please let me know what info you need from me. 

 

Thank you in advance. 

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Hi,

 

Sorry for the late answer, unfortunately I have no internet connection at home for now (since almost a month, and until the end of this month) which means it would be hard to answer quickly on the forum until the end of the month.

And since its a hobby project, cannot do it at work ^^'.

From the logs that i saw with pppgghhgg, there was no errors reported on the protocol communication between kext and the trackpad, which seems weird, since it seems to have a bogus behaviour.

I have then supposed that it might be something related to the resolution/rate set at init (communication speed problem between kext and trackpad: i think the trackpad "floods" the kext and so it starts "jumping").

Will have to build a new kext with some speed limitations at start, and will send to you a link to download and test it.

 

Cheers,

 

--

Ulysse31

 

 

Hi Ulysse31, 

 

This is great news! Please let me know when you have a chance to build the new kext for me to test. 

 

Thank you very much for your work!!!!!!!!!!!!!!

Link to comment
Share on other sites

HI

 

Could someone help me with this please?

I'm using the Dell XPS13,  I'm not sure which driver i'm using for the keyboard / trackpad. When i check from Kext Wizard it shows rehabman even though I installed the kext from this thread. When I try to load the PrefPanel it says: ApplePS2CypressTouchPad not found

 

I did a cat on the syslog and don't see a reference for Cypress anything anywhere which makes me feel like the drivers may not be loaded.

 

My install is from the niresh distro, not sure if that is causing the drivers from /EFI/CLOVER/drivers64 to be loaded perhaps?  There are two files in that looks mouse related.

 

PS2MouseDxe-64.efi
UsbMouseDxe-64.efi

 

Would appreciate if someone could help me debug further please. Thanks!

Link to comment
Share on other sites

HI

 

Could someone help me with this please?

I'm using the Dell XPS13,  I'm not sure which driver i'm using for the keyboard / trackpad. When i check from Kext Wizard it shows rehabman even though I installed the kext from this thread. When I try to load the PrefPanel it says: ApplePS2CypressTouchPad not found

 

I did a cat on the syslog and don't see a reference for Cypress anything anywhere which makes me feel like the drivers may not be loaded.

 

My install is from the niresh distro, not sure if that is causing the drivers from /EFI/CLOVER/drivers64 to be loaded perhaps?  There are two files in that looks mouse related.

 

PS2MouseDxe-64.efi

UsbMouseDxe-64.efi

 

Would appreciate if someone could help me debug further please. Thanks!

Hi,

 

These files are not kexts, so it "should" not interfere (should quoted because I suppose those files are for clover bootloader only).

You should check your on your system /System/Library/Extensions folder, and see if there is no PS2 kext related files.

You should also check your EFI partition, where clover is installed, that there is no PS2 related .kext files.

Actually this driver works fine on XPS 13 and 15, but some issues on XPS 12 (need to work on that, but somewhat difficult without the hardware under my hands).

So, it should work directly if you have a clean OSX install, which is NOT your case, by using a "pre-patched" distribution (niresh distro).

If the prefpane does not recognize the kext, it is just because it is not loaded (and rehabman's one installed).

If you cannot find the kext by yourself, I would suggest you to re-install your pre-patched distro, but unchecking all PS2 drivers on the customize section during installation.

 

Hope that helps,

 

 

--

Ulysse31

Link to comment
Share on other sites

  • 3 weeks later...

Hi Ulysse,

 

I am the author of the Mavericks guide for Dell L511z on here.

 

I recently tried the VoodooPS2Controller.kext v0.7 on Yosemite,

and it is not working

 

It did not make my touchpad work, and also disabled my keyboard.

 

Is v0.7 supposed to work on Yosemite?

 

If not, are there plans to release v0.8?

 

Thanks. 

Link to comment
Share on other sites

  • 2 weeks later...
  • 5 months later...

Hi,

 

These files are not kexts, so it "should" not interfere (should quoted because I suppose those files are for clover bootloader only).

You should check your on your system /System/Library/Extensions folder, and see if there is no PS2 kext related files.

You should also check your EFI partition, where clover is installed, that there is no PS2 related .kext files.

Actually this driver works fine on XPS 13 and 15, but some issues on XPS 12 (need to work on that, but somewhat difficult without the hardware under my hands).

So, it should work directly if you have a clean OSX install, which is NOT your case, by using a "pre-patched" distribution (niresh distro).

If the prefpane does not recognize the kext, it is just because it is not loaded (and rehabman's one installed).

If you cannot find the kext by yourself, I would suggest you to re-install your pre-patched distro, but unchecking all PS2 drivers on the customize section during installation.

 

Hope that helps,

 

 

--

Ulysse31

 

Hi  Ulysse31

By any change have you worked on this kext lately? I would love to help you debug the kext for my Dell XPS 12. 

Link to comment
Share on other sites

  • 1 year later...

Hi  Ulysse31

By any change have you worked on this kext lately? I would love to help you debug the kext for my Dell XPS 12. 

 

In case that anyone is still interested in cypress trackpad with XPS12, I made it working after a few days debugging.

XPS12 trackpad sends inconsistent number of 0x00 packets when finger leaves the pad. The irregularity messed up the position of byte resulting in erratic movements and freezing.

I partially fixed the problem and the driver is working now for XPS12. The pad is still bugging and I have to disable a few functions to make it stable. Left clicking is disabled but you can easily use tapping. 3/4/5 finger actions are also disabled since I see them unnecessary.

  • Like 1
Link to comment
Share on other sites

In case that anyone is still interested in cypress trackpad with XPS12, I made it working after a few days debugging.

XPS12 trackpad sends inconsistent number of 0x00 packets when finger leaves the pad. The irregularity messed up the position of byte resulting in erratic movements and freezing.

I partially fixed the problem and the driver is working now for XPS12. The pad is still bugging and I have to disable a few functions to make it stable. Left clicking is disabled but you can easily use tapping. 3/4/5 finger actions are also disabled since I see them unnecessary.

 

 

I would very much appreciate if you can share how you fix the issue or an updated kext. I've had to use the trackpad as a mouse only. 

Link to comment
Share on other sites

  • 3 months later...

Hello All,

 

I'm back from the death for a short time ^^'

 

I build up a quick a dirty update of the cypress support into the latest Rehabman VoodooPS2Controller Kext.

Feature ARE LIMITED , and HARDCODED, but it works (it seems that since mavericks, the option setting changed a lot, so prefpane and settings with Info.plist don't work the same way ...)

 

I'm gonna update the first post with a link to a first compiled kext, it works on my old xps 13 ... don't know for the others ...

 

Cheers all,

 

 

--

Ulysse31

 

Link to comment
Share on other sites

  • 1 month later...

The Sierra version is extremely sensitive for me on a Dell XPS L321X.  Just placing my finger on the touchpad is registering as a button press.  Any ideas how to make this work better because I really would like to have multitouch gestures (at minimum two finger scrolling)

Link to comment
Share on other sites

  • 2 weeks later...

The Sierra version is extremely sensitive for me on a Dell XPS L321X.  Just placing my finger on the touchpad is registering as a button press.  Any ideas how to make this work better because I really would like to have multitouch gestures (at minimum two finger scrolling)

 

I have the same issue when using this kext on my XPS 13 L321X.  Would very much like to have full trackpad functionality.

Link to comment
Share on other sites

 Share

×
×
  • Create New...