How to create directory on/in OS disk?

Status
Not open for further replies.

Enchanted14

Dabbler
Joined
Oct 4, 2014
Messages
13
Hello,

I am new to FreeNAS and FreeBSD but am not a novice to computing. I have built a FreeNAS box, have installed the FreeNAS OS, have it up and running with Plex Media installed and working. My issue is that I am using an Intel i217 NIC which FreeNAS supports but in a limited manner. As far as I can tell the NIC is only running at 100Mbps but is a 1000Mbps device. Additionally WOL and Jumbo Frames are not enabled. So I would like to correct these short comings.

I have located a FreeBSD driver for the NIC on the Intel website and would like to install it in my FreeNAS installation which I made on a USB stick. My hope is that this driver would enable the WOL function. The documentation for installing the driver assumes that the user has a fair degree of FreeBSD knowledge from the start which I admit I do not but I am capable of following instructions and I come from the days of old DOS command line usage so I believe I am up to the task of doing this.

The driver documentation states that the driver should not be installed in the root kernel but rather used as a loadable module from a directory of the users choice. I get that but what I cannot figure out is

1. How do I choose or create a directory for this purpose?

2. Is there or would there be a preferable directory to use for this?

3. The driver tar file is at present on a USB stick, (not the OS install stick). What command would be used to cp the tar file from the USB stick to the directory of choice?

4. All directories I have managed to navigated to are Read Only so to write to them is not possible. How do you address or get around this?


I am hoping this thread will be viewed by a FreeNAS advanced user whom might tell me if in fact this is worth doing in the first place? If not then what would I do for example to enable Jumbo Frames which the NIC and all other network hardware are capable of to at least take advantage of that feature while awaiting hopefully more robust support for my NIC?

I am currently running FreeNAS version 9.2.1.7 and I do see that version 9.2.1.8 is now available. Would upgrading to the latest build address my WOL issue?

I am attaching the Intel install instructions for those whom wish to help convenience.

Thanks in advance for any help here.
 

Attachments

  • README.txt
    10.9 KB · Views: 302

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
No, No, No. You can't just download a driver and throw it on the OS disk and expect it to work. You have to include the source so it can be compiled with FreeNAS. And I can guarantee you that you don't know how to do that. It's far more complex than dropping a file in the system. :P

You aren't the first to have a problem with the i217. However the i217 is pretty much exclusively only on hardware that we wouldn't recommend, so you'll find very little sympathy here on how to get it to work. The short answer is that if you had taken our advice and bought appropriate hardware you wouldn't be in the predicament you are currently in.

Your best bet is to buy some PCIe Intel NIC and use that until i217 is supported in FreeNAS. Frankly, I'm expecting it to be "supported" in 9.3, but due to a twist of fate they still won't work quite right. Seems to be a common theme for people that buy desktop hardware and then use it for FreeNAS.
 

Enchanted14

Dabbler
Joined
Oct 4, 2014
Messages
13
Well if you had had a look at the attached file I provided you would have seen that this is not just "throwing" the driver file on the OS disk and expecting it to work!

Yes I have read the rants about the recommended hardware and I must say that if only enterprise grade hardware should be used then why is it that lesser hardware is supported at all? That just seems counter intuitive to me even though I fully understand the reasoning behind the recommendation and the ramifications of not doing so!

Regardless of all of that, how about a little concrete help with at least enabling jumbo frames, or is that out of the question as well?
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
Lesser hardware is supported for completeness. Thanks for reiterating the point I've made on almost every controvertial topic I've seen on the forum.

There's an extremely thin line between "supporting" a product and "endorsing it". They are two distinctly different things. We "support" Realtek NICs, but just about every thread that has the word "Realtek" in it probably has someone saying "throw it in the trash and get an Intel PCIe card."

As for your comment...
Well if you had had a look at the attached file I provided you would have seen that this is not just "throwing" the driver file on the OS disk and expecting it to work!

If you are talking about putting stuff in /<anywhere> and then loading it later you aren't compiling it from FreeNAS source.

Your response to my comment about compiling it against the source demonstrates that you don't fully grasp how the drivers are made. So let me explain...

Whether you try to put it in /root or /mnt/tank/yourdrivers is inconsequential. What *is* important is that the driver be compiled against FreeNAS' kernel when it is being compiled. Choose not to do that and you'll more often than not get a driver that when you try to load will tell you something like "symbols not supported". What that means is "I am not loading this driver because it's not compatible with my kernel... now bug off". This problem is near and dear to my heart because I've had to spend a little time trying to get drivers to work and had that problem... every time. It's a PITA to deal with and unless you are going to get the driver source code, download the source for FreeNAS, merge the two together, then compile your very own FreeNAS build, your chances of success are pretty close to zero.

So your thought process is bent on going on "Route A" but I'm telling you that "Route A", even if you did it, will still give you a non-viable solution. You need to take "Route B" (which is the recompile, blah blah blah). Now if you read our bug tracking system 9.3 alphas have an i210 series driver that one person has confirmed works. So you can either:

1. Do all that crappy recompiling thing I mentioned above.
2. Wait for 9.3 to be more stable (and hopefully a RELEASE version) and go get yourself some other NIC to use temporarily.
3. Choose to use an alpha build of FreeNAS and hope it doesn't accidentally eat your data.

You are welcome to keep thinking that what you want to do will work, but I can tell you with first-hand experience it won't work.

Of those 3 options, #2 is the best course of action. That's precisely why I gave you that answer in my previous post.

As for enabling jumbo frames, I'll give you this advice. It doesn't work as well as people think. *everything* on that network must support the same packet size, and an MTU of 9000 on Realtek and an MTU of 9000 on Intel are *not* the same thing. So you create more problems than it's usually worth. As for changing the MTU, the FreeNAS documentation specifically explains how to change the MTU as one of its examples, so I will direct you to our documentation for how to do that (assuming you still want to do it). But in this day and age, jumbo frames aren't all they are cracked up to be and you'll probably find that there may be a performance hit from going to jumbo frames. Despite the fact that I've played with jumbo frames I have deliberately chosen to not use them.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
How did I completely miss the fact that the i217 has issues? And where are the hordes of X10SLL-F and X10SLM-F owners complaining one of their NICs doesn't work?
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
How did I completely miss the fact that the i217 has issues? And where are the hordes of X10SLL-F and X10SLM-F owners complaining one of their NICs doesn't work?

Well, the X10SLM-F has an i210AT and the i217LM. Perhaps those both work fine? I don't own one so I'm just theorizing. Just like with Realteks, it could be that the "LM" at the end makes it work with the drivers in FreeNAS?
 

Enchanted14

Dabbler
Joined
Oct 4, 2014
Messages
13
Well, thanks for a more complete answer. In response, I do understand the conceptual requirements of compiling a driver against the target kernel. There Intel installment instructions indicate that the driver package first be untared then, compiled within a directory created during the untar process. The resulting driver file is then loaded at boot using a bootconf argument but you say this wish not work because the driver would in to be compiled at the same as time the kernel to be successful. Is that correct.

I will consult the documentation concerning jumbo frames.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Well, the X10SLM-F has an i210AT and the i217LM. Perhaps those both work fine? I don't own one so I'm just theorizing. Just like with Realteks, it could be that the "LM" at the end makes it work with the drivers in FreeNAS?

I just checked Intel's datasheet, and there seem to be two versions: i217-LM (in two versions: one with and one without battery-saving shenanigans), marked as "Corporate", and i217-V, marked as "Consumer", dropping a number of seemingly mostly inconsequential features (iSCSI boot, vPro and SIPP).
The bad news for owners of i217-Vs is that there's also a feature called "Server Operating System Support" missing. I interpret this as "We're not going to write a driver for this thing for anything other than Windows."

My guess is that the -V firmware (hardware is identical) is different enough that the driver needs substantial changes, which would put a fix for FreeBSD firmly in the "doable, but unlikely" range.
 

solarisguy

Guru
Joined
Apr 4, 2014
Messages
1,125
Well, thanks for a more complete answer. In response, I do understand the conceptual requirements of compiling a driver against the target kernel. There Intel installment instructions indicate that the driver package first be untared then, compiled within a directory created during the untar process. The resulting driver file is then loaded at boot using a bootconf argument but you say this wish not work because the driver would in to be compiled at the same as time the kernel to be successful. Is that correct.

I will consult the documentation concerning jumbo frames.
I will list the steps I am aware of, that you seem to miss:
  • create an installation of FreeBSD that is the same level as the one used in your FreeNAS; it could be a jail in a FreeNAS
  • compile your module there
  • transfer the compiled module to the FreeNAS installation
 
J

jkh

Guest
Hello,

I am new to FreeNAS and FreeBSD but am not a novice to computing. I have built a FreeNAS box, have installed the FreeNAS OS, have it up and running with Plex Media installed and working. My issue is that I am using an Intel i217 NIC which FreeNAS supports but in a limited manner. As far as I can tell the NIC is only running at 100Mbps but is a 1000Mbps device. Additionally WOL and Jumbo Frames are not enabled. So I would like to correct these short comings.
The best, and really the only way to do what you're trying to do is to build a custom version of FreeNAS with the driver(s) of your choice compiled in.

It's easy to build FreeNAS. Just instantiate a stock FreeBSD 9.2/9.3 build host, fork the appropriate repo on github, add your driver to a branch, modify the checkout script to use your branch instead of the stock one(s), "make release" and bob's your uncle, you'll have an ISO and upgrade image to use which contains the updated driver or whatever other custom bits you want to include.

If that previous paragraph is over your head, then this is like riding the Space Mountain roller coaster at Disneyland - there's a sign which says you must be a certain height to ride it, otherwise you get to turn around and ride the tea cups or the merry-go-round instead. Same principle applies here. I'm not actually trying to be condescending or discouraging, either - this is literally the level of skill required to accomplish the task, nothing more and nothing less. FWIW, there are also hundreds of people who have started with even less information and, using google to provide the details (repo URLs and such), popped out a custom FreeNAS image several hours later, so it's not rocket science either.
 

Enchanted14

Dabbler
Joined
Oct 4, 2014
Messages
13
Ericloewe, I also had a look at the data sheet and noted the differences you point out.

Solarisguy, I did at first believe your observation was what was intended by the instructions but I didn't have faith in that working for much the same reasons as cyberjock points out. In rereading the instructions I think the intent is to compile the driver inside of the OS while live then direct the system to load the driver on boot. Well, that may or may not work. I'm adventurous enough to try it as this project is not so far along that if I have to start over so be it.

Jkh, points well taken and not all that far above my head, if that's what I have to do I guess I will. Still would like to have a go at it the Intel way and see what happens.
 

solarisguy

Guru
Joined
Apr 4, 2014
Messages
1,125
[...] Solarisguy, I did at first believe your observation was what was intended by the instructions but I didn't have faith in that working for much the same reasons as cyberjock points out. In rereading the instructions I think the intent is to compile the driver inside of the OS while live then direct the system to load the driver on boot. Well, that may or may not work. I'm adventurous enough to try it as this project is not so far along that if I have to start over so be it.[...]
Did you check whether gcc fully works in your FreeNAS version? https://bugs.freenas.org/issues/5316
 

Enchanted14

Dabbler
Joined
Oct 4, 2014
Messages
13
No, I have not checked but certainly will. I did review the link provided and certainly can see the wisdom offered in this thread so far. It will be simple enough to create a jail, and run the compile there and see if in fact the driver will work or not. Will post back results. Thanks to all.
 
Status
Not open for further replies.
Top