Gigabyte H170N WiFi LGA1151 DDR4 mITX (Dual Intel GbE LAN)
-
I also bought this board. Unfortunately I assumed there would be drivers for Intel NIC's! I noticed Intel has published FreeBSD driver source code for the I219V here.
https://downloadcenter.intel.com/download/17509/Network-Adapter-Gigabit-Base-Driver-for-FreeBSD-
What's New in This Release
- Support for the Intel(R) Ethernet Connection I219-LM
- Support for the Intel(R) Ethernet Connection I219-V
- Support for the Intel(R) Ethernet Connection (2) I219-LM
- Support for the Intel(R) Ethernet Connection (2) I219-V
- The prefix for Intel(R) PROSet for Windows* Device Manager ANS teams has
changed from "TEAM : " to "TEAM: ". Please update your scripts accordingly.
Is there an amateur way to install these drivers?
-
Is there an amateur way to install these drivers?
please read the above given way by me, another way I really don´t know.
-
I compiled a version that works with the latest 2.3 beta.
Here is the file attached. Easiest way to get it on the pfsense is to enable ssh and then use filezilla sftp or scp. put it on /boot/kernel/
chmod 555
then edit loader.conf under /boot and insert
if_em_load="YES"reboot and it shoould work.
-
Awesome! I can confirm this works. Thanks! I used the latest dailysnapshot beta 2.3 amd64 build from 1-26-16. I am going to try it on my other box with release 2.2.6 later. Edit: Update, 2.2.6 does not work with this method. I had to use the 2.3 beta.
I had to do some research to figure out how to do this so I will give some instructions.
Connecting to pfsense to send files
1. Enable Secure Shell in System-Advanced(towards the bottom)
2. Save
3. Download an app like Filezilla(i use filezilla in my instructions)
4. In the Host: box using sftp, enter in your pfsense local IP(ex sftp://192.168.1.1) and then use root as the username then your admin password as the password. Remember to use root and not admin
5. set port to 22
6. Press quickconnect. It should now be connected to your pfsenseSending driver to pfsense
1. Download if_em.ko.zip from the previous post(shoggot)
2. extract if_em.ko from the zip file to a folder you know.
3. Use Filezilla and on the remote site side(right half of filezilla) and go to the /boot/kernel folder.
4. Use filezilla and on the local site side(left half) find the folder you extracted if_em.ko and drag it to the kernel folder on the right
5. verify its now on the remote side in the correct folder
6. Use filezilla and on the remote side go down one level to the /boot folder.
7. Drag the loader.conf file from the remote side to the local side
8. On the local site(left side) Right click on the loader.conf file and click edit
9. Add if_em_load="YES" to the end of the line with the quotes.
10. Save the file
11. Drag the newly edited file to the remote side in to the /boot folder and overwrite the existing file
12. reboot your pfsense box
13. re assign the adapters in console or webguiThis worked perfectly for me and all credit goes to shoggot for compiling a version that works for us. Hopefully this gets added in to pfsense build in the future.
Edit: Update, 2.2.6 does not work with this method. I had to use the 2.3 beta.
-
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.