This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/WL1837MOD: Roaming takes 10 to 30 sec between router and AP with the same ssid

Part Number: WL1837MOD

Tool/software: Linux

Hello,

We have WL1837Mod chip and using it on wifi phone. Roaming takes 10-30 second. With the same router and AP CISCO phone switch is very short. We event dont feel how it switches over.

I use sdk-linux-03.03.00.

1) I can see that rssi_treshhold is set -90 in main.c file ../net.wirless/wl18xx/main.c

 2) We use wpa_supplicant with BGSCAN    5, -65, 30

3) Scanning is active. And hidden ssid is disabled. scan_ssid param is not used in the network node. The default should be 0 - disabled?   

I am not sure if the problem is in rssi_treshold = - 90 in driver or bgscan params are not passed to driver. 

Do you have what needs to be done to make roaming time less than 4 sec? This is for voice.

Also do you support 802.11r protocol?

Thank you

Grant

  • Hi,

    Can you share wpa_supplicant logs showing this 30sec roaming switch?
    In addition, what is the firmware version that is printed when you bring the driver up?

    BR,
    Eyal
  • Hi Eyal, I will try to capture one.

    The firmware is below. Do you know any issues with this firmware?

    I would like to describe our test bed. We have a router and AP located 15 meters apart from each other. We are close to router 1st. Then we walk towards AP. When we are very close to AP the signal level from router is very very low but phone does not switch. The voice becomes choppy and we loose it. then after 10 - to 30 sec we switch to the AP and signal is very strong. I was wondering if rssi_treashold = -90 in wl18xx driver causes this? Why bgscan does not override it?


    16-02-11 4:28PM
    wifi# dmesg | grep firmware
    [ 1.166587] remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217148
    [ 14.978406] wlcore: firmware booted (Rev 6.3.10.0.133)
    [ 24.343511] wlcore: firmware booted in PLT mode PLT_ON (PLT 6.3.10.0.133)
    [ 42.457298] wlcore: firmware booted (Rev 6.3.10.0.133)
    wifi [dmesg | grep firmware] ~
    16-02-11 4:29PM
    wifi# [ 63.110019] wlan0: authenticate with 02:20:00:01:7c
  • I am sorry for the mistake. The firmware version is below.


    ifi [ifcofnig wlan0 up] ~ 18-07-16 8:14PM
    wifi# dmesg | grep firmware
    [ 1.167934] remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217148
    [ 14.340793] wlcore: PHY firmware version: Rev 8.2.0.0.233
    [ 14.445137] wlcore: firmware booted (Rev 8.9.0.1.55)
    [ 105.563255] wlcore: PHY firmware version: Rev 8.2.0.0.233
    [ 105.832004] wlcore: firmware booted (Rev 8.9.0.1.55)
    wifi [dmesg | grep firmware] ~
  • Hi Eyal.

    I attached the bgscan logs below. I see very big irregular gaps between bgscan requests and this does not match with out bgscan settings. No roaming used during these logs.

    ctrl_interface=/var/run/wpa_supplicant
    2 bgscan="simple:4:-60:10"
    3 ap_scan=1
    4 network={
    5 ssid="grant"
    6 key_mgmt=NONE
    7 }


    wifi# journalctl -f | grep bgscan
    Jul 17 12:55:38 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
    Jul 17 12:55:46 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 12:56:04 wifi wpa_supplicant[286]: bgscan simple: scan result notification


    Jul 17 12:56:32 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
    Jul 17 12:56:41 wifi wpa_supplicant[286]: bgscan simple: scan result notifiyacation
    Jul 17 12:57:08 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
    Jul 17 12:57:17 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 12:57:35 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 12:58:11 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 12:58:39 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
    Jul 17 12:58:47 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 12:59:06 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 12:59:42 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 13:00:09 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
    Jul 17 13:00:18 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 13:00:36 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 13:01:12 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 13:01:40 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
    Jul 17 13:01:48 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 13:02:16 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
    Jul 17 13:02:24 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 13:02:42 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 13:02:52 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
    Jul 17 13:03:01 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 13:03:10 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
    Jul 17 13:03:19 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 13:03:29 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
    Jul 17 13:03:37 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 13:03:47 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
    Jul 17 13:03:55 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 13:04:05 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
    Jul 17 13:04:13 wifi wpa_supplicant[286]: bgscan simple: scan result notification
    Jul 17 13:04:23 wifi wpa_supplicant[286]: bgscan simple: Request a background scan
  • Hi,

    Can you change the bgscan algorithm from "simple" to "learn" and re-test?
    There might be an issue with simple.

    BR,
    Eyal
  • It did not work at all. No bgscans. My supplicant version is buildroot 2.5 version. Do you this is more of supplicant issue?
  • Learn option did not call bgscan at all. One thing I see that I get bgscan within 10 sec when signal is good. When it is low then we see logs like I attached before.

    It seems bgscan interval can vary within large range depend on signal strength and it does not follow bgscan values in case of loose signals?
  • Sorry I was wrong. learn did not work at all. simple - works with strong signal periodically but with 20sec interval instead of 10. With bad signal timing is completely messed up
  • The radio scanning itself takes 8sec. I am not sure how can we roam quick if even scanning take 8 sec? And after this another scan is scheduled with + bgscan time. 8 sec just for scanning is too long.


    \ifi# journalctl -f | grep scan
    Feb 11 16:34:08 wifi wpa_supplicant[287]: bgscan simple: Request a background scan
    Feb 11 16:34:08 wifi wpa_supplicant[287]: wlan0: Add radio work 'scan'@0x21680d0
    Feb 11 16:34:08 wifi wpa_supplicant[287]: wlan0: Starting radio work 'scan'@0x21680d0 after 0.000178 second wait
    Feb 11 16:34:08 wifi wpa_supplicant[287]: wlan0: nl80211: scan request
    Feb 11 16:34:08 wifi wpa_supplicant[287]: Scan requested (ret=0) - scan timeout 30 seconds
    Feb 11 16:34:08 wifi wpa_supplicant[287]: wlan0: Own scan request started a scan in 0.013111 seconds
    Feb 11 16:34:16 wifi wpa_supplicant[287]: wlan0: nl80211: New scan results available
    Feb 11 16:34:16 wifi wpa_supplicant[287]: nl80211: Received scan results (9 BSSes)
    Feb 11 16:34:16 wifi wpa_supplicant[287]: wlan0: BSS: Start scan result update 9
    Feb 11 16:34:16 wifi wpa_supplicant[287]: BSS: last_scan_res_used=9/32
    Feb 11 16:34:16 wifi wpa_supplicant[287]: wlan0: New scan results available (own=1 ext=0)
    Feb 11 16:34:16 wifi wpa_supplicant[287]: bgscan simple: scan result notification
    Feb 11 16:34:16 wifi wpa_supplicant[287]: wlan0: Radio work 'scan'@0x21680d0 done in 8.127963 seconds
    Feb 11 16:34:16 wifi wpa_supplicant[287]: p2p-dev-wlan0: Updating scan results from sibling
    Feb 11 16:34:16 wifi wpa_supplicant[287]: nl80211: Received scan results (9 BSSes)
    Feb 11 16:34:16 wifi wpa_supplicant[287]: p2p-dev-wlan0: BSS: Start scan result update 7
    Feb 11 16:34:16 wifi wpa_supplicant[287]: BSS: last_scan_res_used=9/32
    Feb 11 16:34:16 wifi wpa_supplicant[287]: p2p-dev-wlan0: New scan results available (own=0 ext=0)
    ^C
  • There is nothing wrong with bgscan taking longer as it runs in the background in between tx/rx operations.
    bgscan activates when signal drops below a set level, and does scans in the background for any stronger AP with the same SSID.

    You are using "simple:4:-60:10" so you are actually initiating a bgscan every 4 seconds once the signal level drops below -60dB, otherwise you do it every 10 seconds, I think this is much too aggressive.

    Can you change it for example to "simple:30:-65:120" and try with both simple and learn?

    BR,
    Eyal
  • simple does seems to be not working. learning works better. The configuration is "simple:30:-45:130". Shoud I use short interval 4sec? The longer one can probably stay at 120?
  • Hi Eyal, "learn" bgscan option returns result faster. But I can not find any information what is different between simple and learn mode. Can we use it instead of simple bgscan? Will it work for hidden ssids?
  • Hi Eyal,

    Application we use is voice. We can not have delays more than 1-2 sec. I used learn "5:-60:`120". We have brake but it is better. With simple just scanning takes 8 sec. Which is too long for voice.  I would like to ask if it is OK to use "5:-60:`120". pwa_supplicant mentions it is experimental. 

    Thank you

    Grant    

  • When signal level drops below threshold it runs scan right away then periodic scan with "below time value". The first scan triggered threshold drop and consecutive scans take 8 sec with simple option. It might be ok after the 1st scan because of threshold drop. But teh very 1st one also takes 8 sec. 

    Thank you    

  • Hi,

    I suggest you continue to use learn mode as it does work better.
    I did get a confirmation from our firmware team that it works better than simple with our drivers.

    Best Regards,
    Eyal