Tool/software: Linux
I've been trying to get P2P GO running stable for more than a week now and I've pretty much run out of things to try on my end.
The platform is a Technology Systems TS-7970 SBC with an LSR TiWi-BLE module on it. The kernel version is 4.1.15.
I have WPA Supplicant version 2.7 installed with the P2P features active.
I've also managed to locate the following ti-connectivity firmware versions: For regular wifi the driver loads 6.3.10.0.142. When I create a P2P GO, it switches to firmware 6.5.7.0.50.
There are really three situations defined by the contents of the wpa_supplicant configuration file.
1) No network blocks are present in the configuration file. When this is the case, the Wifi Direct network will appear to a laptop or mobile phone and I can connect to it and ping it without any problems.
2) A network block exists in the wpa_supplicant configuration file and the wifi access point specified there is up and running. In this case, wlan0 is indeed connected to the router and I can also connect to the Wifi Direct network created by P2P GO. There a no problems here either.
3) A network block exists in the wpa_supplicant configuration file but that router is not turned on. In this case, the P2P GO network appears for a short time but then it mysteriously goes away. I have gone so far as to turn on verbose debugging in wpa_supplicant and "excessive" log output in wpa-cli. The really weird thing is that when the P2P GO network disappears, there is absolutely no notification in any of the debugging output. There is also no warning or error in the system console output given by dmesg.
I'm at my wits end here trying to figure out why this happens. There's no set time period when the network goes away. Sometimes it stays up for several minutes. Sometimes it goes away within a few seconds. Once it lasted almost an hour. It's almost as though the driver is cleaning up some information and happens to kill off the P2P GO network in the process. But without any notification, I'm totally in the dark about this.