From 8dac8c268d38d57eb443335fc24038e6d46371f6 Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Thu, 13 Sep 2001 06:18:07 +0000 Subject: [PATCH] Due to a bug in the ed driver, which leads to hangs when using it with dhclient and pccard_ether, introduce the concept of a "settle time" to pccard_ether with the new pccard_ether_delay variable. Defaults to 5 seconds, which is enough time for the ed driver to finish its autoconfiguration for newer Linksys based cards. This also can eliminate the ed0: timeout messages that happen at startup as well. MFC: after RE says OK. --- etc/defaults/rc.conf | 1 + etc/pccard_ether | 11 +++++++++++ share/man/man5/rc.conf.5 | 10 ++++++++++ 3 files changed, 22 insertions(+) diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf index f90750157561..5310643afe79 100644 --- a/etc/defaults/rc.conf +++ b/etc/defaults/rc.conf @@ -29,6 +29,7 @@ pccard_beep="2" # pccard beep type. pccard_ifconfig="NO" # Specialized pccard ethernet configuration (or NO). pccardd_flags="" # Additional flags for pccardd. pccard_conf="/etc/defaults/pccard.conf" # pccardd(8) config file +pccard_ether_delay=5 # Delay before trying to start dhclient in pccard_ether removable_interfaces="" # Removable network interfaces for /etc/pccard_ether. local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" # startup script dirs. script_name_sep=" " # Change if your startup scripts' names contain spaces diff --git a/etc/pccard_ether b/etc/pccard_ether index d790a38fdc0a..f6a0e615e027 100755 --- a/etc/pccard_ether +++ b/etc/pccard_ether @@ -46,6 +46,17 @@ shift startstop=$1 shift +case ${pccard_ether_delay} in +[Nn][Oo]) + ;; +[0-9]) + sleep ${pccard_ether_delay} + ;; +*) # Default until it has had a chance to make it to /etc/defaults/rc.conf + sleep 5 + ;; +esac + case ${pccard_ifconfig} in [Nn][Oo] | '') expr "${removable_interfaces}" : ".*${interface}" > /dev/null || exit 0 diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index bedbdce12118..e34f12a24fb9 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -141,6 +141,16 @@ is set to these are the flags to pass to the .Xr pccardd 8 daemon. +.It Va pccard_ether_delay +.Pq Vt str +Set the delay before starting dhclient in +.Xr pccard_ether 8 +script. +This defaults to 5 seconds to work around a bug in the +.Xr ed 4 +driver which can lead to system hangs when using some newer +.Xr ed 4 +based cards. .It Va removable_interfaces .Pq Vt str List of removable network interfaces to be supported by