make driver inside jail

Herakus

Cadet
Joined
Nov 17, 2020
Messages
2
Hello,
I'm trying to get a 10GBase-T network card with an AQC107 chip to work under TruenasCore 13.0-U6.1. I know the recommendation is to use a used sfp+ card. (I have already read the 10 Gig Networking Primer and so many others threads.) However, my PC (Asus ProArt Z790-CREATOR) already has a 10GBase-T port, so I just want to make a direct connection between the two devices. This would save me a few hundred euros. The even more crucial point is that in my current case, I would have to remove a hard disk if the network card is longer than 14cm.

Therefore, a network card like the tp-link TX401 or Asus XG-C100C would actually be ideal for me. With the XG-C100C, I had to learn that the card is now produced with the newer AQC113CS and is therefore no longer compatible with the driver.

Currently, I have a tp-link TX401 at home for testing. However, the card is not recognized by the driver. I suspect the problem is that the card identifies itself with the correct VendorID 1d6a but only has 0001 as deviceID.

These are the PCI information of the card:
none6@pci0:2:0:0: class=0x020000 rev=0x02 hdr=0x00 vendor=0x1d6a device=0x0001 subvendor=0x1d6a subdevice=0x0001 vendor = 'Aquantia Corp.' device = 'AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion]'

I have already looked at the driver on GitHub and my idea is now to modify the driver in the file aq_main.c below line 1076, so that the ID 0001 is also supported. https://github.com/Aquantia/aqtion-freebsd/blob/master/aq_main.c#L1076

I have now tried following:
Created new jail
outside of the jail:
# uname -a
FreeBSD freenas.fritz.box 13.1-RELEASE-p9 FreeBSD 13.1-RELEASE-p9 n245429-296d095698e TRUENAS amd64


inside of the jail:
# uname -a
FreeBSD test 13.1-RELEASE-p9 FreeBSD 13.1-RELEASE-p9 n245429-296d095698e TRUENAS amd64


I made the driver modification in the jail and generated the file if_atlantic.ko with make.

Unload the default driver file:
# kldunload /boot/modules/if_atlantic.ko

Load the new file:
# kldload /mnt/pool1/iocage/jails/test/root/if_atlantic.ko

But now I get the following error message:
KLD if_atlantic.ko: depends on kernel - not available or version mismatch
linker_load_file: /mnt/pool1/iocage/jails/test/root/if_atlantic.ko - unsupported file type


Now to my questions:
How can I create an identical jail to avoid the version mismatch?
Do I understand correctly from the file in the driver that an AQC107 is not supported, but only an AQC107S?
Does anyone have experience with a particular card and can give me a recommendation which one could I buy?

I would be very grateful for any kind of help.
 

Herakus

Cadet
Joined
Nov 17, 2020
Messages
2
I wanted to edit the title after I wrote the text... Unfortunately I forgot.
Is there any way for me to edit the title?
 
Top