Linux vs laptop keyboard

Hello guys,
its my first post here so no idea if I am even doing it correctly.

I recently.bought laptop for me, Asus TUF A16 with Ryzen 9 7940hs, amd 7600s, 16gb ddr5 etc. Installed linux on it and the laptop keyboard isnt working. No matter which distro I try, no matter which kernel I use. External usb keyboard works perfectly, even the function keys like volume up/down, keyboard backlight brighter/dimmer.

in bios/grub/windows its working.

I already tried the i8042 solutions but no luck.

Do you have any ideas?

Thank you in advance

1 Like

Try to enter BIOS by the appropriate key (F2/F8/F10/F12/Del). It should be OS agnostic. If you cant enter BIOS, something is wrong with your laptop’s keyboard.

You should be able to test if the arrow keys, and some of the function keys are working, once inside the BIOS.

1 Like

I knew that I forgot to mention something… in BIOS also in Grub it work just fine… also in windows… its a linux thing

1 Like

We are discussing in english, but I think it still warrants to ask: does the laptop have a different language setting other than english US?

1 Like

not sure if I follow correctly… the physical laptop keyboard isnt englishUS… during the installtion proccess with every distro Ive tried, I set it to english US or UK (not sure right now) for the whole system (language, locales etc)… except the time zone… are you suggesting that installing keyboard layout as is on physical laptop keyboard will help? never had an issue with mixing keyboard layouts

1 Like

Maybe? Do try anyway, just make sure you can revert it somehow.

no difference…

@WoodyMelon Can you confirm something for me
I understood that your keyboard physicly does not work? Like the key presses do not register or do not seem to register to the OS?

Or did you mean that you get the wrong charecters when pressing the buttons.

For the first one, my only simular experience is with a USB keyboard which was due to an implementation issue on the linux driver side. But this not my specialty if I am honest.

For the second one, you have the wrong keyboard layout.

Trying to narrow the issue down.

Based on this information I think it would be a driver issue, since you can get the external USB-keyboard working.

If you have a configuratio/model number, that might help us out as well, since there are multiple different generations of TUF A16, and it might be at least some level specific to your sku. That can be found based on your information, but you can get it likely easier…

I hope this is of some advice for you

thank you for reaching out… I would say its definitely linux driver issue… because in bios keyboard works, in grub keyboard work, after grub its done keyboard doesnt work, with windows keyboard work… no issues with usb keyboard
for the model its the newest Asus TUF Gaming A16 Advantage Edition (2023) FA617XS
I hope this answered all your questions

1 Like

Connect the usb keyboadd when booted and type the command

lsusb

figure out what kernel modules are loaded for that device, and try to replace the existing keyboard software loaded with that kernel module.

Alsp try hitting e key on grub and on the

Linux line press end key, space bar and add

nomodeset amd F10

2 Likes

hei, thanks for the suggestions… this is the output of lsusb

Bus 008 Device 005: ID 05e3:0620 Genesys Logic, Inc. USB3.2 Hub
Bus 008 Device 004: ID 17e9:6000 DisplayLink USB3.0 5K Graphic Docking
Bus 008 Device 003: ID 2109:1817 VIA Labs, Inc. USB3.0 Hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 007: ID 1d5c:7102 Fresco Logic Generic Billboard Device
Bus 007 Device 006: ID 046d:c53f Logitech, Inc. USB Receiver
Bus 007 Device 005: ID 067b:2586 Prolific Technology, Inc. USB 2.0 Hub
Bus 007 Device 004: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 007 Device 003: ID 2109:4817 VIA Labs, Inc. USB2.0 Hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 13d3:3571 IMC Networks Bluetooth Radio
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 13d3:56a2 IMC Networks USB2.0 HD UVC WebCam
Bus 001 Device 002: ID 0c45:7044 Microdia ROYUAN Gaming Keyboard
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

not really sure what to do with it tbh… keyboard is custom build thats why that weird name

also tried “nomodeset amd F10” but no change

It would be more helpful to see the software loaded by the keyboard

lsusb -t | grep Keyboard

or

lshw

when I ran lsusb -t | grep Keyboard the output is nothing but maybe lsusb -t will help?

lsusb -t

/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 10000M
|__ Port 1: Dev 4, If 0, Class=Hub, Driver=hub/4p, 5000M
|__ Port 2: Dev 5, If 1, Class=Application Specific Interface, Driver=, 5000M
|__ Port 2: Dev 5, If 6, Class=CDC Data, Driver=cdc_ncm, 5000M
|__ Port 2: Dev 5, If 4, Class=Audio, Driver=snd-usb-audio, 5000M
|__ Port 2: Dev 5, If 2, Class=Audio, Driver=snd-usb-audio, 5000M
|__ Port 2: Dev 5, If 0, Class=Vendor Specific Class, Driver=, 5000M
|__ Port 2: Dev 5, If 5, Class=Communications, Driver=cdc_ncm, 5000M
|__ Port 2: Dev 5, If 3, Class=Audio, Driver=snd-usb-audio, 5000M
|__ Port 3: Dev 6, If 0, Class=Hub, Driver=hub/4p, 5000M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 6, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 3: Dev 6, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 3: Dev 6, If 2, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 4: Dev 7, If 0, Class=, Driver=, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 10000M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 10000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 1: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/5p, 480M
|__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 1: Dev 2, If 2, Class=Human Interface Device, Driver=, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 5: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 5: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 5: Dev 3, If 2, Class=Application Specific Interface, Driver=, 480M

these are inputs from lshw
*-input:0
product: Lid Switch
physical id: 2
logical name: input0
logical name: /dev/input/event0
capabilities: platform
*-input:1
product: Power Button
physical id: 3
logical name: input1
logical name: /dev/input/event1
capabilities: platform
*-input:2
product: SONiX ROYUAN Gaming Keyboard
physical id: 4
logical name: input10
logical name: /dev/input/event8
logical name: input10::capslock
logical name: input10::compose
logical name: input10::kana
logical name: input10::numlock
logical name: input10::scrolllock
capabilities: usb
*-input:3
product: SONiX ROYUAN Gaming Keyboard Mouse
physical id: 5
logical name: input11
logical name: /dev/input/event9
logical name: /dev/input/mouse2
capabilities: usb
*-input:4
product: SONiX ROYUAN Gaming Keyboard System Control
physical id: 6
logical name: input12
logical name: /dev/input/event10
capabilities: usb
*-input:5
product: SONiX ROYUAN Gaming Keyboard Consumer Control
physical id: 7
logical name: input13
logical name: /dev/input/event11
capabilities: usb
*-input:6
product: SONiX ROYUAN Gaming Keyboard
physical id: 8
logical name: input14
logical name: /dev/input/event12
capabilities: usb
*-input:7
product: SONiX ROYUAN Gaming Keyboard
physical id: 9
logical name: input15
logical name: /dev/input/event13
capabilities: usb
*-input:8
product: Sleep Button
physical id: a
logical name: input2
logical name: /dev/input/event2
capabilities: platform
*-input:9
product: Logitech G305
physical id: b
logical name: input26
logical name: /dev/input/event14
logical name: input26::capslock
logical name: input26::compose
logical name: input26::kana
logical name: input26::numlock
logical name: input26::scrolllock
logical name: /dev/input/mouse3
capabilities: usb
*-input:10
product: Asus WMI hotkeys
physical id: c
logical name: input27
logical name: /dev/input/event5
capabilities: platform
*-input:11
product: ASUF1204:00 2808:0202 Mouse
physical id: d
logical name: input28
logical name: /dev/input/event6
logical name: /dev/input/mouse0
capabilities: i2c
*-input:12
product: ASUF1204:00 2808:0202 Touchpad
physical id: e
logical name: input29
logical name: /dev/input/event15
logical name: /dev/input/mouse1
capabilities: i2c
*-input:13
product: AT Raw Set 2 keyboard
physical id: f
logical name: input3
logical name: /dev/input/event3
capabilities: i8042
*-input:14
product: ITE5570:00 048D:8051
physical id: 10
logical name: input4
logical name: /dev/input/event4
capabilities: i2c
*-input:15
product: Video Bus
physical id: 11
logical name: input9
logical name: /dev/input/event7
capabilities: platform

uname -a

what linux and distro are you using?

uname -a

what linux and distro are you using?

Also, I would like to clear up my grub commandline instructions.

When you get to the grub boot menu press e

This shows you a large box with the real grub commands that get loaded.

Near the middle is a line that begins with

Linux

at the end of that line, by pressing the end key, is usually words like quiet splash

At the end of that line, add a single space so that you aren’t adding letters to an existing word, and add

nomodeset

for the area that says splash quiet

and press the F10 key to save and load those changes, only once. You’ll need to modify some file to change it for every boot instead of just once.

currently I am on ubuntu 20.04… with the kernel 6.4-rc3… but Ive already tried fedora, arch and the behavior is the same on all of them… I tried the nomodeset as you mentioned before but no luck… but I had bunch of kernel parameters there so will try to clean it a little and will let you know

1 Like

Ok so your laptop might just be too new.

Consider creating an account on the relevant community discussion of asus-linux.org

They have a gitlab

And discord.

3 Likes

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.