Take a look at our
ThinkPads.com HOME PAGE
For those who might want to contribute to the blog, start here: Editors Alley Topic
Then contact Bill with a Private Message
ThinkPads.com HOME PAGE
For those who might want to contribute to the blog, start here: Editors Alley Topic
Then contact Bill with a Private Message
Thinkpad T60 - Network latency with FC5
Thinkpad T60 - Network latency with FC5
Hi everyone. Just got a Thinkpad T60 (2007-66U) and am very happy
except for the network performance under Fedora FC5 Linux.
What I'm seeing is that network performance from the laptop going out
is fine, but incoming traffic is subjected to a bizzare form of
latency where inbound pings look like this:
64 bytes from 192.168.1.20: icmp_seq=2197 ttl=64 time=1000 ms
64 bytes from 192.168.1.20: icmp_seq=2198 ttl=64 time=0.555 ms
64 bytes from 192.168.1.20: icmp_seq=2199 ttl=64 time=1000 ms
64 bytes from 192.168.1.20: icmp_seq=2200 ttl=64 time=0.416 ms
64 bytes from 192.168.1.20: icmp_seq=2201 ttl=64 time=1000 ms
64 bytes from 192.168.1.20: icmp_seq=2202 ttl=64 time=0.325 ms
64 bytes from 192.168.1.20: icmp_seq=2203 ttl=64 time=1000 ms
64 bytes from 192.168.1.20: icmp_seq=2204 ttl=64 time=0.218 ms
So far I have tried the following:
- Reboot into Windows XP (I run dual-boot), go into driver properties,
turn off "Deep Smart Power Down" since that seems to be causing
problems for people.
- Download and re-build the e1000 module.
- Update Kernel to latest version (2.6.17-2157-smp).
The other thing I noticed is that when I'm downloading a bunch of
stuff (for example during a yum update), the inbound performance seems
to smooth out. I don't know what this means, maybe full/half
negotiation is getting messed up when the interface is relatively
idle. In case it matters I'm using a Linksys 10/100 switch.
Thanks, as always.
except for the network performance under Fedora FC5 Linux.
What I'm seeing is that network performance from the laptop going out
is fine, but incoming traffic is subjected to a bizzare form of
latency where inbound pings look like this:
64 bytes from 192.168.1.20: icmp_seq=2197 ttl=64 time=1000 ms
64 bytes from 192.168.1.20: icmp_seq=2198 ttl=64 time=0.555 ms
64 bytes from 192.168.1.20: icmp_seq=2199 ttl=64 time=1000 ms
64 bytes from 192.168.1.20: icmp_seq=2200 ttl=64 time=0.416 ms
64 bytes from 192.168.1.20: icmp_seq=2201 ttl=64 time=1000 ms
64 bytes from 192.168.1.20: icmp_seq=2202 ttl=64 time=0.325 ms
64 bytes from 192.168.1.20: icmp_seq=2203 ttl=64 time=1000 ms
64 bytes from 192.168.1.20: icmp_seq=2204 ttl=64 time=0.218 ms
So far I have tried the following:
- Reboot into Windows XP (I run dual-boot), go into driver properties,
turn off "Deep Smart Power Down" since that seems to be causing
problems for people.
- Download and re-build the e1000 module.
- Update Kernel to latest version (2.6.17-2157-smp).
The other thing I noticed is that when I'm downloading a bunch of
stuff (for example during a yum update), the inbound performance seems
to smooth out. I don't know what this means, maybe full/half
negotiation is getting messed up when the interface is relatively
idle. In case it matters I'm using a Linksys 10/100 switch.
Thanks, as always.
-
- Freshman Member
- Posts: 50
- Joined: Fri Jul 14, 2006 8:01 pm
- Location: Fort Worth, Texas
- Contact:
That is weird...
That is strange...
Since you mentioned the e1000 module, I'm guessing that the only interface up is your ethernet. What's the traceroute show? I assume you have iptables running; but did you enable SELinux as well?
What is really strange is that its every other packet. You may want to check your IP address allocations on the network as well.
What about a ping to 127.0.0.1 (localhost)?
djc
Since you mentioned the e1000 module, I'm guessing that the only interface up is your ethernet. What's the traceroute show? I assume you have iptables running; but did you enable SELinux as well?
What is really strange is that its every other packet. You may want to check your IP address allocations on the network as well.
What about a ping to 127.0.0.1 (localhost)?
djc
- SELinux is disabled
- Nothing going on with iptables
- Pings to localhost work fine
- No IP address collisions
- All basic network setup is sane
I've been poking around the Linux kernel mailing lists and there just
seem to be a few people like me who run into e1000 performance issues.
Do a google search on terms like "t60 e1000 network latency" and
you'll see what I'm talking about. There seems to be some hint that
it might be a kernel issue, although I've tried 2.6.15 thru 17 with
the same result.
I'll post back if I run into anything else. Thanks.
- Nothing going on with iptables
- Pings to localhost work fine
- No IP address collisions
- All basic network setup is sane
I've been poking around the Linux kernel mailing lists and there just
seem to be a few people like me who run into e1000 performance issues.
Do a google search on terms like "t60 e1000 network latency" and
you'll see what I'm talking about. There seems to be some hint that
it might be a kernel issue, although I've tried 2.6.15 thru 17 with
the same result.
I'll post back if I run into anything else. Thanks.
-
- Freshman Member
- Posts: 50
- Joined: Fri Jul 14, 2006 8:01 pm
- Location: Fort Worth, Texas
- Contact:
Fedora Issue?
So I take it this is a Fedora issue? I haven't experienced it in any of the other distros. I haven't put FC5 on the T60 yet; probably won't bother at this point.
I used to be, and still am in some areas, hardcore (and I mean gung-ho) redhat/FP, so don't take this the wrong way: have you considered installing another distro geared more towards the desktop/functionality environment and less towards the development environment? I just think your time might be better spent on something more productive than efficiently tethering yourself to a drop. Of course, if you're hacking the kernel for the same reason men climb mountains, then don't pay any attention to me. ;)
On a side note, I am surprised by this problem.
But definitely post when you resolve the issue.
Cheers,
djc
I used to be, and still am in some areas, hardcore (and I mean gung-ho) redhat/FP, so don't take this the wrong way: have you considered installing another distro geared more towards the desktop/functionality environment and less towards the development environment? I just think your time might be better spent on something more productive than efficiently tethering yourself to a drop. Of course, if you're hacking the kernel for the same reason men climb mountains, then don't pay any attention to me. ;)
On a side note, I am surprised by this problem.
But definitely post when you resolve the issue.
Cheers,
djc
No it's not just FC5. Take a look here, for example:
http://www.nabble.com/T60-and-Network-t1619775.html
I'm not enough of a kernel hacker to "get" what the guy announced as a solution.
There are also a bunch of e1000 fixes coming in 2.6.18.
http://www.nabble.com/T60-and-Network-t1619775.html
I'm not enough of a kernel hacker to "get" what the guy announced as a solution.
There are also a bunch of e1000 fixes coming in 2.6.18.
-
- Freshman Member
- Posts: 50
- Joined: Fri Jul 14, 2006 8:01 pm
- Location: Fort Worth, Texas
- Contact:
OK. I apologize if you've already tried both of these things....
1. Have you updated your BIOS to the latest release from IBM/Lenovo?
http://www-307.ibm.com/pc/support/site. ... MIGR-63024
2. Have you downloaded the latest driver from sourceforge?
http://sourceforge.net/projects/e1000 and then reviewed the README file for instructions on how to install and troubleshoot known issues?
After looking at that dude's post and the other posts talking about updating the BIOS, I'm guessing its a NAPI issue or a WoL (Wake on LAN) combined with LKM (Loadable Kernel Module) issue. I really don't think its kernel support for e100...I just don't buy that, we're talking about loadable kernel modules; however, I could be wrong.
IF THE BIOS UPDATE DOESN'T WORK:
When/if you decide to compile the new driver and load it (or if you already have), try typing this (instead of just 'make'):
make CFLAGS_EXTRA=-DE1000_NO_NAPI install
Of course, I just got that from googling and the readmes, so if you've already tried them, please disregard.
Hopefully, I'll run into a similar issue when we start loading Debian on our other laptops. If I do, I will post the resolution if I figure it out.
Again, this is likely a LKM (loadable kernel module); you should not have to bind the driver to the base kernel in order to get it to work right (that is, recompile the kernel). You also shouldn't have to remove support for other modules to get it work right.
I think the reason the kernel rebuilds are all working is because you would bind the driver into the base kernel, thereby allowing the driver to load properly. the more I think about this, the more I am leaning towards a WoL problem and the LKM not loading at the right time or something along those lines. Hence my recommendation to make absolutely sure the BIOS is up to date.
I may be wrong in this area, so if someone would politely correct me, I'd greatly appreciate it.
Cheers,
X
1. Have you updated your BIOS to the latest release from IBM/Lenovo?
http://www-307.ibm.com/pc/support/site. ... MIGR-63024
2. Have you downloaded the latest driver from sourceforge?
http://sourceforge.net/projects/e1000 and then reviewed the README file for instructions on how to install and troubleshoot known issues?
After looking at that dude's post and the other posts talking about updating the BIOS, I'm guessing its a NAPI issue or a WoL (Wake on LAN) combined with LKM (Loadable Kernel Module) issue. I really don't think its kernel support for e100...I just don't buy that, we're talking about loadable kernel modules; however, I could be wrong.
IF THE BIOS UPDATE DOESN'T WORK:
When/if you decide to compile the new driver and load it (or if you already have), try typing this (instead of just 'make'):
make CFLAGS_EXTRA=-DE1000_NO_NAPI install
Of course, I just got that from googling and the readmes, so if you've already tried them, please disregard.
Hopefully, I'll run into a similar issue when we start loading Debian on our other laptops. If I do, I will post the resolution if I figure it out.
Again, this is likely a LKM (loadable kernel module); you should not have to bind the driver to the base kernel in order to get it to work right (that is, recompile the kernel). You also shouldn't have to remove support for other modules to get it work right.
I think the reason the kernel rebuilds are all working is because you would bind the driver into the base kernel, thereby allowing the driver to load properly. the more I think about this, the more I am leaning towards a WoL problem and the LKM not loading at the right time or something along those lines. Hence my recommendation to make absolutely sure the BIOS is up to date.
I may be wrong in this area, so if someone would politely correct me, I'd greatly appreciate it.
Cheers,
X
- BIOS is at 1.06.
- Intel driver is at 7.1.9
I hear ya on the question of when and if the module is binding. The
README mentions that the e1000 module is written on purpose to have a
zero reference count when you use lsmod. I don't know if there is a
more clever use of lsmod or some other command to see what the
module is really doing.
- Intel driver is at 7.1.9
I hear ya on the question of when and if the module is binding. The
README mentions that the e1000 module is written on purpose to have a
zero reference count when you use lsmod. I don't know if there is a
more clever use of lsmod or some other command to see what the
module is really doing.
-
- Freshman Member
- Posts: 50
- Joined: Fri Jul 14, 2006 8:01 pm
- Location: Fort Worth, Texas
- Contact:
Latest BIOS release is 1.07, however, the controller version says they are the same. I wouldn't trust it, try updating anyway and see what happens. Can't hurt.
Try dmesg and see if that gives you any ideas.
Also check /proc/modules.
Beyond that, without being at the box, and without having an identical configuration in front of me, there isn't a whole lot more I can suggest beyond hunting through the README and running a bare minimum make on the driver module, seeing if excluding certain functionality gets rid of the problem, and then remaking the module (and testing each build) bit by bit until you identify exactly what area the problem is originating in.
I really don't feel that binding the driver to the base kernel is an acceptable solution; its just a work-around in this particular case.
However, learning to build your own kernel is a very valuable skill; it comes in very handy if you are ever an admin that is striving for the greatest efficiency out of your servers. So fixing the matter by compiling a custom kernel would be a worthwhile endeavor. You may just discover that you prefer to customize your kernel to obtain the greatest performance from your Thinkpad. Its really not all that tough once you've done it a couple of times. More like changing the oil in your car.
Good luck resolving the problem and be sure to post the solution.
Cheers,
X
Try dmesg and see if that gives you any ideas.
Also check /proc/modules.
Beyond that, without being at the box, and without having an identical configuration in front of me, there isn't a whole lot more I can suggest beyond hunting through the README and running a bare minimum make on the driver module, seeing if excluding certain functionality gets rid of the problem, and then remaking the module (and testing each build) bit by bit until you identify exactly what area the problem is originating in.
I really don't feel that binding the driver to the base kernel is an acceptable solution; its just a work-around in this particular case.
However, learning to build your own kernel is a very valuable skill; it comes in very handy if you are ever an admin that is striving for the greatest efficiency out of your servers. So fixing the matter by compiling a custom kernel would be a worthwhile endeavor. You may just discover that you prefer to customize your kernel to obtain the greatest performance from your Thinkpad. Its really not all that tough once you've done it a couple of times. More like changing the oil in your car.
Good luck resolving the problem and be sure to post the solution.
Cheers,
X
-
- Freshman Member
- Posts: 50
- Joined: Fri Jul 14, 2006 8:01 pm
- Location: Fort Worth, Texas
- Contact:
That's because the patch is for the module. Once you compile the new 3rd party driver, the module should load properly. You will need the kernel-development package to do this.
To build it statically into the kernel you need to research how to build a custom kernel, specifically look for how to copy your existing configuration, then how use a config program to dicate the behavior of each of the kernel modules (not available, LKM, static) after copying your existing configuration into the new configuration (the one you are editing prior to compiling).
Good places to start:
http://www.kernelnewbies.org
http://www.digitalhermit.com/linux/Kern ... HOWTO.html
Given the terms and administration you are discussing, I highly recommend that you walk through the exercise of building your own kernel and having it boot successfully at least once. It will clear up a lot of your current questions, while filling your head up with twice as many other questions as you had before. Ah, the beauty of learning....
Heck, this thread alone has reminded me that I am overdue for playing around with a Linux kernel using the included tools again; been stuck in the OpenBSD world for too long...
Have fun!
X
To build it statically into the kernel you need to research how to build a custom kernel, specifically look for how to copy your existing configuration, then how use a config program to dicate the behavior of each of the kernel modules (not available, LKM, static) after copying your existing configuration into the new configuration (the one you are editing prior to compiling).
Good places to start:
http://www.kernelnewbies.org
http://www.digitalhermit.com/linux/Kern ... HOWTO.html
Given the terms and administration you are discussing, I highly recommend that you walk through the exercise of building your own kernel and having it boot successfully at least once. It will clear up a lot of your current questions, while filling your head up with twice as many other questions as you had before. Ah, the beauty of learning....
Heck, this thread alone has reminded me that I am overdue for playing around with a Linux kernel using the included tools again; been stuck in the OpenBSD world for too long...
Have fun!
X
-
- Freshman Member
- Posts: 50
- Joined: Fri Jul 14, 2006 8:01 pm
- Location: Fort Worth, Texas
- Contact:
Ahhhhhh.....
make gconfig
You kids don't know how good you have it nowadays! No eye assaulting ncurses menus, and most of all, no more figgin' having to go through answer Y, N, M 500 times with the vain hope that you won't screw up and have to start all over again!
If you do start experimenting with kernel hacking, type "make config" just once to start the process I had to go through the very first time I tried to build my own kernel on a Toshiba laptop with a 500MB hard drive ($4k at the time; quite a little prize). Time yourself and let me know just how far you make it before you Ctrl+C while saying "eff this!" I remember discovering menuconfig and being in heaven at that time.
Cheers,
X
make gconfig
You kids don't know how good you have it nowadays! No eye assaulting ncurses menus, and most of all, no more figgin' having to go through answer Y, N, M 500 times with the vain hope that you won't screw up and have to start all over again!
If you do start experimenting with kernel hacking, type "make config" just once to start the process I had to go through the very first time I tried to build my own kernel on a Toshiba laptop with a 500MB hard drive ($4k at the time; quite a little prize). Time yourself and let me know just how far you make it before you Ctrl+C while saying "eff this!" I remember discovering menuconfig and being in heaven at that time.
Cheers,
X
Have you had any luck with this? I'm seeing the same problem on my X60s, using debian. It's very annoying!
The most annoying thing is that I remember seeing a web page that described this problem exactly, along with a fix.. but it was about a month ago, and I can't find it now, despite spending ages poking around google.
The most annoying thing is that I remember seeing a web page that described this problem exactly, along with a fix.. but it was about a month ago, and I can't find it now, despite spending ages poking around google.
-
- Freshman Member
- Posts: 111
- Joined: Thu Aug 03, 2006 5:06 am
- Location: Berlin, Germany
Exact same problem here, T60, latest BIOS (1.09a), using debian sarge with a 2.6.16.20 custom kernel. I followed the advice at http://www.nabble.com/T60-and-Network-t1619775.html , deactivating the e100 support and activating NAPI (whatever that means), but without any change in behaviour. It seems that not only ping times are horrid (exactly like shmithrs' times - every 2nd one is around 1000ms), also the data transfer rates within the network are limited to about 100kbps. I also quick-checked with the xubuntu 6.06 live cd (afaik essentialy a debian etch system) without any difference.
I'll try again when 2.6.18 final is out and keep you posted. I also have yet to try the sourceforge driver.
I'll try again when 2.6.18 final is out and keep you posted. I also have yet to try the sourceforge driver.
-
- Freshman Member
- Posts: 111
- Joined: Thu Aug 03, 2006 5:06 am
- Location: Berlin, Germany
I'm seeing some improvement with kernel-smp-2.6.17-1.2187 under FC5.
It went from this (2.6.17-1.2174):
64 bytes from helium (192.168.1.20): icmp_seq=357 ttl=64 time=351 ms
64 bytes from helium (192.168.1.20): icmp_seq=358 ttl=64 time=1000 ms
64 bytes from helium (192.168.1.20): icmp_seq=359 ttl=64 time=0.353 ms
64 bytes from helium (192.168.1.20): icmp_seq=360 ttl=64 time=1000 ms
64 bytes from helium (192.168.1.20): icmp_seq=361 ttl=64 time=0.692 ms
64 bytes from helium (192.168.1.20): icmp_seq=362 ttl=64 time=1000 ms
64 bytes from helium (192.168.1.20): icmp_seq=363 ttl=64 time=0.545 ms
64 bytes from helium (192.168.1.20): icmp_seq=364 ttl=64 time=1000 ms
64 bytes from helium (192.168.1.20): icmp_seq=365 ttl=64 time=0.418 ms
64 bytes from helium (192.168.1.20): icmp_seq=366 ttl=64 time=1000 ms
To this (2.6.17-1.2187):
64 bytes from helium (192.168.1.20): icmp_seq=502 ttl=64 time=97.3 ms
64 bytes from helium (192.168.1.20): icmp_seq=503 ttl=64 time=97.2 ms
64 bytes from helium (192.168.1.20): icmp_seq=504 ttl=64 time=0.266 ms
64 bytes from helium (192.168.1.20): icmp_seq=505 ttl=64 time=0.193 ms
64 bytes from helium (192.168.1.20): icmp_seq=506 ttl=64 time=0.611 ms
64 bytes from helium (192.168.1.20): icmp_seq=507 ttl=64 time=0.508 ms
64 bytes from helium (192.168.1.20): icmp_seq=508 ttl=64 time=97.4 ms
64 bytes from helium (192.168.1.20): icmp_seq=509 ttl=64 time=97.3 ms
64 bytes from helium (192.168.1.20): icmp_seq=510 ttl=64 time=97.2 ms
64 bytes from helium (192.168.1.20): icmp_seq=511 ttl=64 time=97.1 ms
64 bytes from helium (192.168.1.20): icmp_seq=512 ttl=64 time=97.6 ms
64 bytes from helium (192.168.1.20): icmp_seq=513 ttl=64 time=25.5 ms
64 bytes from helium (192.168.1.20): icmp_seq=514 ttl=64 time=97.4 ms
64 bytes from helium (192.168.1.20): icmp_seq=515 ttl=64 time=97.3 ms
It seems to pick a number between 90ms and 130ms and just hover there
while the CPU is idle. And when CPU activity perks up the ping times
drop down to sub-millisecond.
It went from this (2.6.17-1.2174):
64 bytes from helium (192.168.1.20): icmp_seq=357 ttl=64 time=351 ms
64 bytes from helium (192.168.1.20): icmp_seq=358 ttl=64 time=1000 ms
64 bytes from helium (192.168.1.20): icmp_seq=359 ttl=64 time=0.353 ms
64 bytes from helium (192.168.1.20): icmp_seq=360 ttl=64 time=1000 ms
64 bytes from helium (192.168.1.20): icmp_seq=361 ttl=64 time=0.692 ms
64 bytes from helium (192.168.1.20): icmp_seq=362 ttl=64 time=1000 ms
64 bytes from helium (192.168.1.20): icmp_seq=363 ttl=64 time=0.545 ms
64 bytes from helium (192.168.1.20): icmp_seq=364 ttl=64 time=1000 ms
64 bytes from helium (192.168.1.20): icmp_seq=365 ttl=64 time=0.418 ms
64 bytes from helium (192.168.1.20): icmp_seq=366 ttl=64 time=1000 ms
To this (2.6.17-1.2187):
64 bytes from helium (192.168.1.20): icmp_seq=502 ttl=64 time=97.3 ms
64 bytes from helium (192.168.1.20): icmp_seq=503 ttl=64 time=97.2 ms
64 bytes from helium (192.168.1.20): icmp_seq=504 ttl=64 time=0.266 ms
64 bytes from helium (192.168.1.20): icmp_seq=505 ttl=64 time=0.193 ms
64 bytes from helium (192.168.1.20): icmp_seq=506 ttl=64 time=0.611 ms
64 bytes from helium (192.168.1.20): icmp_seq=507 ttl=64 time=0.508 ms
64 bytes from helium (192.168.1.20): icmp_seq=508 ttl=64 time=97.4 ms
64 bytes from helium (192.168.1.20): icmp_seq=509 ttl=64 time=97.3 ms
64 bytes from helium (192.168.1.20): icmp_seq=510 ttl=64 time=97.2 ms
64 bytes from helium (192.168.1.20): icmp_seq=511 ttl=64 time=97.1 ms
64 bytes from helium (192.168.1.20): icmp_seq=512 ttl=64 time=97.6 ms
64 bytes from helium (192.168.1.20): icmp_seq=513 ttl=64 time=25.5 ms
64 bytes from helium (192.168.1.20): icmp_seq=514 ttl=64 time=97.4 ms
64 bytes from helium (192.168.1.20): icmp_seq=515 ttl=64 time=97.3 ms
It seems to pick a number between 90ms and 130ms and just hover there
while the CPU is idle. And when CPU activity perks up the ping times
drop down to sub-millisecond.
Found more info and a possible workaround (read all the way to the bottom):
http://bugme.osdl.org/show_bug.cgi?id=6929
http://bugme.osdl.org/show_bug.cgi?id=6929
-
- Freshman Member
- Posts: 111
- Joined: Thu Aug 03, 2006 5:06 am
- Location: Berlin, Germany
-
- Similar Topics
- Replies
- Views
- Last post
-
-
SOLVED On ThinkPad SR650 network don't work
by paolo_holzl » Mon Nov 20, 2023 11:43 am » in Windows 10/11/etc. - 0 Replies
- 3408 Views
-
Last post by paolo_holzl
Mon Nov 20, 2023 11:43 am
-
-
-
can the wires of the network card be replaced?
by thisway » Thu Jan 18, 2024 10:47 am » in ThinkPad T400/T410/T420 and T500/T510/T520 Series - 4 Replies
- 1116 Views
-
Last post by axur-delmeria
Thu Jan 18, 2024 1:02 pm
-
-
-
Go Retro! IBM ThinkPad T60
by TPFanatic » Sat Apr 13, 2024 11:37 pm » in Pictures of your ThinkPad & desk setup - 2 Replies
- 311 Views
-
Last post by TPFanatic
Mon Apr 15, 2024 4:00 pm
-
-
-
T60 - How would I do an LED mod?
by connect5 » Mon Nov 27, 2023 4:11 pm » in ThinkPad T60/T61 Series - 9 Replies
- 4529 Views
-
Last post by RealBlackStuff
Wed Dec 27, 2023 3:28 am
-
Who is online
Users browsing this forum: No registered users and 11 guests