Jump to content

eth0 configuration problem


havok1977
 Share

Recommended Posts

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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...