The reproduction steps are to connect to a wifi network using iw and wpa_supplicant, then start aggressive background scanning (periodic scanning causes the failure as well, it just takes longer):
It usually just takes the one transfer, but sometimes additional transfers may be necessary. The transfer will hang and all network traffic will cease until the interface is disabled and re-enabled. During this time, iw mlan0 scan will still return a list of access points.
Note that it seems if there are few or no other access points in the area, the problem is harder to reproduce.
In this case I understand that you will eventually get the problem while you have your system running (even though it could take a long time).
Have you tried disabling background scanning? If the problem is related to having a wi-fi scan run simultaneously with a data transfer, you could workaround the issue. You can do that by editing /etc/connman/main.conf and setting:
BackgroundScanning = false
We will try to reproduce the issue and I’ll get back as soon as I have news.
I was able to reproduce your problem using the test setup you described. I enabled the NXP wifi proprietary drivers and repeated the test. This time the issue was not reproduced.
As a next step I would suggest that you try enabling the proprietary drivers on your end and check if your application works better with them.
I’m currently updating our documentation on how to enable the drivers, and I’ll come back with instructions as soon as I’m finished.