jakeday / linux-surface

Linux Kernel for Surface Devices
2.59k stars 243 forks source link

Surface Laptop: Keyboard Doesn't Work #5

Closed iddover closed 5 years ago

iddover commented 7 years ago

I'm sorry to report this issue but I've tried the .deb kernel and touch start to work but no the keyboard, If I could het you in any way, pls tell me!

herman-moen commented 6 years ago

@jakeday I'll happily try it! But could you explain to me how I can get a dmesg log so I can post here?

herman-moen commented 6 years ago

@jakeday One question. I'm running Linux Mint 18.3 with your 4.14.39 kernel. When i install both 4.17.1 and 4.16.7 I only get a black screen after choosing either of the kernels in the boot menu. I'm pretty new to all of this, but do you have any idea what I may be doing wrong? I'm pretty sure I have followed all the steps correctly.

bpasteur commented 6 years ago

I have a Surface Pro 1796 running debian. I'm using the latest kernel.org sources 4.14.49 committed 15 hours ago and I getting errors installing the patches: Reversed (or previously applied) patch detected! Assume -R? [n] what version of sources are you using?

Two of the patches had issues installing but it's currently building so we will see.

In the mean time I installed the two packages:

linux-headers-4.17.1-surface-linux-surface_4.17.1-surface-linux-surface-3_amd64.deb

linux-image-4.17.1-surface-linux-surface_4.17.1-surface-linux-surface-3_amd64.deb on a surface and it booted OK but I have no battery status.

dmesg log attached,

On Tue, Jun 12, 2018 at 6:31 AM Jake Day notifications@github.com wrote:

Can someone please try my 4.17.1-1 test build? Please get me a dmesg log if it doesn't work as I have added additional dumps in there for testing.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jakeday/linux-surface/issues/5#issuecomment-396543555, or mute the thread https://github.com/notifications/unsubscribe-auth/AFILmyfq1e2bA1-m9pNNSF_q0G55G2mPks5t75iGgaJpZM4PQ8nj .

fahdriyami commented 6 years ago

4.17.1, keyboard doesnt work still. I would also like to know how to submit dmesg logs.

akihiroxob commented 6 years ago

it doesn't work still on 4.17.1-1... dmesg and lsinput are below.

nish-astuff commented 6 years ago

Here's my dmesg output for 4.17.1:

dmesg.log

@fahdriyami you can submit dmesg logs with dmesg > dmesg.txt

herman-moen commented 6 years ago

Ubuntu 18.04 running 4.17.1 Here is my dmesg output: dmesg.txt

jakeday commented 6 years ago

Can you get me the output of this? I want to ensure I understand what all is being used:

ls -1L /sys/bus/acpi/devices/ && ls -1L /sys/bus/i2c/devices/ && ls -1L /sys/bus/platform/devices/*

herman-moen commented 6 years ago

Here is what I got in the terminal with those commands: output.txt Keep up the good work, Jake!

jakeday commented 6 years ago

That doesn't look like the full output.

herman-moen commented 6 years ago

@jakeday I ran it again and this is what i got this time: output2.txt I'm only copypasting the command(s) into the terminal and copying what I get as a result. If there's anything more or anything wrong I'm doing just tell me and I'll try to get you the results you're looking for.

jakeday commented 6 years ago

Try this:

ls -1L /sys/bus/acpi/devices/ >> output.log && ls -1L /sys/bus/i2c/devices/ >> output.log && ls -1L /sys/bus/platform/devices/* >> output.log

herman-moen commented 6 years ago

Tried it now, here is the output: output.log

fahdriyami commented 6 years ago

Here is mine: output.log

mindwarpstudios commented 6 years ago

Ubuntu 18.04 Fresh Install with both 4.16.7 and 4.17.1 Kernels (Same behavior regarding Touch and Keyboard). 4.16.7 Testing: dmesg.txt lsinput.txt output.log 4.17.1 Testing: dmesg.txt lsinput.txt output.log

Touch Effect: Reversed Y Axis... Evdev Rules.d Xinput Solution does not seem to have any effect.

What further testing would you suggest?

albert-massey commented 6 years ago

Hi guys, I just bought surface laptop but the keyboard does not work while the installation process which means I can't install Ubuntu. :( I am okay with touch not working, I just want the keyboard to work. Any help?

herman-moen commented 6 years ago

@albertcoder At the moment, the best solution is to hook up an external keyboard and use that.

albert-massey commented 6 years ago

Thanks for replying @KillswitchOne. Can anyone recommend me any good laptop for using both Linux and Windows side by side?

herman-moen commented 6 years ago

@albertcoder Lenovo ThinkPad’s have great compatibility with Linux as far as I’ve heard.

albert-massey commented 6 years ago

Thanks @KillswitchOne ! I already bought surface laptop last week so I am thinking about not returning now. Hopefully ubuntu works perfectly fine in the near future. Fingers crossed!

jakeday commented 6 years ago

Ok, let me see the output of the latest kernel I just uploaded (4.17.3-1). Thanks!

herman-moen commented 6 years ago

@jakeday I’ll test it very soon!

fahdriyami commented 6 years ago

Here is the output for 4.17.3-1. Still doesnt work unfortunately. Keep it up Jake :) output.log dmesg.txt

herman-moen commented 6 years ago

Here is my output for 4.17.3-1. Doesn't work for me either, keep up the good work! output.log Just one question out of curiosity. Why did you change the label from "acpi notify module required" to "bug"?

bpasteur commented 6 years ago

I installed the latest 4.17.3release debian packages, looks like it isn't working surface pro 2017 debian stretch log attached

On Thu, Jun 28, 2018 at 6:29 PM Jake Day notifications@github.com wrote:

Ok, let me see the output of the latest kernel I just uploaded (4.17.3-1). Thanks!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/jakeday/linux-surface/issues/5#issuecomment-401192418, or mute the thread https://github.com/notifications/unsubscribe-auth/AFILm6ZB-06lDsUgtBFqbBO2Rv5Dd-qiks5uBVi_gaJpZM4PQ8nj .

herman-moen commented 6 years ago

Are there any changes regarding the keyboard in the new 4.17.3-2 kernel or isn't there any point in testing that one out?

jakeday commented 6 years ago

@KillswitchOne Nope, that's just a fix for the buttons.

mindwarpstudios commented 6 years ago

Ubuntu 18.04 LTS with JakeDay 4.17.3-3 Kernel dmesg.txt lsinput.txt output.log

netdragon commented 6 years ago

Thank Jakeday very much! This kernel almost turns the dream running Linux in Surface Laptop into real. The keyboard light is working now, power button works too. The keyboard works when selecting in GRUB menu, but it does not work after Ubuntu boot. Waiting for more good news. Thanks again! BTW, I am using Ubuntu 18.04 LTS.

mathias commented 6 years ago

Hi @jakeday, I sent you an email about offering a Surface Laptop for your testing/debugging but haven't heard back. Please get in touch, email is in my profile. Thanks!

netdragon commented 6 years ago

@mathias Thanks, this is very helpful to speed up solution.

SmartBoy84 commented 6 years ago

Dear Jakeday, Recently i had to choose whether to buy a surface pro or surface laptop for school. I had never heard of the surface devices so i randomly chose the laptop. Several days in i tried dual-booting but realized i couldn't. So an hour of online searching brought me to this. Your kernel. I downloaded it and was greatly saddened that this doesn't work. I just entered year seven and would like to dual-boot so, so, so much. Believe me or not, i visit this issue everyday and look at the number of comments on it's name, if more that the previous amount i would enter to see if any progress had been made, each time disappointing it had not. I realize this a mere hobby for u but i, among many others, want this so, so, so, so, so, so, soooooooooo much. Please work at your same rate but please update your progress on the issue, please. Thank-you and u r awesome!!!

SmartBoy84 commented 6 years ago

:)

jakeday commented 6 years ago

@mathias I've been looking into it and it does in fact use the MSHW0096 for the keyboard. This is not a standard HID device which explains why it's not being picked up. It's a VHF that acts as a direct mini HID driver on Windows, so I'm having to simulate that in Linux. I've created the driver and working on adding the resources now, which requires reverse engineering the Windows driver. At least I can look into it so it's very possible now! Thanks so much for letting me borrow the Surface Laptop! I'll have the driver soon!

SmartBoy84 commented 6 years ago

ETA? 👍 :) :) :) :) :) :) :) :) :)

fahdriyami commented 6 years ago

@robot198 If I had to guess, when it's ready. ;)

SmartBoy84 commented 6 years ago

:)

SmartBoy84 commented 6 years ago

day 7:- Still no update from jakeday, sigh.

herman-moen commented 6 years ago

@robot198 dude, please stop commenting stuff like this. it spams the thread with irrelevant content and its just annoying for Jake to come back and see people complaining. good things come to those who wait.

versipellis commented 6 years ago

^ ditto on this. If you want to see change happen, donate to him.

mathias commented 6 years ago

Agreed. Jake is donating his time; he doesn't work for you.

SmartBoy84 commented 6 years ago

understood, i apologize On Mon, Jul 30, 2018 at 8:17 AM Matt Gauger notifications@github.com wrote:

Agreed. Jake is donating his time; he doesn't work for you.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jakeday/linux-surface/issues/5#issuecomment-408716481, or mute the thread https://github.com/notifications/unsubscribe-auth/AL4_huRHm7A3-d3x1dUA08uoENtfgw0nks5uLlCPgaJpZM4PQ8nj .

mindwarpstudios commented 6 years ago

@jakeday If there is any testing that we may help with, I am available to provide logs and other feedback. Sadly, my knowledge of Kernel Programming is rather sparse; however, I have plenty of experience with general programming and can handle a steep learning curve if you need another pair of eyes on this.

I am not impatient for your solution, but see this as a key issue that will make lives easier when solved. I could jump in on the project without further input, but I feel coordinated effort might pay off in this case.

SirSharanChakradhar commented 6 years ago

can we use this ? https://github.com/torvalds/linux/blob/master/drivers/hid/hid-microsoft.c

also tell me how to use it, I'm just a newbie trying to use Linux on surface laptop. I tried @jakeday git commands to use the driver kernel and touch started working but not keyboard. Also, full screen resolution wont work.

ghost commented 6 years ago

@SirSharanChakradhar no it won't work unfortunately but I'm like you waiting for a fix as I need to use linux to compile android roms so it's fckg annoying and @jakeday is our only hope as Microsoft only support windows and will not share any solution and it's stupid from them because I won't buy they products anymore but that's an other story. Also @jakeday I don't know if you own the surface but if not I'm sure I can help you to fix this issue.

SmartBoy84 commented 6 years ago

I too am skilled in Linux, but am only self-learned. Have not taken an courses or anything. Please, i am sure i could also help. Thankyou, for the hard work!!!

thethirdtomas commented 6 years ago

@jakeday any luck?

jakeday commented 6 years ago

Something weird is going on. Can you guys test my 4.18.7 kernel and get me dmesg outputs? This has the bones of my new driver and I'm curious to see the logs.

fahdriyami commented 6 years ago

Still no keyboard functionality on my end with 4.18.7. Here is the dmesg output. Keep it up Jake :)

dmesg.txt

jakeday commented 6 years ago

@fahdriyami Well that's a start! The driver is loading, but not finding the resource for your keyboard IO.

[ 3.686250] Surface VHF found [ 3.686251] Surface VHF resources: 0 [ 3.686253] surface_vhf MSHW0096:00: Surface VHF: No keyboard resource defined [ 3.686304] surface_vhf: probe of MSHW0096:00 failed with error -16

Are you dual booting with Windows?