Jump to content

Ulysse31

Coders
  • Content count

    71
  • Joined

  • Last visited

About Ulysse31

  • Rank
    InsanelyMac Protégé

Profile Information

  • Gender
    Male
  1. Ulysse31

    Cypress PS2 Trackpad kext

    Hi, As already said on last message, the latest version of the code has been severely truncated and modified in order to be sierra compliant (regarding applePS2 sources and Rehabman's sources that has evolved, which is normal), which means lots of features are missing, like using the prefpane. Actual features are quite limited to : click to tap, drag&drop/selection pressure, 2 fingers scrolls, 3 tap lock selection, 3 and 4 fingers swipes up and down gives explode windows mode (current app windows or all windows depending up or down). left and right the workspace/widget balancing. Since the prefpane does not communicate with the kext for now, you can only modify some values via editing manually the VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/Contents/Info.plist. Sources on the github can be compiled again on your computer, if someone as some time and some dev skills, I would be happy to answer his questions about the code or how the cypress chip works. but unfortunately, I've been really busy, and don't really know when I'll be available to work again on the sources. Again, If someone wants some infos about the code and wants to work on it, just PM me. Cheers, -- Ulysse31
  2. Ulysse31

    Cypress PS2 Trackpad kext

    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
  3. Ulysse31

    Cypress PS2 Trackpad kext

    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
  4. Keep in mind that porting a driver is never copy/paste code ^^ Just go step by step as you said. here some global steps : 1 - read the linux code, do not start from beginning of file but from first call, and follow the calling process. will help understand what it does and how it communicates with the ps2 device. 2 - read a basic osx ps2 driver code, try to find similarities and understand how you make similar actions you've noticed in linux under osx ps2 code. 3 - then here you can start coding/hacking some code ^^. Cheers.
  5. Hi, From what i remember (and briefly checked on cypress linux source 5 min ago ^^) the "pmouse->private" is a kernel pointer where the driver should store its data. To explain it differently, it is used by the linux driver to keep a pointer to where it "stores" its stuff to have its "data between calls" (at least its this way that ->private is used in cypress linux driver). You should keep in mind that linux kernel and drivers are written in C, on the other hand, osx kernel and drivers are written in C++, under osx you should just use your private data on your class to store whatever infos you want/need. Hope that I've been helpful ^^. If you have questions, go ahead. Cheers, -- Ulysse31
  6. Ulysse31

    Cypress PS2 Trackpad kext

    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
  7. Ulysse31

    Cypress PS2 Trackpad kext

    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 ... 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
  8. Ulysse31

    Cypress PS2 Trackpad kext

    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
  9. Ulysse31

    Cypress PS2 Trackpad kext

    You're welcome, Happy to know that it is fine now. Cheers, -- Ulysse31
  10. Ulysse31

    Cypress PS2 Trackpad kext

    Thanks AnV, Was busy until now. stu_mccudden : you should find and REMOVE all other ps2 related kexts. -- Ulysse31
  11. Ulysse31

    Cypress PS2 Trackpad kext

    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
  12. Ulysse31

    Cypress PS2 Trackpad kext

    Hi again stu_mccudden, No results on terminal command = no Cypress kext loaded ... But since you still have a mouse working, that means that it detects a ps2 mouse, but NOT a cypress one (so it loads default ps2mouse driver). Please, download the debug kext (link on first post), remove the one you have right now, and install the debug one, and run the command to generate le cypress log (also on first post). With those logs, I would be able to get more infos about your problem. Cheers. -- Ulysse31
  13. Ulysse31

    Cypress PS2 Trackpad kext

    I read and analyse the linux kernel source of the cypress ps2 linux driver in order to make this driver, if it is a cypress ps2 touchpad, this driver should work (at least load). BUT, in order to get real multifinger (linux drivers is limited to 2 fngers detection ...), I had to handle and patch different firmware versions to get them work up to 5 fingers. So if you got a jumping cursor this may be because you have a "unhandled" firmware (at least for now). AGAIN, like said before, IF you get kext to load (it seems to since you have you cursor "jumping"), follow the steps explained in the FAQ of the first post : use debug kext, generate logs and send them back to me ! I have not all the computers in the world equipped with a cypress ps2 touchpad on my desk so i cannot be sure that all existing firmwares are handled by the actual sourcecode. If you want to get it working, send me the logs once you have sucessfully loaded debug kext. Regards, -- Ulysse31
  14. Ulysse31

    Cypress PS2 Trackpad kext

    Hi, Could you give me the following hints/infos : - Where is installed the kext ? (EFI partition or S/L/E ?) - when you do "ioreg -l | grep PS2Cypress" on a terminal, what do you get ? Best Regards, -- Ulysse31
  15. Ulysse31

    Cypress PS2 Trackpad kext

    Hi, Sorry for the late answer, have been professionally busy lately ... Thanks ^^ Well, Honestly, I really don't know : if this dell N4050 has a PS2 cypress touchpad (NOT I2C), it should work, and the only way to know it to try it on this computer. I have no access on other computer than my xps 13, so cannot test all other computers. Just test and let me know ^^. Cheers, -- Ulysse31
×