You are not logged in.

#1 2017-01-29 05:30:38

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

[Solved] Builtin Keyboard/trackpad on Braswell laptop not working

I just did a system update and upgraded from Linux Kernel 4.8.13 to 4.9.6. I discovered that my laptop keyboard and mouse are not working.

USB keyboard and mouse work just fine. I reverted back to 4.8.13 to make sure that nothing else happened to the keyboard and mouse. They work just fine with 4.8.13.

My first thought was that the kernel config option

CONFIG_PINCTRL_CHERRYVIEW=y

got changed. Previously that option being set to 'm' or not being set at all rendered my keyboard and trackpad useless. But that config option is still present in the build config.

My computer is the Acer Chromebook 14, the CB3-431-C5FM.

At this point I'm not sure how to debug this problem. So let me know what additional info or output from command would be helpful. I am considering filing a bug report but I wanted to post here for advice first.

Things I'm going to try next:
- Boot the nightly image of Gallium OS and see if the problem persists (I believe they are up to 4.9.4 at least)
- Test some of the previous Linux packages from the Arch Archive between the one that is currently known to be working (4.8.13) and the one I know isn't working (4.9.6). i.e. I'll try 4.9.[1,2,3,4,5]

Thank you for reading this and any help you can offer.

Last edited by alaskanarcher (2017-03-26 17:33:21)

Offline

#2 2017-01-31 01:48:11

vgroove
Member
Registered: 2017-01-31
Posts: 2

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

I just bought a CB3-431 and am attempting to load arch on it for the first time, seeing the same problem as you.  My googling led me to looking at that CONFIG_PINCTRL_CHEERYVIEW option as well, but that's all I've got besides making sure the atkbd, i8042, and serio modules are loaded (which they were).  Guess I'll install an older kernel for now...

Edit:
Tried downgrading to kernel 4.9 and the same thing was happening.  Oddly enough, I tried downgrading to 4.8.13 and 4.8.9 and I saw the same thing again.  I seem to only see it working on the 4.8.13 on the live usb.  Might be something else I'm missing in my install.

Edit 2:
Messing with 4.8.13 I removed all the i8042 cmdline parameters that other threads had suggested and the internal keyboard now works on this kernel version for me.

Last edited by vgroove (2017-02-01 00:50:44)

Offline

#3 2017-02-06 02:50:38

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

Hi vgroove,

Thanks for responding. Good to find others who share the same problem.

vgroove wrote:

Edit:
Tried downgrading to kernel 4.9 and the same thing was happening.  Oddly enough, I tried downgrading to 4.8.13 and 4.8.9 and I saw the same thing again.  I seem to only see it working on the 4.8.13 on the live usb.  Might be something else I'm missing in my install. 

Edit 2:
Messing with 4.8.13 I removed all the i8042 cmdline parameters that other threads had suggested and the internal keyboard now works on this kernel version for me.

I have tried all of the Arch Linux kernel packages between 4.8.13 and 4.9.6.  Among those, only 4.8.13/14 leaves the builtin keyboard and trackpad functional. All of the 4.9 kernels don't work for me. I've been running Arch on this laptop since mid October (kernel 4.7 ish?) without issue and without having to adjust any i8042 cmdline parameters that you mentioned.  From the output of sysctl -a it doesn't appear that I have any kernel parameters related to i8042 or atkbd.  My install is pretty standard and minimal IMO, so I'm curious what parameters you had to change.

Now that you've adjusted those i8042 parameters, do any 4.9 kernels work for you?

Some additional information:

Looking at the dmesg output from the working kernels I've tested (4.8.13/14) I see the following:

$ dmesg | grep keyboard
[    1.141780] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0

On the 4.9 kernels where the internal keyboard and trackpad don't work I get:

$ dmesg | grep keyboard
[   33.164513] atkbd serio0: Failed to enable keyboard on isa0060/serio0
[   33.165038] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input14

I also have completed a git bisect on the kernel in the linux-git package in the AUR, which tracks the mainline kernel git repo.

Here is the commit where the builtin keyboard and trackpad first stop working:
47c950d1020226179d278297c85ba6a988ee398b

This commit definitely is related to the Braswell SoC, but I am not well versed in these drivers so I am pretty much at a loss as to how to fix it.

I will be looking into submitting a bug report to the proper channels regarding this issue. Let me know if you have any other relevant information to share or solutions to try.

Thank you

Offline

#4 2017-02-07 01:44:24

zyisrad
Member
Registered: 2015-12-13
Posts: 22

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

The builtin keyboard is still not working on 4.9.7-1. Back to 4.8.13-1 I go!

edit: Still no keyboard in 4.9.8-1

Last edited by zyisrad (2017-02-10 23:52:38)

Offline

#5 2017-02-15 04:22:20

zyisrad
Member
Registered: 2015-12-13
Posts: 22

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

Good News! Audio works!

Merge in Changes from https://github.com/GalliumOS/galliumos-braswell
Update Linux kernel: I used 4.9.8-1

Reboot and Audio works!

This still breaks the builtin keyboard and mouse. I will have to hunt down the relevant keyboard and mouse fix.

Offline

#6 2017-02-15 07:23:15

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

zyisrad,

That's great. This Chromebook is almost a fully functional laptop now. wink

What can I do to help track down the keyboard and mouse issue? I have been meaning to file a bug report with the Linux Kernel but haven't yet had the time to do it properly.

Be sure to check out the commit that I isolated as the place where the bug was introduced in my previous post.

Offline

#7 2017-03-14 03:56:39

Anez007
Member
Registered: 2017-03-14
Posts: 5

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

Wow, this is exactly what I am encountering right now!
(I am not sure if this is a necrobumping, if that is the case, I am sorry)

I was just thinking of a way to do a bug report, though had no idea how to.
Yesterday, with little hope, I tried to downgrade the linux and linux-headers packages to 4.8.13-1, which is the version I've got on my USB iso with keyboard working, and it was a success!

The thing is, I noted a bunch of dmesg output and bookmarked some potentially useful websites regarding this issue. Here you go...
dmesg | grep -i irq
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] NR_IRQS:8448 nr_irqs:1024 16
[    0.611544] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 12 14 15) *0
[    0.611649] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 11 12 14 15) *0
[    0.611752] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 10 12 14 15) *0
[    0.611853] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7 11 12 14 15) *0
[    0.611955] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 7 10 12 14 15) *0
[    0.612057] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 7 11 12 14 15) *0
[    0.612160] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 7 10 12 14 15) *0
[    0.612261] ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 7 11 12 14 15) *0
[    0.631917] cherryview-pinctrl INT33FF:01: Failed to translate GPIO to IRQ
[    0.701699] PCI: Using ACPI for IRQ routing
[    0.710903] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    0.908400] pcieport 0000:00:1c.0: Signaling PME with IRQ 308
[    0.908554] pcieport 0000:00:1c.2: Signaling PME with IRQ 309
[    0.910061] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.930496] serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    0.938655] rtc_cmos 00:03: alarms up to one month, 242 bytes nvram, hpet irqs
[    1.125526] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 182
[    1.133934] serio: i8042 KBD port at 0x60,0x64 irq 182
[    2.333398] 8086228A:00: ttyS1 at MMIO 0xd1327000 (irq = 39, base_baud = 6250000) is a 16550A
[    2.556347] genirq: Flags mismatch irq 182. 00002002 (ELAN0000:00) vs. 00000080 (i8042)
[    2.556416] elan_i2c i2c-ELAN0000:00: cannot register irq=182

dmesg | grep -i i8042
[    1.125526] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 182
[    1.125529] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[    1.133749] i8042: Warning: Keylock active
[    1.133934] serio: i8042 KBD port at 0x60,0x64 irq 182
[    2.556347] genirq: Flags mismatch irq 182. 00002002 (ELAN0000:00) vs. 00000080 (i8042)
[    7.310067] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input12

dmesg | grep -i elan
[    2.555213] elan_i2c i2c-ELAN0000:00: Elan Touchpad: Module ID: 0x0055, Firmware: 0x0008, Sample: 0x000d, IAP: 0x0009
[    2.556347] genirq: Flags mismatch irq 182. 00002002 (ELAN0000:00) vs. 00000080 (i8042)
[    2.556416] elan_i2c i2c-ELAN0000:00: cannot register irq=182
[    2.569716] elan_i2c: probe of i2c-ELAN0000:00 failed with error -1

https://forums.gentoo.org/viewtopic-p-8 … e3989f63da
http://unix.stackexchange.com/questions … -of-ubuntu
http://redsymbol.net/linux-kernel-boot-parameters/        i8042 parameters are on the list
https://bbs.archlinux.org/viewtopic.php?id=219625
http://wiki.osdev.org/%228042%22_PS/2_Controller

My thought is that "cherryview-pinctrl" must have something to do with this.
According to this article: http://www.phoronix.com/scan.php?page=n … px=MTY1Mzc , Braswell and cherryview are related

※In my case, it is possible to use the keyboard while keeping touching touchpad. Useful to get some information I guess... Oh it doesn't work with display manager. That means you can't type the password and get the terminal emulator working. Go to tty2 can help I guess..

Offline

#8 2017-03-14 19:29:13

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

Thank you Anez007. I don't believe this is necro bumping. This is still an issue and has prevented me from staying up to date. Unfortunately I have been quite busy with work so I haven't had time to submit a bug report or work on this issue. If anyone has the time, don't wait on my behalf.

I haven't had a chance to look at your links but I do believe this will be helpful. The commit I found that introduced the bug made changes regarding interrupts.

From the note you made about being able to type while touching the trackpad, I wonder if this indicates that the kernel is not responding to the interrupts from the keyboard, but processes the keystroke buffer when interrupts from the trackpad are generated.

This is distinct from what I experienced with kernels not compiled with CHERRYVIEW-PINCTRL=y where neither the builtin keyboard or trackpad worked at all.

I expect in about two weeks I'll have free time to play with this.

Has anyone tried the latest Gallium OS?
They are running 4.9 kernels and have a release for Braswell Chromebooks. I haven't yet heard any mention of this regression on their Braswell Platform Validation Issue on GitHub, which they somewhat recently closed.

Last edited by alaskanarcher (2017-03-14 19:30:30)

Offline

#9 2017-03-14 19:51:59

knotic
Member
Registered: 2015-12-03
Posts: 7

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

I have the Acer Chromebook R11 and have to compile a custom kernel since 4.9. to get the keyboard to work again.

Specifically, I manually apply this patch from GalliumOS:
https://github.com/GalliumOS/linux/blob … -irqs.diff

Sound is still not working, not even in GalliumOS, as far as I know.

Offline

#10 2017-03-21 17:44:53

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

For those affected by this bug, I have now filed a bug report and it appears to be gaining some attention from devs.

Bug 194945

Offline

#11 2017-03-23 01:16:55

vgroove
Member
Registered: 2017-01-31
Posts: 2

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

Thanks for making that bug report, alaskanarcher!

I got a chance to compile my own 4.10.4 kernel making only the change linked to by knotic (https://github.com/GalliumOS/linux/blob … -irqs.diff) and my keyboard and trackpad are working!

On another note apparently the sound issue was resolved by evan-a-a on the following GalliumOS issue (post is dated Jan 8).  He had to use a tree with some patches for the rt5645 driver that will hopefully be mainlined soon, as well as some edits to the UCM.  I haven't gotten a chance to verify yet.
https://github.com/GalliumOS/galliumos- … issues/270

Offline

#12 2017-03-25 16:16:43

barnacs
Member
Registered: 2017-03-25
Posts: 1

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

Hi,

Just got a CB3-431 myself and built packages for some of the stuff the guys over at GalliumOS figured out.
Got working keyboard and audio with this patched kernel and these userspace configs (just force install it after pulseaudio to overwrite some configs for now).

Offline

#13 2017-03-26 00:50:25

alaskanarcher
Member
Registered: 2016-04-30
Posts: 50

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

barnacs,

That's awesome. Thanks so much, I'm going to build that tonight and test.

There is now a patch from Mika Westerberg, a maintainer of the pinctrl-cherryview.c driver. I have tested it and confirmed it works.

Rather than simply bumping the number of irqs, the patch is more targeted at this Acer and enables all GPIO irqs. It also seems to potentially be a bit more robust to changes in the IRQ numbering.

In the comments of Mika's patch,

Acer Chromebook (CYAN) uses Linux IRQ number for i8042 keyboard interrupt so we need to expose all GPIOs as IRQs, even those which are not capable of generating interrupts. Changing the IRQ numbering in any way makes the keyboard non-functional.

Edit: I am marking this as thread as solved. The solution to this keyboard problem is to run a kernel before 4.9 or to run a patched kernel like the one Barnacs has put in the AUR.

Last edited by alaskanarcher (2017-03-26 17:33:45)

Offline

#14 2017-08-05 03:45:05

zyisrad
Member
Registered: 2015-12-13
Posts: 22

Re: [Solved] Builtin Keyboard/trackpad on Braswell laptop not working

The keyboard now works out of the box with kernel 4.12.4 using the core/linux package. To get sound, the aur/galliumos-braswell-config package is still required.

Offline

Board footer

Powered by FluxBB