Gentoo Archives: gentoo-user

From: Bill Kenworthy <billk@×××××××××.au>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] type keyboard problem
Date: Sun, 08 Oct 2017 11:17:10
Message-Id: 1d4537cf-3d6d-0c51-8583-61f840da96c2@iinet.net.au
In Reply to: Re: [gentoo-user] type keyboard problem by Andrew Savchenko
1 On 08/10/17 16:20, Andrew Savchenko wrote:
2 > Hi,
3 >
4 > On Fri, 6 Oct 2017 08:31:27 +0800 Bill Kenworthy wrote:
5 >> Hi all, I have a laptop keyboard problem - it fails to reconnect the
6 >> keyboard on opening after closing.
7 >>
8 >> MS Surface pro 4 with type keyboard.
9 >>
10 >> The keyboard connects correctly on bootup or resume from hibernate (when
11 >> open).
12 >>
13 >> Close keyboard (removes power), open keyboard and it no longer works.
14 >> Requires a reboot (or hibernate/resume) for it it to work again.
15 >>
16 >> On opening the keyboard, the kernel detects it, it shows up in lsusb.
17 >>
18 >> Oct 6 05:57:15 bunyip kernel: usb 1-7: Product: Surface Type Cover
19 >> Oct 6 05:57:15 bunyip kernel: input: Microsoft Surface Type Cover
20 >> Keyboard as
21 >> /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/0003:045E:07E8.0003/input/input29
22 >> Oct 6 05:57:15 bunyip kernel: input: Microsoft Surface Type Cover
23 >> Consumer Control as
24 >> /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/0003:045E:07E8.0003/input/input31
25 >> Oct 6 05:57:15 bunyip kernel: input: Microsoft Surface Type Cover
26 >> Touchpad as
27 >> /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/0003:045E:07E8.0003/input/input33
28 >> Oct 6 05:57:15 bunyip kernel: hid-multitouch 0003:045E:07E8.0003:
29 >> input,hiddev96,hidraw0: USB HID v1.11 Keyboard [Microsoft Surface Type
30 >> Cover] on usb-0000:00:14.0-7/input0
31 >>
32 >> It looks like it changes input when reopening but the event framework
33 >> fails to re-enumerate it.
34 >>
35 >> Ive tried restarting udev but no luck.
36 >
37 > Try to update your kernel to the latest one, preferably to vanilla
38 > one.
39 >
40 > Also try udevadm trigger.
41 >
42 > Best regards,
43 > Andrew Savchenko
44 >
45
46 Thanks Andrew, it used to work on older kernels - something 4.9 and before.
47
48 The culprit turns out to to be the i2c-hid kernel module - removing and
49 modprobing it again fixes the problem. Its probably a bug as the
50 keyboard is usb-hid so I don't know why i2c-hid is involved. A udev
51 rule triggered when the keyboard opens takes care of it for now.
52
53 BillK