View | Details | Raw Unified | Return to bug 230213
Collapse All | Expand All

(-)scripts/rename_netiface.original (-24 / +21 lines)
Lines 10-20 Link Here
10
USED_IFACE_FILE="`mktemp $USED_IFACE_FILE_STUB.XXXXXXXX`"
10
USED_IFACE_FILE="`mktemp $USED_IFACE_FILE_STUB.XXXXXXXX`"
11
11
12
STAMPFILE=/tmp/dummy_stamp
12
STAMPFILE=/tmp/dummy_stamp
13
RENAMED=yes
13
trap 'rm -f $USED_IFACE_FILE
14
trap 'rm -f $USED_IFACE_FILE
14
      echo renamed > $STAMPFILE
15
      echo renamed > $STAMPFILE
15
      echo INTERFACE=$INTERFACE
16
      echo INTERFACE=$INTERFACE
16
      echo DEVPATH=${DEVPATH%/*}/$INTERFACE
17
      echo DEVPATH=${DEVPATH%/*}/$INTERFACE
17
      echo RENAMED=yes' EXIT
18
      echo RENAMED=$RENAMED' EXIT
18
19
19
. /etc/sysconfig/network/config
20
. /etc/sysconfig/network/config
20
. /etc/sysconfig/network/scripts/functions
21
. /etc/sysconfig/network/scripts/functions
Lines 43-48 Link Here
43
		shift
44
		shift
44
	fi
45
	fi
45
	err_mesg "$@"
46
	err_mesg "$@"
47
	RENAMED=no
46
	exit $RET
48
	exit $RET
47
}
49
}
48
50
Lines 68-89 Link Here
68
write_rule() {
70
write_rule() {
69
	test "$WRITE_RULE" == yes || return 0
71
	test "$WRITE_RULE" == yes || return 0
70
	check_if_name_is_free || return 1
72
	check_if_name_is_free || return 1
73
	RULE="SUBSYSTEM==\"net\", ACTION==\"add\","
71
	if [ "$PHYSDEVBUS" == ccwgroup ] ; then
74
	if [ "$PHYSDEVBUS" == ccwgroup ] ; then
72
		echo "SUBSYSTEM==\"net\", ACTION==\"add\"," \
75
		RULE="$RULE ENV{PHYSDEVPATH}==\"*$DEV_ID\","
73
		     "ENV{PHYSDEVPATH}==\"*$DEV_ID\"," \
74
		     "IMPORT=\"/lib/udev/rename_netiface %k $NEWNAME\"" \
75
		     >> $RULE_FILE
76
	elif [ "$NOMAC_HACK_APPLIED" == yes ] ; then
76
	elif [ "$NOMAC_HACK_APPLIED" == yes ] ; then
77
		echo "SUBSYSTEM==\"net\", ACTION==\"add\"," \
77
		RULE="$RULE ENV{ADDRESS}==\"$DEV_ID\","
78
		     "ENV{ADDRESS}==\"$DEV_ID\"," \
79
		     "IMPORT=\"/lib/udev/rename_netiface %k $NEWNAME\"" \
80
		     >> $RULE_FILE
81
	else
78
	else
82
		echo "SUBSYSTEM==\"net\", ACTION==\"add\"," \
79
		RULE="$RULE SYSFS{address}==\"$DEV_ID\","
83
		     "SYSFS{address}==\"$DEV_ID\"," \
84
		     "IMPORT=\"/lib/udev/rename_netiface %k $NEWNAME\"" \
85
		     >> $RULE_FILE
86
	fi
80
	fi
81
	DERU="$RULE IMPORT=\".lib.udev.rename_netiface %k .*\""
82
	RULE="$RULE IMPORT=\"/lib/udev/rename_netiface %k $NEWNAME\""
83
	flock $RULE_FILE sed -i -e "\$a \\$RULE" -e "/^$DERU/d" $RULE_FILE
87
	/sbin/udevcontrol reload_rules || return 1
84
	/sbin/udevcontrol reload_rules || return 1
88
	info_mesg "New rule for $DEV_ID added."
85
	info_mesg "New rule for $DEV_ID added."
89
}
86
}
Lines 140-146 Link Here
140
	# conditions. It will be removed when the script exits.
137
	# conditions. It will be removed when the script exits.
141
138
142
	NEWNAME=$OLDNAME
139
	NEWNAME=$OLDNAME
143
	get_device_id "$OLDNAME" "$2"
140
	get_device_id "$OLDNAME"
144
	if [ -z "$DEV_ID" ] ; then
141
	if [ -z "$DEV_ID" ] ; then
145
		error_exit 4 "no device id for $OLDNAME"
142
		error_exit 4 "no device id for $OLDNAME"
146
	fi
143
	fi
Lines 195-204 Link Here
195
192
196
# Rename it to the temporary name.
193
# Rename it to the temporary name.
197
# Then try several times to rename it to new name
194
# Then try several times to rename it to new name
198
nameif -r "$TMPNAME" "$OLDNAME" 2>/dev/null 1>&2 \
199
    || error_exit 11 "cannot rename interface to temporary name $TMPNAME"
200
echo looping > $STAMPFILE
201
declare -i LOOPS=0
195
declare -i LOOPS=0
196
for LOOPS in `seq 10`; do
197
	nameif -r "$TMPNAME" "$OLDNAME" 2>/dev/null 1>&2 && break
198
	test "$LOOPS" -lt 10 || error_exit 11 \
199
		"cannot rename interface to temporary name $TMPNAME"
200
	usleep 100000
201
done
202
info_mesg "renamed interface to temporary name $TMPNAME after $LOOPS tries"
203
echo looping > $STAMPFILE
204
LOOPS=0
202
while [ $MAXLOOPS -gt $LOOPS ] ; do
205
while [ $MAXLOOPS -gt $LOOPS ] ; do
203
	: $((LOOPS++))
206
	: $((LOOPS++))
204
	if nameif -r "$NEWNAME" "$TMPNAME" 2>/dev/null 1>&2; then
207
	if nameif -r "$NEWNAME" "$TMPNAME" 2>/dev/null 1>&2; then
Lines 220-229 Link Here
220
	          "longer available"
223
	          "longer available"
221
	INTERFACE=$TMPNAME
224
	INTERFACE=$TMPNAME
222
fi
225
fi
223
exit 0
226
error_exit 13
224
225
226
227
228
229
(-)scripts/trigger_firmware_loading.sh.original (-11 / +14 lines)
Lines 2-35 Link Here
2
2
3
. /etc/sysconfig/hardware/scripts/functions
3
. /etc/sysconfig/hardware/scripts/functions
4
4
5
INTERFACE=$1
6
5
NOMAC_HACK_APPLIED=no
7
NOMAC_HACK_APPLIED=no
6
trap 'echo NOMAC_HACK_APPLIED=$NOMAC_HACK_APPLIED
8
trap 'echo NOMAC_HACK_APPLIED=$NOMAC_HACK_APPLIED
7
      echo ADDRESS=$MAC_ADDRESS' EXIT
9
      echo ADDRESS=$MAC_ADDRESS' EXIT
8
10
9
case "$1" in
11
case "${INTERFACE}" in
10
	eth*|ath*|wlan*|ra*) : ;;
12
	eth*|ath*|wlan*|ra*) : ;;
11
	*) exit 0 ;;
13
	*) exit 0 ;;
12
esac
14
esac
13
15
14
MAC_ADDRESS=
16
MAC_ADDRESS=
15
if ls /sys/class/net/$1 2>/dev/null 1>&2; then
17
if ls /sys/class/net/${INTERFACE} 2>/dev/null 1>&2; then
16
	MAC_ADDRESS=`cat /sys/class/net/$INTERFACE/address`
18
	MAC_ADDRESS=`cat /sys/class/net/${INTERFACE}/address`
17
fi
19
fi
18
if [ -z "$MAC_ADDRESS" ] ; then
20
if [ -z "${MAC_ADDRESS}" ] ; then
19
	exit 0
21
	exit 0
20
fi
22
fi
21
if [ "${MAC_ADDRESS%00:00:00}" != "$MAC_ADDRESS" ] ; then
23
if [ "${MAC_ADDRESS%00:00:00}" != "${MAC_ADDRESS}" ] ; then
22
	# Workaround for some drivers which don't request their
24
	# Workaround for some drivers which don't request their
23
	# firmware before beeing set up and don't have a mac address
25
	# firmware before beeing set up and don't have a mac address
24
	# before firmware was loaded.
26
	# before firmware was loaded.
25
	ip link set up dev $INTERFACE
27
	ip link set up dev ${INTERFACE}
26
	ip link set down dev $INTERFACE
28
	ip link set down dev ${INTERFACE}
29
	# in any case: if we get here, NOMAC_HACK_APPLIED should be true, so set it
30
	NOMAC_HACK_APPLIED=yes
27
	# Do we have to wait some time?
31
	# Do we have to wait some time?
28
	for i in 0 1 2 3 4 5 6 7 8 9; do
32
	for i in 0 1 2 3 4 5 6 7 8 9; do
29
		MAC_ADDRESS=`cat /sys/class/net/$INTERFACE/address`
33
		MAC_ADDRESS=`cat /sys/class/net/${INTERFACE}/address`
30
		info_mesg "waiting for a usefull mac address: $MAC_ADDRESS"
34
		info_mesg "waiting for a usefull mac address: ${MAC_ADDRESS}"
31
		if [ "${MAC_ADDRESS%00:00:00}" != "$MAC_ADDRESS" ] ; then
35
		if [ "${MAC_ADDRESS%00:00:00}" != "${MAC_ADDRESS}" ] ; then
32
			NOMAC_HACK_APPLIED=yes
33
			break
36
			break
34
		fi
37
		fi
35
		sleep 1
38
		sleep 1

Return to bug 230213