Skip to content

Connecting to wifi broken since 3.3.6 #315

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
sheld0r73 opened this issue May 10, 2025 · 8 comments
Open

Connecting to wifi broken since 3.3.6 #315

sheld0r73 opened this issue May 10, 2025 · 8 comments

Comments

@sheld0r73
Copy link

My airgradient one updated last night to firmware 3.3.6
Since then it won't connect to my wifi

For testing purposes I've installed 3.0.8 directly from airgradient which is working perfectly fine
However this old version doesn't support home assistant

Below is the log from firmware 3.3.6
I don't understand why it assignes the IP 0.0.0.0
I'm providing the airgradient with a fixed IP and as said everything is working fine with 3.0.8

I can flash between those two versions as often as I like and the result will be always the same
3.0.8 is working but 3.3.6 doesn't connect to the wifi

OTA progress: 94
OTA progress: 97
OTA progress: 99
OTA progress: 100
[OTAWifi] Info: Download iamge binary complete, applying image...
[OTA] Info: Finishing... Total binary data length written: 1727616
[OTA] Info: OTA successful, MAKE SURE TO REBOOT!
OTA update performed, restarting ...
Guru Meditation Error: Core  0 panic'ed (Load access fault). Exception was unhandled.

Core  0 register dump:
MEPC    : 0x4201caa8  RA      : 0x420144ea  SP      : 0x3fcb5590  GP      : 0x3fc8e800  
TP      : 0x3fc705fc  T0      : 0x00000800  T1      : 0x40389898  T2      : 0x0000000e  
S0/FP   : 0x3fc920b0  S1      : 0x00000000  A0      : 0x00000000  A1      : 0x00000000  
A2      : 0x00000000  A3      : 0x00000001  A4      : 0x600c0000  A5      : 0x00000000  
A6      : 0x00000000  A7      : 0x60013000  S2      : 0x3fc99000  S3      : 0x3fc9a000  
S4      : 0x3fc997ac  S5      : 0x3c132000  S6      : 0x3fc92000  S7      : 0x3c13e000  
S8      : 0x4211f000  S9      : 0x0000aa53  S10     : 0x00000000  S11     : 0x00000000  
T3      : 0x00000078  T4      : 0x00000001  T5      : 0x3fcb5390  T6      : 0x00000001  
MSTATUS : 0x00001881  MTVEC   : 0x40380001  MCAUSE  : 0x00000005  MTVAL   : 0x00000230  
MHARTID : 0x00000000  

Stack memory:
3fcb5590: 0x3fc99000 0x3fc93000 0x3fc92000 0x420008e6 0x00000000 0x0000aa53 0x4211f000 0x00000000
3fcb55b0: 0x00000000 0x000ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x4204b754
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd5810,len:0x438
load:0x403cc710,len:0x918
load:0x403ce710,len:0x25f4
entry 0x403cc710
Serial nr: XXXserialXXX
Reset reason: ESP_RST_TASK_WDT
[Configure] Info: Reading file...
[Configure] Info: Reading file: success
[Configure] Info: Parse file to JSON
[Configure] Info: corrections not found
[Configure] Info: {"country":"TH","pmStandard":"ugm3","ledBarMode":"co2","abcDays":8,"tvocLearningOffset":12,"noxLearningOffset":12,"mqttBrokerUrl":"","httpDomain":"","temperatureUnit":"c","disableCloudConnection":false,"configurationControl":"both","postDataToAirGradient":true,"ledBarBrightness":100,"displayBrightness":100,"offlineMode":false,"monitorDisplayCompensatedValues":false}
Detected ONE_INDOOR
[OledDisplay] Info: begin
Firmware Version: 3.3.6
ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0x15 (USB_UART_CHIP_RESET),boot:0xc (SPI_FAST_FLASH_BOOT)
Saved PC:0x42080086
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fcd5810,len:0x438
load:0x403cc710,len:0x918
load:0x403ce710,len:0x25f4
entry 0x403cc710
Serial nr: XXXserialXXX
Reset reason: ESP_RST_UNKNOWN
[Configure] Info: Reading file...
[Configure] Info: Reading file: success
[Configure] Info: Parse file to JSON
[Configure] Info: corrections not found
[Configure] Info: {"country":"TH","pmStandard":"ugm3","ledBarMode":"co2","abcDays":8,"tvocLearningOffset":12,"noxLearningOffset":12,"mqttBrokerUrl":"","httpDomain":"","temperatureUnit":"c","disableCloudConnection":false,"configurationControl":"both","postDataToAirGradient":true,"ledBarBrightness":100,"displayBrightness":100,"offlineMode":false,"monitorDisplayCompensatedValues":false}
Detected ONE_INDOOR
[OledDisplay] Info: begin
Firmware Version: 3.3.6
LED bar brightness: 100
Init SGP41 success
initializing PM sensor
cleared 0 byte(s)
setting active mode
7 byte(s) written
Set S8 AbcDays successful
[AGSERIAL] Info: IICSerial initialized
[AGSERIAL] Warning: IICSerial failed open serial line, retry..
[AGSERIAL] Warning: IICSerial failed open serial line, retry..
[AGSERIAL] Warning: IICSerial failed open serial line, retry..
[AGSERIAL] Error: IICSerial failed open serial line, give up..
Cellular module not available, using wifi
*wm:AutoConnect 
*wm:Connecting to SAVED AP: MyWiFi24
*wm:AutoConnect: SUCCESS 
*wm:STA IP Address:
[WifiConnector] Info: Wait for configure portal
**[WifiConnector] Info: WiFi Connected: MyWiFi24 IP: 0.0.0.0**
[LocalServer] Info: Init: airgradient_XXXserialXXX.local
MQTT is not configured, skipping initialization of MQTT client
[AgWifiClient] Info: Post measures to https://hw.airgradient.com/sensors/airgradient:XXXserialXXX/measures
[AgWifiClient] Error: Failed post measures to server with response code 400
[AgWifiClient] Info: Fetch configuration from https://hw.airgradient.com/sensors/airgradient:XXXserialXXX/one/config
[AgWifiClient] Error: Failed fetch configuration from server with return code 400
Display brightness: 100
Success create networking task
Firmware update starting...

p.s. the airgradient is stuck in a loop with 3.3.6
once it's done with the firmware update it'll reboot and try again

@sh0
Copy link

sh0 commented May 10, 2025

I'm also seeing a 3.3.6 firmware update loop, but wifi works fine. My solution has been to intercept DNS requests and ban hw.airgradient.com for now.

My understanding is that the OTA request to http://hw.airgradient.com/... should return 304 if firmware is up to date. However, the server sends 3.3.6 firmware again. This better be fixed soon as the loop will cause flash degradation.

@okica-11
Copy link

I'm having exactly the same problems since last night's auto-update.
Same as you, I can stop this problem by installing the older version 3.0.8.

Check #308 related to #309. Honestly, I'm not very happy with how much all this reinstalling will break my home assistant integration.

@Iroxxar
Copy link

Iroxxar commented May 10, 2025

I had the same Issue since last night. Had to flash to 3.2.0 via Arduino-IDE.

  • Extract 3.2.0 Source-Code to Documents\Arduino\libraries\AirGradient_Air_Quality_Sensor
  • Setup IDE according to guide
  • Execute the Version >= 3.3.0 procedure
  • Reconnect device to WiFi

In my opinion flashing 3.0.8 is not a solution, since features are missing and bugs are present in the prometheus metric standard.

I'd suggest providing 3.2.0 as a "quick-flash" in the firmwares section.

This might still be a problem, since the device tries to OTA-update itself with a normal firmware, which currently causes the boot-loop, therfore the firmware has to be set with the disabled OTA for now.

The general error in the current 3.3.6 seems to be with:

| [WebServer.cpp] _handleRequest(): request handler not found

@okica-11
Copy link

Chiming in again so fast, lol.

Anyway, I tried to install 3.2.0 but decided there must be a faster way (installing the update via a web browser).

Being unable to find 3.2.0 web-updater, I did find version 3.1.13 here https://www.airgradient.com/documentation/one-v9/ . So I wiped and installed the old FW via USB and browser and connected to the AP. I entered local wifi credentials and DISABLED OTA with a checkmark at the bottom of the page. Soon enough air sensor somehow decides it still wants to do the OTA update (even when it should not!) and we are again, back to square one with self-rebooting-not-working-3.3.6-forcing air sensor.

I give up. I hope they push working OTA update soon. Until then, my sensor is unplugged and waiting in the corner - measuring dust particles the old way ;).

@alexhk90
Copy link

I'm also seeing a 3.3.6 firmware update loop, but wifi works fine. My solution has been to intercept DNS requests and ban hw.airgradient.com for now.

My understanding is that the OTA request to http://hw.airgradient.com/... should return 304 if firmware is up to date. However, the server sends 3.3.6 firmware again. This better be fixed soon as the loop will cause flash degradation.

Thanks for posting, @sh0 ! Blocking DNS requests from my AirGradient for "hw.airgradient.com" has stopped the 3.3.6 boot loop that started this morning for me at around 4am LDN (3am UTC), so it's usable again until the fixed version of the firmware is rolled out.

This does make me wonder if automatic firmware updates like this should be enabled by default - I don't remember enabling them but perhaps there was an option to disable them that I missed. Maybe it would be better for automatic firmware updates to be disabled by default (with an option to enable) but have it show as available via the HA integration.

@sheld0r73
Copy link
Author

I'm also seeing a 3.3.6 firmware update loop, but wifi works fine. My solution has been to intercept DNS requests and ban hw.airgradient.com for now.

My understanding is that the OTA request to http://hw.airgradient.com/... should return 304 if firmware is up to date. However, the server sends 3.3.6 firmware again. This better be fixed soon as the loop will cause flash degradation.

Thx @sh0 - Blocking DNS requests to hw.airgradient.com is a decent workaround

I hope they'll release a fix soon...

@samuelbles07
Copy link
Collaborator

Hi All,

We just release 3.3.7 to fix this, but its not on the firmware page and automatic firmware update yet. For more information about this issue, you can read this explanation: https://forum.airgradient.com/t/all-airgradient-one-sensors-repeatedly-updating-on-3-3-6-starting-09-30-gmt-29-04/4069/37?u=samuel_airgradient

@DyonR
Copy link

DyonR commented May 13, 2025

I've updated to 3.3.7 and I am not getting any bootloops anymore 👍🏻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants