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 |