Patrick

Install Script for ixgbe on Debian/ Ubuntu

Patrick

Administrator
Staff member
Dec 21, 2010
11,938
4,892
113
Patrick submitted a new resource:

Install Script for ixgbe on Debian/ Ubuntu - If you need the Xeon D drivers installed on a machine here is the script for you

I know a lot of folks are using Xeon D and with the latest batch of chips more folks will be using it. Ubuntu 14.04 LTS (even 14.04.3 LTS) does not ship with the Intel X550 driver required by default.

Caveats:
  • If you want to use a new version, change the version string under #installer version.
  • If you do NOT want the ixgbe driver to load at the next boot, comment out the line under #load at boot

To run
Code:
nano ixgbe.sh
Paste in the below and edit if you...
Read more about this resource...
 
  • Like
Reactions: MiniKnight

Patrick

Administrator
Staff member
Dec 21, 2010
11,938
4,892
113
I hope this one helps folks. I got sick of doing this by hand so I made a script for the Xeon D boards.
 
  • Like
Reactions: MiniKnight

MiniKnight

Well-Known Member
Mar 30, 2012
2,987
892
113
NYC
This is great!!!!!! I prefer using 14.04 LTS rather than having to 15.10 or do some Google searching for what I need to get this working.
 

RTM

Active Member
Jan 26, 2014
566
202
43
There are a few things I would suggest changing:
First of all it is generally considered "bad" for security reasons to compile code as root (which is what you do, when you execute the entire script with sudo), it is better to apply sudo to the individual commands that require them (such as apt-get, and make install).

Second thing I would change is to add a "s" after HTTP to the download command, so you use atleast use HTTPS to find the mirror, sourceforge will probably give you a non HTTPS mirror anyway, but it is better than nothing I guess.
An alternative may be to download the driver from Intels website, but I am not sure it is a good idea to circumvent their "download terms" thing.

Finally, as you generally (again, for security reasons) shouldn't keep compilers lying around on your servers, you may want to suggest that people remove gcc, make and the kernel headers afterwards, or even do it in the script (as long as you are sure that it will not break something else).
 
  • Like
Reactions: Patrick

EffrafaxOfWug

Radioactive Member
Feb 12, 2015
1,242
420
83
Real sysadmins run everything as root using Suicide Linux ;)

Incidentally we find it far more important that our systems can only access t'interwebs via proxy (i.e. no direct access from the shell). Most malware payloads behave in the same way as these utility scripts (i.e. calling in random resources from random places on t'interwebs then compliling and installing them) so a simple proxy stops them dead in their tracks. Set up a single internal machine with apt-proxy-ng or whatever the equivalent is for your OS and you're done. Just make sure you work on the WAF before you apply the firewall rules!
 
  • Like
Reactions: RTM

Patrick

Administrator
Staff member
Dec 21, 2010
11,938
4,892
113
Thanks @RTM - I made many of those changes and will test a few more later tonight.
 

Patrick

Administrator
Staff member
Dec 21, 2010
11,938
4,892
113
So @RTM using sudo I did have to change the echo to /etc/modules line since you cannot >> with sudo.

I also added the remove command.
 

RTM

Active Member
Jan 26, 2014
566
202
43
Looks good, I believe you missed removing sudo from the line "sudo bash ixgbe.sh".
 
  • Like
Reactions: Patrick

Jb boin

Member
May 26, 2016
49
16
8
33
Grenoble, France
www.phpnet.org
A small dirty trick to retrieve the latest driver version without having to manually specify it (the second line specify a fallback value if it cannot retrieve the latest version from the FTP mirror), please note that it requires curl which isnt part of a base Debian install :
Code:
for version in $(curl --silent --list-only ftp://ftp.mirrorservice.org/sites/downloads.sourceforge.net/e/e1/e1000/ixgbe%20stable/); do dpkg --compare-versions $version gt ${ixgbever:-0} && ixgbever="$version"; done
ixgbever="${ixgbever:=4.4.6}"

For the inclusion on /etc/modules, its better to test before if the line hasnt been already added (if you upgrade the module using the script for example, you will end up with duplicates) :
Code:
egrep -q "^ixgbe$" /etc/modules || sudo echo "/etc/modules" >> /etc/modules

Not using sudo on the script but calling the script itself from root (or sudo) would also makes it simpler to maintain and remove the dependency to sudo which isnt part as a base Debian install.
 
  • Like
Reactions: Patrick

Lee Jones

New Member
Sep 29, 2016
2
0
1
46
Hi,

Thanks for the script Patrick!

I have an X10SDV-TNL4F with Xen 4.8.0-1/Debian sid plus non-Xen Xenial and am having really poor WAN performance.

My internet connection is symmetric 1Gb going to WAN port 1 on a Cisco RV325 and then any port on the TNL4F.

Prior to TNL4F I had a Mac mini server which would max out at around 80MB/s downstream wired to an Apple AirPort Extreme.

Using speedtest-cli with the newer setup I'm getting the following:

Code:
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Hyperoptic (xxx.xxx.xxx.xxx)...
Selecting best server based on latency...
Hosted by Virgin Media (Bristol) [18.25 km]: 15.401 ms
Testing download speed........................................
Download: 71.54 Mbit/s
Testing upload speed..................................................
Upload: 7.05 Mbit/s
Which 5 years ago would be pretty great but not so when you consider the following results take via an 11" MBA connected via a Thunderbolt to Ethernet adaptor connecting directly to the incoming Cat 5e:

Code:
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Hyperoptic (xxx.xxx.xxx.xxx)...
Selecting best server based on latency...
Hosted by Virgin Media (Bristol) [18.25 km]: 9.594 ms
Testing download speed........................................
Download: 644.30 Mbit/s
Testing upload speed..................................................
Upload: 184.65 Mbit/s
I've tried the latest igb and ixgbe drivers for both Sid and Xenial but see no improvement.

Are you able to offer any insight into this? I did wonder whether I'd done the drivers incorrectly but having used your script I feel I can move past that possibility.

Thanks,
Lee.

*** EDIT ***

I've since created a container running inside a wheezy VM to host iperf3 and see the following from the MBA wired to the Cisco router and as you can see performance is pretty decent for a 1Gb LAN connection:

Code:
Connecting to host xxx.x.x.xx, port 5201
[  4] local xxx.x.x.xx port 55361 connected to xxx.x.x.xx port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   113 MBytes   946 Mbits/sec                 
[  4]   1.00-2.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   2.00-3.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   3.00-4.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   4.00-5.00   sec   104 MBytes   869 Mbits/sec                 
[  4]   5.00-6.00   sec   112 MBytes   941 Mbits/sec                 
[  4]   6.00-7.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   7.00-8.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   8.00-9.00   sec   112 MBytes   940 Mbits/sec                 
[  4]   9.00-10.00  sec   112 MBytes   940 Mbits/sec                 
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  1.09 GBytes   934 Mbits/sec                  sender
[  4]   0.00-10.00  sec  1.09 GBytes   934 Mbits/sec                  receiver

iperf Done.
 
Last edited:

Patrick

Administrator
Staff member
Dec 21, 2010
11,938
4,892
113
@Lee Jones on the 10GbE ones I think you need to open up multiple streams with iperf3. That figure for 1GbE is not bad at all.
 

Lee Jones

New Member
Sep 29, 2016
2
0
1
46
Thanks Patrick and that makes sense.

It's identifying the issue with the WAN performance I'm really struggling with. If my MBA can achieve the throughout shown above then the TNL4F should certainly be able to and then some.

Through a number of tests the former Mac mini server was getting close to GbE's theoretical max with downstream speeds above 800Mbit/second being the norm.

As if right now I have no way of using 10GbE's potential but a GbE port I sure can and the GbE connection coming into the property too.

I guess I'll have to try some other distros.

Thanks again.
 
Last edited: