-
Notifications
You must be signed in to change notification settings - Fork 36
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
Cursor gone after upgrading from 4.2-11 to 4.3-2 #73
Comments
My touchscreen works fine, but my touchpad doesn't work at all. Earlier my touchpad worked but the touchscreen didn't |
This is the same for me. Touchscreen is still working. On Wed, Jan 6, 2016, 7:44 PM Will Maddrey [email protected] wrote:
|
I've noticed that this happens too - rebooting seems to fix it. I've narrowed it down to the id assigned to the touchpad in X: if that id is anything but 9 then the touchpad won't work. You can see what the id is by running |
Even when I reboot, it still is broken for me. I have moved temporally to the linux kernel |
Did you check |
I can confirm this happens for me as well. I checked xinput when the touchpad was not responding and it was assigned id=11. After 2 reboots it is now working with an assigned id=9. The touchscreen always maintained id=10 and always responded. |
ok good to know thanks. |
My touchpad is id=9, but it still isn't working Virtual core pointer id=2 [master pointer (3)] |
After another reboot it works, my xinput now: |
Having the same problem here, it still doesn't work when my trackpad's ID is 9. I diff'd those two outputs, they're the same. I'm gonna be trying some things on my own too, I'll report back if I solve it. |
I think I've pinpointed the issue. I get a line in
Also, I've included |
Yeah i also saw the atmel message when logging in, rolling back temporally fixed the problem till it is updated. |
I had seen that message too, just not sure how to fix it. The code in this repo shouldn't affect the touchpad at all, it only contains changes to the sound driver. The fact that it's random is puzzling too. I'll try to take another look when I get a chance. |
I have encountered a great success in making the touchpad work! I'll do some more digging (I think this issue relates to the CHG pin) but I wanted to get this workaround up ASAP so that people may profit from it. If you reset the maXTouch chip that controls the touchpad using Workaround steps:
NOTE: If you're like me, and you don't want to type all that junk every time your touchpad stops working, you can script the following command |
This is awesome, thank you! I'll wrap that up in a script and document it. I guess that begs the question of what is supposed to happen at boot time that doesn't... |
You could try asking the Atmel folk, but I haven't had particularly delightful dealings with them in the past. Maybe it's even worth a post to the LKML? Later today I should be able to dump the register settings from a working and non-working touchpad for comparison. Are people experiencing this issue on the vanilla 4.3 kernel as well? |
Thanks ehegnes, that fixed my touchpad (ArchLinux). |
I can confirm following ehegnes steps also got mine working again (ArchLinux). |
I lose my mouse cursor and rebooting Linux does not recover the cursor, but booting into ChromeOS and then back to Linux does recover the cursor. I haven't lost the touchpad ever. I lose the touch screen when I wake after sleep, a simple reboot of Linux fixes that. Haven't tried any mxt-app hacks yet. |
I did experience something similar, which was puzzling. I used to be able to reboot into a broken kernel that hanged, and then back into working 4.3, and the cursor would work. I guess that's the long way to flush and reinitialize the Atmel chip. I have also experienced similar issues with the touchscreen not working after suspend. I haven't bothered to try anything yet, but I'll bet that either unloading the |
Is everybody's touchpad connected to i2c-7? It should be, I think, because I2C addresses are not enumerated by the kernel but rather declared explicitly in the C module. This would make writing a global script easier. |
I can confirm it happens with a stock kernel as well |
I can confirm that the steps from @ehegnes fixes the problem on a Pixel 2 running Ubuntu 15.10. Also, if you roll this into a script as suggested, don't forget to add the |
I added the script |
Oops! Well feel free to nix my PR. Also, it might be worth changing the line to echo -ne 'r\nq\n' | sudo mxt-app -d i2c-dev:{7,8}-004aso that the touchscreen chip is also reset. I've experienced issues with it failing after suspend. Also, I like the cleanup to the directories in |
Thank you! I have integrated your script (which was much cleaner) into the one I had slapped together. |
It would be cool if there were scripts that created a systemd service and other init system integrations as well. I'll leave that issue opened until then. |
I spoke too soon! When my touchscreen fails after suspend, resetting the controller ( I can write a script to install an OpenRC init script, but I don't have a systemd box to test on. I suppose we have a few options for running a script at boot:
Any preferences? |
Another possibility I guess would be to hook into |
Ah, another great idea. I suppose people are much less picky about their It is actually possible to use the mouse in a framebuffer through |
Agreed on using |
@ehegnes just wanted to mention that my devices are setup to i2c-{0,1} |
(oops didn't mean to close) ugh that means the script needs to dynamically figure it out. I guess it could query all the devices listed in |
@burntcookie90 Oof, that's a shame. I'll bet the proper controllers IDs could be found using a pretty one-liner with a lot of pipes. Something like this: echo $(dmesg | grep -i "touchpad as" | cut -d'-' -f2 | head -c1)
echo $(dmesg | grep -i "touchscreen as" | cut -d'-' -f2 | head -c1) Then again, @raphael's idea sounds much less convoluted and probably more reliable. |
@raphael that does seem like an idea that could work |
I just released 4.4 - let's see if the problem still occurs with it, |
Cursor missing after reboot with 4.4, still gone after second reboot into 4.4, fixed by rebooting in ChromeOS and back to 4.4, no audio in 4.4: [ 2.477197] haswell-pcm-audio haswell-pcm-audio: error: DMA request channel failed but, on the positive side, the virtual terminals are displaying again. |
You can re-enable the touchpad with the |
I'm running Debian 8 my devices are also i2c-{0,1} a quick change to the script got my touchpad working. My cursor was still missing in 4.3 but a |
In case anyone is on NixOS, forgot about this and upgraded to Linux 4.3, I have package "mxt_app" in my nixpkgs fork if you need to reset your touchpad. |
I've updated the |
The script now reconfigures the devices instead of resetting them. The big advantage is that this only needs to be run once so no more messy service or startup hacks. See https://lkml.org/lkml/2016/4/8/536 for the original thread. |
I seem to have lost my cursor after installing the new kernel. I was able to get everything that touchpad.sh does to run successfully, but am still without a cursor. Are there any details I can provide to help troubleshoot? Thanks in advance!
The text was updated successfully, but these errors were encountered: