Solution to issue: Not all input packages installed for xserver.
If you are running into this issue of mouse and keyboard not working, make sure you have all the xserver packages installed. Sometimes this issue happens when not all input packages are installed.
To fix this issue quickly, install the metapackage xorg:
apt install xorg
This meta package makes sure that all the required packages are installed for a fully functioning xserver system. This is current for Debian Stretch (as of this writing) This is a very old post, but I came across it with the same problem and this solution worked for me.
Interestingly enough, searching on variations of words of the bug, including Lenovo, Alps, and Ultranav, I found an article suggesting kernel parameters on the post in the Arch Linux wiki libinput
Touchpad not detected at all
Notes: Not a libinput issue. An explanation of the parameters is
linked in
Touchpad_Synaptics#No_Multi-touch_in_some_Elantech_touchpads, which is
much better than saying "try some of these".
If a touchpad device is not detected and shown as a device at all, a
possible solution might be using one or more of these kernel
parameters.
i8042.noloop i8042.nomux i8042.nopnp i8042.reset
I made then some tests, and found in my case it was enough to add the kernel parameter i8042.reset
to GRUB_CMDLINE_LINUX_DEFAULT
in the /etc/default/grub
file and run:
update-grub2
After that, I took out the battery to try to replicate the bug. After the machine dying and rebooting Linux, the Ultranav/Elantech internal mouse already was recognized and worked at first, without needing to go through booting Windows 10 firstly.
I would say that this qualifies as a kernel bug.
Similarly to other notebooks, the Lenovo Thinkpad needs to be added to i8042 reset list of devices in the Linux kernel, where there is a list of family machines that need the i8042 chipset reset in order to
consistently detect its Elantech TouchPad.
I found this later requirement upon finding these bug entries Input: i8042 - add Lenovo LaVie Z to the i8042 reset list and Input: i8042: add Lenovo ThinkPad L460 to i8042 reset list
From visual inpection of the Linux kernel source code, the source code for adding the Lenovo ThinkPad E560 to the i8042 reset list is also not present in the latest 4.19-rc2 kernel sources.
So for adding it, I wrote a simple diff/patch that can be used instead of using the i8042.reset kernel parameter in grub:
--- drivers/input/serio/i8042-x86ia64io.h.old 2018-09-06 04:53:36.460003164 +0100
+++ drivers/input/serio/i8042-x86ia64io.h 2018-09-06 04:57:16.833465129 +0100
@@ -655,6 +655,14 @@
DMI_MATCH(DMI_PRODUCT_NAME, "P65xRP"),
},
},
+ {
+ /* Lenovo ThinkPad E560 */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad E560"),
+ },
+ },
+
{ }
};
PS. Following @StephenKitt suggestion, I have tried sending this post as a Linux kernel bug report to linux-input@vger.kernel.org
Best Answer
Just to make it clear what the answer is: I was having a similar issue, and I also installed the package
xserver-xorg-input-libinput
as suggested and the keyboard started to work again.