My system configuration:
ASUS M2A-VM motherboard
AMD Athlon 64
X2 4200+ 2.2 GHz
4x A-DATA 1GB DDR2 800 memory
2x Intel 10/100/1000
Pro/1000 GT Desktop Network Adapter
2x Seagate Barracuda 250GB HD (RAID 1,
software RAID)
CentOS 5 x86_64; Kernel 2.6.23 (custom built); Version
7.6.9.2 e1000 driver
The symptoms of this problem are outlined at:
http://e1000.sourceforge.net/wiki/index.php/Issues
http://e1000.sourceforge.net/wiki/in...p/Tx_Unit_Hang
Last night I started experiencing the "Detected Tx Unit Hang"
problem with the Intel
e1000 NIC. This happened after I upgraded my system
to 4GB RAM (previously 2GB). I have 2
of these cards in the system. I
updated the Linux kernel to 2.6.23 and I downloaded from
Sourceforge and
installed the most recent stable version of the e1000 driver for Linux,
version 7.6.9.2. I still experiencing the "Detected Tx Unit Hang"
message. I had to
recompile the kernel because upgrading to 4GB with the
current kernel for CentOS 5
(2.6.18.8-1) causes an error, ata1: softreset
failed (1st FIS failed), which results in a
kernel panic. Upgrading the
kernel to 2.6.23 fixed that problem, but now I have a problem
with my
network cards.
Searching around, I found posts saying that disabling
acpi with the kernel options
"acpi=off noacpi" would fix it, but
it did not. I tried added explicit modprobe options
for the driver in
/etc/modprobe.conf (options e1000 XsumRX=0 Speed=1000 Duplex=2
InterruptThrottleRate=0 FlowControl=3 RxDescriptors=4096 TxDescriptors=4096
RxIntDelay=0
TxIntDelay=0). Still no change. Still getting experiencing
the problem.
I then tried another suggestion I found in a forum
discussion `ethtool -K eth0 tso=off`.
Seems to have had no effect on the
problem.
This problem occurs immediately when the system is trying to
bring the device up. I
cannot even get to a point to try sending traffic
over the network interface because it
never negotiates an IP address from
DHCP. If I specify a static IP address, the address
is assigned, but I
still experience the problem, and I cannot even ping another host.
Now, if I reduce the amount of RAM to 3GB or less, everything works fine! So,
this leads
me to believe that my kernel and driver are configured,
compiled, and functioning
correctly. It also leads me to believe that
there are no problems with the network cards.
So, I though perhaps a bad
memory module, but no matter which 3 modules of the 4 I leave
in, I get
the same results. Everything works fine until I add the 4th module.
Then I found an article on Intel's site saying that some older EEPROM have the
power
management option turned on, and that could cause the problem. So, I
downloaded the
script that would fix the bit in the EEPROM (turning off
power management). The script
says that it does not apply to my version of
the EEPROM. When I run `ethtool -e
(eth0|eth1)` I do not have the bit on
0x0010 that is set to "de", so I must believe that
the script is
correct in assessing that it does not apply to my NICs.
So, I thought
that perhaps my power supply could be the problem. Perhaps the PSU doesn't
supply enough power to power everything when I add the 4th memory module. It
is just a
generic 300W PSU that came with the case (I have new 500W PSUs
on the way). So, I pulled
out one of the NICs and disconnected the DVD
drive. That is about all I can eliminate.
Reducing the hardware installed
made no difference.
I am running the 64-bit kernel, so I should have
no trouble supporting the 4GM RAM,
correct?.
Now, I am out of
ideas, and I seem to have hit a brick wall. One of the things that
disturbs me is that all of the articles I have found concerning this problem
are dated
1-2 years ago.
Can anyone offer me any assistance?
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.