As explained in partial scanning section, the mobile device maintains a roaming channel list to reduce scan time. But, there are cases where the device may trigger a full-scan in order to find a roaming AP. In the following diagram, the mobile device initially finds AP1 and AP2 and saves CH 1 and CH 35 in the roaming channel list after connecting to AP2.
When the mobile device moves from Location1 to Location2, roaming will be triggered at point, Trigger1 due to a weak RSSI value. While the mobile device tries to find a roaming candidate in CH 1 and CH 36 via a partial scan, it is not able to find any other AP from the list other than AP2. Only after a full-scan will the mobile device discover AP3 and AP4 where it will add CH 11 and CH 46 into its roaming channel list after it connects to AP4.
Having neighbor reports avoids full-scans from such instance from happening. Initially, mobile device will save CH 1 and CH 36 in the channel list as it connects to AP2, which is equal to previous case. Then, in addition, it will also send a neighbor report request to AP2. AP2 will return a list of nearby AP’s, which is AP1, AP2 and AP4. From this response, mobile devices will add CH 11 in its roaming channel list.
As the mobile device moves away from Location 1 to Location2, the device will run a partial roaming scan at Trigger1 for CH 1, CH 11 and CH 36. This time, the device finds AP4 from its partial scan and successfully connects to AP4. After roaming success, mobile device will repeat the steps by sending a neighbor request to AP4.