+1 vote
by (340 points)

Hardware: Pico 3 Pro with Eye tracking (but happens with other models)

If we connect to a Wifi access point without internet (that is, the WAN connection on our wifi bridge is unplugged), the Pico will not automatically reconnect when coming out of sleep mode. The user must manually reconnect.

If we DO have the WAN connection to the Internet, the Pico DOES automatically reconnect after a few seconds.

We have tried this with three different makes and models of wifi access points in various configurations, and the above behavior remains constant.

Is there any way to configure the Pico to NOT do this, and instead always reconnect even if there is no Internet connection? If not possible, then if we knew what the Pico was looking for we could configure a wifi bridge to provide the desired response.

2 Answers

0 votes
by (39.2k points)

Dear developer,
Sorry, this is the native logic of AOSP, which does not allow automatic connection to AP that is not connected to the Internet by default.

by (340 points)

"by default" implies that this is a setting or system configuration that can be changed - if so, how do I change it? Using the adb.exe program or something similar?

by (39.2k points)

Dear developer,
Sorry that we did not make it clear. The default means that the default logic of AOSP is designed like this, which cannot be modified at present.

by (340 points)

Actually this is not true: you can defeat this by using ADB to disable the "captiveportalmode" setting like so:

adb shell settings put global captiveportalmode=0

Setting this to 0 causes the OS to never ping a specific Google URL that the OS uses to determine if there is a login page or not; with this set to 0, the url is never called and the OS will automatically reconnect to the Access Point wifi after coming out of sleep. This is apparently a fairly common problem with some non-Pico-headset users that have less-than-optimal Internet routing so that accessing the Google services fails often, resulting in their Android device going offline (web search for "how does Android determine if it has an internet connection" and "Disable captive portal checking on Android").

It also appears that this value can be configured as part of the firmware image build process (where you compile up the os and etc) by editing "Default.xml" file in the SettingsProvider/res folder.

by (39.2k points)

Dear developer,
You could try to modify the operation method of the configuration file to make the device automatically connect to the specified WiFi:
A.Create a new config.txt (select ANSI encoding format when saving the file)
B. Write the wifi account and password to the config.txt file:
enter image description here
C. Copy config.txt to /pre_resource/config
D. Restart the device

Or you can make the device automatically connect to the specified WiFi through the SDK interface:
https://developer.pico-interactive.com/docs/en/12058/system_related/#controlsetautoconnectwifi

by (340 points)

With this config.txt file, should we also be separating the items out with dashes as per the SDK documentation on Kiisock Mode? Or is this file distinctly different from the config.txt file that lives in the root of the Pico device?

Is there any documentation on the /pre_resource/config folder and files that go in there?

by (39.2k points)

Dear developer,
It doesn't have to be separated by dashes.
Please just copy it to /preresource/config/ and restart the device to see if it works.
There should be no other documentation on the /pre
resource/config folder and files that go in there.

0 votes
by (310 points)

I ran into a similar issue! It is quite annoying as if we want to use our dedicated router without an internet connection Pico always disconnects itself and assigns a new IP address... :/ Did you end up fixing this issue? :)

...