Hard system freeze during boot when igc (I226-V) WAN interface has no link partner
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 505
- Forks
- 202
- PR merge metrics
- No merged PRs in 30d
Description
Important notices
Before you add a new report, we ask you kindly to acknowledge the following:
- [X ] I have read the contributing guidelines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
- [X ] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue
Describe the bug
The system hard-freezes during boot when the WAN interface (igc, Intel I226-V) has no link partner. The freeze occurs after the kernel initializes all three igc ports. The console becomes completely unresponsive — no keyboard input is accepted. The system must be power-cycled to recover. During the freeze, the hardware becomes very hot, suggesting the CPU is stuck in a tight loop without proper power management.
After power-cycling, the system boots normally (because the ONT has had time to come up and the WAN link partner is now available).
To Reproduce
Steps to reproduce the behavior:
- OPNsense firewall and Fios ONT are both powered off (e.g., after a power failure where the UPS battery was exhausted).
- Power returns. Both devices begin booting simultaneously.
- The firewall boots faster than the ONT. The igc driver initializes all three I226-V ports.
- At the point where the WAN interface (configured for DHCP) attempts to come up, there is no link partner because the ONT has not finished booting yet.
- The system hard-freezes. Console is completely unresponsive. Hardware overheats.
- A power cycle is required. On the second boot, the ONT is now up, and the system boots normally.
I can't attempt to reproduce this because it's a production system and the ONT and firewall are too far apart to time it exactly.
Expected behavior
The igc driver should initialize the WAN interface gracefully when no link partner is present — reporting "no carrier" and allowing the system to continue booting. The DHCP client should retry once link is established. This is standard behavior for any network interface and should not cause a system hang under any circumstances.
A clear and concise description of any alternative solutions or workaround you considered.
Screenshots
If applicable, add screenshots to help explain your problem.
Relevant log files
dmesg and pci-conf outputs attached.
Additional context
No other issues
Environment
Software version used and hardware type if relevant, e.g.:
OPNsense version: 26.1.6 (amd64)
Hardware: MOGINSOK MGSRN100 fanless mini PC (passive cooling, aluminum chassis)
CPU: Intel Alder Lake-N N100 (4C/4T, up to 3.4GHz, 6W TDP)
NICs: 4x Intel I226-V 2.5GbE (igc driver) — 3 ports in use
ISP: Verizon Fios, Ethernet handoff from ONT
WAN configuration: DHCP
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
Start by reviewing the attached dmesg.txt and picconf.txt files, then trace the igc driver initialization and the WAN interface/DHCP bring-up path described in the report. Compare the no-link-partner path with the expected no-carrier behavior and verify that boot continues without a hard freeze and DHCP can retry after link establishment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- networking, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100