New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ELAN1200 stops working after a period of use #321
Comments
Can you upload a screen capture of the problem? It's kind of hard to make out the issue from your description. |
Since this problem appears very few times, it may take me a long time to reproduce the problem and take a screenshot. (It only happened once since I upgraded to VoodooI2C 2.4.2). PS: It is important to note that the mouse pointer always becomes insensitive before this happens |
Please try to capture the behaviour via a screen recording if you can. It has hard to understand the problem from your description. |
Hi, I via a screen recording get VoodooI2C stop working of situation. |
It looks like the driver just stopped reporting the gestures half way through. Looks to be another code issue with VoodooI2CHID. |
There is one notable detail. When I just opened FingerMgmt, the touchpad did not show my finger until I touched the touchpad and the above picture appeared |
If you need me to provide other relevant information, please contact me directly |
I would need you need to run debug versions of VoodooI2C and VoodooI2CHID (one which prints out the finger positions). I suspect it's changes to VoodooGPIO that is causing the issue. @Jie2GG off hand, can you test these kexts: Those are built from master and are the latest versions of VoodooI2C and VoodooI2CHID. |
OK, No problem. But how do I provide that information? |
For the time being, please use the above and then wait and see if the issue pops up. Please confirm if the issue is fixed or not while using the above kexts. |
Ok, I have used the debug version VoodooI2C + VoodooI2CHID and clear system log. If any of exceptions, I will commit my system log. |
There are no debug log prints in the above kexts, I just want to check if the latest version of master fixes your issue. |
Thank. I will soon test result. |
Hi, After testing, it was found that debug version are still issues |
I have the same problem. On similar hardware (Asus x509fa i7-8565u, touchpad elan1200). I tried the kext from the archive, but the problem remained. |
@Jie2GG does this issue occur on 2.3 of VoodooI2C?+ |
The issue is still with version 2.4.3 |
Same for me |
@kprinssu This issues occur on version 2.2 of VoodooI2C+, version 2.1.4 my laptop not working |
I'm using macOS Catalina 10.15.5 and this works with my trackpad: |
not working for me. with version 2.1.6 the touchpad does not work at all |
This is happening for me too (asus Zenbook UX331UN, ELAN 1200). GPIO or polling mode bring the same problem, the trackpad becomes unresponsive at random times. It works again after sleep. |
Is the issue still happening on Catalina 10.15.6? |
Same issue for me with ELAN1200. (On Asus Zenbook UX330) Yesterday I updated to Catalina 10.15.6, for the moment no freezing problem. |
Maybe a hardware-specific problem. |
Same issue for me with ELAN1200. (On Asus Zenbook UX310). Polling mode. Random not loading during boot phase was solved with this patch, it allows using the latest version: @Goshin Linux is my primary OS. The vast majority of my time I spend in Debian. It works fine in Linux. |
Yes, ‘ELAN1200’ touchpad working in polling also stop. |
I really wish this one could be sorted out, those random timeouts are really getting on my nerves. Had to use a backup optical mouse most of the time. |
It is something with the touchpad sending incomplete reports using the HID protocol. Windows and Linux drivers handle this case, VoodooI2CHID doesn't. I replaced my touchpad on Asus UX310 with a touchpad with fingerprint (ELAN1300:00 04F3:3028) and it works without issues. |
@mishurov Can you show us which parts of VoodooI2C codes we need to work on for this fix? Thanks. |
@shiecldk if I knew that, I would've opened pull request already instead of replacing my touchpad. |
I'm looking into this issue as well in Qonfused/ASUS-ZenBook-Duo-14-UX481-Hackintosh#24. Doing a rough sweep of the linked thread in #321 (comment), I believe I've found all the related patches that he must have implemented. The bulk of these address VoodooGPIO and may not be entirely relevant to this issue, but whatever may have resolved the issue for @jjsmith92 should be among these listed:
^^ Addresses this file: VoodooGPIO/CannonLake-LP/VoodooGPIOCannonLakeLP.hpp
^^ Implementation used in this commit: https://github.com/VoodooI2C/VoodooGPIO/pull/8/files
|
@mishurov can you please share the link where you purchased that replacement touchpad? @Qonfused did you ever manage to compile VoodooI2C kexts with all patches? If so, can you share your build? |
Great, thanks you @mishurov That one is sold out, but I ordered the next one I could find on aliexpress for my country 👍 I'll report back once I've swapped touchpads (might naturally take a while). |
@LeeBinder I'm not sure where I left off with this then but I can look into it again. |
@Qonfused great Cory, thanks. |
This is indeed a hardware issue and can be fixed with a quirk. We will need to not set the Thanks to https://sherief.fyi/post/touchpad-jitters/ for pointing out the fix. The appropriate line is here, https://elixir.bootlin.com/linux/latest/source/drivers/hid/i2c-hid/i2c-hid-core.c#L134 and https://elixir.bootlin.com/linux/latest/source/drivers/hid/i2c-hid/i2c-hid-core.c#L490 We should be able to fix this by adding the Elan vendor and product ids here, https://github.com/VoodooI2C/VoodooI2CHID/blob/89fa5b64c1fc38b4b370d45c7ad0d8d632e3b86c/VoodooI2CHID/VoodooI2CHIDDevice.hpp#L84 |
Kudos, @kprinssu, for finding Sherief's analysis and reflecting it into VoodooI2CHIDDevice.hpp - great job 👍 ! Would be like a dream come true if this issue indeed could be solved for good. I have an ELAN1200 with the same issue (somewhat improved after swapping my original ELAN1300 w/ FP sensor with a ELAN1200 w/o FP sensor from the link kindly provided above, but still not fully resolved). Can post IDs of both tomorrow. |
Here we go (also see my updated comment above): ELAN 1200 I2C Controller V. 8086, Sub V. 1043, Sub D. 1D30
.. and from my original ELAN1300 - same values as above, except: VoodooI2CMultitouchInterface (VendorID:ProductID): 04F3:3057 aka 0x4f3:0x3057 |
@kprinssu would it help you if as many users affected by this issue posted their trackpad's IDs? I could then contribute the script to easily echo all required data. |
@LeeBinder it shouldn't matter as there's a macro to match the quirk against all Elan touchpads. |
mighty cool. My TP is already getting hot & sticky all over in anticipation of beta-testing ;) |
Hi @kprinssu It seems you're waiting for someone to share the relevant code snippets with you? (over @ https://app.circleci.com/pipelines/github/VoodooI2C/VoodooI2C I see the general project seems dead.. - latest post-2.8 beta build 843 I got saved on my HD is from 2023-06-28 :( ) @itsmaclol if you still experience the same issue(s): go to ebay.[yourContry] and get a replacement ELAN 1200. It's try & error. The first one I got (via aliexpress) was not really an improvement, but the one I'm typing on right now (from ebay) is still not perfect but much better. Asus was evidently saving on the wrong spot with that entire line... |
Im just gonna deal with it because:
|
"rn" = returned? Well Albania isn't too far from where I'm at. Send your cat over & I'll attach the TP onto her back .. ;) |
"rn" = Right Now |
just throw her into the Rhine and I'll pick her up once she's at the big lake. But on 2nd thought, cat's don't like their fur frozen. (my cat would always jump onto my keyboard when she wanted attention. But I'm getting slightly off-topic here) |
So am i! |
@LeeBinder I honestly am quite busy these days with work and personal life. I will not be stepping away from VoodooI2C but will be stepping away from active development. I just don't have the time committent to get things across the finish line. Honestly, this has been my passion project since 2017 and I am quite happy at the state of the project. There are bug and edge cases that people have been requesting for years, but I am tired and burnt out from being the sole maintainer. I will be around for reviewing code and creating/coordinating new releases, but this will probably be it from me for the time being. I hope that my previous comment has pointed out the cause and gives someone else enough info to write up the patch for the ELAN devices. As always, PRs are always welcome. |
I fully understand - thanks for explaining the background. If I could code I'd help, but unfortunately my coding "career" ended with MS Visual Basic back in the days, LOL. Yes, VoodooI2C sure is mighty awesome 💯 🥇 Just out of curiosity: roughly, how many hours of coding incl. debugging do you think it might approximately (min/ max) take to write up the patch for the ELAN devices? And if this was a job pitch, what would you say would be appropriate for this job on let's say freelancer.com (taking into account all the competition there)? |
IMO, the level of effort here is minimal. It's adding a new quirk and checking if quirk is set. If the quirk is set, don't send |
Well that's great news. Just as an idea, I could set up a project on freelancer.com, announce it here and wait for bids. If you did this commercially, how much would you ask for? |
Frankly speaking, I would not take on paid feature work for VoodooI2C. It goes against my personal ethos of supporting and writing free open source software. It also risk the ire of Apple and that is something I do not want to put on myself nor this project. As previously mentioned, PRs are always welcome. |
ah, OK - always enlightening to get the extended background for the bigger picture. There is tons of hackintosh projects on freelancer.com so I would never have thought into the direction of caution in that context. So we'll see if someone from the team can jump on this project (which hopefully indeed proves to be of merely minimal effort as you write). |
Hi @kprinssu @1Revenger1 is there any chance you can revisit this issue for the 2.9 release ? |
Describe the bug
ELAN1200 was not responsive after a period of use, so it stopped working. My Touchpad working in GPIO model
Did you read the common errors documentation?
Yes
Did you read the troubleshooting documentation?
Yes
Have you searched the issue on Github, Gitter, or Google?
Yes
System Environment
Please answer:
Operation System: macOS Catalina 10.15.4
Device Version: VoodooI2C + VoodooI2CHID (2.4.2)
Troubleshooting Archive
This is my laptop DSDT, SSDT, ioreg and logs
VoodooI2C.zip
Additional context
I used FingerMgmt to detect the finger state and found that there is always a finger on the Touchpad (in fact, there is no finger on the Touchpad).
This is the first time working has stopped. Before this, once in the while the mouse pointer was not sensitive (but pressing the keyboard can restore normal).
It is worth noting that waking from sleep can restore working.
The text was updated successfully, but these errors were encountered: