Author Topic: e1000e driver - test updates  (Read 37336 times)

David McKenna

  • Hero Member
  • *****
  • Posts: 742
  • Karma: +24/-0
    • View Profile
Re: e1000e driver - test updates
« Reply #15 on: January 22, 2014, 02:47:02 am »
Doug,

  After reading your post, I decided to check the speed of my setup. My SAMBA server has an Intel NIC running the 3.12 driver, and my client has a Realtek NIC running the 3.12 driver and connecting to SAMBA shares using IBM LAN logon. The two are connected thru a Gigabit switch. The share shows up as drive 'N:' on the client. From the client, if I move a folder with ~6GB of data either way (to or from the server) using the WPS by <shift>-drag and drop, I easily get over 30000 KB/s speeds (sometimes spiking to 42000). However, unexpectedly if I use FM/2 to do it, I only get at most 15000KB/s. What do you get for speed readings if you use the WPS to just perform a move from one machine to the other?

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #16 on: January 22, 2014, 04:57:48 am »
Doug,

  After reading your post, I decided to check the speed of my setup. My SAMBA server has an Intel NIC running the 3.12 driver, and my client has a Realtek NIC running the 3.12 driver and connecting to SAMBA shares using IBM LAN logon. The two are connected thru a Gigabit switch. The share shows up as drive 'N:' on the client. From the client, if I move a folder with ~6GB of data either way (to or from the server) using the WPS by <shift>-drag and drop, I easily get over 30000 KB/s speeds (sometimes spiking to 42000). However, unexpectedly if I use FM/2 to do it, I only get at most 15000KB/s. What do you get for speed readings if you use the WPS to just perform a move from one machine to the other?

When I was looking at it, I was using the WPS to copy files, and I was using the IPMON widget to measure the speed (with a file big enough to stabilize the counts for a while). I see similar speeds when using RSYNC to copy files.

Do you have any parameters set for the driver? I don't.

There is a proper tool to measure speeds, but I haven't used it for a few years. AH, there it is: http://hobbes.nmsu.edu/download/pub/os2/util/network/netio126.zip. That should eliminate some guesswork, but the speed changes that I am seeing, are significant enough that fine details are not needed.

I just checked in here, to see if anything has changed, since my last post, before I try the other two Intel drivers.

One thing that I will try (if it will work), is to put an Intel NIC into my main machine (effectively replacing one of the Realtek NICs, which is on the motherboard), to see what difference that makes.

Interesting: I just discovered that I had a CAT 5 cable on the Intel NIC. I replaced it with a CAT 5e cable, and now it runs slower (9500 KB/s). Then, I hooked it to the switch (where the "server" is connected), with a CAT 5e cable, and it is now peaking out at about 13,000 KB/s. Still using the e1000e-3.8.13 driver.

I am not sure what CAT number the cable on the "server" is. It is only about 2 feet long, and connects to the switch.

I need to do more work.   :-\

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #17 on: January 22, 2014, 05:41:05 am »
More interesting: I tried e1000e-3.6.11. It works about the same as e1000e-3.8.13. Then, I tried e1000e-3.4.77, and it is running at about 13,800 KB/s.

Okay, start over. I put the "official" e1000e-0.2.3 driver back in. It seems to be a little more erratic, bouncing between 12,500 and 13,900 KB/s.

e1000e-3.12.8 is still running at about 1200 KB/s.

So, the winner is e1000e-3.4.77. Yes, it is still running at about 13,800 KB/s.

I don't think the cables will make much difference. The longest is about 10 feet, and they are all CAT 5e, except the one that just got replaced. Beside that, the first set of tests were done with the same hardware (including cables), and the second set of tests was done with a slightly different set of hardware. The results are pretty much the same.

Now, I am curious to see if the Intel NIC will work in my main machine.   :)

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #18 on: January 22, 2014, 07:03:17 am »
Even more interesting:

I found the main cause of slow network activity. I have played with VirtualBox in eCS, for years. The problem is caused by the TAP driver (which I had forgotten about). After removing that, I am seeing 35,000 KB/s to 40,000 KB/s with my Realtek NIC (r8169-3.12.8), and 35,000 KB/s to 45,000 KB/s with my Intel NIC (e1000e-3.4.77). I would call that a significant performance hit.   :'(

More testing to do tomorrow...

I did try the Intel NIC in my main machine, but it doesn't work. PCI.EXE can't "see" it. I don't know if that is because my motherboard is broken, or just too old to recognize the card. I know that the card works in another machine.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: e1000e driver - test updates
« Reply #19 on: January 22, 2014, 09:25:14 am »
I did some testing here with 3.12.8 downloading a roughly 1gb file from my local web server with gigabit connections.

From my T60 running eCS 2.2, I saw download speeds of 15.3 MB/second using the 3.12.8 driver

With the last official driver, I saw download speeds of15.5 MB/second

From my desktop machine running Ubuntu 13.10 and a realtek nic, I saw download speeds of 18.6 MB/second on the same file.

So OS/2 driver is around 20% slower than linux on this testcase, but no difference here between the official builds and my builds.

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #20 on: January 22, 2014, 09:05:51 pm »
I probably should note, that all of my previous tests have been done by uploading to the server, using a ziped file that is about 350 GB.

I don't know, yet, what is going on. I removed the TAP driver, which was, obviously, making a huge difference, but today, I am seeing completely different numbers (in the 100 mbs range), for no apparent reason.

More, if I can figure this out...

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #21 on: January 23, 2014, 04:28:35 am »
Well, I haven't figured it out, but something is seriously broken in the Intel driver (even the "official" one). From what I can tell, sometimes it detects that it should run at 1000 mbs, and sometimes it seems to run at 100 mbs (my switch indicates the speed). I can boot to windows, and it always runs at 1000 mbs. Then, I tried adding "MODE=1000FULL", to force it to use 1000 mbs. Wrong, it then runs at 26 KB/s. Sometimes, upload will go at 30,000 KB/s, and download will go at 7,800 KB/s. Sometimes, it is the other way around. Most of the time, it runs at 7800 KB/s, in both directions.

I am obviously missing something. I am going to shut it down, and try again tomorrow.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: e1000e driver - test updates
« Reply #22 on: January 23, 2014, 05:36:40 am »
Try disabling whatever you can get away with. Easiest to do it in the BIOS. The Intel driver, at least here, doesn't seem to like sharing IRQs, as in IRQA or IRQB etc.

David McKenna

  • Hero Member
  • *****
  • Posts: 742
  • Karma: +24/-0
    • View Profile
Re: e1000e driver - test updates
« Reply #23 on: January 24, 2014, 04:30:50 am »
Doug,

  Usually there are lights on the ethernet plug that indicate the speed the NIC detects it can connect to the hub/switch/router it is attached to. Is the indicated speed changing from time to time? Maybe the NIC is detecting its connection differently each time...

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #24 on: January 24, 2014, 07:04:27 am »
Quote
Easiest to do it in the BIOS.

There isn't much to work with in the Lenovo ThinkPad T510 BIOS.

Quote
Is the indicated speed changing from time to time? Maybe the NIC is detecting its connection differently each time

It doesn't seem to be that simple. Using the "official" e1000e 0.2.3, NETSTAT -N always shows "speed 1000000000  bits/sec" (even when connected to a 100 mbs switch, which probably means it is meaningless).  There is a green LED on the T510, that indicates that it is connected, but it doesn't indicate the speed. It looks the same if I plug it into a 100 mbs hub. However, if I plug it into my Gb switch, I can tell what speed it connects at by the LEDs on the switch. I haven't seen it show anything but 1000 mbs, except when the machine is powered off (which is normal). Right now, if I copy from the "server" (download), it is running at about 7000 KB/s. Copying to the "server" runs at about 15,000 KB/s. I see the same hardware do 60,000 KB/s, in both directions, when running windows (measured at the "server", using IPMON). The "server" is running Multimac for NVIDIA, and it keeps up with windows, in both directions. A few days ago, after I got the TAP driver out of the picture, I was seeing 45,000 KB/s in both directions, using the "official" driver, or e1000e-3.4.77, from Paul. I haven't been able to duplicate that, since then.

Using /MAXCPU=1 or /VW on the PSD line doesn't change anything.

Now, I tried RXCHAIN = "YES" in PROTOCOL.INI, download is still about 7000 KB/s but upload is bouncing from 15,000 KB/s to 43,000 KB/s.

Okay, so I got a new CAT6 cable. If anything it is slightly slower in both directions.

If I try from the "server" end, I am seeing both directions bouncing between 7,000 KB/s and 15,000 KB/s.

FWIW, the Realtek driver, in my main machine, is showing similar numbers, and IPMON, at both ends, is showing the same numbers, so I have no reason to think that it is wrong.

Enough, for now...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: e1000e driver - test updates
« Reply #25 on: January 24, 2014, 07:30:43 am »
I'll try and review the NIC initialisation code tonight/this weekend and see if there are any changes I should port over from the linux init code

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #26 on: January 24, 2014, 05:54:38 pm »
I'll try and review the NIC initialisation code tonight/this weekend and see if there are any changes I should port over from the linux init code

I think it is more likely the interrupt handling code that might be doing it, but that is just a guess.

I have Linux Mint (Ubuntu) installed on a USB thumb drive, It claims that the e1000e version is 3.11.0.12. Copying from my "server", I am seeing about 40,000 KB/s. Copying to my "server", I am seeing about 17,000 KB/s. These numbers might be restricted because the local storage medium is USB 2.0.

So it would appear that the Linux code is probably okay. It also appears that the Multimac NVIDIA code works as it should. However, the Intel, and Realtek, drivers are showing similar speed problems, which points to something that is common between them.

Thanks for looking. Obviously, I wasn't paying much attention to the way these things were operating, although I knew that it was slower than in windows. Now that I do some serious comparison, Multimac (except for the NVIDIA version), is extremely slow. I guess I was just happy that they worked, at all.

mike

  • Newbie
  • *
  • Posts: 32
  • Karma: +1/-0
    • View Profile
Re: e1000e driver - test updates
« Reply #27 on: January 26, 2014, 01:29:38 pm »
Hi All,

I've done some updates to the multimac e1000e driver to update the linux kernel version it is based on.

At this time, I have three fourfive test versions available.

To test:
1) backup the existing \ibmcom\mac\e1000e.os2
2) replace with one in the test zips.

URLs for test builds:
http://smedley.id.au/tmp/e1000e-3.4.77.zip
http://smedley.id.au/tmp/e1000e-3.6.11.zip
http://smedley.id.au/tmp/e1000e-3.8.13.zip
http://smedley.id.au/tmp/e1000e-3.10.27.zip
http://smedley.id.au/tmp/e1000e-3.12.8.zip

Note these have been lightly tested on a Thinkpad T60 only.  Lightly tested basically means ensure the machine boots, gets an IP using dhcp, and can connect to a website.

YMMV.

Intent is to try and get this up to the latest kernel code and get the changes included in the multimac source code, and to learn a bit about how multimac works.

Cheers,

Paul.


hello paul,
thanks for the update on the multimac drivers! The lan adapter has the device id of 8086:153A i tried all drivers, esp. the one in e1000e-3.12.8.zip but lantran.log always reports "E1000E No supported hardware was found."

mike




Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #28 on: January 26, 2014, 06:25:16 pm »
Quote
thanks for the update on the multimac drivers! The lan adapter has the device id of 8086:153A i tried all drivers, esp. the one in e1000e-3.12.8.zip but lantran.log always reports "E1000E No supported hardware was found."

I may be wrong, but try the E1000 driver with that device. It should be listed as "Intel(R) PRO/1000 Network Connection".

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: e1000e driver - test updates
« Reply #29 on: January 26, 2014, 10:11:51 pm »
thanks for the update on the multimac drivers! The lan adapter has the device id of 8086:153A i tried all drivers, esp. the one in e1000e-3.12.8.zip but lantran.log always reports "E1000E No supported hardware was found."

Looks like this is an I217-LM chipset?

The pci ID's were missing in e1000hw.c - I've added them now so it may work.

http://smedley.id.au/tmp/e1000e-3.12.8-20140127.zip