Gigabyte H170N WiFi LGA1151 DDR4 mITX (Dual Intel GbE LAN)
-
Hello,
I also have this motherboard and as others have already discovered, compiling the latest Intel driver (https://downloadcenter.intel.com/download/17509/Network-Adapter-Gigabit-Base-Driver-for-FreeBSD-) and attempting to use the resulting driver (if_em.ko) doesn't work.
It would be really nice to get this working without resorting to using the 2.3 beta of pfSense. I'd also like to avoid having to install another NIC if at all possible. My current computer case is [perfectly] tiny and doesn't allow for an expansion card. I'd love to not have to replace it with a bigger case just to accommodate another NIC.
In any event, I think I know why the compiled driver (if_em.ko) isn't working but I don't know enough about FreeBSD/Linux/pfSense to fix it. I'm hoping others, more experienced with the platform, can point me in the right direction.
I believe the reason why the custom compiled driver doesn't work is because pfSense believe the driver is already loaded. When I try to manually load the driver with kldload it I get:
module_register: module pci/em already exists!
Module pci/em failed to register: 17
module_register: module pci/lem already exists!
Module pci/lem failed to register: 17
kldload: can't load /boot/modules/if_em.ko: module already loaded or in kernelI have no idea where it's loading the older driver from. As far as I can tell the older driver is not in /boot/kernel or /boot/modules - but I could be wrong (i.e., it has a different file name). I'm hopeful that I can get the new driver to work if I can figure out what's loading the outdated "em" driver and override/remove/disable it in favor of the newly compiled version.
Any thoughts?
Thanks.
-
I also have this motherboard and as others have already discovered, compiling the latest Intel driver (https://downloadcenter.intel.com/download/17509/Network-Adapter-Gigabit-Base-Driver-for-FreeBSD-) and attempting to use the resulting driver (if_em.ko) doesn't work.
If you are using a FreeBSD version and you compile a driver under this system and then you want to copy it
over to your existing pfSense installation, the pfSense version should be based on exactly the same FreeBSD
version the driver was compiled on!!! You should not compile under FreeBSD 10.3 stable the driver and swap
it then over to pfSense version 2.2.4 what is based on let us say FreeBSD version 10.1 RC1. Ok?It would be really nice to get this working without resorting to using the 2.3 beta of pfSense. I'd also like to avoid having to install another NIC if at all possible. My current computer case is [perfectly] tiny and doesn't allow for an expansion card. I'd love to not have to replace it with a bigger case just to accommodate another NIC.
For sure it can be made happen, but this would be at first need to find out what pfSense version you are using
and then what the FreeBSD version is, where this pfSense version is based on. And then that FreeBSD version
should be used to compile the driver on to swap it over to your pfSense version.In any event, I think I know why the compiled driver (if_em.ko) isn't working but I don't know enough about FreeBSD/Linux/pfSense to fix it. I'm hoping others, more experienced with the platform, can point me in the right direction.
FreeBSD a BSD OS and Linux is Linux, both are for sure Unix like, but that point them both not in the same
class of OS. BSD is BSD and Linux is Linux.I believe the reason why the custom compiled driver doesn't work is because pfSense believe the driver is already loaded. When I try to manually load the driver with kldload it I get:
This can be owed to more then one circumstance.
- If the driver has the same name likes the driver that is loaded, they can´t be put in the same directory.
- Loading this driver, the old driver must be at first unloaded, but if this driver is in usage, this could be tricky
- I would rename the older if_em.ko in if_em.ko_old and then you could sopy over the newer one driver called
if_em.ko and this should be then loaded!
-
@BlueKobold:
I also have this motherboard and as others have already discovered, compiling the latest Intel driver (https://downloadcenter.intel.com/download/17509/Network-Adapter-Gigabit-Base-Driver-for-FreeBSD-) and attempting to use the resulting driver (if_em.ko) doesn't work.
If you are using a FreeBSD version and you compile a driver under this system and then you want to copy it
over to your existing pfSense installation, the pfSense version should be based on exactly the same FreeBSD
version the driver was compiled on!!! You should not compile under FreeBSD 10.3 stable the driver and swap
it then over to pfSense version 2.2.4 what is based on let us say FreeBSD version 10.1 RC1. Ok?It would be really nice to get this working without resorting to using the 2.3 beta of pfSense. I'd also like to avoid having to install another NIC if at all possible. My current computer case is [perfectly] tiny and doesn't allow for an expansion card. I'd love to not have to replace it with a bigger case just to accommodate another NIC.
For sure it can be made happen, but this would be at first need to find out what pfSense version you are using
and then what the FreeBSD version is, where this pfSense version is based on. And then that FreeBSD version
should be used to compile the driver on to swap it over to your pfSense version.In any event, I think I know why the compiled driver (if_em.ko) isn't working but I don't know enough about FreeBSD/Linux/pfSense to fix it. I'm hoping others, more experienced with the platform, can point me in the right direction.
FreeBSD a BSD OS and Linux is Linux, both are for sure Unix like, but that point them both not in the same
class of OS. BSD is BSD and Linux is Linux.I believe the reason why the custom compiled driver doesn't work is because pfSense believe the driver is already loaded. When I try to manually load the driver with kldload it I get:
This can be owed to more then one circumstance.
- If the driver has the same name likes the driver that is loaded, they can´t be put in the same directory.
- Loading this driver, the old driver must be at first unloaded, but if this driver is in usage, this could be tricky
- I would rename the older if_em.ko in if_em.ko_old and then you could sopy over the newer one driver called
if_em.ko and this should be then loaded!
Thanks for your input.
I apologize, I should have been more specific so here goes:
-
Since I'm using the latest release of pfSense (v2.2.6) I used a FreeBSD 10.1 VM to compile the new driver.
-
The point about "FreeBSD/Linux/pfSense" was more about the fact that I'm not a pro at any *NIX derivative OSes. I do know the difference between UNIX, Linux, etc. ;)
-
There wasn't a preexisting if_em.ko driver in /boot/kernel or /boot/modules so there's nothing to rename. That's where I need the help. It's not obvious to me why the system is reporting the driver as already loaded. I suspect it's either named something different or it's being loaded from a different place altogether. Maybe it's compiled into the kernel itself - I don't know.
Further info I neglected to share, again, sorry about that:
If I add if_em_load="YES" to loader.config.local then system does recognize the NIC. I'm able to assign the NIC to LAN but then the system goes into an infinite boot-initialize-reboot cycle when it tries to initialize the LAN.I suspect this is because it's conflicting with the older driver in someway but I'm not sure. What I do know is even without adding it to the loader.config.local and manually trying to load the new driver using kldload I get the error I detailed earlier ("kldload: can't load /boot/modules/if_em.ko: module already loaded or in kernel").
Hypothesis
My working hypothesis is by adding it to the loader.config.local the OS is loading the old em driver and that old driver is not compatible with the new NIC (I219V) and that's causing it to reboot. If there was a way to use absolute paths in loader.config.local then I can ensure that the newer driver is being loaded.Next steps
I think the first step to troubleshooting this is to (successfully) get the new driver to load manually using kldload. Then I can test it further by binding an IP address to it and send traffic through it. Once that's sorted out I can worry about automatically loading it through loader.config.local.Any thoughts on finding out where the old driver is loading from (e.g., alternative location or compiled into kernel)?
Thanks.
-
I'm able to assign the NIC to LAN but then the system goes into an infinite boot-initialize-reboot cycle when it tries to initialize the LAN.
I just ran into this myself. Downloaded the 10.1 freebsd vm, fired it up, compiled the intel driver, copied the driver over to pfsense 2.2.6, rebooted, saw the drive load right after the kernel, was able to get up to the point where the interfaces are assigned to wan/lan, and bam kernel crash. From then on, the system reboots, gets to the point where it turns up the interface and then crash/reboot.
I went back into single user mode and stopped the driver from loading.
I must say, one frustrating thing about pfsense is that it wants to set up the wan interface first… when only one nic is apparently available, it makes remote administration a real PITA!
There must be a better way to get a single nic set up for LAN then what I ended up doing:
ctrl-c when it prompts to set up interfaces
ifconfig single device to get it on the network
route add default
edit /etc/resolv.confssh-keygen all the missing keys for sshd
and finally fire up sshdI thought I could compile the kernel driver on pfsense after all of this, but it's clear this is meant more as an "appliance" then a full blown os. The FAQ made that assumption concrete (https://doc.pfsense.org/index.php/Can_I_compile_software_on_pfSense)
Any ideas why this driver crashes in 10.1? Do I need to apply the P25 stuff to the kernel source before attempting to compile the driver? Is there a "pfsense src kernel tree" available to download instead?
-
@all
You you should all get the latest pfSense version 2.3 (Snapshot) inside you could find now the support of the
Intel i219x NICs now. It was inserted from Renato in the last Snapshot as I am knowing it. Link -
Here's a link about the board. Only thing about it that worries me is the intel NICs. One is more processor intensive than the other.
Than take it as the WAN port, so you will be benefit from this behavior..
-
So which one should I plug in the WAN and the LAN into?
-
What would be more advantageous and why?
-
-
@BlueKobold:
@all
You you should all get the latest pfSense version 2.3 (Snapshot) inside you could find now the support of the
Intel i219x NICs now. It was inserted from Renato in the last Snapshot as I am knowing it. LinkBlueKobold,
Isn't 2.3 running a newer version of FreeBSD? I don't think the driver will be compatible with FreeBSD 10.1.
-
-
So which one should I plug in the WAN and the LAN into?
-
What would be more advantageous and why?
According to this site the older 2011 took up 2% more cpu and was a tiny bit slower.
http://www.hardocp.com/article/2015/08/13/asus_z170_deluxe_lga_1151_motherboard_review/4For that reason I'd put the 2011 on the wan since that's likely going to be the slower connection.
-
-
Isn't 2.3 running a newer version of FreeBSD? I don't think the driver will be compatible with FreeBSD 10.1.
pfSense 2.3 is running the current FreeBSD 10.3 build, which like pfSense 2.3 is not in final release yet. FreeBSD just recently updated the igb and em drivers for Intel NICs in 10.3, and those changes were brought over to pfSense 2.3 a couple of days later.
-
BlueKobold,
Isn't 2.3 running a newer version of FreeBSD? I don't think the driver will be compatible with FreeBSD 10.1.
You bought hardware that isn´t supported by a porper driver in the actual stable pfSense but in an upcoming
version this driver is inserted and installed, so you could do now the following two things in my eyes;- wait until the version 2.3 is stable
- go with the latest snapshot of pfSense version 2.3
-
I believe the reason why the custom compiled driver doesn't work is because pfSense believe the driver is already loaded. When I try to manually load the driver with kldload it I get:
module_register: module pci/em already exists!
Module pci/em failed to register: 17
module_register: module pci/lem already exists!
Module pci/lem failed to register: 17
kldload: can't load /boot/modules/if_em.ko: module already loaded or in kernelI have no idea where it's loading the older driver from. As far as I can tell the older driver is not in /boot/kernel or /boot/modules - but I could be wrong (i.e., it has a different file name). I'm hopeful that I can get the new driver to work if I can figure out what's loading the outdated "em" driver and override/remove/disable it in favor of the newly compiled version.
Any thoughts?
I did some more digging on this. Apparently the old em driver is part of the generic kernel – it's not a module.
If you run 'kldstat' you'll see the kernel and any loaded modules. No em right?
now run kldstat -v
This will list all the modules that are inside the kernel.
you'll see there's pci/em and pci/lem
kldunload cannot unload these.A solution then is to recompile the kernel with a config that disables the em that comes with it so that we can load the module, or, perhaps, replace the em code in the kernel from that from Intel and have it included in the kernel.
Or is there a boot option that can ask the kernel not to load the em driver it has?
-
A solution then is to recompile the kernel with a config that disables the em that comes with it so that we can load the module, or, perhaps, replace the em code in the kernel from that from Intel and have it included in the kernel.
Okay, I can confirm this works.
-
I just want to know the power consumption of this set-up or similar Skylake mini-ITX built? Thanks.
-
Hi,
Same mobo with i3-6100 + 8G RAM + Samsung SSD + Intel NIC on PCIe + 2x 120mm fan on pfsense 2.2.6
40w ~ idle
50w~54w-55w on my use ( router + firewall + snort with all rules turned on , on both interfaces but mind you I'm new user of pfSense , just started ).It's really slow to install pfSense 2.2.6 with this mobo and also little bit slow to load after install compared to my previous box with first gen core2duo E6320,4G RAM.
weird message during install -> /boot/kernel/kernel text=0x1223e30 data=0x881b00+0x3576a0 syms=[0x8+0x16f050+0x8+0x16c491]
15 min to generate -> data=0x881b00+0x3576a0
another 15 min or so to generate -> syms=[0x8+0x16f050+0x8+0x16c491].p.s sorry for my bad English and also this is my first UEFI bios mobo so I didn't touch the BIOS at all.
-
Yeah it takes awhile to load the install of pfsense on this board. Not sure why, perhaps USB drivers? I tried the USB 2.0 and the 3.0s but it was the same loading time but I bet a sata cd-rom would work normally.
-
Is there a way to get the wireless card working? It doesn't appear to be recognized.
-
Hey guys, just got this motherboard installed. I have a dual Intel pice card as well. when I boot up, only the two nics on my add in card are available, nothing from the motherboard. any ideas? everything is enabled
in the bios. -
Hi all -
Can anyone post i3 or i5 benchmarks with this board? I'm working on a new build to support up to 1G WAN speeds with PfBlocker and Snort, with occasional remote access VPN usage. Any power usage stats or general experience notes with this motherboard would help too.
-
Does anyone have a FreeBSD compile environment available?
Can someone please compile the new Intel Network Adapter Driver v7.6.2 for amd64? :D :D :D :D
Thanks!
-
I have this exact motherboard with a Skylake Celeron.
I got the latest snapshot from here:
http://snapshots.pfsense.org/amd64/pfSense_RELENG_2_3/installer/?C=M;O=D
and the second NIC is not recognized.
Then I downloaded the compiled driver and followed the instructions from the first page, from the gentleman who was kind enough to post a step-by-step at the very bottom of the page.
Still does not work.
Only have one NIC recognized despite best efforts. Both NICs are enabled in the BIOS.
Any other suggestions most welcome.
–
EDIT
I installed 2.4 from here
http://snapshots.pfsense.org/amd64/pfSense_master/installer/?C=M;O=D
on a whim. I will say that it boot and loads tens of times faster, if not more, than 2.3. But the second NIC still doesn't work.