PoESP32 OTA updates?
-
Is the PoESP32 (SKU:U138) configured to allow OTA updates? While opening the case and using J2 and a serial adapter works for loading custom firmware it would be much simpler if the pre-loaded ESP-AT firmware allows for updates over the air.
Not sure if if I'm doing something wrong or if it is not set up for updates at all. User updates via AT+USEROTA or AT+WEBSERVER seems to not be enabled.
AT+CIPFWVER? returns error with or without wifi connected (in adittion to PoE + Ethernet) and trying to update with AT+CIUPDATE returns error for both HTTP and HTTPS it seems.
Is it possible to do OTA updates? And would it be possible to start using a ESP-AT build that supports user updates over the air as well?
AT+GMR AT version:2.2.0.0(s-62ccc56 - ESP32 - Nov 12 2021 13:38:12) SDK version:v4.2.2-76-gefa6eca8b8 compile time(fc52c33):Mar 15 2022 15:59:59 Bin version:2.2.0(WROOM-32) AT+CIPFWVER? ERROR AT+CIUPDATE=0 +CIPUPDATE:1 +CIPUPDATE:2 ERROR AT+CIUPDATE=1 +CIPUPDATE:1 +CIPUPDATE:2 ERROR
ed: formatting.
-
Hello @notsonominal
I did some experiments using the Ethernet connection (not WiFi) with the following results:
- AT+USEROTA works for me (Edit: this is not enabled in the shipped firmware)
- AT+WEBSERVER works for me (after enabling it in the esp-at firmware)
- AT+CIUPDATE fails for me (by default it can only be used with Espressif supplied binaries from what I can tell)
Here are some helpful links:
- OTA upgrade overview
- which features are enabled by default on a given device
- CIUPDATE by default only usable with Espressif supplied binaries
Thanks
Felix -
@felmue said in PoESP32 OTA updates?:
AT+USEROTA works for me
could you confirm the esp-at build your device shipped with? I'm not so much interested in getting it to work as to knowing if it works on currently shipping devices - which for me it does not.
edit: this is what i get
AT+USEROTA=104 ERROR
and the command isnt listed with AT+CMD which leads me to think its not enabled?
AT+CMD? +CMD:0,"AT",0,0,0,1 +CMD:1,"ATE0",0,0,0,1 +CMD:2,"ATE1",0,0,0,1 +CMD:3,"AT+RST",0,0,0,1 +CMD:4,"AT+GMR",0,0,0,1 +CMD:5,"AT+CMD",0,1,0,0 +CMD:6,"AT+GSLP",0,0,1,0 +CMD:7,"AT+SYSTIMESTAMP",0,1,1,0 +CMD:8,"AT+SLEEP",0,1,1,0 +CMD:9,"AT+RESTORE",0,0,0,1 +CMD:10,"AT+SYSRAM",0,1,0,0 +CMD:11,"AT+SYSFLASH",0,1,1,0 +CMD:12,"AT+RFPOWER",0,1,1,0 +CMD:13,"AT+SYSMSG",0,1,1,0 +CMD:14,"AT+SYSROLLBACK",0,0,0,1 +CMD:15,"AT+SYSLOG",0,1,1,0 +CMD:16,"AT+SYSLSPCFG",0,0,1,0 +CMD:17,"AT+SYSLSP",0,0,0,1 +CMD:18,"AT+SYSSTORE",0,1,1,0 +CMD:19,"AT+SLEEPWKCFG",0,0,1,0 +CMD:20,"AT+SYSREG",0,0,1,0 +CMD:21,"AT+USERRAM",0,1,1,0 +CMD:22,"AT+CWMODE",0,1,1,0 +CMD:23,"AT+CWSTATE",0,1,0,0 +CMD:24,"AT+CWJAP",0,1,1,1 +CMD:25,"AT+CWRECONNCFG",0,1,1,0 +CMD:26,"AT+CWLAP",0,0,1,1 +CMD:27,"AT+CWLAPOPT",0,0,1,0 +CMD:28,"AT+CWQAP",0,0,0,1 +CMD:29,"AT+CWSAP",0,1,1,0 +CMD:30,"AT+CWLIF",0,0,0,1 +CMD:31,"AT+CWQIF",0,0,1,1 +CMD:32,"AT+CWDHCP",0,1,1,0 +CMD:33,"AT+CWDHCPS",0,1,1,0 +CMD:34,"AT+CWSTAPROTO",0,1,1,0 +CMD:35,"AT+CWAPPROTO",0,1,1,0 +CMD:36,"AT+CWAUTOCONN",0,1,1,0 +CMD:37,"AT+CWHOSTNAME",0,1,1,0 +CMD:38,"AT+CWCOUNTRY",0,1,1,0 +CMD:39,"AT+CIFSR",0,0,0,1 +CMD:40,"AT+CIPSTAMAC",0,1,1,0 +CMD:41,"AT+CIPAPMAC",0,1,1,0 +CMD:42,"AT+CIPSTA",0,1,1,0 +CMD:43,"AT+CIPAP",0,1,1,0 +CMD:44,"AT+CIPV6",0,1,1,0 +CMD:45,"AT+CIPDNS",0,1,1,0 +CMD:46,"AT+CIPDOMAIN",0,0,1,0 +CMD:47,"AT+CIPSTATUS",0,0,0,1 +CMD:48,"AT+CIPSTART",0,0,1,0 +CMD:49,"AT+CIPSTARTEX",0,0,1,0 +CMD:50,"AT+CIPTCPOPT",0,1,1,0 +CMD:51,"AT+CIPCLOSE",0,0,1,1 +CMD:52,"AT+CIPSEND",0,0,1,1 +CMD:53,"AT+CIPSENDEX",0,0,1,0 +CMD:54,"AT+CIPDINFO",0,1,1,0 +CMD:55,"AT+CIPMUX",0,1,1,0 +CMD:56,"AT+CIPRECVMODE",0,1,1,0 +CMD:57,"AT+CIPRECVDATA",0,0,1,0 +CMD:58,"AT+CIPRECVLEN",0,1,0,0 +CMD:59,"AT+CIPSERVER",0,1,1,0 +CMD:60,"AT+CIPSERVERMAXCONN",0,1,1,0 +CMD:61,"AT+CIPSSLCCONF",0,1,1,0 +CMD:62,"AT+CIPSSLCCN",0,1,1,0 +CMD:63,"AT+CIPSSLCSNI",0,1,1,0 +CMD:64,"AT+CIPSSLCALPN",0,1,1,0 +CMD:65,"AT+CIPSSLCPSK",0,1,1,0 +CMD:66,"AT+CIPMODE",0,1,1,0 +CMD:67,"AT+CIPSTO",0,1,1,0 +CMD:68,"AT+SAVETRANSLINK",0,0,1,0 +CMD:69,"AT+CIPSNTPCFG",0,1,1,0 +CMD:70,"AT+CIPSNTPTIME",0,1,0,0 +CMD:71,"AT+CIPRECONNINTV",0,1,1,0 +CMD:72,"AT+MQTTUSERCFG",0,0,1,0 +CMD:73,"AT+MQTTCLIENTID",0,0,1,0 +CMD:74,"AT+MQTTUSERNAME",0,0,1,0 +CMD:75,"AT+MQTTPASSWORD",0,0,1,0 +CMD:76,"AT+MQTTCONNCFG",0,0,1,0 +CMD:77,"AT+MQTTCONN",0,1,1,0 +CMD:78,"AT+MQTTPUB",0,0,1,0 +CMD:79,"AT+MQTTPUBRAW",0,0,1,0 +CMD:80,"AT+MQTTSUB",0,1,1,0 +CMD:81,"AT+MQTTUNSUB",0,0,1,0 +CMD:82,"AT+MQTTCLEAN",0,0,1,0 +CMD:83,"AT+HTTPCLIENT",0,0,1,0 +CMD:84,"AT+HTTPGETSIZE",0,0,1,0 +CMD:85,"AT+HTTPCPOST",0,0,1,0 +CMD:86,"AT+BLEINIT",0,1,1,0 +CMD:87,"AT+BLEADDR",0,1,1,0 +CMD:88,"AT+BLENAME",0,1,1,0 +CMD:89,"AT+BLEADVPARAM",0,1,1,0 +CMD:90,"AT+BLEADVDATA",0,1,1,0 +CMD:91,"AT+BLEADVDATAEX",0,1,1,0 +CMD:92,"AT+BLEADVSTART",0,0,0,1 +CMD:93,"AT+BLEADVSTOP",0,0,0,1 +CMD:94,"AT+BLESCANRSPDATA",0,1,1,0 +CMD:95,"AT+BLEGATTSSRVCRE",0,0,0,1 +CMD:96,"AT+BLEGATTSSRVSTART",0,0,1,1 +CMD:97,"AT+BLEGATTSSRVSTOP",0,0,1,1 +CMD:98,"AT+BLEGATTSSRV",0,1,0,0 +CMD:99,"AT+BLEGATTSCHAR",0,1,0,0 +CMD:100,"AT+BLEGATTSNTFY",0,0,1,0 +CMD:101,"AT+BLEGATTSIND",0,0,1,0 +CMD:102,"AT+BLEGATTSSETATTR",0,0,1,0 +CMD:103,"AT+BLESCANPARAM",0,1,1,0 +CMD:104,"AT+BLESCAN",0,0,1,0 +CMD:105,"AT+BLECONNPARAM",0,1,1,0 +CMD:106,"AT+BLECONN",0,1,1,0 +CMD:107,"AT+BLEDISCONN",0,0,1,1 +CMD:108,"AT+BLEDATALEN",0,0,1,0 +CMD:109,"AT+BLECFGMTU",0,1,1,0 +CMD:110,"AT+BLEGATTCPRIMSRV",0,0,1,0 +CMD:111,"AT+BLEGATTCINCLSRV",0,0,1,0 +CMD:112,"AT+BLEGATTCCHAR",0,0,1,0 +CMD:113,"AT+BLEGATTCRD",0,0,1,0 +CMD:114,"AT+BLEGATTCWR",0,0,1,0 +CMD:115,"AT+BLESPPCFG",0,1,1,0 +CMD:116,"AT+BLESPP",0,0,0,1 +CMD:117,"AT+BLESECPARAM",0,1,1,0 +CMD:118,"AT+BLEENC",0,0,1,0 +CMD:119,"AT+BLEENCRSP",0,0,1,0 +CMD:120,"AT+BLEKEYREPLY",0,0,1,0 +CMD:121,"AT+BLECONFREPLY",0,0,1,0 +CMD:122,"AT+BLESETKEY",0,1,1,0 +CMD:123,"AT+BLEENCDEV",0,1,0,0 +CMD:124,"AT+BLEENCCLEAR",0,0,1,1 +CMD:125,"AT+BLEHIDINIT",0,1,1,0 +CMD:126,"AT+BLEHIDKB",0,0,1,0 +CMD:127,"AT+BLEHIDMUS",0,0,1,0 +CMD:128,"AT+BLEHIDCONSUMER",0,0,1,0 +CMD:129,"AT+MDNS",0,0,1,0 +CMD:130,"AT+WPS",0,0,1,0 +CMD:131,"AT+CWSTARTSMART",0,0,1,1 +CMD:132,"AT+CWSTOPSMART",0,0,0,1 +CMD:133,"AT+PING",0,0,1,0 +CMD:134,"AT+CIPETHMAC",0,1,1,0 +CMD:135,"AT+CIPETH",0,1,1,0 +CMD:136,"AT+CEHOSTNAME",0,1,1,0 +CMD:137,"AT+CIUPDATE",0,1,1,1 +CMD:138,"AT+UART",0,1,1,0 +CMD:139,"AT+UART_CUR",0,1,1,0 +CMD:140,"AT+UART_DEF",0,1,1,0
ed: formatting.
-
Hello @notsonominal
you are correct; AT+USEROTA is not enabled in the esp-at firmware shipped with the device. I forgot that I've installed my own esp-at firmware in the past. Sorry about that.
With the esp-at firmware shipped with the device I get the same results as you:
AT+GMR AT version:2.2.0.0(s-62ccc56 - ESP32 - Nov 12 2021 13:38:12) SDK version:v4.2.2-76-gefa6eca8b8 compile time(fc52c33):Mar 15 2022 15:59:59 Bin version:2.2.0(WROOM-32) AT+USEROTA=36 ERROR
Thanks
Felix -
No worries, hopefully m5stack people can consider enabling it for future production runs; i recon it would lower the threshold for some users.