Fwd: Internal keyboard non-functional on linux on Medion Laptop - NTC816 (Intel IPF) has no driver, PS/2 fallback produces corrupted scancodes
From: Ian Jensen
Date: Tue Mar 24 2026 - 04:44:29 EST
Hello, I have been advised to send you an email regarding an issue about a missing driver that causes the internal keyboard on my laptop to be totally useless.
Hardware: Medion Signium S1 OLED (MSN 30040793)
Kernel: 6.19.6-200.fc43.x86_64
Distro: Fedora Workstation 43
The internal keyboard does not work at all in Linux, not even the capslock button works. The keyboard works in Windows and in GRUB and the touchpad works fine. An external keyboard also works fine.
On Windows, the keyboard is exposed through this device chain:
INTC816 (Intel Innovation Platform Framework)
-> ButtonConverter\ConvertedDevice
-> HID keyboard (kbdhid driver)
DEVPKEY_Device_Service: kbdhid
DEVPKEY_Device_Stack: \Driver\kbdclass, \Driver\kbdhid, \Driver\mshidkmdf
On Linux INTC816 does not appear to have a driver. It does not appear in /sys/bus/acpi/devices/ or /sys/bus/ishtp/devices/. The Intel ISH modules are loaded (intel_ishtp_hid, intel_ish_ipc, intel_ishtp), but only a sensor hub (8087:0AC2) is present on the ISHTP bus. The keyboard is not enumerated there.
ACPI devices with INTC prefix: INTC1001, INTC1046, INTC1048, INTC1055, INTC1078, INTC1092, INTC109C, INTC10A0-A5. No INTC816.
The BIOS presents a PS/2 emulator via i8042, but it produces corrupted scancodes. Examples:
- H shows 0x20 (Set 1: D)
- A shows 0x03 (undefined in Set 1)
The corruption is not a simple offset and does not match any known scancode set. This appears to be a firmware bug in the scancode translation.
IRQ 1 is not showing an interrupt storm (~10 interrupts per keypress), so this is not a stuck interrupt.
Boot parameters tested:
i8042.nopnp=1 i8042.direct=1 -> corrupted input
i8042.nopnp=1 i8042.direct=1 atkbd.set=1 -> corrupted input
i8042.nopnp=1 i8042.direct=1 atkbd.set=2 -> corrupted input
i8042.nopnp=1 i8042.nomux=1 i8042.reset=1 i8042.notimeout=1 -> no input
acpi_osi=! acpi_osi="Windows 2013" -> no input
dmesg:
i8042: PNP detection disabled
i8042: Warning: Keylock active
serio: i8042 KBD port at 0x60,0x64 irq 1
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
intel-hid INTC1078:00: failed to enable HID power button
ish-hid {33AECD58-B679-4E54-9BD9-A04D34F0C226}: enum_devices_done OK, num_hid_devices=1
The closest existing driver in-tree is drivers/platform/x86/intel/hid.c (handles INTC1078 and similar). INTC816 would presumably need a similar ACPI driver that enumerates the child HID device and routes it through the input subsystem
I have attached my systems info
Kernel: 6.19.7-200.fc43.x86_64 arch: x86_64 bits: 64 compiler: gcc v: 15.2.1
clocksource: tsc avail: acpi_pm
parameters: BOOT_IMAGE=(hd0,gpt6)/vmlinuz-6.19.7-200.fc43.x86_64
root=UUID=8f93217f-0035-437e-97fa-51e1da289bec ro rootflags=subvol=root
rhgb quiet
Desktop: GNOME v: 49.4 tk: GTK v: 3.24.51 wm: gnome-shell
tools: gsd-screensaver-proxy dm: GDM v: 49.2 Distro: Fedora Linux 43
(Workstation Edition)
Machine:
Type: Laptop System: MEDION product: 14 S1 OLED v: N/A
serial: <superuser required> Chassis: type: 10 serial: <superuser required>
Mobo: MEDION model: NM14RPL v: 1.0 serial: <superuser required>
part-nu: ML-230007 40091772 uuid: <superuser required> Firmware: UEFI
vendor: American Megatrends LLC. v: RPL336_S_V0.13 date: 04/15/2025
Battery:
ID-1: BAT0 charge: 42.9 Wh (78%) condition: 55/55 Wh (100%) power: 14.8 W
volts: 11.55 min: N/A model: Medion SR Real Battery type: Unknown
serial: <filter> charging: status: discharging cycles: N/A
CPU:
Info: model: Intel Core 5 120U bits: 64 type: MST AMCP arch: Raptor Lake
level: v3 note: check built: 2022+ process: Intel 7 (10nm) family: 6
model-id: 0xBA (186) stepping: 3 microcode: 0x6134
Topology: cpus: 1x dies: 1 clusters: 4 cores: 10 threads: 12 mt: 2 tpc: 2
st: 8 smt: enabled cache: L1: 928 KiB desc: d-8x32 KiB, 2x48 KiB; i-2x32
KiB, 8x64 KiB L2: 6.5 MiB desc: 2x1.2 MiB, 2x2 MiB L3: 12 MiB
desc: 1x12 MiB
Speed (MHz): avg: 2200 min/max: 400/5000:3800 scaling:
driver: intel_pstate governor: powersave cores: 1: 2200 2: 2200 3: 2200
4: 2200 5: 2200 6: 2200 7: 2200 8: 2200 9: 2200 10: 2200 11: 2200 12: 2200
bogomips: 59904
Flags-basic: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: gather_data_sampling status: Not affected
Type: ghostwrite status: Not affected
Type: indirect_target_selection status: Not affected
Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: mmio_stale_data status: Not affected
Type: old_microcode status: Not affected
Type: reg_file_data_sampling mitigation: Clear Register File
Type: retbleed status: Not affected
Type: spec_rstack_overflow status: Not affected
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
prctl
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
sanitization
Type: spectre_v2 mitigation: Enhanced / Automatic IBRS; IBPB:
conditional; PBRSB-eIBRS: SW sequence; BHI: BHI_DIS_S
Type: srbds status: Not affected
Type: tsa status: Not affected
Type: tsx_async_abort status: Not affected
Type: vmscape mitigation: IBPB before exit to userspace
Graphics:
Device-1: Intel Raptor Lake-U [Intel Graphics] vendor: Emdoor Digital
driver: i915 v: kernel alternate: xe arch: Xe process: Intel 7 (10nm)
built: 2022+ ports: active: eDP-1 empty: DP-1,DP-2,HDMI-A-1
bus-ID: 00:02.0 chip-ID: 8086:a7ac class-ID: 0300
Device-2: Sonix USB2.0 FHD UVC WebCam driver: uvcvideo type: USB rev: 2.0
speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-5:2 chip-ID: 3277:00be
class-ID: fe01 serial: <filter>
Display: wayland server: X.Org v: 24.1.9 with: Xwayland v: 24.1.9
compositor: gnome-shell driver: dri: iris gpu: i915 display-ID: :0
screens: 1
Screen-1: 0 s-res: 3456x2160 s-dpi: 96 s-size: 914x571mm (35.98x22.48")
s-diag: 1078mm (42.43")
Monitor-1: eDP-1 model-id: EDO 0x1428 built: 2024 res: mode: 3456x2160
hz: 120 scale: 100% (1) dpi: 293 gamma: 1.2 size: 300x190mm (11.81x7.48")
diag: 355mm (14") modes: 2880x1800
API: OpenGL v: 4.6 vendor: intel mesa v: 25.3.6 glx-v: 1.4 es-v: 3.2
direct-render: yes renderer: Mesa Intel Graphics (RPL-U)
device-ID: 8086:a7ac memory: 14.99 GiB unified: yes
API: EGL Message: EGL data requires eglinfo. Check --recommends.
Info: Tools: api: glxinfo x11: xdriinfo, xdpyinfo, xprop, xrandr
Audio:
Device-1: Intel Raptor Lake-P/U/H cAVS vendor: Emdoor Digital
driver: snd_hda_intel v: kernel alternate: snd_soc_avs,snd_sof_pci_intel_tgl
bus-ID: 00:1f.3 chip-ID: 8086:51ca class-ID: 0403
API: ALSA v: k6.19.7-200.fc43.x86_64 status: kernel-api
tools: alsactl,alsamixer,amixer
Server-1: PipeWire v: 1.4.10 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Intel Raptor Lake PCH CNVi WiFi driver: iwlwifi v: kernel
bus-ID: 00:14.3 chip-ID: 8086:51f1 class-ID: 0280
IF: wlo1 state: up mac: <filter>
Info: services: NetworkManager,wpa_supplicant
Bluetooth:
Device-1: Intel AX201 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-10:3 chip-ID: 8087:0026
class-ID: e001
Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
lmp-v: 11 status: discoverable: no pairing: no class-ID: 7c010c
Drives:
Local Storage: total: 476.94 GiB used: 5.53 GiB (1.2%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 model: RS512GSSD710 size: 476.94 GiB
block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s lanes: 4
tech: SSD serial: <filter> fw-rev: PM02077B temp: 36.9 C scheme: GPT
Partition:
ID-1: / raw-size: 168.9 GiB size: 168.9 GiB (100.00%) used: 4.98 GiB (3.0%)
fs: btrfs dev: /dev/nvme0n1p7 maj-min: 259:7
ID-2: /boot raw-size: 2 GiB size: 1.9 GiB (95.01%) used: 505.7 MiB (26.0%)
fs: ext4 dev: /dev/nvme0n1p6 maj-min: 259:6
ID-3: /boot/efi raw-size: 100 MiB size: 96 MiB (96.00%)
used: 50.7 MiB (52.8%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-4: /home raw-size: 168.9 GiB size: 168.9 GiB (100.00%)
used: 4.98 GiB (3.0%) fs: btrfs dev: /dev/nvme0n1p7 maj-min: 259:7
Swap:
Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
comp: lzo-rle avail: lzo,lz4,lz4hc,zstd,deflate,842 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 53.0 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Memory: total: 16 GiB note: est. available: 15.35 GiB used: 2.36 GiB (15.3%)
Processes: 376 Power: uptime: 1m states: freeze,mem,disk suspend: s2idle
avail: deep wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 6.08 GiB services: gsd-power,thermald,upowerd
Init: systemd v: 258 default: graphical tool: systemctl
Packages: pm: rpm pkgs: N/A note: see --rpm tools: dnf,gnome-software,yum
pm: flatpak pkgs: 0 Compilers: N/A Shell: Bash v: 5.3.0
running-in: ptyxis-agent inxi: 3.3.40