havok1977 Posted July 12, 2003 Report Share Posted July 12, 2003 Hi every1, I am using mandrake 9.1 and i{ve been using linux for almost three years now, but im having some trouble with my ethernet configuration and i was wondering if someone could help me out, i have a simple class c network on 192.168.0.xx with 255.255.255.0 mask on a 3Com 3c509 card and im using the appropiate kernel module, however when the startup script tries to bring it up, it fails every time, here is the startup script: #! /bin/bash # # network Bring up/down networking # # chkconfig: 2345 10 90 # description: Activates/Deactivates all network interfaces configured to # start at boot time. # probe: false ### BEGIN INIT INFO # Provides: $network ### END INIT INFO # Source function library. . /etc/init.d/functions if [ ! -f /etc/sysconfig/network ]; then echo "NETWORKING=no" > /etc/sysconfig/network 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 # if the ip configuration utility isn't around we can't function. [ -x /sbin/ip ] || exit 1 # Even if IPX is configured, without the utilities we can't do much [ ! -x /sbin/ipx_internal_net -o ! -x /sbin/ipx_configure ] && IPX= # Even if VLAN is configured, without the utility we can't do much [ ! -x /sbin/vconfig ] && VLAN= # If IPv6 is explicitly configured, make sure it's available. if [ "$NETWORKING_IPV6" = "yes" ]; then alias=`modprobe -c | awk '/^alias net-pf-10 / { print $3 }'` if [ "$alias" != "ipv6" -a ! -f /proc/net/if_inet6 ]; then echo "alias net-pf-10 ipv6" >> /etc/modules.conf fi fi CWD=`pwd` cd /etc/sysconfig/network-scripts . network-functions # find all the interfaces besides loopback. # ignore aliases, alternative configurations, and editor backup files interfaces=`ls ifcfg* | LANG=C egrep -v '(ifcfg-lo|:|rpmsave|rpmorig|rpmnew)' | LANG=C egrep -v '(~|.bak)$' | LANG=C egrep 'ifcfg-[A-Za-z0-9.]+$' | sed 's/^ifcfg-//g'` # See how we were called. case "$1" in start) # IPv6 hook (pre IPv4 start) if [ "$NETWORKING_IPV6" = "yes" ]; then if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then /etc/sysconfig/network-scripts/init.ipv6-global start pre fi fi action "Setting network parameters: " sysctl -n -p /etc/sysctl.conf if [ -r /etc/ethers -a -x /sbin/arp ]; then action "Storing ARP mapping" /sbin/arp -f /etc/ethers fi # bring up loopback interface action "Bringing up loopback interface: " ./ifup ifcfg-lo case "$IPX" in yes|true) /sbin/ipx_configure --auto_primary=$IPXAUTOPRIMARY --auto_interface=$IPXAUTOFRAME if [ "$IPXINTERNALNETNUM" != "0" ]; then /sbin/ipx_internal_net add $IPXINTERNALNETNUM $IPXINTERNALNODENUM fi ;; esac # depreciated but we still use it. if [ -f /proc/sys/net/ipv4/ip_forward ] && [[ "$FORWARD_IPV4" = "yes" || "$FORWARD_IPV4" = "true" ]]; then action "Enabling IPv4 packet forwarding" sysctl -n -w net.ipv4.ip_forward=1 fi case "$VLAN" in yes|true) if [ -d /proc/net/vlan ] || modprobe 8021q >/dev/null 2>&1 ; then action "Setting 802.1Q VLAN parameters: " /sbin/vconfig set_name_type DEV_PLUS_VID_NO_PAD else gprintf "No 802.1Q VLAN support available in kernel.n" fi ;; esac oldhotplug=`sysctl kernel.hotplug 2>/dev/null | awk '{ print $3 }' 2>/dev/null` sysctl -n -w kernel.hotplug="/bin/true" > /dev/null 2>&1 cipeinterfaces="" # bring up all other interfaces configured to come up at boot time for i in $interfaces; do eval $(LANG=C fgrep "DEVICE=" ifcfg-$i) if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi if [ "${DEVICE##cipcb}" != "$DEVICE" ] ; then cipeinterfaces="$cipeinterfaces $DEVICE" continue fi if LANG=C egrep -q -L "^ONBOOT=['"]?[Nn][Oo]['"]?" ifcfg-$i; then # this loads the module, to preserve ordering is_available $i continue fi # If we're in confirmation mode, get user confirmation [ -n "$CONFIRM" ] && { confirm $i case $? in 0) : ;; 2) CONFIRM= ;; *) continue ;; esac } if [ "${DEVICE:0:3}" != "eth" -o ${DEVICE/:/} != ${DEVICE} -o ! -x /sbin/ifplugd ] || grep -q '^MII_NOT_SUPPORTED' ifcfg-$i; then action "Bringing up interface %s: " $i ./ifup $DEVICE boot else IFPLUGD_ARGS="${IFPLUGD_ARGS=-w -b}" action "Bringing up interface %s: " $i /sbin/ifplugd $IFPLUGD_ARGS -i $DEVICE fi done # Bring up CIPE VPN interfaces for i in $cipeinterfaces ; do if ! LANG=C egrep -L "^ONBOOT=['"]?[Nn][Oo]['"]?" ifcfg-$i >/dev/null 2>&1 ; then # If we're in confirmation mode, get user confirmation [ -n "$CONFIRM" ] && { confirm $i case $? in 0) : ;; 2) CONFIRM= ;; *) continue ;; esac } action "Bringing up interface %s: " $i ./ifup $i boot fi done sysctl -n -w kernel.hotplug=$oldhotplug > /dev/null 2>&1 # Add non interface-specific static-routes. if [ -f /etc/sysconfig/static-routes ]; then grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do /sbin/route add -$args done fi # IPv6 hook (post IPv4 start) if [ "$NETWORKING_IPV6" = "yes" ]; then if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then /etc/sysconfig/network-scripts/init.ipv6-global start post fi fi touch /var/lock/subsys/network ;; stop) # If this is a final shutdown/halt, check for network FS, # and unmount them even if the user didn't turn on netfs if [ "$RUNLEVEL" = "6" -o "$RUNLEVEL" = "0" -o "$RUNLEVEL" = "1" ]; then NFSMTAB=`LC_ALL=C awk '!/^#/ && $3 == "nfs" { print $2 }' /proc/mounts` SMBMTAB=`LC_ALL=C awk '!/^#/ && $3 == "smbfs" { print $2 }' /proc/mounts` NCPMTAB=`LC_ALL=C awk '!/^#/ && $3 == "ncpfs" { print $2 }' /proc/mounts` if [ -n "$NFSMTAB" -o -n "$SMBMTAB" -o -n "$NCPMTAB" ] ; then /etc/init.d/netfs stop fi fi # IPv6 hook (pre IPv4 stop) if [ "$NETWORKING_IPV6" = "yes" ]; then if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then /etc/sysconfig/network-scripts/init.ipv6-global stop pre fi fi # shut down all interfaces (other than loopback) for i in $interfaces ; do eval $(fgrep "DEVICE=" ifcfg-$i) if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi if ! check_device_down $i; then action "Shutting down interface %s: " $i ./ifdown $i boot fi done # kill all the ifplugd instances /usr/bin/killall ifplugd > /dev/null 2>&1 case "$IPX" in yes|true) if [ "$IPXINTERNALNETNUM" != "0" ]; then /sbin/ipx_internal_net del fi ;; esac action "Shutting down loopback interface: " ./ifdown ifcfg-lo if [ -d /proc/sys/net/ipv4 ]; then if [ -f /proc/sys/net/ipv4/ip_forward ]; then if [ `cat /proc/sys/net/ipv4/ip_forward` != 0 ]; then action "Disabling IPv4 packet forwarding: " sysctl -n -w net.ipv4.ip_forward=0 fi fi if [ -f /proc/sys/net/ipv4/ip_always_defrag ]; then if [ `cat /proc/sys/net/ipv4/ip_always_defrag` != 0 ]; then action "Disabling IPv4 automatic defragmentation: " sysctl -n -w net.ipv4.ip_always_defrag=0 fi fi fi if [ -f /proc/sys/net/ipv4/tcp_syncookies ];then if [ `cat /proc/sys/net/ipv4/tcp_syncookies` != 0 ]; then sysctl -n -w net.ipv4.tcp_syncookies=0 fi fi # IPv6 hook (post IPv4 stop) if [ "$NETWORKING_IPV6" = "yes" ]; then if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then /etc/sysconfig/network-scripts/init.ipv6-global stop post fi fi rm -f /var/lock/subsys/network ;; status) gprintf "Configured devices:n" echo lo $interfaces gprintf "Currently active devices:n" echo `/sbin/ip -o link show | awk -F ": " '/UP>/ { print $2 }'` ;; restart|reload) cd $CWD $0 stop $0 start ;; *) gprintf "Usage: %sn" "$(basename $0) {start|stop|restart|reload|status}" exit 1 esac exit 0 And here is the portion of /var/log/messages that results from runing it: Jul 12 10:52:18 thor network: Shutting down loopback interface: succeeded Jul 12 10:52:18 thor network: Setting network parameters: succeeded Jul 12 10:52:19 thor network: Bringing up loopback interface: succeeded Jul 12 10:52:20 thor ifplugd[4391]: Using interface eth0/00:50:DA:C2:29:84 with driver 3c59x LK1.1.16 Jul 12 10:52:20 thor ifplugd[4391]: ETHTOOL_GLINK failed: Operation not supporte d Jul 12 10:52:20 thor ifplugd[4391]: ifplugd 0.13 successfully initialized, link beat not detected. Jul 12 10:52:20 thor network: Bringing up interface eth0: failed Oh and BTW, when i bring up the card via webmin, it DOES come up, so im guessing the problem is in the init script, but i cant tell where. Quote Link to comment Share on other sites More sharing options...
havok1977 Posted July 12, 2003 Author Report Share Posted July 12, 2003 I solved this inserting in /etc/sysconfig/network/ifcfg-eth0 : MII_NOT_SUPPORTED=1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.