SOLVED Need help with a 10G SUPER LAN MSI NIC

vic1707

Dabbler
Joined
Jan 28, 2019
Messages
46
Hello,
I just get my hands on a 10G super LAN from MSI and i wanted to install it on my build. The card isn't showing up on the gui and don't seems to appear on a "ifconfig" command in the shell, no leds indicators (only on when the server is off...).
I think this is a driver issue, so i searched on google, all the parts numbers that i could find on that card :
Code:
MS-B912E VER:1.1 (on the PCB itself)
00D8619CCC20 (or 00D8616CC020) which is a sticker on the rj45 connector (crossed so i'm not sure)
J716294505038002 (sticker on the back)

Only the first one returned a result as an Aquantia AQtion card. With deeper resersh i found that it should be a AQtion AQN-107 10G card.

This model has a FreeBSD driver on the website driver.

So i would like to know how i'm supposed to install this, or if i did everything wrong from the start and the card is simply not compatible with freenas....

A big thank you to all of you who will take their time to help me, sorry if my English is bad (I'm French) don't hesitate to say if I made mistakes ^^

Not sure if its necessary but here is my build :
Code:
DL380 G7
2*X5670 Xeon 6C
18*4Go DDR3 ECC 1333MHz
16*600SAS drives 10Krpm
Freenas 11.3U1
 
Last edited:

vic1707

Dabbler
Joined
Jan 28, 2019
Messages
46
I think i found some details to add :

on the
Code:
pciconf -lv
i found :
Code:
none3@pci0:11:0:0:    class=0x020000 card=0xb9121462 chip=0x07b11d6a rev=0x02 hdr=0x00
    vendor     = 'Aquantia Corp.'
    device     = 'AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion]'
    class      = network
    subclass   = ethernet


and on
Code:
cat /var/log/messages | grep 'ethernet'
:
Code:
Mar 10 11:36:25 freenas pci8: <network, ethernet> at device 0.0 (no driver attached)



I'm now pretty sure that there is no pre-installed driver for my card... Is there a way to get the manufacturer's website ones working ?
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
FreeNAS doesn't support the addition of drivers. If it wasn't included in the release, you're not really expected to be able to use it. Even if you were able to get it installed, which isn't completely impossible, it may randomly break during upgrades and stuff, so this isn't recommended.

Feel free to head over to the 10 Gig Networking Primer for a discussion of well-supported 10 gig gear.

https://www.ixsystems.com/community/resources/10-gig-networking-primer.42/
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
Best advice:
Grab a decent 10G card thats actually supported by BSD.
Serieusly, while we can give you some instructions on how to get this running (TLDR: grab files, build kernel module, load kernel module), it WILL NOT be any guarentee it would be stable or wouldn't break every update.

FreeNAS doesn't support the addition of drivers. If it wasn't included in the release, you're not really expected to be able to use it. Even if you were able to get it installed, which isn't completely impossible, it may randomly break during upgrades and stuff, so this isn't recommended.

Feel free to head over to the 10 Gig Networking Primer for a discussion of well-supported 10 gig gear.

https://www.ixsystems.com/community/resources/10-gig-networking-primer.42/
Support in this context means: "Don't come to us if it doesn't work out", thus I need to highlight the "not really expected" and "isn't completely impossible" parts of the story. So it can be done, but don't expect it to.

But in general, I fully agree: Yes, please just use compatible hardware and safe yourself a headache.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
Support in this context means: "Don't come to us if it doesn't work out",

No, support in this context means that if you take hardware that we recommend as expected to work, and it doesn't work, there's some of us that will actively dig into that as best we're able to see if we can figure it out.

This isn't hypothetical. I literally have some knockoff LSI HBA's showing up today from @artlessknave that we believe to be knockoffs, and I want to take those, and put them on the bench next to real cards, and do a comparison and post that as a resource so people can get some idea of what we're talking about.

No one with any experience working with BSD should expect that every bit of random hardware will be supported. This is unrealistic, especially in a NAS environment, where the behaviour of the devices really needs to be as close to 100.0_% correct as possible. But the flip side is that we recommend hardware like the Chelsio T520-CR, the Intel X520-*, the LSI 9240-8i crossflashed, etc., because this stuff is expected to just work. Forum members even put a lot of effort into crossflashing guides for the LSI OEM HBA's so that you can get your stuff cheap. That isn't as easy alas, but even there, there's lots of examples of people trying to help others make that work out.

So as you are a five day old user on these forums with an astounding 52 posts to your name, I suggest that you perhaps curtail the troll-y comments such as what I've quoted above.
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
No, support in this context means that if you take hardware that we recommend as expected to work, and it doesn't work, there's some of us that will actively dig into that as best we're able to see if we can figure it out.

It's funny how I totally agree with you, and you still have some sort of weird tendency to fight me about it.
What I meant with "us", is obviously more like "us the maintainers of this project" like: "we do not support it, someone might want to work with you, but don't file a issue on github if it doesn't work". Which is about the same as you just wrote.

Forum members even put a lot of effort into crossflashing guides for the LSI OEM HBA's so that you can get your stuff cheap.
Those are indeed amazing, but lets be realistic, there is quite the difference between a OEM HBA based on a card thats actually supported and hardware thats... well... not at-all supported.

So as you are a five day old user on these forums with an astounding 52 posts to your name, I suggest that you perhaps curtail the troll-y comments such as what I've quoted above.
I'm kinda done with your personal attacks on every post I make thats not nuanced enough for your taste. If you want to go the personal attacks route, throw me a PM to talk about it, but don't go harras me publicly based on your personal feelings, tasts or interprentations of a quite inocent scentence that could've been a little more nuanced. (which was actually written to make clear I agreed with you in the first place).

*edit*
I think I need to explain myself a bit on that last part and why I consider it a personal attack (sorry for the offtopic):
There is no need to reference my number of posts or the age of my account, As it has no relevanceon weiter my post was meant to be trolly or not. Nor does it say anything about my experience(s).
Secondly: People can be without nuance, wrongly informed or just plainly WRONG. (even I can), that doesn't mean they where trolling or being trolly. Nor does that give any reason to post-shame them or account-age-shame them.
 
Last edited:

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
It does say "Resident Grinch" beneath his avatar, though ;)
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
It does say "Resident Grinch" beneath his avatar, though ;)

Well, I was always under the impression i'm the a-hole most of the time... Life is a lie.
But lets not completely derail this shall we ;)

Ontopic:
I looked at the driver ZIP from the manufacturer... I think it needs to be compiled into a kernel module and should be (tm) able to load into FreeNAS... Documentation however is not their strong suit it seems... the included docs:

Code:
# FreeBSD driver

Atlantic driver for FreeBSD
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
And the certificate of their download server expired December last year. Building trust, I see ...
 

vic1707

Dabbler
Joined
Jan 28, 2019
Messages
46
First thanks to all for your help.

Ontopic:
I looked at the driver ZIP from the manufacturer... I think it needs to be compiled into a kernel module and should be (tm) able to load into FreeNAS... Documentation however is not their strong suit it seems... the included docs:

Code:
# FreeBSD driver

Atlantic driver for FreeBSD

I tried it by downloading it, unzip, and by executing "make" on the directory but i get this :
Code:
root@freenas[...erso/vic1707/tests/freebsd-drv-v0.0.2]# make
make: "/usr/share/mk/bsd.kmod.mk" line 12: Unable to locate the kernel source tree. Set SYSDIR to override.


As i saw on other posts it seems that i have to download the kernel ?

If it's possible, how can i do it ? (for the moment this server is only for testing purpose so i really don't care if i need to reinstall freenas if it goes wrong or if it's unstable)
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
As i saw on other posts it seems that i have to download the kernel ?

If it's possible, how can i do it ? (for the moment this server is only for testing purpose so i really don't care if i need to reinstall freenas if it goes wrong or if it's unstable)

Firstoff, I would like to advice you to build it in a jail and not the root OS.. just to be safe not to mess up the host system ;)

Second you would need the right make-tools installed (maybe you need to pkg install those, llvm for example), and you would need to download the source from the freenas github... You could either set the SYSDIR to the right folder (of the downloaded source) or drop it in the right location...

Thats how I build drivers a few times :)
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Do yourself a favour and use a separate FreeBSD system (VM) to compile this driver. We can help with the steps.
  1. Install FreeBSD 11.3
  2. Fetch kernel source
  3. Compile this driver
  4. Copy binary module to FreeNAS
  5. Create new boot environment on FreeNAS
  6. Move binary module into boot environment
  7. Activate, Reboot
  8. Load module dynamically
  9. If that works add tunable
  10. Test if interface is stable under load
 

vic1707

Dabbler
Joined
Jan 28, 2019
Messages
46
Firstoff, I would like to advice you to build it in a jail and not the root OS.. just to be safe not to mess up the host system ;)

Second you would need the right make-tools installed (maybe you need to pkg install those, llvm for example), and you would need to download the source from the freenas github... You could either set the SYSDIR to the right folder (of the downloaded source) or drop it in the right location...

Thats how I build drivers a few times :)

Sorry for asking, as a noob i have no idea of how to do this, find the right package ect...


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Do yourself a favour and use a separate FreeBSD system (VM) to compile this driver. We can help with the steps.
  1. Install FreeBSD 11.3
  2. Fetch kernel source
  3. Compile this driver
  4. Copy binary module to FreeNAS
  5. Create new boot environment on FreeNAS
  6. Move binary module into boot environment
  7. Activate, Reboot
  8. Load module dynamically
  9. If that works add tunable
  10. Test if interface is stable under load
Which is best, your method (VM freebsd) or ornias's one (jail)?
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
Sorry for asking, as a noob i have no idea of how to do this, find the right package ect...

I don't want to say google it... But I would myself need to google it again and i'm lazy ;)

But you should be able to google the "Unable to locate the kernel source tree. Set SYSDIR to override." + "FreeNAS" thing and it would point you to the github repo with the FreeNAS source and give you some instructions ;)

Be aware to download the 11.3 branch of the repo though ;)

Which is best, your method (VM freebsd) or ornias's one (jail)?

Both can/will/might work, VM is a little more seperation, jail is a little faster... Pick your poison :)
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Jail will work, too. But I would just clone the FreeBSD source tree like this:
svnlite co https://svn.freebsd.org/base/releng/11.3 /usr/src

I assumed it would be easiest for a newbie to fire up VirtualBox with a FreeBSD 11.3 install ISO and then proceed with the above command.

You do not need the FreeNAS build environment, IMHO.

HTH,
Patrick
 

vic1707

Dabbler
Joined
Jan 28, 2019
Messages
46
I just created a new jail and execute those commands :
Code:
rm -rf /usr/src
svnlite checkout https://svn0.us-west.freebsd.org/base/releng/11.3 /usr/src
wget --no-check-certificate http://driverdownloads.aquantia.com/wp-content/uploads/2019/09/freebsd-drv-v0.0.2.zip
unzip freebsd-drv-v0.0.2.zip
cd freebsd-drv-v0.0.2
make


i get this error (same as if i try without retreiving the freebsd source tree) :
Code:
root@Test-driver:/mnt/freebsd-drv-v0.0.2 # make
machine -> /usr/src/sys/amd64/include
x86 -> /usr/src/sys/x86/include
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/net/ifdi_if.m -h
:> opt_rss.h
Warning: Object directory not changed from original /mnt/freebsd-drv-v0.0.2
cc -O2 -pipe -DIFLIB -ferror-limit=1  -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc  -I/usr/include -I. -I/usr/src/sys -fno-common  -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer   -MD  -MF.depend.aq_main.o -MTaq_main.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift-negative-value -Wno-error-address-of-packed-member  -mno-aes -mno-avx  -std=iso9899:1999 -c aq_main.c -o aq_main.o
aq_main.c:260:3: error: field designator 'isc_tso_maxsize' does not refer to any field in type 'struct if_shared_ctx'; did you mean 'isc_tx_maxsize'?
        .isc_tso_maxsize = HW_ATL_B0_TSO_SIZE,
         ^~~~~~~~~~~~~~~
         isc_tx_maxsize
/usr/include/net/iflib.h:236:13: note: 'isc_tx_maxsize' declared here
        bus_size_t isc_tx_maxsize;
                   ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 errors generated.
*** Error code 1

Stop.
make: stopped in /mnt/freebsd-drv-v0.0.2


Any idea ?

I will try a VBox install of freebsd in a few hours (i'm at school, not at home ^^')


EDIT :
I tried to create a FreeBSD VM on the Freenas server but i was unable to get it booting, i'll try to create a vm on my pc this evening
 
Last edited:

artlessknave

Wizard
Joined
Oct 29, 2016
Messages
1,506
this....frankly seems like an enormous waste of time. like buying 2 "LSI" HBA's off of ebay before realizing you have to look for fakes, and having them last *just* long enough that any kind of refund chance is pretty much gone. :/
 

vic1707

Dabbler
Joined
Jan 28, 2019
Messages
46
Moving To Truenas core based on freebsd 12.1 fixed the problems. Now i 'm able To compile ("make" command, not "make install") the driver on a jail, I "only" get 2 warnings for unsued functions.

Now i'm looking for help To install it on freenas
 
Top