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/WL1807MOD: wlcore: WARNING corrupted packet in RX

Part Number: WL1807MOD

Tool/software: Linux

Hi, We are seeing sometimes:

[ 357.430429] wlcore: WARNING corrupted packet in RX: status: 0x1 len: 82
[ 357.437287] wlcore: WARNING corrupted packet in RX: status: 0x1 len: 149
[ 357.444303] wlcore: WARNING corrupted packet in RX: status: 0x1 len: 158
[ 399.128618] wlcore: WARNING corrupted packet in RX: status: 0x1 len: 112

The firmware versions are:

[ 27.316404] wlcore: PHY firmware version: Rev 8.2.0.0.242
[ 27.354677] wlcore: firmware booted (Rev 8.9.0.0.79)

These happen rarely. Very hard to debug. Once it happens, the network will be not usable. I'd like to get some advice to help us resolving the problem

The fist question: Does the error relate to SDIO read/write failure on the bus? In the related question about "data rate slow" it seemed to be implied but not explicitly confirmed.

From three previous threads: , , and , it only mentions that it could happen due to over-the-air packets corruptions.

The second question: What are the other reasons that could cause it to happen besides packets on the RF channel?

The first earlier thread of the above three suggests using a counter to count its happening. Once the counter increments, restart wpa_supplicant to re-authenticate.

The third question: Is this a valid work-around?

Thanks.

  • Hi,
    There can be multiple reasons for corrupted packets including the reasons mentioned above. When you say network is not usable - does it mean you are unable to scan / send data packets over wireless interface after this error ?

    Thanks
    Saurabh
  • Saurabh, Thanks for the quick response. At the moment we do not know whether it still can scan or not. We are trying to reproduce the problem, or wait until it happens again. Will update here when more information becomes available.
  • Hi, We have not seen the corrupted packets yet. But ran into a problem that may be similar in its effect.

    So the log is pasted below. We have a netmon that watches for the wlan0 link. Once wlan0 is up, the netmon would launch wpa_supplicant and udhcp. It keeps in a loop as the snippet below shows: once the IP network is up, the wifi link got tore down due to a message saying "CLASS3_FRAME_FROM_NONASSOC_STA".

    Any idea what does that CLASS3_FRAME_FROM_NONASSOC_STA mean in this case?

    Mar  4 22:19:23 netmon[1711]: Process State up 1
    Mar  4 22:19:23 netmon[1711]: wpa_supplicant_start() Starting wpa_supplicant on 'wlan0'
    Mar  4 22:19:24 netmon[1711]: wpa_supplicant started with PID 2281
    Mar  4 22:19:24 netmon[1711]: wpa_supplicant is connecting.
    Mar  4 22:19:24 netmon[1711]: WPA_SUPPLICANT ignored unsolicited message: 3 CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
    Mar  4 22:19:24 netmon[1711]: Process State up 2
    Mar  4 22:19:24 netmon[1711]: Process State up 2
    Mar  4 22:19:25 netmon[1711]: WPA_SUPPLICANT ignored unsolicited message: 3 WPS-AP-AVAILABLE
    Mar  4 22:19:25 netmon[1711]: Process State up 2
    Mar  4 22:19:25 netmon[1711]: WPA_SUPPLICANT ignored unsolicited message: 3 CTRL-EVENT-SCAN-STARTED
    Mar  4 22:19:25 netmon[1711]: Process State up 2
    Mar  4 22:19:26 netmon[1711]: Process State up 2
    Mar  4 22:19:27 netmon[1711]: Process State up 2
    Mar  4 22:19:28 netmon[1711]: Process State up 2
    Mar  4 22:19:29 kernel: [  164.177783] wlan0: authenticate with 58:ef:68:ba:1e:c5
    Mar  4 22:19:29 kernel: [  164.177791] wlan0: Allocated STA 58:ef:68:ba:1e:c5
    Mar  4 22:19:29 kernel: [  164.179857] wlan0: Inserted STA 58:ef:68:ba:1e:c5
    Mar  4 22:19:29 kernel: [  164.179861] wlan0: send auth to 58:ef:68:ba:1e:c5 (try 1/3)
    Mar  4 22:19:29 netmon[1711]: WPA_SUPPLICANT ignored unsolicited message: 3 WPS-AP-AVAILABLE
    Mar  4 22:19:29 netmon[1711]: WPA_SUPPLICANT ignored unsolicited message: 3 SME: Trying to authenticate with 58:ef:68:ba:1e:c5 (SSID='test-ap-2.4G' freq=2447 MHz)
    Mar  4 22:19:29 netmon[1711]: Process State up 2
    Mar  4 22:19:29 kernel: [  164.207951] wlan0: authenticated
    Mar  4 22:19:29 kernel: [  164.207956] wlan0: moving STA 58:ef:68:ba:1e:c5 to state 2
    Mar  4 22:19:29 kernel: [  164.210070] wlan0: associate with 58:ef:68:ba:1e:c5 (try 1/3)
    Mar  4 22:19:29 kernel: [  164.214122] wlan0: RX AssocResp from 58:ef:68:ba:1e:c5 (capab=0x411 status=0 aid=20)
    Mar  4 22:19:29 kernel: [  164.214131] wlan0: moving STA 58:ef:68:ba:1e:c5 to state 3
    Mar  4 22:19:29 kernel: [  164.219579] wlan0: associated
    Mar  4 22:19:29 kernel: [  164.222101] wlan0: dropped frame to 58:ef:68:ba:1e:c5 (unauthorized port)
    Mar  4 22:19:29 netmon[1711]: WPA_SUPPLICANT ignored unsolicited message: 3 Trying to associate with 58:ef:68:ba:1e:c5 (SSID='test-ap-2.4G' freq=2447 MHz)
    Mar  4 22:19:29 netmon[1711]: WPA_SUPPLICANT ignored unsolicited message: 3 Associated with 58:ef:68:ba:1e:c5
    Mar  4 22:19:29 netmon[1711]: WPA_SUPPLICANT ignored unsolicited message: 3 CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
    Mar  4 22:19:29 netmon[1711]: Process State up 2
    Mar  4 22:19:29 kernel: [  164.291518] wlan0: moving STA 58:ef:68:ba:1e:c5 to state 4
    Mar  4 22:19:29 kernel: [  164.291908] wlcore: Association completed.
    Mar  4 22:19:29 kernel: [  164.291909] wlcore: Association completed.
    Mar  4 22:19:29 kernel: [  164.296116] wlan0: dropped frame to 58:ef:68:ba:1e:c5 (unauthorized port)
    Mar  4 22:19:29 netmon[1711]: WPA_SUPPLICANT ignored unsolicited message: 3 WPA: Key negotiation completed with 58:ef:68:ba:1e:c5 [PTK=CCMP GTK=CCMP]
    Mar  4 22:19:29 netmon[1711]: WPA Supplicant says it has connected
    Mar  4 22:19:29 netmon[1711]: Process State up 3
    Mar  4 22:19:29 udhcpc[2289]: started, v1.26.2
    Mar  4 22:19:29 udhcpc[2289]: sending discover
    Mar  4 22:19:29 udhcpc[2289]: sending select for 192.168.1.29
    Mar  4 22:19:29 udhcpc[2289]: lease of 192.168.1.29 obtained, lease time 691200
    Mar  4 22:19:29 netmon[1711]: udhcpc started with PID 2299
    Mar  4 22:19:29 netmon[1711]:    /sbin/udhcpc -S -b -p /var/run/udhcpc.pid -iwlan0 -x hostname:host70E05F
    Mar  4 22:19:29 netmon[1711]: UDHCPC says it has disconnected
    Mar  4 22:19:29 netmon[1711]: UDHCPC unknown message: ''
    Mar  4 22:19:29 netmon[1711]: UDHCPC says it has connected to IP 192.168.1.29
    Mar  4 22:19:29 netmon[1711]: UDHCPC unknown message: ''
    Mar  4 22:19:29 netmon[1711]: WIFI link is UP :-)
    Mar  4 22:19:33 kernel: [  168.708425] wlan0: deauthenticated from 58:ef:68:ba:1e:c5 (Reason: 7=CLASS3_FRAME_FROM_NONASSOC_STA)
    Mar  4 22:19:33 kernel: [  168.722688] wlan0: moving STA 58:ef:68:ba:1e:c5 to state 3
    Mar  4 22:19:33 kernel: [  168.722697] wlan0: moving STA 58:ef:68:ba:1e:c5 to state 2
    Mar  4 22:19:33 kernel: [  168.722702] wlan0: moving STA 58:ef:68:ba:1e:c5 to state 1
    Mar  4 22:19:33 kernel: [  168.722706] wlan0: Removed STA 58:ef:68:ba:1e:c5
    Mar  4 22:19:33 kernel: [  168.723016] wlan0: Destroyed STA 58:ef:68:ba:1e:c5
    Mar  4 22:19:33 kernel: [  168.737298] wlan0: authenticate with 58:ef:68:ba:1e:c5
    Mar  4 22:19:33 kernel: [  168.737302] wlan0: Allocated STA 58:ef:68:ba:1e:c5
    Mar  4 22:19:33 kernel: [  168.739356] wlan0: Inserted STA 58:ef:68:ba:1e:c5
    Mar  4 22:19:33 kernel: [  168.739360] wlan0: send auth to 58:ef:68:ba:1e:c5 (try 1/3)
    Mar  4 22:19:33 kernel: [  168.762076] wlan0: authenticated
    Mar  4 22:19:33 kernel: [  168.762079] wlan0: moving STA 58:ef:68:ba:1e:c5 to state 2
    Mar  4 22:19:33 kernel: [  168.762635] wlan0: associate with 58:ef:68:ba:1e:c5 (try 1/3)
    Mar  4 22:19:33 kernel: [  168.766676] wlan0: RX AssocResp from 58:ef:68:ba:1e:c5 (capab=0x411 status=0 aid=20)
    Mar  4 22:19:33 kernel: [  168.766684] wlan0: moving STA 58:ef:68:ba:1e:c5 to state 3
    Mar  4 22:19:33 kernel: [  168.772386] wlan0: associated
    Mar  4 22:19:33 kernel: [  168.774664] wlan0: dropped frame to 58:ef:68:ba:1e:c5 (unauthorized port)
    
    
  • Hi ,
    This seems to be a different issue. There are multiple reasons for this deauth message including when AP thinks it received class 3 from from STA not on it's list of associated stations . But I don't think it's a major issue if station is able to connect to AP in subsequent tries .

    Thanks
    Saurabh
  • Hi, We eventually have seen it happening a few times. Roughly the process to get it happen is: [1] use 5 wifi sta clients and a router. [2] make one of the 5 keep rebooting every 3 minutes or so. [3] test on a DUT which is another of the 5 by pinging the router for 5 minutes and reboot.

    After a large number of rebooting, we can see some of the [3] cases running into a situation with corrupted packets and stuck link. By stuck it means, we usually are able to scan and connect, but it would be able to ping for about only a few seconds. Then the ifconfig will show only TX packets counting up but no RX or very slow RX count change. This does not always happen at the beginning after a reboot. Sometimes it happens after a while. Sometimes, killing wpa_supplicant and restart wpa_supplicant will get it out of the stuck, but sometimes it is cannot get fixed by restarting wpa_supplicant.

    Any idea what to look for to determine the cause of this problem?

  • Hi ,
    Can you check if bringing wlan0 interface down and up fixes the issue ?

    Thanks
    Saurabh
  • Hi, Saurabh,

    I did try it in some of the incidences, that did not work. Had to reboot Linux to get it fixed.

    Thanks.
  • Hi ,
    bringing wlan0 down / up , power cycles WLAN IP of the SoC and re-downloads the firmware. I am guessing there is more dependency such as supplicant etc. which again might be causing the issue . You may use stop/start scripts in /usr/share/wl18xx and see if it makes it any better.

    Saurabh
  • Hi, Saurabh, Can you explain "more dependency such as supplicant"? Can you give an example how that could go wrong?

    We've done wlan0 down/up, power cycling, re-downloading. I'll double check whether the steps in "/usr/share/wl18xx" is followed.

    Thanks.
  • Hi,
    This is what you can try
    - stop wpa supplicant and any other program using wlan0 interface
    - bring down wlan0 interface
    - unload wl8 driver modules ( scripts in /usr/share/wl18xx/ )
    - bring all of these up again

    check if this fixes the issue .

    Thanks
    Saurabh