Still roaming issues with new dhclient and if_wi

Brooks Davis brooks at
Thu Sep 8 10:24:17 PDT 2005

On Thu, Sep 08, 2005 at 08:57:30AM -0700, Kevin Oberman wrote:
> I have a ThinkPad with a Prism2.5 wireless card and use the wi
> driver. Since the change to the OpenBSD dhclient I am no longer able to
> roam from our conference room to my office. Before the dhclient change,
> I would lose association as I walked up two floors and from one end of
> the building to the other, associate again in my office (or while
> walking down the corridor) and, after a short wait for the bridge to
> figure out where my MAC was coming from and update its forwarding
> tables, I was up and running including my ssh sessions.
> I previously complained that dhclient was exiting when the card lost
> association and had to be restarted. That's been fixed (Thanks, Sam),
> but the problem is now even more annoying. I now get to my office and
> dhclient is still running and the interface is associated, but the
> interface no longer has an IP address. It is possible that it would
> eventually get one, but I have never been willing to wait for more than
> a few minutes. I can "fix" it by killing dhclient and re-starting it. I
> get an address (same one I had in the conference room) immediately and
> I'm back to normal.
> I think the issue is that the SSID changes between my office and the
> conference room. lbnl_wlan45 in the conf. room and lbnl_wlan46 in my
> office, but if dhclient lives on, why doesn't it request an IP when the
> SSID changes or simply exit? If I forget to kick it immediately, I lose
> my ssh sessions.

Your nic (actually its driver) is apparently failing to generate a link
down event when it looses association.  If it did this dhclient would
die and then restart when you reacquire association.

> Don't you get tired of hearing that "it used to work with the old
> dhclient"? :-)

Yes. :-)

> Any suggestions?

In a very brief check it looks to me like there is not a code path in
the wi(4) driver that leads to a call to ieee80211_notify_node_join
or ieee80211_notify_node_leave which means that it won't generate the
routing messages it needs to.  I don't have time to look at this in
depth, but that looks like one avenue to pursue.

-- Brooks

Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url :

More information about the freebsd-current mailing list