x86/64: iTCO_wdt watchdog non-functional on Intel 100+ series PCH due to missing CONFIG_I2C_I801
Nobody has claimed this yet.
- Dominant language
- Makefile
- Stars
- 4.6k
- Forks
- 4k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 134
Description
Package Name
kmod-itco-wdt
Maintainer
OpenWrt Kernel Team
OpenWrt Version
24.10.6
OpenWrt Target/Subtarget
x86/64
Steps to Reproduce
-
Install OpenWrt 24.10.x on an Intel 100/200 series PCH platform
(tested on HP EliteDesk 800 G3, Q270 chipset, Pentium G4560) -
Install the watchdog package:
opkg update && opkg install kmod-itco-wdt -
Reboot and check for /dev/watchdog:
ls -la /dev/watchdog -
Observe: /dev/watchdog does NOT exist
-
Check kernel log:
dmesg | grep -iE "iTCO|watchdog|i801"
Output shows iTCO_wdt loads but reports no TCO device found:
iTCO_wdt: No TCO device found
-
On Intel 100+ series PCH (Sunrise Point and newer), the iTCO_wdt
platform device is created by the i2c_i801 SMBus driver, NOT lpc_ich. -
The i2c-i801.ko module is available in the OpenWrt SDK but is NOT
listed as a dependency of kmod-itco-wdt, so it is never installed. -
Manually loading i2c-i801.ko immediately fixes the issue:
insmod i2c-smbus.ko insmod i2c-i801.ko modprobe iTCO_wdt ls -la /dev/watchdog # Now exists!
dmesg shows:
i801_smbus 0000:00:1f.4: SMBus using PCI interrupt iTCO_wdt iTCO_wdt: Found a Intel PCH TCO device (Version=4, TCOBASE=0x0400)
Actual Behaviour
On Intel 100+ series PCH platforms:
kmod-itco-wdtinstalls and loads successfully- But
/dev/watchdogis never created dmesgshows "iTCO_wdt: No TCO device found" or similar
Root cause: On Intel Sunrise Point (100 series) and newer consumer PCH
chipsets, the iTCO_wdt platform device is created as an MFD cell by the
i2c_i801 SMBus driver. The legacy lpc_ich path no longer applies.
Since kmod-i2c-i801 is not a dependency of kmod-itco-wdt, the SMBus
driver is never installed, the TCO platform device is never registered,
and /dev/watchdog never appears.
Affected chipsets include but are not limited to:
- Intel 100 series: Q170, Q270, B250, Z270, H270 (Sunrise Point)
- Intel 200 series: Q370, B360, Z390 (Cannon Lake PCH)
- Intel 300 series and newer consumer PCH
Proposed fix: Add the following dependency to kmod-itco-wdt:
DEPENDS:=+kmod-i2c-i801
Confirmation Checklist
- The package is maintained in this repository.
- I understand that issues related to the base OpenWrt repository or LuCI repository will be closed.
- I am reporting an issue for OpenWrt, not an unsupported fork.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Inspect the package definition for kmod-itco-wdt and its dependency metadata; the issue identifies kmod-i2c-i801 as the missing dependency. Reproduce the package installation on an affected Intel 100-series-or-newer platform, then verify that installing kmod-itco-wdt also provides the SMBus module and creates /dev/watchdog without manual insmod steps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100