odd 100BaseT Linux/Win95 behavior

Brian Hall brihall@bigfoot.com
Mon Nov 9 19:06:11 1998

I am running a small peer-to-peer LAN in my basement with two PCs
connected by a Cat5 crossover cable. The two computers are a RH5.1 Linux
box (syrinx) and a Win95 box (daisy). The systems are described in more
detail below, but the basic problem is this: Sometimes the network
works, and sometimes it doesn't. Syrinx can boot into either Linux or
Win95; the network works everytime in Windows. So far it has worked
twice out of a dozen reboots or more in Linux. Once it works during a
particular "boot session", it will continue to work unless I take one of
the machines down. The first time I got it to work I had them both up
for a couple of days.

The link lights indicate a good physical connection. I suspect that
maybe the Linux tulip drivers aren't resetting the card properly? I am
just about at my wit's end on this one. I previously had the PCs
networked using ISA NE2000 clones and coax.

What is wrong with my network configuration?

(Separate problem: Also, I run KDE. I can only get a dialup PPP
connection using kppp; xisp connects but fails to give me a dynamic IP
and then disconnects. Ideas?)

AMD K6-233 (running at 266Mhz, PCI bus at 37.5Mhz), 128MB, RedHat Linux
5.1, LinkSys EtherFast 10/100 Lan Card (PCI), Abit IT5H M/B. 2.0.35
kernel with Jumbo-2.0.35 patch and the latest tulip.c, with the slight
	static int full_duplex[MAX_UNITS] = {1, };
	static int options[MAX_UNITS] = {14, };
to ensure that it comes up in 100MB full-duplex mode.

from the boot message log:
tulip.c:v0.89H 5/23/98 becker@cesdis.gsfc.nasa.gov
eth0: Lite-On 82c168 PNIC at 0x6400, 00 a0 cc 20 7a 76, IRQ 9.
eth0:  MII transceiver found at MDIO address 1, config 0000 status 7829.
eth0:  Advertising 0101 on PHY 1, previously advertising 7100. 
ARP: arp called for own IP address
eth0: Changing PNIC configuration to full-duplex, CSR6 816e0200.  

Using tulip-diag:
# tulip-diag -p 0x6400 -a -f
tulip-diag.c:v1.06 9/18/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Digital DC21040 Tulip Tulip chip registers at 0x6400:
  00008000 01ff0000 00450008 00fff028 00fff228 02660010 816e2202
  00000000 00000000 00fff288 05e7e224 00000004 00000000 00000000
 The Rx process state is 'Waiting for packets'.
 The Tx process state is 'Idle'.
Transmit started, Receive started, full-duplex.
 The transmit unit is set to store-and-forward.
 Port selection is MII 100baseTx scrambler, full-duplex.    
I tried using the provided RH net configuration tools, but I couldn't
get the routing table to come out right. So, in rc.local I did:

	route add syrinx
	route add daisy
	# got a wrong addr in the table, so remove it
	route del -net

and in xinitrc:
	route del -net &

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
syrinx          *      UH    0      0        0
daisy           *      UH    0      0        4
jan.pcisys.net  *      UH    0      0        2
ppp0       *            U     0      0        4
default         jan.pcisys.net         UG    0      0       23

/etc/hosts:       localhost       localhost.localdomain     syrinx  syrinx     daisy   daisy      

lo        Link encap:Local Loopback
          inet addr:  Bcast:  Mask:
          RX packets:47 errors:0 dropped:0 overruns:0
          TX packets:47 errors:0 dropped:0 overruns:0

eth0      Link encap:Ethernet  HWaddr 00:A0:CC:20:7A:76
          inet addr:  Bcast:  Mask:
          RX packets:16166 errors:5 dropped:0 overruns:0
          TX packets:14746 errors:0 dropped:0 overruns:0
          Interrupt:9 Base address:0x6400

ppp0      Link encap:Point-to-Point Protocol
          inet addr:  P-t-P: 
          UP POINTOPOINT RUNNING  MTU:1500  Metric:1
          RX packets:2236 errors:0 dropped:0 overruns:0
          TX packets:2236 errors:0 dropped:0 overruns:0
domain pcisys.net               #kppp temp entry
nameserver      #kppp temp entry
nameserver       #kppp temp entry 

ALL:, 192.168.1  

order hosts,bind
multi on 

asyncmap 0      

I am also running VNC, samba, and IP forwarding. All work fine as long
as the network itself is up, i.e. the PCs can ping each other.


Celeron 333A, 32MB, Abit BH6 M/B, Encore ENL832-TX 10/100 MB PCI

Windows/lmhosts:       localhost     syrinx  #PRE     daisy   #PRE   

Windows/hosts   localhost syrinx daisy         

I have the GUI configuration for TCP/IP set to use syrinx as the gateway
and my ISP for DNS lookup.