I've been troubleshooting an issue for months now and have gotten nowhere. I recently hoped that building a custom image with kernel debug symbols enabled would provide some insight to my issue. Since I don't have ever see a coredump or anything I'm guessing it was a pointless effort...
Before opening an issue in git, I figured I should check if there is any additional information or things I could try to be able to include as much information in the report as possible.
I have multiple 6th generation Intel Nucs with a nuvoton consumer infrared module (built-in) that has functioned for many years on LE7/8/9/10 without any issue. After an upgrade to either LE11/12/13 (basically kernel 6.x+) I see that for whatever reason my remote stops working--randomly. The issue ususally occurs if quickly after boot I start scrolling through my PVR/TV menu. Using ir-keytable -t after I notice no input is being recognized and to look for button presses, nothing shows up.
To fix this I can simply unload and reload the kernel module (nuvoton_cir) and everything works as normal including ir-keytable populating properly. Generally after performing this it will work until it's restarted--but not always. Kodi debug logs show absolutely no issue/change when the problem occurs. dmesg output also isn't of much use:
QuoteDisplay More[ 2.977534] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input7
[ 2.977577] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input8
[ 2.977627] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input9
[ 3.028650] input: eventlircd as /devices/virtual/input/input10
[ 6.466788] e1000e 0000:00:1f.6 eth0: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[ 6.466879] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 6.470466] 8021q: 802.1Q VLAN Support v1.8
[ 15.065998] Bluetooth: RFCOMM TTY layer initialized
[ 15.066019] Bluetooth: RFCOMM socket layer initialized
[ 15.066023] Bluetooth: RFCOMM ver 1.11
[ 19.607148] nuvoton-cir 00:01: RX FIFO overrun detected, flushing data!
[ 20.474927] nuvoton-cir 00:01: RX FIFO overrun detected, flushing data!
[ 417.036419] nuvoton-cir 00:01: found NCT6776F or compatible: chip id: 0xc3 0x33
[ 417.036758] Registered IR keymap rc-rc6-mce
[ 417.036836] rc rc0: Nuvoton w836x7hg Infrared Remote Transceiver as /devices/pnp0/00:01/rc/rc0
[ 417.036935] rc rc0: lirc_dev: driver nuvoton-cir registered at minor = 0, raw IR receiver, no transmitter
[ 417.037041] input: Nuvoton w836x7hg Infrared Remote Transceiver as /devices/pnp0/00:01/rc/rc0/input11
[ 417.037392] nuvoton-cir 00:01: driver has been successfully loaded
[ 417.194484] input: eventlircd as /devices/virtual/input/input12
The issue did happen right at the second RX FIFO message. The next message (417.036419) is me unloading/reloading the kernel module. What's strange is if I sit and jam a bunch of input buttons I see this message, even though it doesn't freeze. Looking through source code, it looks like this is just an informative message maybe?
Lircd is not setup/configured/running and this is with a new default install of LE11/12/13.
QuoteDisplay Morehuron:~ # ir-keytable --verbose
Found device /sys/class/rc/rc0/
Parsing uevent /sys/class/rc/rc0/lirc0/uevent
/sys/class/rc/rc0/lirc0/uevent uevent MAJOR=251
/sys/class/rc/rc0/lirc0/uevent uevent MINOR=0
/sys/class/rc/rc0/lirc0/uevent uevent DEVNAME=lirc0
Input sysfs node is /sys/class/rc/rc0/input4/
Event sysfs node is /sys/class/rc/rc0/input4/event4/
Parsing uevent /sys/class/rc/rc0/input4/event4/uevent
/sys/class/rc/rc0/input4/event4/uevent uevent MAJOR=13
/sys/class/rc/rc0/input4/event4/uevent uevent MINOR=68
/sys/class/rc/rc0/input4/event4/uevent uevent DEVNAME=input/event4
Parsing uevent /sys/class/rc/rc0/uevent
/sys/class/rc/rc0/uevent uevent NAME=rc-rc6-mce
/sys/class/rc/rc0/uevent uevent DRV_NAME=nuvoton-cir
/sys/class/rc/rc0/uevent uevent DEV_NAME=Nuvoton w836x7hg Infrared Remote Transceiver
input device is /dev/input/event4
/sys/class/rc/rc0/protocols protocol rc-5 (disabled)
/sys/class/rc/rc0/protocols protocol nec (enabled)
/sys/class/rc/rc0/protocols protocol rc-6 (enabled)
/sys/class/rc/rc0/protocols protocol jvc (disabled)
/sys/class/rc/rc0/protocols protocol sony (disabled)
/sys/class/rc/rc0/protocols protocol rc-5-sz (disabled)
/sys/class/rc/rc0/protocols protocol sanyo (disabled)
/sys/class/rc/rc0/protocols protocol sharp (disabled)
/sys/class/rc/rc0/protocols protocol mce_kbd (disabled)
/sys/class/rc/rc0/protocols protocol xmp (disabled)
/sys/class/rc/rc0/protocols protocol imon (disabled)
/sys/class/rc/rc0/protocols protocol rc-mm (disabled)
/sys/class/rc/rc0/protocols protocol lirc (enabled)
Found /sys/class/rc/rc0/ with:
Name: Nuvoton w836x7hg Infrared Remote Transceiver
Driver: nuvoton-cir
Default keymap: rc-rc6-mce
Input device: /dev/input/event4
LIRC device: /dev/lirc0
Attached BPF protocols:
Supported kernel protocols: lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp imon rc-mm
Enabled kernel protocols: lirc nec rc-6
bus: 25, vendor/product: 1050:00c3, version: 0x0033
Repeat delay = 500 ms, repeat period = 125 mshuron:~/.cache # ir-keytable -r
scancode 0x80d800 = KEY_0 (0x0b)
scancode 0x80d801 = KEY_1 (0x02)
scancode 0x80d802 = KEY_2 (0x03)
scancode 0x80d803 = KEY_3 (0x04)
scancode 0x80d804 = KEY_4 (0x05)
scancode 0x80d805 = KEY_5 (0x06)
scancode 0x80d806 = KEY_6 (0x07)
scancode 0x80d807 = KEY_7 (0x08)
scancode 0x80d808 = KEY_8 (0x09)
scancode 0x80d809 = KEY_9 (0x0a)
scancode 0x80d80e = KEY_MUTE (0x71)
scancode 0x80d810 = KEY_VOLUMEUP (0x73)
scancode 0x80d811 = KEY_VOLUMEDOWN (0x72)
scancode 0x80d812 = KEY_CHANNELUP (0x192)
scancode 0x80d813 = KEY_CHANNELDOWN (0x193)
scancode 0x80d814 = KEY_FASTFORWARD (0xd0)
scancode 0x80d815 = KEY_REWIND (0xa8)
scancode 0x80d817 = KEY_RECORD (0xa7)
scancode 0x80d819 = KEY_STOP (0x80)
scancode 0x80d81a = KEY_NEXT (0x197)
scancode 0x80d81b = KEY_PREVIOUS (0x19c)
scancode 0x80d81e = KEY_UP (0x67)
scancode 0x80d81f = KEY_DOWN (0x6c)
scancode 0x80d820 = KEY_LEFT (0x69)
scancode 0x80d821 = KEY_RIGHT (0x6a)
scancode 0x80d822 = KEY_OK (0x160)
scancode 0x80d823 = KEY_EXIT (0xae)
scancode 0x80d826 = KEY_INFO (0x166)
scancode 0x80d864 = KEY_MEDIA (0xe2)
scancode 0x80d86e = KEY_FULL_SCREEN (0x174)
scancode 0x80d86f = KEY_EPG (0x16d)
scancode 0x80d870 = KEY_PLAYPAUSE (0xa4)
scancode 0x800f0400 = KEY_NUMERIC_0 (0x200)
scancode 0x800f0401 = KEY_NUMERIC_1 (0x201)
scancode 0x800f0402 = KEY_NUMERIC_2 (0x202)
scancode 0x800f0403 = KEY_NUMERIC_3 (0x203)
scancode 0x800f0404 = KEY_NUMERIC_4 (0x204)
scancode 0x800f0405 = KEY_NUMERIC_5 (0x205)
scancode 0x800f0406 = KEY_NUMERIC_6 (0x206)
scancode 0x800f0407 = KEY_NUMERIC_7 (0x207)
scancode 0x800f0408 = KEY_NUMERIC_8 (0x208)
scancode 0x800f0409 = KEY_NUMERIC_9 (0x209)
scancode 0x800f040a = KEY_DELETE (0x6f)
scancode 0x800f040b = KEY_ENTER (0x1c)
scancode 0x800f040c = KEY_SLEEP (0x8e)
scancode 0x800f040d = KEY_MEDIA (0xe2)
scancode 0x800f040e = KEY_MUTE (0x71)
scancode 0x800f040f = KEY_INFO (0x166)
scancode 0x800f0410 = KEY_VOLUMEUP (0x73)
scancode 0x800f0411 = KEY_VOLUMEDOWN (0x72)
scancode 0x800f0412 = KEY_CHANNELUP (0x192)
scancode 0x800f0413 = KEY_CHANNELDOWN (0x193)
scancode 0x800f0414 = KEY_FASTFORWARD (0xd0)
scancode 0x800f0415 = KEY_REWIND (0xa8)
scancode 0x800f0416 = KEY_PLAY (0xcf)
scancode 0x800f0417 = KEY_RECORD (0xa7)
scancode 0x800f0418 = KEY_PAUSE (0x77)
scancode 0x800f0419 = KEY_STOP (0x80)
scancode 0x800f041a = KEY_NEXT (0x197)
scancode 0x800f041b = KEY_PREVIOUS (0x19c)
scancode 0x800f041c = KEY_NUMERIC_POUND (0x20b)
scancode 0x800f041d = KEY_NUMERIC_STAR (0x20a)
scancode 0x800f041e = KEY_UP (0x67)
scancode 0x800f041f = KEY_DOWN (0x6c)
scancode 0x800f0420 = KEY_LEFT (0x69)
scancode 0x800f0421 = KEY_RIGHT (0x6a)
scancode 0x800f0422 = KEY_OK (0x160)
scancode 0x800f0423 = KEY_EXIT (0xae)
scancode 0x800f0424 = KEY_DVD (0x185)
scancode 0x800f0425 = KEY_TUNER (0x182)
scancode 0x800f0426 = KEY_EPG (0x16d)
scancode 0x800f0427 = KEY_FULL_SCREEN (0x174)
scancode 0x800f0432 = KEY_MODE (0x175)
scancode 0x800f0433 = KEY_PRESENTATION (0x1a9)
scancode 0x800f0434 = KEY_EJECTCD (0xa1)
scancode 0x800f043a = KEY_BRIGHTNESSUP (0xe1)
scancode 0x800f0446 = KEY_TV (0x179)
scancode 0x800f0447 = KEY_AUDIO (0x188)
scancode 0x800f0448 = KEY_PVR (0x16e)
scancode 0x800f0449 = KEY_CAMERA (0xd4)
scancode 0x800f044a = KEY_VIDEO (0x189)
scancode 0x800f044c = KEY_LANGUAGE (0x170)
scancode 0x800f044d = KEY_TITLE (0x171)
scancode 0x800f044e = KEY_PRINT (0xd2)
scancode 0x800f0450 = KEY_RADIO (0x181)
scancode 0x800f045a = KEY_SUBTITLE (0x172)
scancode 0x800f045b = KEY_RED (0x18e)
scancode 0x800f045c = KEY_GREEN (0x18f)
scancode 0x800f045d = KEY_YELLOW (0x190)
scancode 0x800f045e = KEY_BLUE (0x191)
scancode 0x800f0465 = KEY_POWER2 (0x164)
scancode 0x800f0469 = KEY_MESSENGER (0x1ae)
scancode 0x800f046e = KEY_PLAYPAUSE (0xa4)
scancode 0x800f046f = KEY_PLAYER (0x183)
scancode 0x800f0480 = KEY_BRIGHTNESSDOWN (0xe0)
scancode 0x800f0481 = KEY_PLAYPAUSE (0xa4)
scancode 0x800f7400 = KEY_NUMERIC_0 (0x200)
scancode 0x800f7401 = KEY_NUMERIC_1 (0x201)
scancode 0x800f7402 = KEY_NUMERIC_2 (0x202)
scancode 0x800f7403 = KEY_NUMERIC_3 (0x203)
scancode 0x800f7404 = KEY_NUMERIC_4 (0x204)
scancode 0x800f7405 = KEY_NUMERIC_5 (0x205)
scancode 0x800f7406 = KEY_NUMERIC_6 (0x206)
scancode 0x800f7407 = KEY_NUMERIC_7 (0x207)
scancode 0x800f7408 = KEY_NUMERIC_8 (0x208)
scancode 0x800f7409 = KEY_NUMERIC_9 (0x209)
scancode 0x800f740a = KEY_DELETE (0x6f)
scancode 0x800f740b = KEY_ENTER (0x1c)
scancode 0x800f740c = KEY_SLEEP (0x8e)
scancode 0x800f740d = KEY_MEDIA (0xe2)
scancode 0x800f740e = KEY_MUTE (0x71)
scancode 0x800f740f = KEY_INFO (0x166)
scancode 0x800f7410 = KEY_VOLUMEUP (0x73)
scancode 0x800f7411 = KEY_VOLUMEDOWN (0x72)
scancode 0x800f7412 = KEY_CHANNELUP (0x192)
scancode 0x800f7413 = KEY_CHANNELDOWN (0x193)
scancode 0x800f7414 = KEY_FASTFORWARD (0xd0)
scancode 0x800f7415 = KEY_REWIND (0xa8)
scancode 0x800f7416 = KEY_PLAY (0xcf)
scancode 0x800f7417 = KEY_RECORD (0xa7)
scancode 0x800f7418 = KEY_PAUSE (0x77)
scancode 0x800f7419 = KEY_STOP (0x80)
scancode 0x800f741a = KEY_NEXT (0x197)
scancode 0x800f741b = KEY_PREVIOUS (0x19c)
scancode 0x800f741c = KEY_NUMERIC_POUND (0x20b)
scancode 0x800f741d = KEY_NUMERIC_STAR (0x20a)
scancode 0x800f741e = KEY_UP (0x67)
scancode 0x800f741f = KEY_DOWN (0x6c)
scancode 0x800f7420 = KEY_LEFT (0x69)
scancode 0x800f7421 = KEY_RIGHT (0x6a)
scancode 0x800f7422 = KEY_OK (0x160)
scancode 0x800f7423 = KEY_EXIT (0xae)
scancode 0x800f7424 = KEY_DVD (0x185)
scancode 0x800f7425 = KEY_RED (0x18e)
scancode 0x800f7426 = KEY_YELLOW (0x190)
scancode 0x800f7427 = KEY_FULL_SCREEN (0x174)
scancode 0x800f7428 = KEY_EJECTCD (0xa1)
scancode 0x800f7432 = KEY_MODE (0x175)
scancode 0x800f7433 = KEY_PRESENTATION (0x1a9)
scancode 0x800f743a = KEY_BRIGHTNESSUP (0xe1)
scancode 0x800f7446 = KEY_TV (0x179)
scancode 0x800f7447 = KEY_AUDIO (0x188)
scancode 0x800f7448 = KEY_PVR (0x16e)
scancode 0x800f7449 = KEY_CAMERA (0xd4)
scancode 0x800f744a = KEY_VIDEO (0x189)
scancode 0x800f744c = KEY_LANGUAGE (0x170)
scancode 0x800f744e = KEY_PRINT (0xd2)
scancode 0x800f744f = KEY_EPG (0x16d)
scancode 0x800f7450 = KEY_RADIO (0x181)
scancode 0x800f7451 = KEY_TITLE (0x171)
scancode 0x800f745a = KEY_SUBTITLE (0x172)
scancode 0x800f7464 = KEY_MEDIA (0xe2)
scancode 0x800f7465 = KEY_POWER2 (0x164)
scancode 0x800f7466 = KEY_GREEN (0x18f)
scancode 0x800f7468 = KEY_BLUE (0x191)
scancode 0x800f746c = KEY_CHANNELUP (0x192)
scancode 0x800f746d = KEY_CHANNELDOWN (0x193)
scancode 0x800f746e = KEY_PLAYPAUSE (0xa4)
scancode 0x800f746f = KEY_PLAYER (0x183)
scancode 0x800f7480 = KEY_BRIGHTNESSDOWN (0xe0)
scancode 0x800f7481 = KEY_PLAYPAUSE (0xa4)
Enabled kernel protocols: lirc nec rc-6***Providing input via ir-keytable***
uron:~ # ir-keytable -t
Testing events. Please, press CTRL-C to abort.
140.603630: lirc protocol(rc6_mce): scancode = 0x800f041f
140.708048: lirc protocol(rc6_mce): scancode = 0x800f041f repeat
140.854961: lirc protocol(rc6_mce): scancode = 0x800f041f repeat
QuoteDisplay Morehuron:~ # lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers (rev 0a)
00:02.0 VGA compatible controller: Intel Corporation Iris Pro Graphics 580 (rev 09)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)
00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller (rev 31)
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port (rev f1)
00:1c.1 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port (rev f1)
00:1c.4 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port (rev f1)
00:1d.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port (rev f1)
00:1f.0 ISA bridge: Intel Corporation HM170 Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-LM (rev 31)
02:00.0 SD Host controller: O2 Micro, Inc. SD/MMC Card Reader Controller (rev 01)
3c:00.0 Non-Volatile memory controller: Intel Corporation SSD 600P Series (rev 03)
This happens with both the legacy and generic image (as expected). Any ideas? It's driving me crazy.