http://defect.opensolaris.org/bz/show_bug.cgi?id=4993

           Summary: NWAM should be more aware of signal strength when
                    roaming between APs.
    Classification: Development
           Product: nwam
           Version: unspecified
          Platform: ANY/Generic
        OS/Version: OpenSolaris
            Status: NEW
          Severity: major
          Priority: P3
         Component: ON daemon
        AssignedTo: nwam-dev at opensolaris.org
        ReportedBy: dkenny at opensolaris.org
         QAContact: nwam-dev at opensolaris.org
   Estimated Hours: 0.0


At present in NWAM Phase 0/0.5, nwamd doesn't continuously monitor the signal
strength, it only does periodic scans - 120 seconds is the default, but is
tunable using SMF to get/set the property:

        Get:
                # svccfg -s nwam listprop nwamd/scan_interval
                nwamd/scan_interval  count    120

        Set:
                # svccfg -s nwam setprop nwamd/scan_interval = 60
                # svcadm refresh nwam

On noticing that the connection isn't there any more it will attempt to
reconnect to another known network, but it may not be able to - e.g. all
dub04wlan networks, while they have the same ESSID, the AP address (BSSID)
varies, and this is used to store the WEP/WPA key - so you may not have the
correct stored value, or none at all.

e.g. if you run the following command as root:

        dladm show-secobj

you will probably see several entries for dub04wlan, e.g. I have:

        # dladm show-secobj | grep dub04
        nwam-dub04wlan-0.13.c3.58.98.d0 wep
        nwam-dub04wlan-0.13.c3.58.80.40 wep
        nwam-dub04wlan-0.13.c3.58.84.f0 wep
        nwam-dub04wlan-0.13.c3.45.6c.c0 wep

infact one has a different key set:

        # dladm show-secobj -o OBJECT,CLASS,VALUE | grep dub04
        nwam-dub04wlan-0.13.c3.58.98.d0 wep       63EAD39D8D96759744C574D7C8
        nwam-dub04wlan-0.13.c3.58.80.40 wep       63EAD39D8D96759744C574D7C8
        nwam-dub04wlan-0.13.c3.58.84.f0 wep       7E45B7517BCBF67DA789CC2E97
        nwam-dub04wlan-0.13.c3.45.6c.c0 wep       63EAD39D8D96759744C574D7C8

(real keys replaced with dummy values for illustration)

the reason being that I didn't connect to the other ones recently, so the key
wasn't changed.

So if for example you moved from the AP dub04wlan-0.13.c3.58.84.f0 (which has
the correct key, and is visible at my desk) to dub04wlan-0.13.c3.58.98.d0 then
it won't automatically connect since the key is different, even though you've
used that AP before.

For Phase 1 we should try to ensure that things work as expected, which would
most likely be:

1) nwamd is constantly monitoring the signal strength, and if it goes too low
   for a period of (say) 10 seconds (since it can dip for short periods) then
   nwamd would do a scan and attempt to seek another AP with the same AP.

2) If the ESSID is the same, but the BSSID is different, nwamd should try to
   use the key from the currently connected AP for the new AP if the currently
   stored key doesn't work. 

   I know that this presents an issue for WEP and open authentication, due to
   the fact that it doesn't tell you that the key failed, but nwamd could
   monitor for no traffic or DHCP address.

-- 
Configure bugmail: http://defect.opensolaris.org/bz/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

Reply via email to