Switching from wired to wireless getting "network down"

martinko gamato at users.sf.net
Tue Dec 29 21:30:11 UTC 2009


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.



More information about the freebsd-mobile mailing list