Hello,
I was wondering I could get some help understanding the igc/i225 combo.

The issue I'm having is during boot-time, the i225 fails to establish link multiple times and it takes a long time (2.5s) for successful link up. I know this because I enabled debug logs in igc driver. I retested this on newest 6.14.7 kernel and a few switches/routers and the result seems to be the same. Is this behavior expected?

Log:

[    4.544381] igc 0000:01:00.0: PCIe PTM not supported by PCIe bus/controller
[    4.578713] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Timeout is expired after a phy reset [    4.579619] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Masking off all interrupts [    4.599721] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Issuing a global reset to MAC
[    4.599961] igc 0000:01:00.0 (unnamed net_device) (uninitialized): PHC added
[    4.607852] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Masking off all interrupts [    4.627957] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Issuing a global reset to MAC [    4.627962] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Programming MAC Address into RAR[0] [    4.627967] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Clearing RAR[1-15] [    4.628015] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Zeroing the MTA [    4.628041] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Zeroing the UTA [    4.628059] igc 0000:01:00.0 (unnamed net_device) (uninitialized): After fix-ups FlowControl is now = 3 [    4.628061] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Reconfiguring auto-neg advertisement params [    4.628597] igc 0000:01:00.0 (unnamed net_device) (uninitialized): autoneg_advertised af [    4.628598] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Advertise 10mb Half duplex [    4.628599] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Advertise 10mb Full duplex [    4.628600] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Advertise 100mb Half duplex [    4.628600] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Advertise 100mb Full duplex [    4.628601] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Advertise 1000mb Full duplex [    4.628602] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Advertise 2500mb Full duplex [    4.628679] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Auto-Neg Advertising de1 [    4.629139] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Restarting Auto-Neg [    4.630941] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Unable to establish link!!! [    4.630942] igc 0000:01:00.0 (unnamed net_device) (uninitialized): Initializing the Flow Control address, type and timer regs [    4.633280] igc 0000:01:00.0: 4.000 Gb/s available PCIe bandwidth (5.0 GT/s PCIe x1 link)
[    4.642420] igc 0000:01:00.0 eth0: MAC: <REDACTED>
[    4.871840] igc 0000:01:00.0 eth0: changing MTU from 1500 to 9000
[    4.871856] igc 0000:01:00.0 eth0: Masking off all interrupts
[    4.891959] igc 0000:01:00.0 eth0: Issuing a global reset to MAC
[    4.891964] igc 0000:01:00.0 eth0: Programming MAC Address into RAR[0]
[    4.891968] igc 0000:01:00.0 eth0: Clearing RAR[1-15]
[    4.892016] igc 0000:01:00.0 eth0: Zeroing the MTA
[    4.892042] igc 0000:01:00.0 eth0: Zeroing the UTA
[    4.892060] igc 0000:01:00.0 eth0: After fix-ups FlowControl is now = 3
[    4.892063] igc 0000:01:00.0 eth0: Reconfiguring auto-neg advertisement 
params
[    4.892599] igc 0000:01:00.0 eth0: autoneg_advertised af
[    4.892600] igc 0000:01:00.0 eth0: Advertise 10mb Half duplex
[    4.892600] igc 0000:01:00.0 eth0: Advertise 10mb Full duplex
[    4.892601] igc 0000:01:00.0 eth0: Advertise 100mb Half duplex
[    4.892602] igc 0000:01:00.0 eth0: Advertise 100mb Full duplex
[    4.892602] igc 0000:01:00.0 eth0: Advertise 1000mb Full duplex
[    4.892603] igc 0000:01:00.0 eth0: Advertise 2500mb Full duplex
[    4.892680] igc 0000:01:00.0 eth0: Auto-Neg Advertising de1
[    4.893139] igc 0000:01:00.0 eth0: Restarting Auto-Neg
[    4.894945] igc 0000:01:00.0 eth0: Unable to establish link!!!
[    4.894946] igc 0000:01:00.0 eth0: Initializing the Flow Control address, type and timer regs
[    4.923528] igc 0000:01:00.0 eth0: Timeout is expired after a phy reset
[    4.923853] igc 0000:01:00.0 eth0: After fix-ups FlowControl is now = 3
[    4.923857] igc 0000:01:00.0 eth0: Reconfiguring auto-neg advertisement 
params
[    4.924395] igc 0000:01:00.0 eth0: autoneg_advertised af
[    4.924397] igc 0000:01:00.0 eth0: Advertise 10mb Half duplex
[    4.924398] igc 0000:01:00.0 eth0: Advertise 10mb Full duplex
[    4.924400] igc 0000:01:00.0 eth0: Advertise 100mb Half duplex
[    4.924402] igc 0000:01:00.0 eth0: Advertise 100mb Full duplex
[    4.924404] igc 0000:01:00.0 eth0: Advertise 1000mb Full duplex
[    4.924405] igc 0000:01:00.0 eth0: Advertise 2500mb Full duplex
[    4.924485] igc 0000:01:00.0 eth0: Auto-Neg Advertising de1
[    4.924946] igc 0000:01:00.0 eth0: Restarting Auto-Neg
[    4.926752] igc 0000:01:00.0 eth0: Unable to establish link!!!
[    4.926754] igc 0000:01:00.0 eth0: Initializing the Flow Control address, type and timer regs [    4.926828] igc 0000:01:00.0 eth0: Set default MAC address filter: address <REDACTED>
[    4.926830] igc 0000:01:00.0 eth0: MAC address filter set in HW: index 0
[    7.036586] igc 0000:01:00.0 eth0: Flow Control = FULL.
[    7.036590] igc 0000:01:00.0 eth0: 100 Mbs,
[    7.036591] igc 0000:01:00.0 eth0: Full Duplex
[    7.036593] igc 0000:01:00.0 eth0: hw->fc.current_mode = 3
[    7.036596] igc 0000:01:00.0 eth0: 100 Mbs,
[    7.036597] igc 0000:01:00.0 eth0: Full Duplex
[    7.036604] igc 0000:01:00.0 eth0: 100 Mbs,
[    7.036605] igc 0000:01:00.0 eth0: Full Duplex
[    7.036607] igc 0000:01:00.0 eth0: NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX

Thanks,
Mateusz

--
Mateusz Kusiak
Junior Embedded Systems Developer
https://3mdeb.com | @3mdeb_com

Reply via email to