Date: Tue, 29 Dec 2009 22:29:23 +0100 From: martinko <gamato@users.sf.net> To: freebsd-mobile@freebsd.org Subject: Re: Switching from wired to wireless getting "network down" Message-ID: <4B3A74B3.10808@users.sf.net> In-Reply-To: <49CFBA6D.9070208@freebsd.org> References: <1238217783.00093348.1238205603@10.7.7.3> <20090328160858.GA57695@auricle.charter.net> <49CE51E2.4000807@freebsd.org> <Pine.GSO.4.64.0903281251230.21952@sea.ntplx.net> <49CE5B95.1010502@freebsd.org> <Pine.GSO.4.64.0903281841050.23196@sea.ntplx.net> <Pine.GSO.4.64.0903281851000.23196@sea.ntplx.net> <49CFBA6D.9070208@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Sam Leffler wrote:
>
> r190526 makes it possible to do the wired/wireless failover in HEAD. The
> only caveat is you must manually set the mac address of the wireless
> device to match the wired device because lagg's automatic setting of the
> wlanX ifnet doesn't propagate to the underlying device (the way
> if_setlladdr works makes it difficult). In the mean time you can do:
>
> ifconfig ath0 ether 00:11:22:33:44:55
>
> where the mac address is whatever your wired nic's address is and then
> setup lagg0 using the wlan; e.g.
>
> ifconfig ath0 ether 00:11:22:33:44:55
> ifconfig wlan create wlandev ath0 ssid my_net up
> ifconfig lagg create laggproto failover laggport em0 laggport wlan0 ...
>
> I also verified it works with WPA. In fact I tested this on a thinkpad
> in a docking station and it did the right thing just un-docking and
> re-docking. My only complaint is my ping running during all this lost
> one packet in the transition; not sure where.
>
> Sam
Hallo,
I've tried to figure out how to make this persistant via rc.conf and I'm
running into a dependency issue -- lagg is created before wlan:
This is in my rc.conf:
ifconfig_sk0="up"
ifconfig_iwi0="ether 00:11:22:33:44:55" # match wired (sk0)
wlans_iwi0="wlan0"
ifconfig_wlan0="wpa"
cloned_interfaces="lagg0"
ifconfig_lagg0="laggproto failover laggport sk0 laggport wlan0 dhcp"
And this is the result of /etc/rc.d/netif restart :
Stopping Network: lo0 sk0 fwe0 fwip0 iwi0 wlan0.
[...]
ifconfig: interface wlan0 does not exist
Starting wpa_supplicant.
ifconfig: SIOCSLAGGPORT: Device busy
Starting Network: lo0 sk0 iwi0 lagg0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
sk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
ether 00:11:22:33:44:55
media: Ethernet autoselect (none)
status: no carrier
iwi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
ether 00:11:22:33:44:55
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
status: associated
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
ether 00:11:22:33:44:55
media: Ethernet autoselect
status: no carrier
laggproto failover
laggport: sk0 flags=1<MASTER>
Please note that wlan0 is not part of lagg0 (!)
If I create it from command line it works as described in previous email.
It looks to me that wlan0 is not created fast enough and thus not added
to lagg0. :-/
Any suggestions how to solve this please ?
Thanks!
Martin
PS: This is on 8.0-R.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B3A74B3.10808>
