Intel i210 NIC in 2.1
-
I built my own image with haswell nic support, but it wasn't exactly trivial - that is to say, the changes necessary aren't hard, but getting a working build environment took some effort.
Does ALTQ work?
In any case, my FW-8865 boxes with the i350 NICs are here. Haven't had a chance to set them up yet, can't figure out the default IP for the IPMI card…
-
No, ALTQ doesn't work. I'd prefer to have it, but this box and a 24 port switch are replacing my failing dd-wrt consumer router; it's a pretty big upgrade as is.
If I notice QoS issues, I may have to revisit my solution (preferably in software, but maybe in hardware).
-
Hey everyone, first post to the forum. I've been live with pfSense at home for several weeks now. Very new to the project and very enthusiastic about the community. I built a brand new 2U rackmount form factor with new components as a fun project:
Case: Rosewill RSV-Z2600 – cheap case but annoyed mobo and PSU are backwards like most cheap cases
Power Supply: Seasonic SSR-360GP -- 360W 80 Plus Gold
CPU: Intel Xeon E3-1220v3 (Haswell 4th Generation) 3.1 GHz quad core, no hyperthreading
Mobo: Supermicro X10SLM+-LN4F -- 4 Intel i210 NICs on board.
RAM: Kingston KVR16E11/8EF -- 16GB DDR3 1600 MHz ECC server RAM
HDD: Crucial M4 64GB MLC SSD -- had this lying around, never used. Reading into turning on TRIM, haven't done so yetI knew going into this from reading this forum that the i210 was too new and wasn't natively supported. The uncompiled drivers are available on Intel's site, and I chose the ones that were backwards compatible with FreeBSD 8.x.
I'm new to FreeBSD but after installing pfSense memstick to HDD it would not fully boot up due to lack of NIC drivers. I was at least expecting to get to a working shell so I could mount a USB flash drive, copy the driver source code, and compile on pfSense. But the "Escape to shell" seemed to be a watered down shell and not the full shell, so it didn't support many commands. Couldn't mount a USB flash drive nor could I use any text editor.
Anyway, ended up downloading the full FreeBSD 8.3 64-bit ISO from FreeBSD's site and spinning up a fresh VirtualBox VM. Successfully compiled the Intel drivers and got the "if_igb.ko" driver I was looking for (yessss, my precious!). I ended up using the pfSense ISO (as opposed to the memstick download) since I needed to inject the driver file and loader.conf file into the ISO prior to installing to the server, so I extracted the pfSense ISO, copied the driver, then basically used another program to write to the USB flash drive.
Wow, what a long, scenic route just to get it working. On first boot, all went very well and the i210 NICs were recognized by pfSense and I was able to begin initial config. I fully realize traffic shaping issues are present, but I'm not using any of that.
Anyways, I wanted to share my frustrations and eventual success so that others who have the i210 NICs can use pfSense 2.1 at least until 2.2 is released based on FreeBSD 10.x with native support.
I uploaded the driver as .txt so the forum would accept it. Please strip off the extension. Mods/admins: apologies if this is forbidden -- I don't know of anywhere else to upload this in order to share it. Note, this driver was compiled on FreeBSD 8.3 64-bit, not 32-bit.
-
Copy the driver to:
/boot/kernel/
(I didn't find a need to add it to /boot/modules/) -
In /boot/loader.conf, add the line:
if_igb_load="YES"
-
-
Nice first post. :)
The .txt suffix sometimes causes problems with file corruption (on the older forum code at least). Do you have the MD5 hash of the kernel module to check?As you found there are no build tools included in pfSense for a number of reasons.
Steve
-
MD5: 419F0DA227322FEE06DCB835C14D53DB
SHA-1: 078FB6C206BA2E865006A8B093CAAC72820E4022
SHA-256: 2618048F471A27A03C8B588AA1716516C25B768EAD23BDA655B46579265DB236Man, I love "HashTab" for Windows. Best hash extension ever. ( http://implbits.com/HashTab.aspx )
And yeah, it was more than not having a build tool. Without recognizing the NICs on the first pfSense boot, I couldn't even get into a "real" FreeBSD Shell, so I couldn't mount a USB device or use any built-in text editors. Like the keyboard driver was really messed up and everything was on one line… After hours of frustration I just decided to do everything on a real FreeBSD 8.3 VM and copy all that stuff back on the pfSense ISO, burn ISO bit-wise to memstick, then boot the real box off custom memstick.
-
Hmm, well you should be able to do all that. pfSense is FreeBSD underneath. The ee text editor is included, or vi if your inclined to use it. ;)
Edit: Seems to download fine with the .txt extension though I have no way of testing it.
Steve
-
No. The driver in 2.1 isn't new enough. If you have an active support subscription then they can send you an updated driver which will work but it was pulled out of 2.1 because it breaks ALTQ (you won't have traffic shaping).
I have an open ticket with support on a patch from a newer commit to FreeBSD that MAY fix the issue but it may not and if so it likely won't get resolved until 2.2 is released (or whatever the version number is that builds on FreeBSD 10).
I'm crossing my fingers though as I'd love to be able to drop in a pair of the new Lanner FW-8771 boxes…
Jason,
Guess what we got in on Monday at Netgate (also pfSense HQ) this past Monday. 8) 8) 8)
IJS
-
How do you like it? I was considering those but just didn't want to deal with the hassle of bleeding-edge hardware that wouldn't be properly supported for 6 months. I had a failing box and needed a replacement then.
Anyway, I absolutely love the 8865 boxes I bought. I'm considering tossing in some 10Gbe ports but I'm planning on holding off on that until you guys kick out 2.2.
-
i did wat you sayed finger but still my network card is not showing.
this is how i did installed pfsense with a usb netwerk adapter then went to the shell added the file from your post added in the config and rebooted the pc but then it still did not show the network adapter.
or is this file only working for the i210 and not for the i217-v?
-
same here. Driver seems to work fine for i210 but not the i217 version.
@Finger79: Is it possible that you can create a driver for the i217? Would be great!
-
Hmm, the i217-v appears to be still using the em driver which I didn't expect:
https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=17509No version of the igb driver is going to help in that case. You'll have to compile a newer em version.
Steve
-
Many thanks Finger79 ;D ;D ;Dv! The solution worked great and saved me.
I hope so the support will come out of the box very soon !
-
I built my own image with haswell nic support, but it wasn't exactly trivial - that is to say, the changes necessary aren't hard, but getting a working build environment took some effort.
Is it posible to get this image?
I have I210AT on my ASUS P9D-I -
…bleeding-edge hardware that wouldn't be properly supported for 6 months....
The Intel ET2 Server NIC's, among others using this same driver as the i210 are also having issues, has been out since Q3 2010.. 4 Year old hardware is definitely not bleeding edge.
Quite frustrating considering these NIC's were shipping as upgrade options directly from Dell and HP for their rack mount servers almost 4 years ago.
You wouldnt think for a second that there should be an issue with enterprise class hardware that has been in the field for this long, but this is indeed the case.I wouldn't get your hopes up for this issue to be resolved any time soon. It first cropped up this summer during beta testing, and would involve Intel developing a current driver on FreeBSD 8 which they no longer seem to do, they are building for the 9.x Kernel. Its safe to say that unless something is changed with Altq there will be no solution till 2.2 based off the newer version of FreeBSD.
-
In which way are altq broken?
Are it a fatal brokage (eg leading to panics, crashes and such) or are it simply that altq just dont work, it will behave like altq didnt exist and all traffic are prioritized equally? -
I'm getting a lot of requests for the custom pfSense 2.1 ISO with the i210 driver installed. It's not feasible for me to re-build the image and send it to everyone, but below I documented the process. It's not that bad. The hard part was the first part (downloading the Intel driver source code, downloading the FreeBSD 8.3 ISO, building it in VirtualBox, transferring the compiled driver back out of the virtual disk image…)
(Below tools are Windows oriented. The same tools may also be available on Mac/Linux.)
1. Download the 2.1 Release ISO.
2. Extract the ISO to a folder using something like 7-Zip.
3. Copy if_igb.ko to /boot/kernel
4. Add the line if_igb_load="YES" to /boot/loader.conf
5. Make a new custom ISO. I found a tool called UltraISO. That, or I might have used WinImage to inject the files (I don't remember which tool I used).
6a. Burn this custom ISO to CD if you want that installation method. (Or PXE boot, etc.)
6b. If you need to convert the ISO to be used like a memstick .img file, I used UNetbootin and was able to burn the ISO directly to USB flash drive. -
I'm getting a lot of requests for the custom pfSense 2.1 ISO with the i210 driver installed. It's not feasible for me to re-build the image and send it to everyone, but below I documented the process. It's not that bad. The hard part was the first part (downloading the Intel driver source code, downloading the FreeBSD 8.3 ISO, building it in VirtualBox, transferring the compiled driver back out of the virtual disk image…)
(Below tools are Windows oriented. The same tools may also be available on Mac/Linux.)
1. Download the 2.1 Release ISO.
2. Extract the ISO to a folder using something like 7-Zip.
3. Copy if_igb.ko to /boot/kernel
4. Add the line if_igb_load="YES" to /boot/loader.conf
5. Make a new custom ISO. I found a tool called UltraISO. That, or I might have used WinImage to inject the files (I don't remember which tool I used).
6a. Burn this custom ISO to CD if you want that installation method. (Or PXE boot, etc.)
6b. If you need to convert the ISO to be used like a memstick .img file, I used UNetbootin and was able to burn the ISO directly to USB flash drive.Thanks i will try.
The part i cant get to work is the burn/convert/memstick part.
I always get "cant load kernel" when i boot from the memstick.But thanks again for th how to.
-
Yes, thanks for the tutorial. I was able to burn the ISO, but when starting up the installer, I also get the "can't load kernel" message. :(
-
Did you guys rename if_igb.ko.txt to if_igb.ko ? Sorry if that sounds silly, heh. Also, you're using the 64-bit pfSense release, right?
-
Yes, I did rename the file and also using 64bit release.