From: Will Roberts (oldbear_at_arctos.com)
Date: Wed May 28 2003 - 19:28:29 CEST
Message-Id: <4.3.2.7.2.20030528132002.039e1ba0@arctos.com> Date: Wed, 28 May 2003 13:28:29 -0400 From: Will Roberts <oldbear@arctos.com> Subject: [suse-sparc] the ethernet saga continues...
THE PROBLEM:
I've helped a friend set up a number of SUN Sparcs including
IPC, IPX, and Sparc5 machines. Recently I was given a Sparc
Classic on which I am trying to install SuSE linux v7.3 for
Sparc (Kernel 2.2.20).
The Classic is set up with a VT220 on the serial port to act
as console for the install. My intent is to run the machine
headless on a 10baseT ethernet LAN. The LAN uses static
routes in the 172.2.16.xxx subnet.
I have been unable to get the Classic's on-board TPE ethernet
port to work and my attempts to install Sun Sbus ethernet
cards 501-2015 or 501-2981 have been unsuccessful.
The patch cable is good. The hub to which it is connected is
good. The hub "link" led comes on when the Sparc Classic is
started. But no data flows. The Sun Classic cannot ping
or be pinged.
BACKGROUND INFO:
My first indication of the problem came from the OpenBoot PROM
before I even attempted to install any operating system:
ok watch-net
Using AUI Ethernet Interface
Internal loopback test -- succeeded.
External loopback test -- Lost Carrier (transceiver cable problem?)
send failed.
Using TP Ethernet Interface
Internal loopback test -- succeeded.
External loopback test -- Lost Carrier (transceiver cable problem?)
send failed.
After installing SuSE linux, this problem shows up in the start-up:
sunlance.c:v1.12 11/Mar/99 Miguel de Icaza (miguel@nuclecu.unam.mx)
eth0: LANCE 08:00:20:1d:d5:7c
eth0: using auto-carrier-detection.
. . .
Setting up network device eth0
eth0: Carrier Lost, trying TPE done
Setting up routing (using /etc/route.conf)
Error while excuting:
/sbin/route add -net 0.0.0.0 netmask 255.255.0.0 gw 172.16.2.100
dev eth0
SIOCADDRT: Network is unreachable
Setting up routing failed
IPv6 v0.8 for NET4.0
IPv6 over IPv4 tunneling driver
eth0: Carrier Lost, trying AUI
eth0: Carrier Lost, trying TPE
Starting syslog services
eth0: Carrier Lost, trying AUI
eth0: Carrier Lost, trying TPE done
syslogd: /dev/tty10: No such device
eth0: Carrier Lost, trying AUI
eth0: Carrier Lost, trying TPE
. . .
AN ATTEMPTED SOLUTION:
I decided to configure SuSE to ignore the onboard ethernet interface
eth0 and to use instead the add-in Sun Sbus 501-2981 card. I did
this by editing /etc/rc.config and /etc/route.conf:
arcturus:/etc # cat rc.config
. . .
#
# Networking
#
# Number of network cards: "_0" for one, "_0 _1 _2 _3" for four cards
#
NETCONFIG="_0"
#
# This variable contains all indices of active PCMCIA network devices
#
NETCONFIG_PCMCIA=""
#
# IP Adresses
#
IPADDR_0="172.16.2.124"
IPADDR_1=""
IPADDR_2=""
IPADDR_3=""
#
# Network device names (e.g. "eth0")
#
NETDEV_0="eth1"
NETDEV_1=""
NETDEV_2=""
NETDEV_3=""
#
# Parameters for ifconfig, simply enter "bootp" or "dhcpclient" to
use the
# respective service for configuration.
# Sample entry for ethernet:
# IFCONFIG_0="192.168.81.38 broadcast 192.168.81.63 netmask
255.255.255.224"
#
IFCONFIG_0="172.16.2.124 broadcast 172.16.2.255 netmask 255.255.255.0 up"
IFCONFIG_1=""
IFCONFIG_2=""
IFCONFIG_3=""
. . .
and in route.conf:
arcturus:/etc # cat route.conf
default 172.16.2.100 0.0.0.0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 lo
with this configuration, SuSE starts properly:
SPARCclassic, No Keyboard
ROM Rev. 2.12, 40 MB memory installed, Serial #3294075.
Ethernet address 8:0:20:1d:d5:7c, Host ID: 8032437b.
Boot device: /iommu/sbus/espdma@4,8400000/esp@4,8800000/sd@3,0 File
and args:
SILO boot:
Uncompressing image...
PROMLIB: obio_ranges 1
Booting Linux...
PROMLIB: Sun Boot Prom Version 3 Revision 2
Linux version 2.2.20 (root@SPARC.suse.de) (gcc version egcs-2.91.66
19990314/Linux (egcs-1.1.2 release)) #1 Mon Nov 12 11:03:05 GMT 2001
ARCH: SUN4M
TYPE: SPARCclassic
Ethernet address: 8:0:20:1d:d5:7c
. . .
sunlance.c:v1.12 11/Mar/99 Miguel de Icaza (miguel@nuclecu.unam.mx)
eth0: LANCE 08:00:20:1d:d5:7c
eth0: using auto-carrier-detection.
eth1: LANCE 08:00:20:1d:d5:7c
. . .
Setting up network device
eth1 done
done
Setting up routing (using /etc/route.conf) done
Starting SSH daemon done
IPv6 v0.8 for NET4.0
IPv6 over IPv4 tunneling driver
. . .
The system appears to report the ethernet interfaces and the
routing table correctly:
arcturus:/home/oldbear # ifconfig
eth1 Link encap:Ethernet HWaddr 08:00:20:1D:D5:7C
inet
addr:172.16.2.124 Bcast:172.16.2.255 Mask:255.255.255.224
inet6 addr: fe80::800:201d:d57c/10 Scope:Link
inet6 addr: fe80::a00:20ff:fe1d:d57c/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:12 dropped:0 overruns:0 carrier:12
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:872 (872.0 b)
Interrupt:55 Base address:0x8a00
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
and it is possible to check on the unused eth0 onboard ethernet
which is not shown as "up". Notice that both eth1 above and
eth0 below have the same MAC address 08:00:20:1D:D5:7C. This
is correct because Sun architecture holds a single address for
the Sparc workstation in its PROM. The two interfaces are
differentiated by their base addresses and interrupts, which
SuSE identifies as Interrupt:55 Base address:0x8a00 for eth1
and Interrupt:38 Base address:0xb200 for eth0.
arcturus:/home/oldbear # ifconfig eth0
eth0 Link encap:Ethernet HWaddr 08:00:20:1D:D5:7C
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:38 Base address:0xb200
and the routing table:
arcturus:/home/oldbear # route
Kernel IP routing table
Destination Gateway Genmask Flags Metric
Ref Use Iface
172.16.2.0 * 255.255.255.0 U 0 0
0 eth1
loopback * 255.0.0.0 U 0 0
0 lo
default 172.16.2.100 0.0.0.0 UG 0 0
0 eth1
arcturus:/home/oldbear # netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS
Window irtt Iface
172.16.2.0 * 255.255.255.0 U 0
0 0 eth1
loopback * 255.0.0.0 U 0
0 0 lo
default 172.16.2.100 0.0.0.0 UG 0
0 0 eth1
PROBLEM REMAINS:
Pinging "localhost" or the Classic's own IP of 172.16.2.124 works fine
but an attempt to ping anything else, such as 172.16.2.101 which is know
to be up and responsive to other machines on the LAN, yields:
arcturus:/home/oldbear # ping 172.16.2.101
PING 172.16.2.101 (172.16.2.101) from 172.16.2.124 : 56(84) bytes of
data.
Warning: no SO_TIMESTAMP support, falling back to SIOCGSTAMP
From 172.16.2.124: icmp_seq=3 Destination Host Unreachable
From 172.16.2.124: icmp_seq=2 Destination Host Unreachable
From 172.16.2.124: icmp_seq=1 Destination Host Unreachable
From 172.16.2.124: icmp_seq=6 Destination Host Unreachable
From 172.16.2.124: icmp_seq=5 Destination Host Unreachable
From 172.16.2.124: icmp_seq=4 Destination Host Unreachable
--- 172.16.2.101 ping statistics ---
8 packets transmitted, 0 received, +6 errors, 100% loss, time 7028ms
, pipe 3
NEXT STEPS:
I am beginning to suspect that it may have something to do with
SuSE loading the appropriate device driver for either of the
ethernet interface.
As noted above, on boot up, SuSE announces that it has discovered
both interfaces on start-up:
sunlance.c:v1.12 11/Mar/99 Miguel de Icaza (miguel@nuclecu.unam.mx)
eth0: LANCE 08:00:20:1d:d5:7c
eth0: using auto-carrier-detection.
eth1: LANCE 08:00:20:1d:d5:7c
Here is where I am getting beyond my competence: it appears that both
interfaces are identified above as using the "LANCE" chip. An appropriate
driver needs to be incorporated into the SuSE kernel.
Drivers appear to be identified and loaded as modules in /etc/modules.conf
where the related device is associated and its interrupt and base address
are specified:
arcturus:/etc # cat modules.conf
#
# Copyright (c) 1996-2000 SuSE GmbH Nuernberg, Germany. All rights
reserved.
#
# Author: Hubert Mantel <mantel@suse.de>, 1996-2001
#
# Configuration file for loadable modules; used by modprobe
#
# Aliases - specify your hardware
alias eth0 off
alias eth1 off
alias tr0 off
alias scsi_hostadapter off
alias fb0 off
. . .
########################################################################
# Options; these are examples; uncommented and modify the lines you need
########################################################################
# options cdu31a cdu31a_port=0x340 cdu31a_irq=0
# options sbpcd sbpcd=0x230,1
# options aztcd aztcd=0x320
. . .
# options ne io=0x300 irq=5
# Use this if you have two cards:
# options ne io=0x300,0x320 irq=5,7
# options tulip options=0
# options 3c59x options=0
# options 3c501 io=0x280 irq=5
# options 3c503 io=0x280 irq=5 xcvr=0
# options 3c505 io=0x300 irq=10
. . . etc
The exception to this is the LANCE driver which, I am told, needs to
be compiled into the kernel and cannot be run as a module loaded at
boot time. True?
But this driver should already be compiled into the SuSE for Sparc
kernel and associated with both interfaces:
sunlance.c:v1.12 11/Mar/99 Miguel de Icaza (miguel@nuclecu.unam.mx)
eth0: LANCE 08:00:20:1d:d5:7c
eth0: using auto-carrier-detection.
eth1: LANCE 08:00:20:1d:d5:7c
Someone else noted that the second interface eth1 (the Sbus 501-2981
option card) should use a sunhme ("happy meal ethernet") driver.
I am skeptical because hme is the newer 100baseT "Hundred Megabit
Ethernet" and works with a much newer and different card.
And what about the base address and interrupts for the two
interfaces. Ifconfig reports that SuSE identifies these as:
eth0 Interrupt:38 Base address:0xb200
eth1 Interrupt:55 Base address:0x8a00
Is this accurate and does it need to be specified somewhere in
modules.conf or elsewhere?
I'd rather not do this, but I may try to install SuSE for Sparc v7.3 on
a known good Sparc5 which is currently running NetBSD and install NetBSD
on the Sparc Classic. It's a silly way to diagnose an ethernet problem,
but it might settle the question about whether the problem lies with
the O/S or the hardware.
Any further information, suggestions, clarifications, corrections, hints,
insights, or solutions would be greatly appreciated.
Regards,
Will
The Old Bear
-- To unsubscribe, e-mail: suse-sparc-unsubscribe@suse.com For additional commands, e-mail: suse-sparc-help@suse.com
This archive was generated by hypermail 2.1.7 : Wed May 28 2003 - 19:29:57 CEST