Date: Tue, 12 Aug 2003 14:50:22 +0200 (CEST) From: Martin Blapp <mb@imp.ch> To: Mark Sergeant <msergeant@snsonline.net> Cc: freebsd-current@freebsd.org Subject: Re: Problem with dhclient & wi0 on resume. Message-ID: <20030812143805.S2686@cvs.imp.ch> In-Reply-To: <1060689669.912.18.camel@xyzzy.wireless.snsonline.net> References: <20030812104605.G2686@cvs.imp.ch> <1060684879.912.2.camel@xyzzy.wireless.snsonline.net> <1060689669.912.18.camel@xyzzy.wireless.snsonline.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1172550694-1060692622=:2686 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi, Can you please try the attached patch ? There was one mayor typo ... - for _if in _active_list ; do + for _if in ${_active_list} ; do I also found two other bugs. And there is still one if we get 2 pccards at the same time configured with dhcp. But I think this setting is used very rarly. Martin --- etc/pccard_ether Tue Aug 12 14:14:13 2003 +++ etc/pccard_ether Tue Aug 12 14:43:31 2003 @@ -8,48 +8,55 @@ # stop_dhcp() { + # If dhclient is already running, record + # it's interfaces. + if [ -x /usr/bin/grep ]; then + eval _active_list=\"`/bin/ps -axwww | \ + /usr/bin/grep dhclient | \ + /usr/bin/grep -v grep | \ + /usr/bin/sed -e 's|^.*dhclient||' | \ + /usr/bin/awk '{for (i=1;i<=NF;i++) \ + { if ($i~/[a-zA-Z].[0-9]$/) \ + { printf(" %s",$i) } }}'` \ + \" + fi + + _aprefix= + for _if in ${_active_list} ; do + _test_if=`ifconfig ${_if} 2>&1` + case "$_test_if" in + "ifconfig: interface $_if does not exist") + ;; + ${interface}) + # Don't record the same device twice. + ;; + *) + _dhcplist="${_dhcplist}${_aprefix}${_if}" + [ -z "$_aprefix" ] && _aprefix=' ' + ;; + esac + done if [ -s /var/run/dhclient.${interface}.pid ]; then pidfile="/var/run/dhclient.${interface}.pid" elif [ -s /var/run/dhcpc.${interface}.pid ]; then pidfile="/var/run/dhcpc.${interface}.pid" elif [ -s /var/run/dhclient.pid ]; then - # If dhclient is already running, record - # it's interfaces. - if [ -x /usr/bin/grep ]; then - eval _active_list=\"`/bin/ps -axwww | \ - /usr/bin/grep dhclient | \ - /usr/bin/grep -v grep | \ - /usr/bin/sed -e 's|^.*dhclient||' | \ - /usr/bin/awk '{for (i=1;i<=NF;i++) \ - { if ($i~/[a-zA-Z].[0-9]$/) \ - { printf(" %s",$i) } }}'` \ - \" - fi - - _aprefix= - for _if in _active_list ; do - _test_if=`ifconfig ${_if} 2>&1` - case "$_test_if" in - "ifconfig: interface $_if does not exist") - ;; - *) - _dhcplist="${_dhcplist}${_aprefix}${_if}" - [ -z "$_aprefix" ] && _aprefix=' ' - ;; - esac - done - pidfile="/var/run/dhclient.pid" else return fi kill `cat ${pidfile}` rm -f ${pidfile} - sh `/etc/rc.d/dhclient start` + case ${startstop} in + [Ss][Tt][Oo][Pp]) + sh `/etc/rc.d/dhclient start` + ;; + *) + ;; + esac } start_dhcp() { - stop_dhcp case ${pccard_ether_delay} in [Nn][Oo]) ;; @@ -57,6 +64,7 @@ sleep ${pccard_ether_delay} ;; esac + stop_dhcp [ -n "$dhcp_program" ] && dhclient_program="$dhcp_program" [ -n "$dhcp_flags" ] && dhclient_flags="$dhcp_flags" if [ -x "${dhclient_program}" ]; then --0-1172550694-1060692622=:2686 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch3 Content-Transfer-Encoding: BASE64 Content-ID: <20030812145022.O2686@cvs.imp.ch> Content-Description: Content-Disposition: attachment; filename=patch3 LS0tIGV0Yy9wY2NhcmRfZXRoZXIJVHVlIEF1ZyAxMiAxNDoxNDoxMyAyMDAz DQorKysgZXRjL3BjY2FyZF9ldGhlcglUdWUgQXVnIDEyIDE0OjQzOjMxIDIw MDMNCkBAIC04LDQ4ICs4LDU1IEBADQogIw0KIA0KIHN0b3BfZGhjcCgpIHsN CisJIyBJZiBkaGNsaWVudCBpcyBhbHJlYWR5IHJ1bm5pbmcsIHJlY29yZA0K KwkjIGl0J3MgaW50ZXJmYWNlcy4NCisJaWYgWyAteCAvdXNyL2Jpbi9ncmVw IF07IHRoZW4NCisJCWV2YWwgX2FjdGl2ZV9saXN0PVwiYC9iaW4vcHMgLWF4 d3d3IHwgXA0KKwkJCS91c3IvYmluL2dyZXAgZGhjbGllbnQgfCBcDQorCQkJ L3Vzci9iaW4vZ3JlcCAtdiBncmVwIHwgXA0KKwkJCS91c3IvYmluL3NlZCAt ZSAnc3xeLipkaGNsaWVudHx8JyB8IFwNCisJCQkvdXNyL2Jpbi9hd2sgJ3tm b3IgKGk9MTtpPD1ORjtpKyspIFwNCisJCQkJeyBpZiAoJGl+L1thLXpBLVpd LlswLTldJC8pIFwNCisJCQkJeyBwcmludGYoIiAlcyIsJGkpIH0gfX0nYCBc DQorCQkJXCINCisJZmkNCisNCisJX2FwcmVmaXg9DQorCWZvciBfaWYgaW4g JHtfYWN0aXZlX2xpc3R9IDsgZG8NCisJCV90ZXN0X2lmPWBpZmNvbmZpZyAk e19pZn0gMj4mMWANCisJCWNhc2UgIiRfdGVzdF9pZiIgaW4NCisJCSJpZmNv bmZpZzogaW50ZXJmYWNlICRfaWYgZG9lcyBub3QgZXhpc3QiKQ0KKwkJCTs7 DQorCQkke2ludGVyZmFjZX0pDQorCQkJIyBEb24ndCByZWNvcmQgdGhlIHNh bWUgZGV2aWNlIHR3aWNlLg0KKwkJCTs7DQorCQkqKQ0KKwkJCV9kaGNwbGlz dD0iJHtfZGhjcGxpc3R9JHtfYXByZWZpeH0ke19pZn0iDQorCQkJWyAteiAi JF9hcHJlZml4IiBdICYmIF9hcHJlZml4PScgJw0KKwkJCTs7DQorCQllc2Fj DQorCWRvbmUNCiAJaWYgWyAtcyAvdmFyL3J1bi9kaGNsaWVudC4ke2ludGVy ZmFjZX0ucGlkIF07IHRoZW4NCiAJCXBpZGZpbGU9Ii92YXIvcnVuL2RoY2xp ZW50LiR7aW50ZXJmYWNlfS5waWQiDQogCWVsaWYgWyAtcyAvdmFyL3J1bi9k aGNwYy4ke2ludGVyZmFjZX0ucGlkIF07IHRoZW4NCiAJCXBpZGZpbGU9Ii92 YXIvcnVuL2RoY3BjLiR7aW50ZXJmYWNlfS5waWQiDQogCWVsaWYgWyAtcyAv dmFyL3J1bi9kaGNsaWVudC5waWQgXTsgdGhlbg0KLQkJIyBJZiBkaGNsaWVu dCBpcyBhbHJlYWR5IHJ1bm5pbmcsIHJlY29yZA0KLQkJIyBpdCdzIGludGVy ZmFjZXMuDQotCQlpZiBbIC14IC91c3IvYmluL2dyZXAgXTsgdGhlbg0KLQkJ CWV2YWwgX2FjdGl2ZV9saXN0PVwiYC9iaW4vcHMgLWF4d3d3IHwgXA0KLQkJ CQkvdXNyL2Jpbi9ncmVwIGRoY2xpZW50IHwgXA0KLQkJCQkvdXNyL2Jpbi9n cmVwIC12IGdyZXAgfCBcDQotCQkJCS91c3IvYmluL3NlZCAtZSAnc3xeLipk aGNsaWVudHx8JyB8IFwNCi0JCQkJL3Vzci9iaW4vYXdrICd7Zm9yIChpPTE7 aTw9TkY7aSsrKSBcDQotCQkJCQl7IGlmICgkaX4vW2EtekEtWl0uWzAtOV0k LykgXA0KLQkJCQkJeyBwcmludGYoIiAlcyIsJGkpIH0gfX0nYCBcDQotCQkJ CVwiDQotCQlmaQ0KLQ0KLQkJX2FwcmVmaXg9DQotCQlmb3IgX2lmIGluIF9h Y3RpdmVfbGlzdCA7IGRvDQotCQkJX3Rlc3RfaWY9YGlmY29uZmlnICR7X2lm fSAyPiYxYA0KLQkJCWNhc2UgIiRfdGVzdF9pZiIgaW4NCi0JCQkiaWZjb25m aWc6IGludGVyZmFjZSAkX2lmIGRvZXMgbm90IGV4aXN0IikNCi0JCQkJOzsN Ci0JCQkqKQ0KLQkJCQlfZGhjcGxpc3Q9IiR7X2RoY3BsaXN0fSR7X2FwcmVm aXh9JHtfaWZ9Ig0KLQkJCQlbIC16ICIkX2FwcmVmaXgiIF0gJiYgX2FwcmVm aXg9JyAnDQotCQkJCTs7DQotCQkJZXNhYw0KLQkJZG9uZQ0KLQ0KIAkJcGlk ZmlsZT0iL3Zhci9ydW4vZGhjbGllbnQucGlkIg0KIAllbHNlDQogCQlyZXR1 cm4NCiAJZmkNCiAJa2lsbCBgY2F0ICR7cGlkZmlsZX1gDQogCXJtIC1mICR7 cGlkZmlsZX0NCi0Jc2ggYC9ldGMvcmMuZC9kaGNsaWVudCBzdGFydGANCisJ Y2FzZSAke3N0YXJ0c3RvcH0gaW4NCisJW1NzXVtUdF1bT29dW1BwXSkNCisJ CXNoIGAvZXRjL3JjLmQvZGhjbGllbnQgc3RhcnRgDQorCQk7Ow0KKwkqKQ0K KwkJOzsNCisJZXNhYw0KIH0NCiANCiBzdGFydF9kaGNwKCkgew0KLQlzdG9w X2RoY3ANCiAJY2FzZSAke3BjY2FyZF9ldGhlcl9kZWxheX0gaW4NCiAJW05u XVtPb10pDQogCQk7Ow0KQEAgLTU3LDYgKzY0LDcgQEANCiAJCXNsZWVwICR7 cGNjYXJkX2V0aGVyX2RlbGF5fQ0KIAkJOzsNCiAgICAgICAgIGVzYWMNCisJ c3RvcF9kaGNwDQogCVsgLW4gIiRkaGNwX3Byb2dyYW0iIF0gJiYgZGhjbGll bnRfcHJvZ3JhbT0iJGRoY3BfcHJvZ3JhbSINCiAJWyAtbiAiJGRoY3BfZmxh Z3MiIF0gJiYgZGhjbGllbnRfZmxhZ3M9IiRkaGNwX2ZsYWdzIg0KIAlpZiBb IC14ICIke2RoY2xpZW50X3Byb2dyYW19IiBdOyB0aGVuDQo= --0-1172550694-1060692622=:2686--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030812143805.S2686>