Intel ethernet Controller I225-V not supported yet

You downloaded the sources for 14.0-CURRENT (src-main.tar.gz, the main branch is -CURRENT).

If your machine has access to the internet simply use git(1): git clone -b releng/12.2 https://git.freebsd.org/src.git /usr/src
Or install net/gitup and use that to download the correct sources (don't forget the edit gitup.conf).

Branches: releng/13.0 = 13.0-RELEASE plus errata and security patches. releng/12.2 = 12.2-RELEASE plus errata and security patches.
I was sure I downloaded the 12.2 tree from the pfSense repo (https://github.com/pfsense/FreeBSD-src), anyway, I'm downloading the releng/12.2, and I'll patch with the igc driver.
 
Code:
root@truenas[/boot/modules]# kldload -v if_igc.ko
Loaded if_igc.ko, id=27

Yea!!!

1626621683585.png


Now, let's plug a cable.
 
And show us ifconfig igc0 not some web trash.
Do they still allow you to see the command line on TrueNAS?
Code:
root@truenas[~]# ifconfig igc0
igc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    description: igc0
    options=e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
    ether 18:c0:4d:dd:2a:fd
    inet 192.168.100.37 netmask 0xffffff00 broadcast 192.168.100.255
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
    nd6 options=9<PERFORMNUD,IFDISABLED>

It's working.
 
Hopefully it really works as expected.
I have a I219-V (13), which is supposed to be supported in 14.0, so I copied the corresponding e1000 files and compiled. It pretends working, but very unstable and with bad performance...
 
Just FYI …

The igc(4) driver was MFCed to stable/13 this week. It supports the Intel I225-V ethernet NICs that are becoming very popular on consumer hardware.
That driver is included in the latest stable/13 snapshot (20210819) right now, and it will be included in 13.1-RELEASE.

I recently ordered an HM80 mini PC from Minisforum (link to product page) that also has a 2.5 GbE Intel I225-V NIC, in addition to an “old-fashioned” 1 GbE Realtek NIC. Both of them now work fine with FreeBSD stable/13 out of the box. Very nice hardware, by the way. The only thing that doesn’t work yet is the integrated AX wifi (thankfully I don’t need it – if I did, I’d probably just connect a supported USB3 wifi dongle).
 
The igc(4) driver was MFCed to stable/13 this week. It supports the Intel I255-V ethernet NICs that are becoming very popular on consumer hardware.
Thanks, I'll try this weekend. The problem with FreeBSD 14 I tried, was that my NIC I255-V rev.13 had unstable connection and poor performance.
 
I have a TrueNas running with that driver, connected to a 100baseT switch (cannot test more than that), but apparently it is running very well. Which tests did you do?, to compare mine with yours.
 
Which tests did you do?, to compare mine with yours.
I didn't run specific tests other than downloading/uploading files on local network after I noticed that installing packages is almost impossible via that NIC. By my understanding, the rev.13 support was added very recently. Anyway, that was almost 2 months ago, I'll try again with FreeBSD 13 now.
 
Mmm, I was able to install everything connected with that nic, I created a jail, installed PostgreSql there, migrated an Ubuntu VM and the server is in production since last month.

I'll test with iperf to see how fast it is running.
 
You downloaded the sources for 14.0-CURRENT (src-main.tar.gz, the main branch is -CURRENT).

If your machine has access to the internet simply use git(1): git clone -b releng/12.2 https://git.freebsd.org/src.git /usr/src
Or install net/gitup and use that to download the correct sources (don't forget the edit gitup.conf).

Branches: releng/13.0 = 13.0-RELEASE plus errata and security patches. releng/12.2 = 12.2-RELEASE plus errata and security patches.
I seem to have problem cloning the git-repo. Anyone with more knowledge that can help?

$git clone -b releng/12.2 https://git.freebsd.org/src.git
Cloning into 'src'...
fatal: unable to access 'https://git.freebsd.org/src.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
 
How would I go ahead to do this? I'm running debian on a second computer (me trueneas is without network so I'm planning on preparing the driver on the Debain machine then moving it over to my truenas on a USB-stick. I'm having trouble following the guide you linked on my debain machine.
 
Normally Linux and TrueNAS is unsupported here in forums, but giving some tips won't hurt.

How would I go ahead to do this? I'm running debian on a second computer ...

... me trueneas is without network so I'm planning on preparing the driver on the Debain machine then moving it over to my truenas on a USB-stick.
How do you plan to prepare the driver on Debian? In a FreeBSD 12.2-RELEASE virtual machine?

I'm having trouble following the guide you linked on my debain machine.
Which part?
 
grahamperrin release schedule is that there's a release every 6 months. FreeBSD 12.3 is up next, that will be released some time in December. FreeBSD 13.1 will follow about 6 months after that. Then 12.4 6 months after that, etc. So you can make an educated guess that 13.1 will come some time in June/July 2022.
 
I managed to get I225-V working in Freebsd 13.0-RELEASE relatively easily with some pointers from this thread.

Thanks to those who posted. Here is what I did.

If 2nd post isn't visible, it's just pending approval.
 
No luck so far

Code:
KLD if_igc.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/modules/if_igc.ko - unsupported file type

It looks like the 12.2 sources I used to build the driver differs from the 12.2-release-p6 where I want to use it. Does anyone know where can I download the 12.2-release-p6 sources?.

I read a lot of valuable input in this forum. Many thanks to all of you for these valuable discussions.

I have the same situation. But I'm trying to stay on FreeBSD-12.1 Release and back-port this driver (igc). I did : git clone -b releng/12.1 https://git.freebsd.org/src.git /usr/src, and then copied the sys/dev/igc & sys/modules/igc (from FreeBSD 13.1 Release - releng/13.1). When I try to run "make" in /usr/src/sys/modules/igc I get 9 errors generated. Will see if I can solve them all..

While when I tried "git clone -b releng/12.2 https://git.freebsd.org/src.git /usr/src" and did the same thing (igc files in /dev/igc and /modules/igc), the make runs successfully and so does make install. But then it comes to the "KLD if_igc.ko: depends on kernel - not available or version mismatch" problem.

Did anyone manage to build and run this driver (igc) in FreeBSD 12.1 releng?
 
Because I have to use FreeBSD 12.1 I had to dig around to find a solution. But definitively planning to move to FreeBSD 13.1 very soon.
In case that any of you need to have the igc running on 12.1 or 12.2, I'll put some feedbacks in here.
For me it finally worked.
The module is created in /boot/modules/ and runs great..
# kldload -v if_igc.ko Loaded if_igc.ko, id=21
and when I run ifconfig, I can see the igc0 interface.

So how it worked? For 12.2 was quite strait-forward. Copy the /src/sys/dev/igc/files* and /src/sys/modules/igc/files* from FreeBSD 12.3 src to your machine. From there you can run "make", and after "make install". For me it worked directly.

For 12.1 was more complicated. I copied all the changed files with all the required modifications (as seen in picture): https://cgit.freebsd.org/src/commit/?id=9ffb4c0adab4853ab752ecda6a5ff59ea943af4e (cherry pick the needed files from src-9ffb4c0adab4853ab752ecda6a5ff59ea943af4e.zip)

And additionally did the changes on if_igc.c regarding function "if_foreach_llmaddr()" as noted there - For stable/12, CTLFLAG_NEEDGIANT removed and if_foreach_llmaddr() replaced with if_multiaddr_array().

Then run make, and after make install. And at the end it all worked - better then expected actually.
The if_igc.ko is working very good (the same way) on Hardened BSD 12.1 as well. I just had to copy and kldload it on HBSD and immediately turn on (igc0: link state changed to UP)
So a win-win situation, FreeBSD 12.1 and HBSD 12.1 ;)
 

Attachments

  • igc_files.png
    igc_files.png
    34.5 KB · Views: 150
Back
Top