Doug Barton wrote (2005/08/26): > I'm 100% sure it was happening with my ndis card, fairly certain it was > happening with ath too, but I wouldn't swear to it. So maybe the behavioral change would be somewhere in the ndis layer? I took a fast look into sys/dev/if_ndis/* and it seems that it would be the real source of the problem, like if ssid is not acquired, the old setting is leaved as is. Unfortunately, I'm going on vacation right now, so I can return to this problem after Sep 5. > Did you have a chance to review the patch submitted by Rudolf? I meant the patch mainly as a fast workaround for those, who have the same problem, however if developers find useful and logical, so that ifconfig does not call SIOCSIFFLAGS unnecessarily, why not, I would be pleased ;o), but I'm very unsure, if it can be skipped in all cases. Btw, I think that I have a better candicate for commit - new dhclient really annoys me, that it writes "unknown dhcp option value ..." for every unknown DHCP option (e. g. for PXE), whereas the old was simply quiet (chunk 3). And new dhclient makes me mearly crazy :o), when it waits 10 seconds on interface with link down - I have done primitive patch (chunks #1 and #2), which simply removes waiting, but this is not very good to make it public, so I have a plan to create a patch, which will add -t seconds option, so that the timeout is configurable, with the default value eqal to 0, because I have never seen any reason to wait so such a long time. Regards. --- sbin/dhclient/dhclient.c.orig Thu Jul 28 02:24:39 2005 +++ sbin/dhclient/dhclient.c Sat Jul 30 00:55:57 2005 _at__at_ -288,7 +288,7 _at__at_ main(int argc, char *argv[]) { extern char *__progname; - int ch, fd, quiet = 0, i = 0; + int ch, fd, quiet = 0; int pipe_fd[2]; int immediate_daemon = 0; struct passwd *pw; _at__at_ -351,19 +351,9 _at__at_ read_client_conf(); if (!interface_link_status(ifi->name)) { - fprintf(stderr, "%s: no link ...", ifi->name); + fprintf(stderr, "%s: no link\n", ifi->name); fflush(stderr); - sleep(1); - while (!interface_link_status(ifi->name)) { - fprintf(stderr, "."); - fflush(stderr); - if (++i > 10) { - fprintf(stderr, " giving up\n"); - exit(1); - } - sleep(1); - } - fprintf(stderr, " got link\n"); + exit(1); } if ((nullfd = open(_PATH_DEVNULL, O_RDWR, 0)) == -1) _at__at_ -2293,7 +2283,8 _at__at_ case DHO_END: return (1); default: - warning("unknown dhcp option value 0x%x", option); + if (!unknown_ok) + warning("unknown dhcp option value 0x%x", option); return (unknown_ok); } } -- Rudolf Cejka <cejkar at fit.vutbr.cz> http://www.fit.vutbr.cz/~cejkar Brno University of Technology, Faculty of Information Technology Bozetechova 2, 612 66 Brno, Czech RepublicReceived on Fri Aug 26 2005 - 12:09:38 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:42 UTC