• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 445
  • Last Modified:

Linux can transmit on eth0 but not receive

Hi - I have two linux boxes on a local ethernet, and one can transmit & receive fine, but the other can only transmit.  I've replaced and swapped cables and cards (3com 509B), but nothing helps.

The machines are:
10.1.1.2   redhat 5.2
All WORKS well; can transmit/receive through a router.  route table:
Destination     Gateway         Genmask        
10.1.1.2        0.0.0.0         255.255.255.255  eth0
10.1.1.0        0.0.0.0         255.255.255.0    eth0
127.0.0.0       0.0.0.0         255.0.0.0      lo
0.0.0.0         10.1.1.1        0.0.0.0         eth0


10.1.1.7  redhat 6.0
can transmit only.
route table:
10.1.1.7   0.0.0.0   255.255.2552.55   eth0
10.1.1.0   0.0.0.0   255.255.255.0       eth0
127.0.0.0  0.0.0.0  255.0.0.0           lo0
0.0.0.0      10.1.1.1  0.0.0.0     eth0


router 10.1.1.1
works well.


I run tcpdump on both linux boxes and when
I ping from 10.1.1.7 to 10.1.1.2 , I see:
10.1.1.2 log:
      arp who-has 10.1.1.2 tell 10.1.1.7
      arp who-has 10.1.1.1 tell 10.1.1.7
over and over.

On 10.1.1.2 I see, over and over:
arp who-has 10.1.1.1 tell 10.1.1.7
arp reply 10.1.1.1 is-at 0:50:73:7:c6:b8
arp who-has 10.1.1.2 tell 10.1.1.7
arp reply 10.1.1.2 is-at 0:90:27:54:7a:55


Any help Appreciated!!
0
ssullivan
Asked:
ssullivan
  • 3
  • 2
  • 2
  • +1
1 Solution
 
truckampCommented:
I had the same problem. I tried multiple 3c509s and each one did the same thing. You need to change the irq the card is using. I did thid by commenting out and editing the isapnp.conf file it should be in your /etc directory. If it is not there you need to creat the file I forget the exact syntax but I believe it was as folows
pnpdump > /etc/isapnp.conf that should create the file.
then edit it and reboot and you should be fine.
0
 
foxrCommented:
If you notice on the machine you can transmit only, you have a mistake in the table....2552?  this looks like the problem to me.   10.1.1.7   0.0.0.0   255.255.2552.55   eth0
0
 
foxrCommented:
If you notice on the machine you can transmit only, you have a mistake in the table....2552?  this looks like the problem to me.   10.1.1.7   0.0.0.0   255.255.2552.55   eth0

Also the .55 is probably going to bite you too.
0
[Webinar] Improve your customer journey

A positive customer journey is important in attracting and retaining business. To improve this experience, you can use Google Maps APIs to increase checkout conversions, boost user engagement, and optimize order fulfillment. Learn how in this webinar presented by Dito.

 
foxrCommented:
Your problem is in your first line of the routing table...
            10.1.1.7  redhat 6.0
                 can transmit only.
                 route table:
PROBLEM LINE ==> 10.1.1.7   0.0.0.0   255.255.2552.55   eth0
You have the 3rd octet as 2552 and  the foruth octet as 55.
Hope this helps.  
0
 
ssullivanAuthor Commented:
The pnpdump idea is the first ray of hope in a long while.  Sorry about the 2552 route, it's actually 255.255.255.255 on my computer, but I mistyped the expertsexchange query.

I think the problem is related to isapnp, but
how do I change it?
The pnpdump -c output is shown below.
===============================================
$ pnpdump -c > tempc
$ cat tempc
# $Id: pnpdump.c,v 1.18 1999/02/14 22:47:18 fox Exp $
# This is free software, see the sources for details.
# This software has NO WARRANTY, use at your OWN RISK
#
# For details of this file format, see isapnp.conf(5)
#
# For latest information and FAQ on isapnp and pnpdump see:
# http://www.roestock.demon.co.uk/isapnptools/
#
# Compiler flags: -DREALTIME -DNEEDSETSCHEDULER -DABORT_ONRESERR
#
# Trying port address 0203
# Board 1 has serial identifier 07 4b d4 ef f0 98 50 6d 50

# (DEBUG)
(READPORT 0x0203)
(ISOLATE PRESERVE)
(IDENTIFY *)
(VERBOSITY 2)
(CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING

# Card 1: (serial identifier 07 4b d4 ef f0 98 50 6d 50)
# Vendor Id TCM5098, Serial Number 1272246256, checksum 0x07.
# Version 1.0, Vendor version 1.0
# ANSI string -->3Com 3C509B EtherLink III<--
#
# Logical device id TCM5098
#     Device support I/O range check register
#     Device supports vendor reserved register @ 0x38
#     Device supports vendor reserved register @ 0x3a
#     Device supports vendor reserved register @ 0x3d
#
# Edit the entries below to uncomment out the configuration required.
# Note that only the first value of any range is given, this may be changed if required
# Don't forget to uncomment the activate (ACT Y) when happy

(CONFIGURE TCM5098/1272246256 (LD 0
#     Compatible device id PNP80f7
#     IRQ 3, 5, 7, 9, 10, 11, 12 or 15.
#         High true, edge sensitive interrupt (by default)
  (INT 0 (IRQ 3 (MODE +E)))
#     Logical device decodes 16 bit IO address lines
#         Minimum IO base address 0x0210
#         Maximum IO base address 0x03e0
#         IO base alignment 16 bytes
#         Number of IO addresses required: 16
  (IO 0 (SIZE 16) (BASE 0x0210) (CHECK))
 (NAME "TCM5098/1272246256[0]{3Com 3C509B EtherLink III}")
  (ACT Y)
))
# End tag... Checksum 0x00 (OK)

# Returns all cards to the "Wait for Key" state
(WAITFORKEY)
===============================================

When I issue:

pnpdump -c > tempc
isapnp tempc

I get the following messages:
Board 1 has Identity 07 4b d4 ef f0 98 50 6d 50:  TCM5098 Serial No 1272246256 [checksum 07]
tempc:47 -- Fatal - resource conflict allocating 16 bytes of IO at 210 (see tempc)
tempc:47 -- Fatal - IO range check attempted while device activated
tempc:47 -- Fatal - Error occurred executing request '<IORESCHECK> ' --- further action aborted

If I change the IRQ for the 509 card to IRQ 5
I get:

Board 1 has Identity 07 4b d4 ef f0 98 50 6d 50:  TCM5098 Serial No 1272246256 [checksum 07]
tempd:47 -- Fatal - resource conflict allocating 16 bytes of IO at 210 (see tempd)
tempd:47 -- Fatal - IO range check attempted while device activated
tempd:47 -- Fatal - Error occurred executing request '<IORESCHECK> ' --- further action aborted




I think we're on the right track here.  But what
do I change?
Many thanks!
Steve

My BIOS Setup Utility shows ...
Plug & Play O/S:  No
Reset Config Data: No
Perepheral Configuration:
      Serial port A: enabled
            Base I/O addr: 3F8
            Interrupt: IRQ 4
      Serial port B: enabled
            Mode: normal
            Base I/O addr: 2F8
            Interrupt: IRQ 3
      Parallel port: enabled
            Mode: bi-directional
            Base I/O addr: 378
            Interrupt: IRQ 7
      Autio: enabled
      Legacy USB Support: enabled
IDE Configuration:
      IDE controller: both
      ....etc
Floppy disk controller: enabled
DMI event logging: enabled
Video, etc. ... etc.
0
 
truckampCommented:
Ok our files look almost identical. hHere is what  the bottom part of mine looked like
(CONFIGURE TCM5098/1272246256 (LD 0
                          Compatible device id PNP80f7
                         IRQ  5,
                            High true, edge sensitive interrupt (by default)
                        (INT 0 (IRQ 5  (MODE +E)))
                          Logical device decodes 16 bit IO address lines
                               Minimum IO base address 0x0210
                              Maximum IO base address 0x03e0
                              IO base alignment 16 bytes
                    #         Number of IO addresses required: 16
                        (IO 0 (SIZE 16) (BASE 0x0210) (CHECK))
                       (NAME "TCM5098/1272246256[0]{3Com 3C509B EtherLink III}")
                        (ACT Y)
                      ))
                      # End tag... Checksum 0x00 (OK)

                      # Returns all cards to the "Wait for Key" state
                      (WAITFORKEY)

Note My card now works fine however I do get an error on bootup saying error in line 41 of isapnp.conf file however after all the hassle I went through I leave it alone just knowing it works.
Make sure the file is in /etc/isapnp.conf

Thanks
Kevin
0
 
jlamorieCommented:
I'm having the exact same problem, however I'm finding it pretty wierd.  I've tried it with the following cards, but they are all on IRQ 10. (I think)

3c905,3c509(ISA),DEC Tulip

I've tried a couple different kernels.  2.2.10 2.2.12

I noticed that the output from ifconfig (and /proc/net/dev) showed that while pinging from the 'bad' box, the statistics for received errors and frames was increasing.  This would stop when there was no traffic.

I'm going to try the IRQ thing, but I don't know how to on a PCI board.  Please let me know if you find a solution.
0
 
ssullivanAuthor Commented:
Hi -
SOLVED!
I'm using an Intel motherboard with a built-in sound card.
A friend used the BIOS menus to disable the sound
card, and now EVERYTHING WORKS!  It was a simple
IRQ conflict between Intel's sound adapter and the
3Com 509.  The same problem happened with a newer
3Com PCI card ( I forget the model - something
like "officeConnect"), and the newer card also worked
fine after disabling the sound adapter.
0
 
jlamorieCommented:
Sheesh.. that didn't solve my problems.

I mean, I got the DEC Tulip running.. kinda.  In NT it works fine, but in Linux it doesn't quite start working until I sorta kick around the modules.   I did play with the PCI IRQ assignment a bit...

anyway.. I'm typing this through the tulip...
0

Featured Post

2018 Annual Membership Survey

Here at Experts Exchange, we strive to give members the best experience. Help us improve the site by taking this survey today! (Bonus: Be entered to win a great tech prize for participating!)

  • 3
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now