Page MenuHomeVyOS Platform

intel i225-v nic does not detect link after boot
Closed, ResolvedPublicBUG

Description

Intel Corporation Ethernet Controller I225-V (rev 03) nic does not detect link after boot on VyOS 1.3.1-S1.

Workaround: flapping the interface with
set interface eth0 disable
commit
delete interface eth0 disable
commit

Issue is not seen on VyOS 1.4-rolling-202206130217. Can we please have the newer igc driver backported to an upcoming 1.3 release?

1.4:

vyos@vyos:~$ modinfo igc
filename:       /lib/modules/5.10.121-amd64-vyos/kernel/drivers/net/ethernet/intel/igc/igc.ko
license:        GPL v2
description:    Intel(R) 2.5G Ethernet Linux Driver
author:         Intel Corporation, <linux.nics@intel.com>
alias:          pci:v00008086d000015FDsv*sd*bc*sc*i*
alias:          pci:v00008086d0000125Fsv*sd*bc*sc*i*
alias:          pci:v00008086d0000125Esv*sd*bc*sc*i*
alias:          pci:v00008086d0000125Dsv*sd*bc*sc*i*
alias:          pci:v00008086d0000125Csv*sd*bc*sc*i*
alias:          pci:v00008086d0000125Bsv*sd*bc*sc*i*
alias:          pci:v00008086d00000D9Fsv*sd*bc*sc*i*
alias:          pci:v00008086d00005502sv*sd*bc*sc*i*
alias:          pci:v00008086d00003101sv*sd*bc*sc*i*
alias:          pci:v00008086d00003100sv*sd*bc*sc*i*
alias:          pci:v00008086d000015F7sv*sd*bc*sc*i*
alias:          pci:v00008086d000015F8sv*sd*bc*sc*i*
alias:          pci:v00008086d000015F3sv*sd*bc*sc*i*
alias:          pci:v00008086d000015F2sv*sd*bc*sc*i*
depends:        
retpoline:      Y
intree:         Y
name:           igc
vermagic:       5.10.121-amd64-vyos SMP mod_unload modversions 
parm:           debug:Debug level (0=none,...,16=all) (int)

1.3:

danhusan@myv:~$ modinfo igc
filename:       /lib/modules/5.4.187-amd64-vyos/kernel/drivers/net/ethernet/intel/igc/igc.ko
version:        0.0.1-k
license:        GPL v2
description:    Intel(R) 2.5G Ethernet Linux Driver
author:         Intel Corporation, <linux.nics@intel.com>
srcversion:     1646BA6F58064F2C53A2378
alias:          pci:v00008086d00003100sv*sd*bc*sc*i*
alias:          pci:v00008086d000015F7sv*sd*bc*sc*i*
alias:          pci:v00008086d000015F8sv*sd*bc*sc*i*
alias:          pci:v00008086d000015F3sv*sd*bc*sc*i*
alias:          pci:v00008086d000015F2sv*sd*bc*sc*i*
depends:        
retpoline:      Y
intree:         Y
name:           igc
vermagic:       5.4.187-amd64-vyos SMP mod_unload modversions 
parm:           debug:Debug level (0=none,...,16=all) (int)

Details

Version
1.3.1-S1
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

I'm also trying to get this up and running. The latest 5.4 kernel fixes this issue, but other issues remain, like bridging not working.
Instead of backporting the driver, I ended up backporting the lataest 5.10 kernel to the 1.3 branch.

Did you then end up with a fully working nic, bridging included?

yes, I had to do a bit of hacking - i.e. use the 1.4 kernel configs and patches, removed the wirguard-modules package, install the backports open-vm-tools version.
I committed those changes in my fork:
https://github.com/vyos/vyos-build/compare/equuleus...fvlaicu:equuleus

One thing that I have omitted is the need for the python-dev package in the equuleus container which is needed to compile the kernel :)

vyos@gw:~$ show version

Version:          VyOS 1.3.1-b03bec0-5.10.123
Release train:    equuleus

Built by:         florin
Built on:         Sat 18 Jun 2022 05:32 UTC
Build UUID:       
Build commit ID:  b03bec090e8c1c

Architecture:     x86_64
Boot via:         installed image
System type:      VMware guest

Hardware vendor:  VMware, Inc.
Hardware model:   VMware7,1
Hardware S/N:    
Hardware UUID:    

Copyright:        VyOS maintainers and contributors
vyos@gw:~$ modinfo igc
filename:       /lib/modules/5.10.123-amd64-vyos/kernel/drivers/net/ethernet/intel/igc/igc.ko
license:        GPL v2
description:    Intel(R) 2.5G Ethernet Linux Driver
author:         Intel Corporation, <linux.nics@intel.com>
alias:          pci:v00008086d000015FDsv*sd*bc*sc*i*
alias:          pci:v00008086d0000125Fsv*sd*bc*sc*i*
alias:          pci:v00008086d0000125Esv*sd*bc*sc*i*
alias:          pci:v00008086d0000125Dsv*sd*bc*sc*i*
alias:          pci:v00008086d0000125Csv*sd*bc*sc*i*
alias:          pci:v00008086d0000125Bsv*sd*bc*sc*i*
alias:          pci:v00008086d00000D9Fsv*sd*bc*sc*i*
alias:          pci:v00008086d00005502sv*sd*bc*sc*i*
alias:          pci:v00008086d00003101sv*sd*bc*sc*i*
alias:          pci:v00008086d00003100sv*sd*bc*sc*i*
alias:          pci:v00008086d000015F7sv*sd*bc*sc*i*
alias:          pci:v00008086d000015F8sv*sd*bc*sc*i*
alias:          pci:v00008086d000015F3sv*sd*bc*sc*i*
alias:          pci:v00008086d000015F2sv*sd*bc*sc*i*
depends:
retpoline:      Y
intree:         Y
name:           igc
vermagic:       5.10.123-amd64-vyos SMP mod_unload modversions
parm:           debug:Debug level (0=none,...,16=all) (int)

Wow, well done! You don't happen to have an ISO you could share?

@dmbaturin, here are the changes I made: https://github.com/vyos/vyos-build/compare/equuleus...fvlaicu:equuleus
I'm using the 1.4 kernel in 1.3.

I don't think this is something that you can do this with the LTS version since it might break some features - like intel-qat. and with the rolling version, well that's already there! :)

here's a slack thread: https://vyos.slack.com/archives/C01A6CJFW1F/p1655490797154269

So hmm, is it still the same issue in stock vyos 1.3.2 with i225 nics?

@danhusan and @florin could you guys please test and report with 1.3.2 ? Thanks!

@pasik the problem is with the igc driver in the 5.4 kernel, not with vyos.

Yes, and no updates for the driver in 1.3.2. Ok, thanks!

It'd be nice to get a newer igc driver version in 1.3 branch though, as there are now multiple good 2.5 GbE based platforms out there..

dmbaturin claimed this task.

If it reappears, feel free to reopen.