arduino / uno-r4-wifi-usb-bridge

27 stars 9 forks source link

SSL Connection Issue After Arduino R4 WiFi Firmware Update to 0.4.1 #50

Open pdo59 opened 8 months ago

pdo59 commented 8 months ago

Issue Description: After updating the Arduino R4 WiFi firmware to version 0.4.1, SSL connections no longer function properly. My sketch establishes a connection to a server on port 443 using the WiFiSSLClient, but the connection fails. Reverting the firmware version back to 0.3.0 restores functionality to the sketch.

Steps to Reproduce: 1.Update Arduino R4 WiFi firmware to version 0.4.1. 2.Execute sketch attempting to establish an SSL connection to a server on port 443 using WiFiSSLClient. 3.Observe that the connection fails to establish.

Expected Behavior: The sketch should successfully establish an SSL connection to the server using the WiFiSSLClient library, regardless of firmware version.

Additional Information: Reverting the firmware to version 0.3.0 allows the sketch to function correctly, indicating a potential compatibility issue or bug introduced in firmware version 0.4.1.

pennam commented 8 months ago

Hi @pdo59, loading the debug version of the firmware shoudl give us more information about why the connection is failing. You can fing the binaries here: https://github.com/arduino/uno-r4-wifi-usb-bridge/releases/download/0.4.1/unor4wifi-debug.zip To replicate the issue i also need to know which server are you trying to connect to and the sketch you are using.

pdo59 commented 8 months ago

Ok, next weekend I will take the test and send you the test results. Thank you

pdo59 commented 8 months ago

Hi @pennam, which file among those contained in the .zip contains the debug firmware that I need to use? This is the script that I've been using. Please note that it requires inserting a personal key in the request URL.

byte http_requestM() { ssl_client.stop(); Serial.println(F("\nStarting connection to moon server...")); if (ssl_client.connect("weather.visualcrossing.com", 443)) { Serial.print(F("Connected to moon server:")); Serial.println(F("weather.visualcrossing.com")); delay(500); ssl_client.print("GET /VisualCrossingWebServices/rest/services/timeline/"); ssl_client.print(latitude); ssl_client.print(","); ssl_client.print(longitude); ssl_client.print("/next7days?unitGroup=metric&key=INSERT_YOUR_KEY_HERE&contentType=json&include=days&elements=datetime,moonphase HTTP/1.1");
ssl_client.println(); ssl_client.println("Host: weather.visualcrossing.com"); ssl_client.println("Connection: close"); ssl_client.println(); delay(100); lastConnectionTime = millis(); return 1; } else { Serial.println(F("Connection failed to moon server")); return 0; lastConnectionTime = 0; delay(500); } } `

pennam commented 8 months ago

@pdo59 S3-ALL.bin Let me know if you need further help