You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Cursor gone after upgrading from 4.2-11 to 4.3-2 #73
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!
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 xinput. I would love for someone that understands better the meaning of that id to shed some light....
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.
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 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 atmel-maxtouch/mxt-app, the touchpad will work again.
Workaround steps:
Install atmel-maxtouch/mxt-app (your official repos may have it, but I opted to DL and compile myself)
modprobe i2c-dev as root (unless it is already built-in to the kernel. This allows us to access i2c devices through /dev/i2c-*)
Discern the i2c bus ID that controls your touchpad. There are a few ways to do this. I ran dmesg | grep -i atmel and took note of the following line:
input: Atmel maXTouch Touchpad as /devices/pci0000:00/INT3432:00/i2c-7/i2c-ATML0000:01/input/input13
Run mxt-app -d i2c-dev:7-004a with elevated privileges. Replace 7 with your bus number, but keep the 004a address the same.
You will see a menu as such:
Version:1.26-15-geae11c3
Registered i2c-dev adapter:7 address:0x4a
Command line tool for Atmel maXTouch chips version: 1.26-15-geae11c3
Select one of the options:
Enter L: (L)oad config file
Enter S: (S)ave config file
Enter I: Read (I)nfo block
Enter D: Rea(D) individual object config
Enter W: (W)rite individual object
Enter T: Run sel(T)-test
Enter F: (F)lash firmware to chip
Enter B: (B)ackup the config data to NVM
Enter R: (R)eset the maxtouch device
Enter C: (C)alibrate the maxtouch device
Enter M: Display raw (M)essages
Enter U: D(U)mp Diagnostic data
Enter Q: (Q)uit the application
Type R and press Return/Enter to reset the Atmel chip and regain mouse control.
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 echo -ne 'r\nq\n' | sudo mxt-app -d i2c-dev:7-004a.
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...
Agreed on using modprobe.d for loading the modules. I wouldn't worry too much on the non-X use case for the Touchpad - we're not saying it won't work - just that it won't work automatically with the setup script this repo provides. The flip side is that the setup script will just work out of the box for most people which seems like a good trade off to me. Thanks for all the great contributions!
(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 /dev/i2c-*, it seems mxt-app is good about reporting an error when accessing the wrong device. The script could read the information block and check the family and variant match...
@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. grep the lines from dmesg containing 'touchpad' or 'touchscreen' and 'atmel', bash regex 'i2c-[:digit:]' in each line, and pipe the result to cut -d'-' -f2 in order to retrieve the number. I suppose awk could do most of that but I've not exactly mastered awk.
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 enable-atmel.sh script so looks for the i2c devices that corresponds to the Touchpad dynamically. I've also added setup.sh that configures ~/.xinit.rc to run the script on start.
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.
Activity
willmaddrey commentedon Jan 7, 2016
My touchscreen works fine, but my touchpad doesn't work at all. Earlier my touchpad worked but the touchscreen didn't
brianhall commentedon Jan 7, 2016
This is the same for me. Touchscreen is still working.
On Wed, Jan 6, 2016, 7:44 PM Will Maddrey notifications@github.com wrote:
raphael commentedon Jan 7, 2016
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
xinput. I would love for someone that understands better the meaning of that id to shed some light....willmaddrey commentedon Jan 7, 2016
Even when I reboot, it still is broken for me. I have moved temporally to the linux kernel
raphael commentedon Jan 7, 2016
Did you check
xinputto see what was reported for the Touchpad? would be interesting to see if it's the same issue.millserd commentedon Jan 7, 2016
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.
raphael commentedon Jan 7, 2016
ok good to know thanks.
willmaddrey commentedon Jan 7, 2016
My touchpad is id=9, but it still isn't working
Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Atmel maXTouch Touchpad id=9 [slave pointer (2)]
⎜ ↳ Atmel maXTouch Touchscreen id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ NCM-G102 id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard
willmaddrey commentedon Jan 7, 2016
After another reboot it works, my xinput now:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Atmel maXTouch Touchpad id=9 [slave pointer (2)]
⎜ ↳ Atmel maXTouch Touchscreen id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ NCM-G102 id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard
aaron235 commentedon Jan 7, 2016
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.
aaron235 commentedon Jan 7, 2016
I think I've pinpointed the issue. I get a line in
dmesgduring broken-synaptics boots that I don't get during working ones:[ 7.800707] atmel_mxt_ts i2c-ATML0000:01: Wait for completion timed out.Also, I've included
xinput list --longfor both working and non-working.workingSynaptics.txt
brokenSynaptics.txt
willmaddrey commentedon Jan 7, 2016
Yeah i also saw the atmel message when logging in, rolling back temporally fixed the problem till it is updated.
raphael commentedon Jan 7, 2016
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.
ehegnes commentedon Jan 9, 2016
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
atmel-maxtouch/mxt-app, the touchpad will work again.Workaround steps:
Install
atmel-maxtouch/mxt-app(your official repos may have it, but I opted to DL and compile myself)modprobe i2c-devas root (unless it is already built-in to the kernel. This allows us to access i2c devices through/dev/i2c-*)Discern the i2c bus ID that controls your touchpad. There are a few ways to do this. I ran
dmesg | grep -i atmeland took note of the following line:Run
mxt-app -d i2c-dev:7-004awith elevated privileges. Replace7with your bus number, but keep the004aaddress the same.You will see a menu as such:
Type
Rand press Return/Enter to reset the Atmel chip and regain mouse control.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
echo -ne 'r\nq\n' | sudo mxt-app -d i2c-dev:7-004a.raphael commentedon Jan 9, 2016
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...
15 remaining items
raphael commentedon Jan 11, 2016
Agreed on using
modprobe.dfor loading the modules. I wouldn't worry too much on the non-X use case for the Touchpad - we're not saying it won't work - just that it won't work automatically with the setup script this repo provides. The flip side is that the setup script will just work out of the box for most people which seems like a good trade off to me. Thanks for all the great contributions!burntcookie90 commentedon Jan 11, 2016
@ehegnes just wanted to mention that my devices are setup to i2c-{0,1}
raphael commentedon Jan 11, 2016
(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
/dev/i2c-*, it seemsmxt-appis good about reporting an error when accessing the wrong device. The script could read the information block and check the family and variant match...ehegnes commentedon Jan 11, 2016
@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.
grepthe lines fromdmesgcontaining 'touchpad' or 'touchscreen' and 'atmel', bash regex 'i2c-[:digit:]' in each line, and pipe the result tocut -d'-' -f2in order to retrieve the number. I supposeawkcould do most of that but I've not exactly masteredawk.Something like this:
Then again, @raphael's idea sounds much less convoluted and probably more reliable.
burntcookie90 commentedon Jan 11, 2016
@raphael that does seem like an idea that could work
raphael commentedon Jan 16, 2016
I just released 4.4 - let's see if the problem still occurs with it,
recri commentedon Jan 16, 2016
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
[ 2.477260] haswell-pcm-audio haswell-pcm-audio: error: failed to load firmware
[ 2.478611] bdw-rt5677 bdw-rt5677: ASoC: CPU DAI System Pin not registered
but, on the positive side, the virtual terminals are displaying again.
raphael commentedon Jan 16, 2016
You can re-enable the touchpad with the
scripts/setup/enable-atmel.shscript. I'm looking into the audio issue, ugh not a dull moment.colemickens commentedon Jan 17, 2016
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.
raphael commentedon Jan 17, 2016
I've updated the
enable-atmel.shscript so looks for thei2cdevices that corresponds to the Touchpad dynamically. I've also addedsetup.shthat configures~/.xinit.rcto run the script on start.raphael commentedon Apr 12, 2016
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.