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:

    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.