Wifi will not connect unless you have a password

I want to use one of my Wio Terminals with an open Wifi-network that has no password required.
The problem is that neither AtWiFi.h WiFiMulti.h do seem to support this on the Wio Terminal.

I’ve tried:following different ways of connecting.

WiFi.begin(“myopenwifinetworkname”);
WiFiMulti.addAP(“myopenwifinetworkname”,NULL);
WiFiMulti.addAP(“myopenwifinetworkname”,"");

WiFi.begin(“myopenwifinetworkname”);
WiFi.begin(“myopenwifinetworkname”,NULL);
WiFi.begin(“myopenwifinetworkname”,"");

The code always stays in this loop no matter what I’ve tried:

while (WiFiMulti.run() != WL_CONNECTED) 
{
    Serial.print(".");
    delay(500);
} 

or (depending on which way i’ve tried to connect)

while (WiFi.run() != WL_CONNECTED) 
{
    Serial.print(".");
    delay(500);
} 

The same way of connecting works straight out of the box on my ESP32 and ESP8266 with their wifi-libraries.
Ive tried 2 different open networks where the ESP always work, and the Wio Terminal stays in the “…” loop.

If I turn on the password on the routers and change the code so the Wio uses password, the Wio will connect with no problem.

Any suggestions?

edit: Seems like i have old versions of libraries installed and firmware.

Firmware was ok to update, but I cant understand how I can update the atwifi etc libraries?
When i try to use the add zip-file in arduino i only get a error that it already exists a library with that name…

Ive now updated the libraries, firmware etc. And now I get tons of error messages in compilation.

This hardware has had pretty bad software from the begining so I am not sure I will even try to make it work.

When I used this guide : https://wiki.seeedstudio.com/Wio-Terminal-Network-Overview/

What I understand when I read this on the page:
" NOTE: The following are dependencies of the old AT-Command Structure Wi-Fi firmware and related libraries .This software does not work with Bluetooth at the same time and is getting depreciated , please move the eRPC firmware if possible!"

I understand that I should not install those libraries since they are getting depreciated. But all the examples for eRPC seems to use them anyway… what is up with this?

Hi @ChrisCross,
that was a misunderstanding. The AT-Firmware Libraries are getting deprecated. You should install the new RTL8720 eRPC libraries, the latest actually is v 2.1.1. You can check with:
String version = rpc_system_version();
if you have installed the correct firmware. I think that the examples are updated to run with this firmware.
Best regards
RoSchmi

PS: You have to install the rpcWiFi library and the latest ArduinoCore-samd libraries

Ive installed everything but I get errors when trying to compile.

For example, the example included BasicHTTPClient.ino which uses rpcWiFi.h

This is just like 1/4 of all errors the compiler outputs

libraries\Seeed_Arduino_atUnified-master\atu_netdb.c.o: In function dns_gethostbyname':C:\Users\User\Documents\Arduino\libraries\Seeed_Arduino_atUnified-master\src/atu_netdb.c:14: multiple definition of dns_gethostbyname’libraries\Seeed_Arduino_rpcUnified-master\lwip\dns.c.o:C:\Users\User\Documents\Arduino\libraries\Seeed_Arduino_rpcUnified-master\src\lwip/dns.c:38: first defined herelibraries\Seeed_Arduino_atUnified-master\atu_sockets.c.o: In function atu_htons':C:\Users\User\Documents\Arduino\libraries\Seeed_Arduino_atUnified-master\src/atu_sockets.c:602: multiple definition of atu_htons’libraries\Seeed_Arduino_rpcUnified-master\lwip\sockets.c.o:C:\Users\User\Documents\Arduino\libraries\Seeed_Arduino_rpcUnified-master\src\lwip/sockets.c:303: first defined herelibraries\Seeed_Arduino_atUnified-master\atu_sockets.c.o: In function atu_htonl':C:\Users\User\Documents\Arduino\libraries\Seeed_Arduino_atUnified-master\src/atu_sockets.c:611: multiple definition of atu_htonl’libraries

Hi @ChrisCross,
it seems that you have outdated example code since the error messages rerfer to the Seeed_Arduino_atUnified library which should not be included in your project when you go with rpcWiFi. rpcWiWi includes the Arduino_rpc_unified library which is in conflict with the atUnified library.
I would suggest that you go with the examples from the WiKi

Hi @ChrisCross,

Please follow the steps below:

Step 1:
Delete the existing AT-Firmware libraries from your Documents > Arduino > libraries folder:

  • Seeed_Arduino_atWiFi
  • Seeed-Arduino-FreeRTOS
  • Seeed_Arduino_atUnified
  • Seeed-Studio/esp-at-lib
  • Seeed_Arduino_mbedtls
  • Seeed_Arduino_atWiFiClientSecure

Step 2:
Install the latest eRPC-Firmware libraries:

Note: Seeed_Arduino_mbedtls should be in dev branch

Step 3:
Delete the existing RTL firmware and install the latest RTL firmware by following the wiki page below:

Currently it’s in v2.1.1

Hope it helps

Best Regards,
Lakshantha