[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Wireless Roaming



Benedek Frank wrote:
Is there a tool I can use for wireless roaming? I would need one I can somehow manage, as strongest signal almost never applies to me. I use in all my networks WEP with 128bit encryption, and Shared mode.
Well, waproamd was the weapon of choice when the world only used WEP. Since you're only using WEP at this point, you could still use it.... but wpa_supplicant will also do what you want, but it's a bit non-trivial to set up. It goes like this:

In your /etc/networking/interfaces, you put a section that looks like:
auto ath0
iface ath0 inet manual
        wpa-driver wext
        wpa-roam /etc/wpa_supplicant.conf

# A config for wpa_supplicant to call. This just grabs any old address
iface generic_dhcp inet dhcp

# A config for wpa_supplicant to call. Special stuff for when you're at home
iface home_wireless inet static
       address 192.168.1.12
       gateway 192.168.1.1
       post-up /some/script/that/connects/to/something/at/home
       pre-down /some/other/script/to/disconnect/from/home
The first section launches a wpa_supplicant to manage ath0 and scan for AP's. When it finds some, it sees if any profiles in wpa_supplicant.conf (below) match any that it found. It selects one and then, depending upon the "id_str" in the section, calls the corresponding config in /etc/network/interfaces.

In this case, there are two "pseudo" interfaces: generic_dhcp that just grabs any dhcp address and doesn't do anything else, and there's a "home_wireless" which uses a static address and also runs some scripts to connect/disconnect from something (like, a network drive or something).

Now, /etc/wpa_supplicant.conf would look something like this (I've clipped out some of the stuff at the top of mine... so this isn't complete. Use your existing sample wpa_supplicant.conf as a starting point.
network={
        ssid="SomeWPA"
        proto=WPA
        key_mgmt=WPA-PSK
        psk="MyWPAKey"
        auth_alg=OPEN
        priority=5
        id_str="home_wireless"
}

network={
        ssid="SomeWEP"
        auth_alg=SHARED
        key_mgmt=NONE
        wep_key0=12345678901234567890123456
        wep_tx_keyidx=0
        priority=6
        id_str="generic_dhcp"
}

### Associate with any open access point
network={
        ssid=""
        key_mgmt=NONE
        priority=4
        id_str="generic_dhcp"
}
Here, I've specified three AP's. The last one is actually "any" access point. What keeps wpa_supplicant from selecting it over the others is NOT the order in which they appear, it's the "priority" line in each one. wpa_supplicant will find all of the sections that match an AP that it can see and then choose the one with the highest priority. Once it does this, it looks at "id_str" to know which pseudo interface in /etc/network/interfaces to invoke.

Hope this helps.

- Joe

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


Reply to: