Comments (16)
Hrm, in a stroke if brilliance, I made the device reset status message only appear in the Debug version of the kext! I'd appreciate if you can get a log for me using log show --last boot | grep -i VRMI
with the debug version. You can redirect it to a file with > ~/Desktop/log.txt
appended on the end of the above command. Thanks
from voodoormi.
Thanks for the interest in my hardware. I had to play around for a while until the trackpad stopped working (I almost thought it was one of those problems that magically evaporate as soon as you try to document it), so the log is 6 MB of boring when unzipped.
log.txt.zip
from voodoormi.
Mind giving the above PR a try? Should be able to click the green check mark next to the commits below the description of the PR. That'll take you to Github actions, where built artifacts are on the right as a ZIP download.
from voodoormi.
Can you monitor it with log stream --predicate 'processID=0 && (senderImagePath contains "RMI" and message contains "Error")
from voodoormi.
I'm not sure if it's just a one time event. It seems like the touchpad itself encountered some error and reseted itself. And I suppose it will still happen periodically.
from voodoormi.
Mind giving the above PR a try? Should be able to click the green check mark next to the commits below the description of the PR. That'll take you to Github actions, where built artifacts are on the right as a ZIP download.
hey I have same issue, I have tried this PR build and issue fixed 👍
from voodoormi.
@muhamad-rizki This build is only a temporary fix. And there is an additional log feature to capture some details, which may help understanding what's going wrong. Could you try the latest debug build in that branch and upload the log?
from voodoormi.
_> @muhamad-rizki This build is only a temporary fix. And there is an additional log feature to capture some details, which may help understanding what's going wrong. Could you try the latest debug build in that branch and upload the log?
what log I need to capture? here I put boot log and log when touchpad used log_rmi.zip btw my touchpad is
from voodoormi.
_> @muhamad-rizki This build is only a temporary fix. And there is an additional log feature to capture some details, which may help understanding what's going wrong. Could you try the latest debug build in that branch and upload the log?
what log I need to capture? here I put boot log and log when touchpad used log_rmi.zip btw my touchpad is
It's quite weird, since the anticipated error (RMI_READ_DATA_REPORT_ID mismatch
) doesn't exist in the log, then this fix is not applied. Do you have the exact same error log described above with old kext? Or maybe that's another issue fixed before.
from voodoormi.
_> @muhamad-rizki This build is only a temporary fix. And there is an additional log feature to capture some details, which may help understanding what's going wrong. Could you try the latest debug build in that branch and upload the log?
what log I need to capture? here I put boot log and log when touchpad used log_rmi.zip btw my touchpad isIt's quite weird, since the anticipated error (
RMI_READ_DATA_REPORT_ID mismatch
) doesn't exist in the log, then this fix is not applied. Do you have the exact same error log described above with old kext? Or maybe that's another issue fixed before.
yep before trying the patch I got this error
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 1 kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
then error is gone after I tried your patch, i'll try the latest release, then report to you again later, cause it's happened occasionally. I thought it's not the problem from voodoormi, maybe something wrong with irq acpi patching, well I'll let you know if it's error coming from latest build
from voodoormi.
@zhen-zen here I attached log from build latest release (v1.1.0) and log from latest patched build log_rmi2.zip
from voodoormi.
@zhen-zen here I attached log from build latest release (v1.1.0) and log from latest patched build log_rmi2.zip
Thank you! According to the last log, connection lost only happened once and didn't occurred after reset. Maybe it's just a firmware issue and just a simple reset will work.
@kuramaju Can you try whether it could fix yours?
from voodoormi.
It seems that the trackpad itself stuck when probing IRQ during the 0.1s and by default enter mouse mode after reboot. Is it necessary to re-initialize again or just resume is enough? @1Revenger1
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 0
kernel: (RMII2C) VRMI - Debug: 0 0 0 0 0
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 1
kernel: (RMII2C) VRMI - Debug: 6 0 1 0 0
kernel: (RMII2C) VRMI - Info: RMII2C::TPD0 reset completed
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
from voodoormi.
Likely the minimum amount of code that's needed to run is the resume code under setPowerState in RMIBus.cpp, as that'll scan the PDT again (don't know why it needs this) and rewrite all the IRQ data. That is if it's still erroring out after the reset is done in RMII2C
Edit: Oh, some of the functions do write to the config registers in start
, that likely should be done as well, but isn't needed to run.
from voodoormi.
Could we assume the IRQ doesn't change for the same model?
How about call setPowerState
directly?
@kuramaju @muhamad-rizki can you try the latest build of #65 ?
from voodoormi.
IRQ is based off of the order of discovery for the different functions, and how they are ordered in the registers. If it changes, something is very wrong. So yeah it shouldn't change.
from voodoormi.
Related Issues (20)
- Thinkpad x280 Trackpoint deadzone/lowresolution HOT 1
- Thinkpad P51 won't boot up w/ RMI [SOLVED] HOT 6
- Not working on Thinkpad P51 (with logs). Help needed! [SOLVED] HOT 11
- Tap to click not working on HP Envy 13 2018 HOT 1
- SMBUS Synaptics SYN327C only works properly after sleep. HOT 3
- Thinkpad x1 carbon gen 6 trackpad stops working after sleep on macOS 13.1 HOT 3
- SYNA 2B52 stops working after a couple sec HOT 3
- Sluggish i2c-SYNA328b HOT 2
- Force Touch not respecting palm rejection rules. HOT 2
- Lenovo T490: Erratic Mouse Pointer behavior in BootPicker HOT 20
- SYNA32CB support HOT 5
- Support for 0x432f touchscreen by Raydium HOT 1
- [X1C6] Thumb/Joint is not detected properly -> Click+drag not working HOT 8
- RMI_READ_DATA_REPORT_ID
- Tap to click not working normally HOT 4
- No support for SYNA2B3E
- No support for SYNA329D
- No support for SYNA30B3 HOT 45
- No support for SYNA2BA6 HOT 2
- ThinkPad L460: ClickPad stop working after updating to v1.3.5 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from voodoormi.