Solved

3Com Problems. Hardware or Software?

Posted on 1997-11-14
8
538 Views
Last Modified: 2008-02-26
I have a Machine running the 2.0.25 kernel (Caldera Distribution) and am using it as a firewall with ip_masq. I have been using 3c509 ISA,3c590 Etherlink III PCI (vortex), and 3c595 Etherlink III XL (boomerang) PCI cards.

A while back, every now and then, the network interface that serviced the network behind the firewall would stop working (eth1 3c509). There were no messages from the kernel directly related to eth1. I tried to restart the interface but nothing seemed to fix the problem except a clean reboot. The same problem continued for several weeks with the same interface. After a while I began to suspect that I had a
bad NIC. I replaced the 3c509 ISA card with a new 3c590 Etherlink III PCI. After a few days, the problem returned. I then replaced the card with a 3c595 Etherlink III XL PCI. At the same time  I upgraded the 3c59x.c driver which has support for the XL. Everything seemed to  work fine for several weeks until last thursday when several users started to complain  that TCP/IP connections to services outside the firewall were being disconnected or timing out. I immediately checked the status of the ethernet cards on my firewall looking for signs of errors when I came across strange messages from the kernel:

eth1: transmit timed out, tx_status 00 status e000.
Flags; bus-master 1, full 1; dirty 226228 current 226244.
Transmit list 0029aa60 vs. 0029aa60.
 0: @0029aa20  length 800000aa status 000000aa
 1: @0029aa30  length 800000aa status 000000aa
 2: @0029aa40  length 800000aa status 800000aa
 ...
eth1: Freeing Tx ring entries:eth1: transmit timed out, tx_status 00
status e000
Flags; bus-master 1, full 1; dirty 226228 current 226245.
Transmit list 0029aa60 vs. 0029aa60.
 0: @0029aa20  length 800000aa status 000000aa
 1: @0029aa30  length 800000aa status 000000aa
 2: @0029aa40  length 800000aa status 800000aa
 ...

Even after the errors, the card seemed to be functioning correctly. I have only seen this error once but users are still reporting problems. At this point I am wondering
if the problem is related to the firewall or the driver since the interface has always been the same? Or, am I having a bad luck with 3com cards?

The kernel says the following about my cards when it boots:
eth0: 3Com 3c590 Vortex 10Mbps at 0xe000, 00:a0:24:70:65:42, IRQ 12
  8K byte-wide RAM 1:1 Rx:Tx split, 10baseT interface.
eth0: Overriding PCI latency timer (CFLT) setting of 32, new value is
248.
eth1: 3Com 3c905 Boomerang 100baseTx at 0xd800, 00:60:97:de:6f:ac, IRQ
11
  8K word-wide RAM 3:5 Rx:Tx split, MII interface.
eth1: MII transceiver found at address 24.
  Enabling bus-master transmits and whole-frame receives.
eth1: Overriding PCI latency timer (CFLT) setting of 32, new value is
248.
3c59x.c:v0.46B 9/25/97 Donald Becker
http://cesdis.gsfc.nasa.gov/linux/drivers/

Any suggestions?

Thanks in advance,
Eric Lefler
elefler@cvdls.ucdavis.edu

0
Comment
Question by:elefler
8 Comments
 

Author Comment

by:elefler
Comment Utility
Adjusted points to 150
0
 
LVL 3

Expert Comment

by:sauron
Comment Utility
My best suggestion would be to mail the driver author......
0
 

Expert Comment

by:agrajag
Comment Utility
This is a known issue with the vortex driver.  Apparently fixed with the newest revision.  Please check out <a href="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html">http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html</a> for the most current driver, and keep it in bookmarks for later reference.
0
 

Author Comment

by:elefler
Comment Utility
Ok, I installed the v0.46c version of the driver. I guess I was using v0.46b. Although I have not seen the errors reported above, users are still having the same problems with TCP connections timing out. Also, this afternoon the other ethernet (eth0) card failed. Rebooting was the only way to correct the problem.

The kernel messages I got were:
eth0: Transmit error, Tx status register 90.
eth0: transmit timed out, tx_status 00 status e000.
last message repeated 22 times
eth0: Host error, FIFO diagnostic register 0400.
last message repeated 22 times
0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 

Expert Comment

by:agrajag
Comment Utility
Use the 3Com setup program, explicitly state that you do not want full duplex transfers.  BTW, this is a seperate question.  :-)
0
 

Author Comment

by:elefler
Comment Utility
I checked both cards with the 3Com config utility and both have full duplex operation disabled (this is the default setting for these cards). Anyway, the vortex (eth0) never reported errors until I upgraded the driver to .46c. I am going to try the 2.0.23 kernel which includes v.46c to see if this fixed the problem.


0
 
LVL 4

Accepted Solution

by:
unicorntech earned 150 total points
Comment Utility
The original question was wether this was a hardware or software issue and I believe that you will find that it is a hardware issue. To prove this try installing a generic NE2000 eth card and see if you get the same errors. I think you will find that this will eliminate the problems you are getting as it is widely held that 3Com cards and linux do not work wrell together.

Let me know if this fixes it,

Jason
0
 

Author Comment

by:elefler
Comment Utility
I agree that the NE2000 is a great card for Linux. However, it's performance is poor. This machine is routing all internet traffic for about 200 machines. Anyway, we are planing to move it to 100mbps switch soon so we need the 10/100 cards.

Well, It turns out that the problem was related to two things. When one of my cards went bad a while back I swapped it for the
3com Etherlink III XL (the only spare card I had on-hand) and upgraded the 3c59x.c driver in order to support the newer
card.  Not only did the driver have a bug in it (1), somehow the default timeout for ip_masq was set to 15 minutes (2). I had never paid much attention to this setting before since it must have been high enough not to cause a problem. Well, it turns out that idle TCP connections were timing out after 15 minutes wich is ok for things like HTTP or FTP. However for SQL*Net and Telent sessions this is a problem. Anyway, I changed this value to 4 hours using ipfwadm and the problem has gone away. My trusty Linux box has been running the 2.0.23 kernel for a week now without problems.

Thanks for everyone's help
Eric Lefler
elefler@cvdls.ucdavis.edu
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

I have seen several blogs and forum entries elsewhere state that because NTFS volumes do not support linux ownership or permissions, they cannot be used for anonymous ftp upload through the vsftpd program.   IT can be done and here's how to get i…
Note: for this to work properly you need to use a Cross-Over network cable. 1. Connect both servers S1 and S2 on the second network slots respectively. Note that you can use the 1st slots but usually these would be occupied by the Service Provide…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now