No subject

Olivier Klein klein@drecam.saclay.cea.fr
Tue Nov 23 15:21:39 1999


I have the wierdest problem with my vertex card.

When I run the boot kernel I got:

3c59x.c:v0.99H 11/17/98 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html
eth0: 3Com 3c905 Boomerang 100baseTx at 0xdc80,  00:c0:4f:a9:3c:0b, IRQ 14
  8K word-wide RAM 3:5 Rx:Tx split, autoselect/MII interface.
  MII transceiver found at address 24, status 7849.
  Enabling bus-master transmits and whole-frame receives.
eth1: 3Com 3c900 Boomerang 10Mbps Combo at 0xecc0,  00:60:08:6c:ef:f9, IRQ 11
  8K word-wide RAM 3:5 Rx:Tx split, autoselect/10baseT interface.
  Enabling bus-master transmits and whole-frame receives.


I use the 10baseT port.

In the past, I found by test and trial that the proper setup for me
was to use

more /etc/sysconfig/network
NETWORKING=yes
FORWARD_IPV4=no
HOSTNAME=xxx
DOMAINNAME=xxx
GATEWAY=xxx
GATEWAYDEV=eth1

more /etc/conf.modules
alias scsi_hostadapter aic7xxx
alias eth1 3c59x

and 

/sbin/route add -net 132.166.0.0 netmask 255.255.0.0 eth1

Everything worked fine for 2 years

Recentely I played with the configuration and got the nasty message 
/sbin/route add -net 132.166.0.0 netmask 255.255.0.0 eth1
SIOCADDRT: operation not supported by this device

I found a way to get around the problem

I edit 
more /etc/sysconfig/network
NETWORKING=yes
FORWARD_IPV4=no
HOSTNAME=xxx
DOMAINNAME=xxx
GATEWAY=xxx
GATEWAYDEV=eth0
I start the network
/etc/rc.d/init.d/network reload
I type
/sbin/route add -net 132.166.0.0 netmask 255.255.0.0 eth1
I edit again the config
more /etc/sysconfig/network
NETWORKING=yes
FORWARD_IPV4=no
HOSTNAME=xxx
DOMAINNAME=xxx
GATEWAY=xxx
GATEWAYDEV=eth
and restart again the driver
/etc/rc.d/init.d/network reload
and finally everything seems to work fine!
Strange?
Olivier

for info
more /etc/rc.d/init.d/network
#!/bin/sh
#
# network       Bring up/down networking
#
# chkconfig: 2345 10 90
# description: Activates/Deactivates all network interfaces configured to \
#              start at boot time.
# probe: true

# Source function library.
. /etc/rc.d/init.d/functions

if [ ! -f /etc/sysconfig/network ]; then
    exit 0
fi

. /etc/sysconfig/network

if [ -f /etc/sysconfig/pcmcia ]; then
        . /etc/sysconfig/pcmcia
fi


# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -x /sbin/ifconfig ] || exit 0

# Even if IPX is configured, without the utilities we can't do much
[ ! -x /sbin/ipx_internal_net -o ! -x /sbin/ipx_configure ] && IPX=

cd /etc/sysconfig/network-scripts

# find all the interfaces besides loopback.
# ignore aliases, alternative configurations, and editor backup files
interfaces=`ls ifcfg* | egrep -v '(ifcfg-lo|:)' | egrep 'ifcfg-[a-z0-9]+$' | \
            sed 's/^ifcfg-//g'`

ipv4_forward_set ()
{
        # Turn IP forwarding on or off. We do this before bringing up the
        # interfaces to make sure we don't forward when we shouldn't, and
        # we do it even if networking isn't configured (why not?).
        if [ -d /proc/sys/net/ipv4 ]; then
            # people could have left this out of their kernel, which isn't
            # exactly an error
            if [ ! -f /proc/sys/net/ipv4/ip_forward ] ; then
                echo "/proc/sys/net/ipv4/ip_forward is missing --" \
                        "cannot control IP forwarding" >&2
            else
                if [ "$FORWARD_IPV4" = "no" -o "$FORWARD_IPV4" = "false" ]; then
                    value=0
                    message="Disabling IPv4 packet forwarding."
                else
                    value=1
                    message="Enabling IPv4 packet forwarding."
                fi

                if [ $value != `cat /proc/sys/net/ipv4/ip_forward` ]; then
                    echo $message
                    echo "$value" > /proc/sys/net/ipv4/ip_forward
                fi
            fi
        fi
}


# See how we were called.
case "$1" in
  start)
        ipv4_forward_set

        ./ifup ifcfg-lo

        case "$IPX" in
          yes|true)
            /sbin/ipx_configure --auto_primary=$IPXAUTOPRIMARY \
                                   --auto_interface=$IPXAUTOFRAME
            /sbin/ipx_internal_net add $IPXINTERNALNETNUM $IPXINTERNALNODENUM
            ;;
        esac

        for i in $interfaces; do
                ./ifup $i boot
        done

        touch /var/lock/subsys/network
        ;;
  stop)
        for i in $interfaces; do
                ./ifdown $i boot
        done
        case "$IPX" in
          yes|true)
            /sbin/ipx_internal_net del
            ;;
        esac
        ./ifdown ifcfg-lo
        echo "Disabling IPv4 packet forwarding."
        echo 0 > /proc/sys/net/ipv4/ip_forward
        rm -f /var/lock/subsys/network
        ;;
  status)
        echo "Configured devices:"
        echo lo $interfaces

        if [ -x /bin/linuxconf ] ; then
                eval `/bin/linuxconf --hint netdev`
                echo "Devices that are down:"
                echo $DEV_UP
                echo "Devices with modified configuration:"
                echo $DEV_RECONF
        else
                echo "Currently active devices:"
                echo `/sbin/ifconfig | grep ^[a-z] | awk '{print $1}'`
        fi
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  reload)
        if [ -x /bin/linuxconf ] ; then
                eval `/bin/linuxconf --hint netdev`
                if [ "$RECONF_IPV4ROUTING" = "yes" ] ; then
                        ipv4_forward_set
                fi
                for device in $DEV_UP ; do
                        ./ifup $device
                done
                for device in $DEV_DOWN ; do
                        ./ifdown $device
                done
                for device in $DEV_RECONF ; do
                        ./ifdown $device
                        ./ifup $device
                done
               for device in $DEV_RECONF_ALIASES ; do
                        /etc/sysconfig/network-scripts/ifup-aliases $device
                done
                for device in $DEV_RECONF_ROUTES ; do
                        /etc/sysconfig/network-scripts/ifup-routes $device
                done
                case $IPX in yes|true)
                  case $IPXINTERNALNET in
                    reconf)
                        /sbin/ipx_internal_net del
                        /sbin/ipx_internal_net add $IPXINTERNALNETNUM \
                                                      $IPXINTERNALNODENUM
                        ;;
                    add)
                        /sbin/ipx_internal_net add $IPXINTERNALNETNUM \
                                                      $IPXINTERNALNODENUM
                        ;;
                    del)
                        /sbin/ipx_internal_net del
                        ;;
                  esac
                  ;;
                esac
        else
                $0 restart
        fi
        ;;
  probe)
        if [ -x /bin/linuxconf ] ; then
                eval `/bin/linuxconf --hint netdev`
                [ -n "$DEV_UP$DEV_DOWN$DEV_RECONF$DEV_RECONF_ALIASES" -o \
                  -n "$DEV_RECONF_ROUTES$IPXINTERNALNET" -o \
                  "$RECONF_IPV4ROUTING" = yes ] && \
                        echo reload
                exit 0
        else
                # if linuxconf isn't around to figure stuff out for us,
                # we punt.  Probably better than completely reloading
                # networking if user isn't sure which to do.  If user
                # is sure, they would run restart or reload, not probe.
                exit 0
        fi
        ;;
  *)
        echo "Usage: network {start|stop|restart|reload|status|probe}"
        exit 1
esac

exit 0