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

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
e1000e driver - test updates
« on: January 19, 2014, 09:09:59 am »
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.
« Last Edit: January 19, 2014, 12:14:04 pm by Paul Smedley »

Sigurd Fastenrath

  • Hero Member
  • *****
  • Posts: 576
  • Karma: +27/-0
  • OS/2 Versus Hardware - Maximum Warp!
    • View Profile
Re: e1000e driver - test updates
« Reply #1 on: January 19, 2014, 02:28:36 pm »
If not now - when else?  8)

I just donated some bucks to Paul to support his ongoing work here with OS/2 and eComstation. I am just writing this to encourage others to do the same  ::)

I will test the new Intel driver during the week.

Thanks Paul and keep going!!  ;)

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #2 on: January 19, 2014, 10:14:34 pm »
Quote
At this time, I have three fourfive test versions available.

Thanks Paul. I am wondering what you are basing the version numbers on? It seems that Multimac, from Mensys, was just using a sequential number. I am guessing that you are using the Linux version number (but it would be nice to know).

Testing will commence shortly...

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4787
  • Karma: +99/-1
    • View Profile
Re: e1000e driver - test updates
« Reply #3 on: January 19, 2014, 10:50:08 pm »
I have
Code: [Select]
Vendor 8086h Intel Corporation
 Device 104Ah 82566DM Gigabit Network Connection

Quickly testing all your builds seem to work the same as the official driver unluckily.
I have IRQ problems with the driver, under Warp V4 it only works if I disable sound and the PATA interface (dvd burner), otherwise can not bind to tcp/ip and under eCS it only seems to work if I power off the system when rebooting otherwise it receives but does not transmit.
I'll test more on eCS including moving some large files later.

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #4 on: January 20, 2014, 12:11:15 am »
Well, a quick test (they boot, dhcp works, and I can browse the internet) works for all of them on my Lenovo ThinkPad T510, which always worked well with the Multimac Intel driver.

Intel 82577LM Gigabit Network Connection [8086:10EA]
Code: [Select]
Vendor 8086h Intel Corporation
 Device 10EAh 82577LM Gigabit Network Connection
 Command 0107h (I/O Access, Memory Access, BusMaster, System Errors)
 Status 0010h (Has Capabilities List, Fast Timing)
 Revision 06h, Header Type 00h, Bus Latency Timer 00h
 Self test 00h (Self test not supported)
 PCI Class Network, type Ethernet
 Subsystem ID 215317AAh Unknown
 Subsystem Vendor 17AAh Lenovo
 Address 0 is a Memory Address (0-4GiB) : F2600000h
 Address 1 is a Memory Address (0-4GiB) : F2625000h
 Address 2 is an I/O Port : 1820h
 System IRQ 20, INT# A
 New Capabilities List Present:
   Power Management Capability, Version 1.1
     Does not support low power State D1 or D2
     Supports PME# signalling from mode(s) D0, D3hot, D3cold
     PME# signalling is currently disabled
     3.3v AUX Current required : 0 mA (Self powered)
     Current Power State : D0 (Device operational, no power saving)
       700 mW D0 power consume
       700 mW D0 power dissipate
       200 mW D3 power consume
       200 mW D3 power dissipate
         0 mW common logic power consume
   Message Signalled Interrupt Capability
     MSI is disabled
     MSI function can generate 64-bit addresses
   Unknown Capability (Code 13h)!!

I am assuming that e1000e-3.12.8.zip is the newest version. I left it installed, and I am doing a backup, using RSync to another machine. About 600 MB later, it seems to be okay, although the speed seems to be slow (1200 KB/s) compared to the "official" driver, which seems to go faster (6000 KB/s). That is still slow compared to what the NVIDIA Multimac driver (on the other end) does (20,000 KB/s). A gigabit network should be able to do about 30,000 KB/s. All measurements are done by IPMON. I will leave it installed, for now.

Thanks...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: e1000e driver - test updates
« Reply #5 on: January 20, 2014, 02:20:33 am »
Quote
At this time, I have three fourfive test versions available.

Thanks Paul. I am wondering what you are basing the version numbers on? It seems that Multimac, from Mensys, was just using a sequential number. I am guessing that you are using the Linux version number (but it would be nice to know).

Testing will commence shortly...

Correct - version is based on the linux kernel code it came from

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: e1000e driver - test updates
« Reply #6 on: January 20, 2014, 02:23:10 am »
I have
Code: [Select]
Vendor 8086h Intel Corporation
 Device 104Ah 82566DM Gigabit Network Connection

Quickly testing all your builds seem to work the same as the official driver unluckily.
I have IRQ problems with the driver, under Warp V4 it only works if I disable sound and the PATA interface (dvd burner), otherwise can not bind to tcp/ip and under eCS it only seems to work if I power off the system when rebooting otherwise it receives but does not transmit.
I'll test more on eCS including moving some large files later.

By the time I got to kernel 3.12.x, I worked out I was potentially missing some updates. I need to do some more exploring, but it appears that e1000hw.c (part of the multimac source), incorporates code that was originally in a source file called netdev.c from the e1000e kernel code. Bumping the version of some of this code may help as well. No outlook yet on when I may get time to do this.

I will hopefully also have some updated to the R8169 driver soon too. I have the 3.10.x code compiling but I have no hardware I can test with.

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #7 on: January 20, 2014, 07:58:18 am »
Quote
I will hopefully also have some updated to the R8169 driver soon too. I have the 3.10.x code compiling but I have no hardware I can test with.

Paul. Because of the potential to disable the Realtek devices, with a defective driver, I will suggest that you start off by limiting access to the test files. It took about 6 tries for David to create a Realtek driver that would not disable a couple of my NICs. When they become disabled, a complete power off (pull the plug, and remove the main battery, if it is a laptop) is required to enable the device again (windows cannot enable it, but I have heard that Linux can). The part that gets disabled, is the cable interface (effectively like pulling the cable). Otherwise, it works normally. The first thing that an uninformed user is going to think is that the driver damaged their NIC. Fortunately, that isn't the case, but...

I know about the problem, and how to recover, if the problem occurs. I think you have my e-mail address.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: e1000e driver - test updates
« Reply #8 on: January 20, 2014, 09:23:27 am »
Quote
I will hopefully also have some updated to the R8169 driver soon too. I have the 3.10.x code compiling but I have no hardware I can test with.

Paul. Because of the potential to disable the Realtek devices, with a defective driver, I will suggest that you start off by limiting access to the test files. It took about 6 tries for David to create a Realtek driver that would not disable a couple of my NICs. When they become disabled, a complete power off (pull the plug, and remove the main battery, if it is a laptop) is required to enable the device again (windows cannot enable it, but I have heard that Linux can). The part that gets disabled, is the cable interface (effectively like pulling the cable). Otherwise, it works normally. The first thing that an uninformed user is going to think is that the driver damaged their NIC. Fortunately, that isn't the case, but...

I know about the problem, and how to recover, if the problem occurs. I think you have my e-mail address.

Hi Doug, check your email for links to r8169 built with 3.10.x and 3.12.x kernel code.

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #9 on: January 20, 2014, 05:19:29 pm »
Quote
Hi Doug, check your email for links to r8169 built with 3.10.x and 3.12.x kernel code.

Both versions work okay. I am using the r8169-3.12.8 version to post this, so I guess it is okay to release it.

Thank you...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: e1000e driver - test updates
« Reply #10 on: January 20, 2014, 08:41:57 pm »
Quote
Hi Doug, check your email for links to r8169 built with 3.10.x and 3.12.x kernel code.

Both versions work okay. I am using the r8169-3.12.8 version to post this, so I guess it is okay to release it.

Thank you...

For others:
A couple of test drops:

http://smedley.id.au/tmp/r8169-3.10.27.zip
http://smedley.id.au/tmp/r8169-3.12.8.zip

Version numbers are based on the kernel code level per e1000e drivers.

David McKenna

  • Hero Member
  • *****
  • Posts: 743
  • Karma: +24/-0
    • View Profile
Re: e1000e driver - test updates
« Reply #11 on: January 21, 2014, 12:00:21 am »
Paul,

  I am running the 3.12 versions of both the Intel and Realtek drivers with no problems... the Intel on my file server and the Realtek on my internet machine. Thanks for updating them! I'll post if any problem comes up, but they seem to perform as well as the original versions (I've copied a couple hundred GB of data back and forth with no issues).

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: e1000e driver - test updates
« Reply #12 on: January 21, 2014, 02:21:42 am »
Hey David,

  I am running the 3.12 versions of both the Intel and Realtek drivers with no problems... the Intel on my file server and the Realtek on my internet machine. Thanks for updating them! I'll post if any problem comes up, but they seem to perform as well as the original versions (I've copied a couple hundred GB of data back and forth with no issues).

Thanks for the feedback! Next step will be to investigate a new wired chipset - most likely atheros or broadcom based on feedback from users.

Cheers,

Paul.

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #13 on: January 21, 2014, 04:28:29 am »
I am currently doing an RSync copy between my main machine (Asus M3A78-EM motherboard, with quad core Phenom processor), using r8169-3.12.8, and my Lenovo ThinkPad T510, which is using e1000e-3.12.8. The speed is maxing out at 1200 KB/s (according to IPMON). This is extremely SLOW, for a 1G network. I need to do more analysis, but I think it is BOTH drivers that are SLOW.

Doug Bissett

  • Hero Member
  • *****
  • Posts: 1593
  • Karma: +4/-2
    • View Profile
Re: e1000e driver - test updates
« Reply #14 on: January 21, 2014, 06:40:00 am »
I am currently doing an RSync copy between my main machine (Asus M3A78-EM motherboard, with quad core Phenom processor), using r8169-3.12.8, and my Lenovo ThinkPad T510, which is using e1000e-3.12.8. The speed is maxing out at 1200 KB/s (according to IPMON). This is extremely SLOW, for a 1G network. I need to do more analysis, but I think it is BOTH drivers that are SLOW.

Okay, this is what I found, so far:

r8169-3.12.8 runs at about the same speed as the "official" r8169-0.3.1 version does. About 7800 KB/s (IPMON), when my NVIDIA NIC is at the other end (I have seen it run at more then 20,000 KB/s). That is still way too slow, but Realtek NICs are known to be slow, on all platforms. Something needs to be fixed, but the problem seems to be unrelated to what you did.

e1000e-3.12.8 and e1000e-3.10.27, on the other hand, run at about 1200 KB/s. EXTREMELY slow. The "official" e1000e-0.2.3 version runs at about 12,000 KB/s. I then tried e1000e-3.8.13, and it is running at about 12,000 KB/s. So, there is some sort of problem that showed up in e1000e-3.10.27, that makes it run very slow. I don't have time to test e1000e-3.4.77 and e1000e-3.6.11 tonight (or tomorrow, until later in the day). I will stay with e1000e-3.8.13, until I have more time to play with this. 12,000 KB/s is still pretty slow for a 1 Gb network, but it is usable.