Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Intel Ethernet Controller I225-LM Support?

    Hardware
    19
    189
    69.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • stephenw10S
      stephenw10 Netgate Administrator
      last edited by

      Hmm, have either of you tried FreeBSD directly?

      That should be no different but....

      SetarcosS 1 Reply Last reply Reply Quote 0
      • S
        slk2k @Setarcos
        last edited by

        @setarcos

        Now that the system has been in place for a long weekend, I checked the stats and nothing is unusual - no missed packets. Things looks reasonably well (other than a crap-ton of interrupts, but that's because all the HW offloading is turned off).

        /root: sysctl -a dev.igc.0
        dev.igc.0.interrupts.rx_desc_min_thresh: 0
        dev.igc.0.interrupts.asserts: 59793578
        dev.igc.0.mac_stats.tso_txd: 0
        dev.igc.0.mac_stats.tx_frames_1024_1522: 29552898
        dev.igc.0.mac_stats.tx_frames_512_1023: 337783
        dev.igc.0.mac_stats.tx_frames_256_511: 2041523
        dev.igc.0.mac_stats.tx_frames_128_255: 867472
        dev.igc.0.mac_stats.tx_frames_65_127: 11716942
        dev.igc.0.mac_stats.tx_frames_64: 9123432
        dev.igc.0.mac_stats.mcast_pkts_txd: 67
        dev.igc.0.mac_stats.bcast_pkts_txd: 268
        dev.igc.0.mac_stats.good_pkts_txd: 53640050
        dev.igc.0.mac_stats.total_pkts_txd: 53640050
        dev.igc.0.mac_stats.good_octets_txd: 47517179206
        dev.igc.0.mac_stats.good_octets_recvd: 94980575076
        dev.igc.0.mac_stats.rx_frames_1024_1522: 61648203
        dev.igc.0.mac_stats.rx_frames_512_1023: 760161
        dev.igc.0.mac_stats.rx_frames_256_511: 1040034
        dev.igc.0.mac_stats.rx_frames_128_255: 1551643
        dev.igc.0.mac_stats.rx_frames_65_127: 6856810
        dev.igc.0.mac_stats.rx_frames_64: 15037895
        dev.igc.0.mac_stats.mcast_pkts_recvd: 128920
        dev.igc.0.mac_stats.bcast_pkts_recvd: 623916
        dev.igc.0.mac_stats.good_pkts_recvd: 86894746
        dev.igc.0.mac_stats.total_pkts_recvd: 86894746
        dev.igc.0.mac_stats.xoff_txd: 0
        dev.igc.0.mac_stats.xoff_recvd: 0
        dev.igc.0.mac_stats.xon_txd: 0
        dev.igc.0.mac_stats.xon_recvd: 0
        dev.igc.0.mac_stats.alignment_errs: 0
        dev.igc.0.mac_stats.crc_errs: 0
        dev.igc.0.mac_stats.recv_errs: 0
        dev.igc.0.mac_stats.recv_jabber: 0
        dev.igc.0.mac_stats.recv_oversize: 0
        dev.igc.0.mac_stats.recv_fragmented: 0
        dev.igc.0.mac_stats.recv_undersize: 0
        dev.igc.0.mac_stats.recv_no_buff: 0
        dev.igc.0.mac_stats.missed_packets: 0
        dev.igc.0.mac_stats.defer_count: 0
        dev.igc.0.mac_stats.sequence_errors: 0
        dev.igc.0.mac_stats.symbol_errors: 0
        dev.igc.0.mac_stats.collision_count: 0
        dev.igc.0.mac_stats.late_coll: 0
        dev.igc.0.mac_stats.multiple_coll: 0
        dev.igc.0.mac_stats.single_coll: 0
        dev.igc.0.mac_stats.excess_coll: 0
        dev.igc.0.queue_rx_3.rx_irq: 0
        dev.igc.0.queue_rx_3.rxd_tail: 287
        dev.igc.0.queue_rx_3.rxd_head: 288
        dev.igc.0.queue_rx_2.rx_irq: 0
        dev.igc.0.queue_rx_2.rxd_tail: 374
        dev.igc.0.queue_rx_2.rxd_head: 375
        dev.igc.0.queue_rx_1.rx_irq: 0
        dev.igc.0.queue_rx_1.rxd_tail: 165
        dev.igc.0.queue_rx_1.rxd_head: 166
        dev.igc.0.queue_rx_0.rx_irq: 0
        dev.igc.0.queue_rx_0.rxd_tail: 363
        dev.igc.0.queue_rx_0.rxd_head: 364
        dev.igc.0.queue_tx_3.tx_irq: 0
        dev.igc.0.queue_tx_3.txd_tail: 647
        dev.igc.0.queue_tx_3.txd_head: 647
        dev.igc.0.queue_tx_2.tx_irq: 0
        dev.igc.0.queue_tx_2.txd_tail: 789
        dev.igc.0.queue_tx_2.txd_head: 789
        dev.igc.0.queue_tx_1.tx_irq: 0
        dev.igc.0.queue_tx_1.txd_tail: 754
        dev.igc.0.queue_tx_1.txd_head: 754
        dev.igc.0.queue_tx_0.tx_irq: 0
        dev.igc.0.queue_tx_0.txd_tail: 294
        dev.igc.0.queue_tx_0.txd_head: 294
        dev.igc.0.fc_low_water: 32752
        dev.igc.0.fc_high_water: 32768
        dev.igc.0.rx_control: 71335966
        dev.igc.0.device_control: 404489793
        dev.igc.0.watchdog_timeouts: 0
        dev.igc.0.rx_overruns: 0
        dev.igc.0.link_irq: 2
        dev.igc.0.dropped: 0
        dev.igc.0.eee_control: 1
        dev.igc.0.itr: 488
        dev.igc.0.tx_abs_int_delay: 66
        dev.igc.0.rx_abs_int_delay: 66
        dev.igc.0.tx_int_delay: 66
        dev.igc.0.rx_int_delay: 0
        dev.igc.0.rs_dump: 0
        

        But my thruput seems off. My previous modem and connection I would get a higher thruput on the speedtest (like 940M down, 42M up). Now I can't test higher than 860M down, 36M up). Might have more to do with the modem as much as the NIC ports. I get the same directly connected to the modem.

        1 Reply Last reply Reply Quote 0
        • SetarcosS
          Setarcos @stephenw10
          last edited by

          @stephenw10 said in Intel Ethernet Controller I225-LM Support?:

          Hmm, have either of you tried FreeBSD directly?

          That should be no different but....

          I have not, but a fair comparison would include both vanilla FreeBSD 12.2 with the igc driver added and a Linux kernel 5.10+ based distro with a variety of I225-LM and I225-V hardware. I just don't have the physical hardware to test this out in my homelab.

          1 Reply Last reply Reply Quote 0
          • stephenw10S
            stephenw10 Netgate Administrator
            last edited by

            I would test with any FreeBSD version that has the driver just to know if it works at all there. That looks like only Main right now: https://github.com/freebsd/freebsd-src/tree/main/sys/dev/igc
            So I'd test a snapshot.

            Steve

            1 Reply Last reply Reply Quote 0
            • B
              bk150
              last edited by bk150

              Wow I'm glad i found this post. I have 2 of the QNAP I225-LM cards installed with pfsense 2.5.2 and the DNS resolver wasn't working on a fresh install. I was absolutely tearing my hair out trying to figure out why it wasn't working (blaming my AT&T fiber gateway that I'm forced to use...).

              ipv6 also wasn't working using DHCPv6 prefix delegation. The WAN interface I225-LM could get an address but none of the clients on my LAN interface I225-LM network could.

              Using two integrated I-211 and I-219 gigabit controllers on the motherboard yields no such issues. Let me know if there is anything specific that anyone wants me to test while I still have the 2 troublesome I225-LM cards.

              Edit: I reinstalled 2.5.2 and disabled hardware offloading and now everything is working great.

              SetarcosS stephenw10S 2 Replies Last reply Reply Quote 0
              • SetarcosS
                Setarcos @bk150
                last edited by

                I am not sure if it matters, but both @bk150 and @slk2k are using CE 2.5.2 and I am using Plus 21.05. @jerseymike what were you running when you did your test with the single port QNAP I225-LM cards?

                J 1 Reply Last reply Reply Quote 0
                • J
                  jerseymike @Setarcos
                  last edited by

                  @setarcos I'm running CE 2.5.2

                  1 Reply Last reply Reply Quote 0
                  • stephenw10S
                    stephenw10 Netgate Administrator @bk150
                    last edited by

                    @bk150 said in Intel Ethernet Controller I225-LM Support?:

                    I reinstalled 2.5.2 and disabled hardware offloading and now everything is working great.

                    Hardware Checksum Offloading? Using the GUI checkbox?

                    B 1 Reply Last reply Reply Quote 0
                    • B
                      bk150 @stephenw10
                      last edited by bk150

                      @stephenw10 Correct. I did a fresh install of 2.5.2 and DNS resolution was not working. I then (slowly) navigated to the GUI in System > Advanced > Networking and disabled hardware checksum offloading.

                      It prompted me to reboot and after the reboot, DNS was working as expected and the GUI was no longer slow.

                      Edit: IPv6 is also working completely as expected.

                      1 Reply Last reply Reply Quote 1
                      • S
                        silvercharge
                        last edited by silvercharge

                        I have the single port version of the QNAP Intel i225-LM running on bare metal 2.5.2 CE. Reading this thread, it seems that Intel i225-LM is supported. Any known reason or thoughts why the igc drivers are not loaded and interface is not recognized on my install? Model of card is QXG-2G1T-I225.

                        Thank you.

                        none2@pci0:4:0:0:       class=0x020000 card=0xc0011baa chip=0x15f28086 rev=0x03 hdr=0x00
                            vendor     = 'Intel Corporation'
                            device     = 'Intel(R) Ethernet Controller I225-LM'
                            class      = network
                            subclass   = ethernet
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • stephenw10S
                          stephenw10 Netgate Administrator
                          last edited by

                          Looks identical to the one shown here: https://forum.netgate.com/post/993924
                          Check the boot log for errors when the driver tries to attach.

                          Steve

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            silvercharge @stephenw10
                            last edited by silvercharge

                            @stephenw10 Found something pretty interesting...

                            May be a red herring. I do have an onboard intel NIC that was loading fine as em0. I have since disabled it. Error persists whether the onboard nic is enabled or disabled in the bios.

                            igc0: <Intel(R) PRO/1000 PCI-Express Network Driver> mem 0xe1b00000-0xe1bfffff,0xe1c00000-0xe1c03fff irq 16 at device 0.0 on pci3
                            igc0: Setup of Shared code failed, error -2
                            igc0: IFDI_ATTACH_PRE failed 6
                            device_attach: igc0 attach returned 6
                            
                            S 1 Reply Last reply Reply Quote 0
                            • S
                              silvercharge @silvercharge
                              last edited by

                              @silvercharge There seems to be some type incompatibility between a quad port Broadcom card and the I225-LM installed. When the Broadcom's link state is down, then the igc0 driver can load successfully.

                              1 Reply Last reply Reply Quote 0
                              • stephenw10S
                                stephenw10 Netgate Administrator
                                last edited by

                                Hmm, curious. So it works with the Broadcom NIC still installed but simply not linked?

                                But, yes, that's some low level failure preventing the driver attaching.

                                Steve

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  silvercharge @stephenw10
                                  last edited by silvercharge

                                  @stephenw10 Agree. Although I have all offloading is disabled in 2.5.2 CEA, a quick search show similar complaints over the years (e.g. intel & broadcom incompatibly).

                                  S 1 Reply Last reply Reply Quote 0
                                  • stephenw10S
                                    stephenw10 Netgate Administrator
                                    last edited by

                                    Yeah, no amount of offload disabling is doing to help if the driver doesn't attach. 😉

                                    1 Reply Last reply Reply Quote 0
                                    • stephenw10S
                                      stephenw10 Netgate Administrator
                                      last edited by

                                      Anyone able to test this in a 2.6 snapshot?

                                      It looks like 2.5.2 missed this fix for UDP checksum offloading.
                                      That is in 2.6.

                                      Steve

                                      B 1 Reply Last reply Reply Quote 1
                                      • B
                                        bk150 @stephenw10
                                        last edited by bk150

                                        @stephenw10 I'll throw the 2.6 snapshot on a flash drive and test it right now.

                                        Edit: It looks like everything works with the I225-LM NICs on the 2020806 build. Upon fresh installation, DNS and IPv6 were working without making any changes. I navigated to System > Advanced > Networking and verified that the disable hardware checksum offloading option was not checked.

                                        I'm about to head out of town soon so let me know if you want anything specific checked. Otherwise I can dig further early next week.

                                        S 1 Reply Last reply Reply Quote 1
                                        • S
                                          slk2k @bk150
                                          last edited by

                                          @bk150

                                          Did you have anything in the HW things disabled (Checksum, TSO, LRO)??

                                          Thanks!

                                          B 1 Reply Last reply Reply Quote 0
                                          • stephenw10S
                                            stephenw10 Netgate Administrator
                                            last edited by

                                            TSO and LRO should be disabled by default anyway.

                                            @bk150 said in Intel Ethernet Controller I225-LM Support?:

                                            verified that the disable hardware checksum offloading option was not checked.

                                            So that's all the offloading option at their defaults should work in 2.6.

                                            Steve

                                            S 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.