matthewwardrop / linux-surfacepro3

Arch Linux package to compile the Linux kernel with patches designed to improve user experience on the Surface Pro 3.
99 stars 19 forks source link

TypeCover periodically stops working #18

Open inducer opened 7 years ago

inducer commented 7 years ago

Every now and then, my TypeCovers (actually both v3 and v4) stop working. Yanking them off and plugging them back in restores them to working order. Both the trackpad and the keyboard bit stop working at that point.

This happens across two different surfaces (i3 with 64 and 128 GiB) with a pile of different TypeCovers, so I'm fairly sure it's not a hardware fluke.

I'm using a Debian distro kernel version 4.6.4-1, patched with

Has anyone seen this issue? Any clue what to do about it?

maaatts commented 7 years ago

I don't think this issue is specific to Linux, I get it on my SP3 while running Windows too.

GrayHatter commented 7 years ago

I've noticed this more on Linux than Windows, seems to be related to the angle of the keyboard. If it's not "flat" it'll disable the keys (as intended) but then is sluggish to come back online.

Disconnecting, reconnecting always fixes my issue though.

inducer commented 7 years ago

I use the device to teach a class, where most of the time I just draw stuff with the pen, but every now and then I run a live demonstration using a Jupyter notebook. And, more frequently than I'd like, upon switching from drawing to typing, the keyboard is not there. (which leads to an awkward pause, which I'd like to avoid) Aggravatingly, sometimes the keyboard is there for a little while but then turns itself off.

So I think I can confirm that this issue is often connect to the "disable-when-folded-back" bit of the TypeCover. How exactly does the cover do that? I'm assuming it's actually on a USB connection--does it just disappear from the bus? Does it just inhibit keys internally? Anyone know?

inducer commented 7 years ago

Just captured a dmesg from when it drops:

[  897.998184] usb 1-3: USB disconnect, device number 2
[  901.598004] usb 1-3: new full-speed USB device number 6 using xhci_hcd
[  901.727376] usb 1-3: New USB device found, idVendor=045e, idProduct=07e8
[  901.727384] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  901.727388] usb 1-3: Product: Surface Type Cover
[  901.727392] usb 1-3: Manufacturer: Microsoft
[  901.732248] input: Microsoft Surface Type Cover Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input35
[  901.786199] input: Microsoft Surface Type Cover Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input36
[  901.786498] input: Microsoft Surface Type Cover Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input37
[  901.786654] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input38
[  901.786778] input: Microsoft Surface Type Cover Touchpad as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input39
[  901.786947] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input40
[  901.787037] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input41
[  901.787130] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input42
[  901.787218] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input43
[  901.787308] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input44
[  901.787388] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input45
[  901.787467] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input46
[  901.787547] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input47
[  901.787625] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input48
[  901.787703] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input49
[  901.787784] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input50
[  901.787863] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input51
[  901.787941] input: Microsoft Surface Type Cover UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input52
[  901.788022] input: Microsoft Surface Type Cover Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E8.0004/input/input53
[  901.788269] hid-multitouch 0003:045E:07E8.0004: input,hiddev0,hidraw0: USB HID v1.11 Keyboard [Microsoft Surface Type Cover] on usb-0000:00:14.0-3/input0

It seems to genuinely disappear from the bus. Folding back however doesn't seem to make it drop off the bus, so that must be an internal thing.

JurryFong commented 3 years ago

Yes I have the same problem with you,sometimes I nock the desktop,surface have no connect with the cover,reconnect,it's ok