Problems with Tulip on Alpha 164SC with Linux 2.2.9/tulip.c 0.91

Gernot Salzer salzer@logic.at
Fri Sep 10 07:04:50 1999


Hello,

are there any known pitfalls when installing a Lantronix LFA-PT
Ethernet PCI Adapter (with DS21140 Tulip inside as it seems)
on an Alpha 164SX Board under Linux 2.2.9?
Did anyone succeed?

I compiled tulip.c as a module and everything seems to be ok,
except that I can get no working net connection (no ping's
out, no reaction to external ping's).

Any hints appreciated (see below for the details).

Gernot


Tests and observations (output of tulip-diag is at the end)
===========================================================

* The physical connection to the Alpha 164SX PC works, as I checked
  by using another PC. The Lantronix itself acknowledges by LEDs that
  there is a 10BaseT half-duplex link.

* On startup the AlphaBIOS 5.66 gives the following message when
  trying to initialize the NIC:
  "Initializing DC21X4 Adapters ...
   Adapter failed (no link detected)"
  Maybe ok, maybe not (IP parameters are not yet fixed at this point).

* After booting Linux 2.2.9, /var/log/messages contains
  the following lines (beta is the host name):
Sep  9 22:53:25 beta kernel: Inspecting /boot/System.map
Sep  9 22:53:25 beta kernel: Loaded 6853 symbols from /boot/System.map.
Sep  9 22:53:25 beta kernel: Symbols match kernel version 2.2.9.
Sep  9 22:53:25 beta kernel: Error seeking in /dev/kmem 
Sep  9 22:53:25 beta kernel: Symbol #tulip, value 0003c000 
Sep  9 22:53:25 beta kernel: Error adding kernel module table entry. 
Sep  9 22:53:25 beta kernel: Serial driver version 4.27 with HUB-6 MANY_PORTS 
MULTIPORT SHARE_IRQ enabled
Sep  9 22:53:25 beta kernel: tulip.c:v0.91 4/14/99 becker@cesdis.gsfc.nasa.gov
Sep  9 22:53:25 beta kernel: eth0: Digital DS21140 Tulip rev 34 at 0x8000, 
00:40:05:36:50:D4, IRQ 25.
Sep  9 22:53:25 beta kernel: eth0:  EEPROM default media type Autosense.
Sep  9 22:53:25 beta kernel: eth0:  Index #0 - Media MII (#11) described by a 
21140 MII PHY (1) block.
Sep  9 22:53:25 beta kernel: eth0:  MII transceiver #0 config 1000 status 7809 
advertising 01e1.

* "route -n" looks reasonable (host address 128.130.175.26,
   gateway 128.130.175.1, network mask 255.255.255.128):
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
128.130.175.26  0.0.0.0         255.255.255.255 UH    1      0        0 dummy0
128.130.175.0   0.0.0.0         255.255.255.128 U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         128.130.175.1   0.0.0.0         UG    0      0        0 eth0

* After "ping 128.130.175.1" with 5 lost packages and none received
  "ifconfig eth0" gives:
eth0      Link encap:Ethernet  HWaddr 00:40:05:36:50:D4  
          inet addr:128.130.175.26  Bcast:128.130.175.127  Mask:255.255.255.128
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          Interrupt:25 Base address:0x8000 

* Varying the "options" for the tulip Modul (0, 9, 11, 12) gives the
  same results.

* "cat /proc/interrupts":
  1:       3747    keyboard
  8:    2817893    timer
 25:         27    eth0
 26:       6801    sym53c8xx

* "cat /proc/ioports": 
0060-006f : keyboard
0070-007f : timer
02f8-02ff : serial(auto)
03c0-03df : vga+
03f8-03ff : serial(auto)
8000-807f : eth0
8800-887f : sym53c8xx

* "cat /proc/modules":
tulip                  43384   1 (autoclean)
dummy0                  1632   1 (autoclean)
serial                 51008   0 (autoclean)
memstat                 2040   0 (unused)
nls_cp437               4944   1 (autoclean)
msdos                  10544   1 (autoclean)
fat                    35944   1 (autoclean) [msdos]

* "cat /proc/pci" (part):
  Bus  0, device   5, function  0:
    Ethernet controller: DEC DC21140 (rev 34).
      Medium devsel.  Fast back-to-back capable.  IRQ 25.  Master Capable.  
Latency=32.  Min Gnt=20.Max Lat=40.
      I/O at 0x8000 [0x8001].
      Non-prefetchable 32 bit memory at 0x9000000 [0x9000000].

- "cat /proc/ksyms | grep tulip"
fffffe000003c0a0 tulip_probe   [tulip]

- "tulip-diag" with various options gives
system type: EB164
system vari: SX164
cpu model: PCA56
ioperm: turn_on 1 io.base 0
ioperm: mmap of len 0x200000  returned 0x20000356000
ioperm: mprotect returned 0
Index #1: Found a Digital DS21140 Tulip adapter at 0x8000.
Digital DS21140 Tulip chip registers at 0x8000:
  ffa0e000 ffffffff ffffffff 4cecb818 4cecba18 fc660000 320e2002 ffffebef
  e0000000 fffd83ff ffffffff fffe0000 ffffff80 ffffffff 1c09fdc0 fffffec8
 Port selection is MII, half-duplex.
 Transmit started, Receive started, half-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit threshold is 128.
EEPROM size is 6.
Ethernet MAC Station Address 00:40:05:36:50:D4.
EEPROM transceiver/media description for the Digital DS21140 Tulip chip.
Leaf node at offset 30, default media type 0800 (Autosense).
 CSR12 direction setting bits 0x00.
 1 transceiver description blocks:
  Media MII, block type 1, length 12.
   MII interface PHY 0 (media type 11).
    No MII reset sequence.    No MII initialization sequence.
    Media capabilities are 7800, advertising 01e1.
    Full-duplex map 5000, Threshold map 1800.
 MII PHY found at address 0, status 0x782d.
Restarting negotiation...
 MII PHY #0 transceiver registers:
   1000 7809 7810 0000 01e1 0000 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 4000 0000 0699 0010 0000 0002
   0001 0000 0000 0000 0000 0000 0000 0000.