I am a newbie at linux and I have installed Fedora 38 KDE on my laptop. It's turned out that backlight of my built-in keyboard is off although in Windows I can switch it on and off by Fn+F8. Of course I tried pressing Fn+F8).

Also I opened Settings/Shortcuts and tried to assign Fn+F8 to something. And when I pressed the combination nothing happened as if Linux didn't hear this combination at all.

When laptop starts the backlight is on and it switches off when GRUB menu appears.

I tries to use OpenRGB but is says "One or more I2C/SMBus interfaces failed to initialize." Unfortunately, I don't know what I2C is and how it relates to keyboard backlight.

lsusb shows:

Bus 003 Device 006: ID 1038:113a SteelSeries ApS SteelSeries KLC

Update I found the information that has helped me to solve the problem.

But I don't understand how it works. I'll appreciate if you explain me)


1 Answer 1


That's I got out of the problem. I was inspired by this

First, figure out vendor and product id of your keyboard.

lsusb showed me lines and one of them was mine:

Bus 003 Device 004: ID 1038:113a SteelSeries ApS SteelSeries KLC

1038 - VendorID, 113a - ProductID

Then get the list of USB devices:

ls /sys/bus/usb/devices that shows me quite a few directories like:

1-0:1.0 3-0:1.0 3-14 3-14:1.1 3-2:1.0 3-8:1.0 3-8:1.2 3-8:1.4 usb1 usb3

Let's explore each of them in search of idVendor file:

ls /sys/bus/usb/devices/*/idVendor

Okay, some of directories has one. Let's figure out what device corresponds to my VendorId (1038).

find -L /sys/bus/usb/devices/ -maxdepth 2 -name idVendor -exec sh -c 'echo "{}->"; cat {}' \;

The part of my output was:

/sys/bus/usb/devices/3-13/idProduct-> 113a

If more than one usb device has our vendor we can just check it by productId

find -L /sys/bus/usb/devices/ -maxdepth 2 -name idProduct -exec sh -c 'echo "{}->"; cat {}' \;

In my case it was 3-13 usb device.

Let's unbind it.

echo '3-13' | sudo tee /sys/bus/usb/drivers/usb/unbind

If back light turns on - congratulations in you!

Now you can save this command in batch file and run on start up.

I saved it to /opt/fixKB.sh and added to crontab like this:

sudo crontab -e

and entered this line at the end

@reboot /opt/fixKB.sh

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .