Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    amizer12
    @amizer12
    ok, installing Docker Desktop to 3.3.0 "fixed"
    so the latest 3.4.0 is not working
    gadget-man
    @gadget-man
    Confirmed reverting to 3.3.3. also works for me.
    amizer12
    @amizer12
    Not sure if thats related - docker/for-mac#5761
    gadget-man
    @gadget-man
    Is there a way I can force fw-build-manager to downgrade to 3.3.3 also?
    gadget-man
    @gadget-man
    I’ve just updated my firmware over OTA, and am no longer able to receive data over RPC via MQTT. I know the commands are received (e.g. I can send a sys.reboot command and the device reboots), but if I try something like a simple ls I get the following error:
    Error: /private/tmp/mos-latest-20210529-20607-zx3ops/mos-xxxxxxxx/cli/dev/dev_conn_impl.go:171: remote error 401: {"auth_type": "digest", "nonce": xxxx, "nc": 1, "realm": “xxxx", "algorithm": "MD5"}
    And with debug-level=3 on the device it looks as though it’s working and sending the info back:
    gadget-man
    @gadget-man

    this dumps heap blocks as multi_heap_get_info_impl is traversing them, so when it does crash we should see what chain looked like before the corrupt entry

    @rojer here’s a core dump with the additional diagnostics: https://pastebin.com/NH3xhYxQ

    abhibhatia98
    @abhibhatia98
    Do OTA via HTTP GET is also required licensing ? I have not found this info on site.
    Deomid Ryabkov
    @rojer

    Do OTA via HTTP GET is also required licensing ? I have not found this info on site.

    yes, fetching frimware from sites other than mdash needs a license

    @rojer here’s a core dump with the additional diagnostics: https://pastebin.com/NH3xhYxQ

    hm, it panicked in a different place now

    this time it was able to walk the entire chain
    can you symbolize backtrace?
    gadget-man
    @gadget-man
    This…?
    Found core at 23 - 458802
    Mapping DRAM: 335872 @ 0x3ffae000
    Mapping /opt/Espressif/rom/rom.bin at 0x40000000
    Mapping /fw.elf .rtc.text: 55 @ 0x400c0000
    Mapping /fw.elf .rtc.dummy: 55 @ 0x3ff80000
    Mapping /fw.elf .rtc.force_fast: 1 @ 0x3ff80037
    Mapping /fw.elf .rtc.data: 16 @ 0x50000000
    Mapping /fw.elf .iram0.vectors: 1024 @ 0x40080000
    Mapping /fw.elf .iram0.text: 108672 @ 0x40080400
    Mapping /fw.elf .dram0.data: 13800 @ 0x3ffb0000
    Mapping /fw.elf .dram0.bss: 37416 @ 0x3ffb35e8
    Mapping /fw.elf .flash.rodata: 190220 @ 0x3f400020
    Mapping /fw.elf .flash.text: 845540 @ 0x400d0020
    Dump contains FreeRTOS task info
    Loaded core dump from last snippet in  /core
    is_last_block (block=0x0)
        at /opt/Espressif/esp-idf/components/heap/multi_heap.c:791
    791        for(heap_block_t *b = get_next_block(&heap->first_block); !is_last_block(b); b = get_next_block(b)) {
    #0  is_last_block (block=0x0)
        at /opt/Espressif/esp-idf/components/heap/multi_heap.c:791
    #1  multi_heap_get_info_impl (info=0x3ffb8380 <mgos_task_stack+16060>, 
    ---Type <return> to continue, or q <return> to quit---
        heap=0x3ff80038) at /opt/Espressif/esp-idf/components/heap/multi_heap.c:791
    #2  multi_heap_get_info_impl (heap=0x3ff80038, 
        info=0x3ffb8380 <mgos_task_stack+16060>)
        at /opt/Espressif/esp-idf/components/heap/multi_heap.c:782
    #3  0x400d29b1 in heap_caps_get_info (info=0x3ffb83c0 <mgos_task_stack+16124>, 
        caps=4) at /opt/Espressif/esp-idf/components/heap/heap_caps.c:457
    #4  0x400d622c in mgos_get_heap_size ()
        at /mongoose-os/platforms/esp32/src/esp32_hal.c:37
    #5  0x400d9be8 in mgos_init2 ()
        at /Users/PaulNeedler/Documents/iParcelBox/3-Firmware/iParcelBox_firmware/deps/freertos/src/mgos_freertos.c:158
    #6  0x400840d3 in mgos_task (arg=0x0)
        at /Users/PaulNeedler/Documents/iParcelBox/3-Firmware/iParcelBox_firmware/deps/freertos/src/mgos_freertos.c:180
    abhibhatia98
    @abhibhatia98

    Do OTA via HTTP GET is also required licensing ? I have not found this info on site.

    yes, fetching frimware from sites other than mdash needs a license

    OK Thanks..........I am working on FOTA using AWS and mongoose-os , so is there any way of doing the same without purchasing the license ?

    amizer12
    @amizer12
    Hi, Im using 2 GPIOs, one as input and seconds as output, input one i use for the button ( GPIO4 ) and output i use to dive a relay (gpio16)
    problem i have is that whenever i have a relay running, my button GPIO is not responding to any button pushes
    is there any interrupt or smth i need to manage on top og GPIO going up and down in order to have those two running independently
    amizer12
    @amizer12
    Nevermind - it is something in my code - just tested with basic snippet and they should work independently
    gadget-man
    @gadget-man

    Do OTA via HTTP GET is also required licensing ? I have not found this info on site.

    yes, fetching frimware from sites other than mdash needs a license

    OK Thanks..........I am working on FOTA using AWS and mongoose-os , so is there any way of doing the same without purchasing the license ?

    No, you need to purchase a licence. They are very good value considering most of the codebase is open source...

    Deomid Ryabkov
    @rojer

    This…?

    this seems lieka wrong trace, new crash has these addresses: 0x4008f1a5 0x400d29ae 0x400d6229 0x400d9be5 0x400840d0

    i don't see them in symbolization
    can you send me core dump and the corresponding binary (.elf file) please?
    gadget-man
    @gadget-man
    OK. Problem was it gets in a boot loop so I may have debugged the wrong core dump. Will try and catch it doing it the first time so that they match….
    gadget-man
    @gadget-man
    OK @rojer, I caught it. Here’s the log:
    [Jun 18 10:20:56.464] /opt/Espressif/esp-idf/components/freertos/tasks.c:3095 (xTaskRemoveFromEventList)- assert failed!
    [Jun 18 10:20:56.473] 
    [Jun 18 10:20:56.473] abort() was called at PC 0x4008c478 on core 0
    [Jun 18 10:20:56.477] 
    [Jun 18 10:20:56.477] Backtrace:0x4008b04d |<-CORRUPTED
    [Jun 18 10:20:56.480] 
    [Jun 18 10:20:56.481] 
    [Jun 18 10:20:56.481] ELF file SHA256: 4eab2b97f4d40fc6
    [Jun 18 10:20:56.484] 
    [Jun 18 10:20:56.484] 
    [Jun 18 10:20:56.484] --- BEGIN CORE DUMP ---
    [Jun 18 10:20:56.486] mos: catching core dump
    [Jun 18 10:20:56.509] mos: core dump aborted
    [Jun 18 10:20:56.509] 
    [Jun 18 10:20:56.509] Backtrace:0x4008deff |<-CORRUPTED
    [Jun 18 10:20:56.512] 
    [Jun 18 10:20:56.512] 
    [Jun 18 10:20:56.512] ELF file SHA256: 4eab2b97f4d40fc6
    [Jun 18 10:20:56.515] 
    [Jun 18 10:20:56.516] Re-entered core dump! Exception happened during core dump!
    [Jun 18 10:20:56.521] Rebooting...
    [Jun 18 10:20:56.523] ets Jul 29 2019 12:21:46
    [Jun 18 10:20:56.525] 
    [Jun 18 10:20:56.525] rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
    [Jun 18 10:20:56.530] configsip: 0, SPIWP:0xee
    [Jun 18 10:20:56.532] clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
    [Jun 18 10:20:56.538] mode:DIO, clock div:1
    [Jun 18 10:20:56.540] load:0x3fff0018,len:4
    [Jun 18 10:20:56.542] load:0x3fff001c,len:6776
    [Jun 18 10:20:56.545] load:0x40078000,len:10708
    [Jun 18 10:20:56.547] load:0x40080400,len:6512
    [Jun 18 10:20:56.549] entry 0x40080714
    [Jun 18 10:20:56.551] I (63) boot: Chip Revision: 3
    [Jun 18 10:20:56.555] I (65) boot_comm: chip revision: 3, min. bootloader chip revision: 0
    [Jun 18 10:20:56.563] I (39) boot: ESP-IDF v3.3-r5 2nd stage bootloader
    [Jun 18 10:20:56.569] I (40) boot: compile time 13:05:40
    [Jun 18 10:20:56.573] I (40) boot: Enabling RNG early entropy source...
    [Jun 18 10:20:56.578] I (44) qio_mode: Enabling default flash chip QIO
    [Jun 18 10:20:56.584] I (50) boot: SPI Speed      : 80MHz
    [Jun 18 10:20:56.588] I (54) boot: SPI Mode       : QIO
    [Jun 18 10:20:56.592] I (58) boot: SPI Flash Size : 16MB
    [Jun 18 10:20:56.596] I (62) boot: Partition Table:
    [Jun 18 10:20:56.599] I (66) boot: ## Label            Usage          Type ST Offset   Length   Flags
    [Jun 18 10:20:56.607] I (74) boot:  0 nvs              WiFi data        01 02 00009000 00004000 00000000
    [Jun 18 10:20:56.616] I (82) boot:  1 otadata          OTA data         01 00 0000d000 00002000 00000000
    [Jun 18 10:20:56.624] I (90) boot:  2 app_0            OTA app          00 10 00010000 00180000 00000000
    [Jun 18 10:20:56.632] I (98) boot:  3 fs_0             FS               01 82 00190000 00060000 00000000
    [Jun 18 10:20:56.640] I (107) boot:  4 app_1            OTA app          00 11 001f0000 00180000 00000000
    [Jun 18 10:20:56.649] I (115) boot:  5 fs_1             FS               01 82 00370000 00060000 00000000
    [Jun 18 10:20:56.657] I (123) boot: End of partition table
    [Jun 18 10:20:56.661] I (128) boot: OTA data 0: seq 0x00000042, st 0x11, CRC 0xa8b56583, valid? 1
    [Jun 18 10:20:56.669] I (135) boot: OTA data 1: seq 0x00000043, st 0x10, CRC 0x58da9d34, valid? 1
    [Jun 18 10:20:56.677] I (143) boot_comm: chip revision: 3, min. application chip revision: 0
    [Jun 18 10:20:56.684] I (150) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x2e70c (190220) map
    [Jun 18 10:20:56.731] I (209) esp_image: segment 1: paddr=0x0003e734 vaddr=0x3ffb0000 size=0x018e4 (  6372) load
    [Jun 18 10:20:56.741] I (211) esp_image: segment 2: paddr=0x00040020 vaddr=0x400d0020 size=0xce6e4 (845540) map
    [Jun 18 10:20:56.961] I (439) esp_image: segment 3: paddr=0x0010e70c vaddr=0x3ffb18e4 size=0x01d04 (  7428) load
    [Jun 18 10:20:56.970] I (441) esp_image: segment 4: paddr=0x00110418 vaddr=0x40080000 size=0x00400 (  1024) load
    [Jun 18 10:20:56.979] I (446) esp_image: segment 5: paddr
    And here’s the dump debug...
    Using core-iParcelBox_firmware-esp32-20210618-102137.719340165
    Core dump by iParcelBox_firmware/esp32 2.0.229-ESPIDF4 20210616-110035/g03e86e9-2.0-EDF4-dirty
    Using ELF file at: /Users/PaulNeedler/Documents/iParcelBox/3-Firmware/iParcelBox_firmware/build/objs/iParcelBox_firmware.elf
    Using Docker image: docker.io/mgos/esp32-build:4.2-r1-dbg1
    Running docker run --rm -i --tty=true -v /Users/PaulNeedler/Documents/iParcelBox/3-Firmware/iParcelBox_firmware/build/objs/iParcelBox_firmware.elf:/fw.elf -v /Users/PaulNeedler/Documents/iParcelBox/3-Firmware/iParcelBox_firmware/core-iParcelBox_firmware-esp32-20210618-102137.719340165:/core -v /Users/PaulNeedler/Documents/iParcelBox/3-Firmware/iParcelBox_firmware:/Users/PaulNeedler/Documents/iParcelBox/3-Firmware/iParcelBox_firmware docker.io/mgos/esp32-build:4.2-r1-dbg1 bash -c /usr/local/bin/serve_core.py --rom=/opt/Espressif/rom/rom.bin --rom_addr=0x40000000 --xtensa_addr_fixup=true /fw.elf /core & $MGOS_TARGET_GDB /fw.elf -ex 'target remote 127.0.0.1:1234' -ex 'set confirm off' -ex bt
    GNU gdb (crosstool-NG esp-2020r3) 8.1.0.20180627-git
    Copyright (C) 2018 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "--host=x86_64-build_pc-linux-gnu --target=xtensa-esp32-elf".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from /fw.elf...Waiting for gdb on 1234
    done.
    Remote debugging using 127.0.0.1:1234
    Found core at 23 - 458803
    Mapping DRAM: 335872 @ 0x3ffae000
    Mapping /opt/Espressif/rom/rom.bin at 0x40000000
    Mapping /fw.elf .rtc.text: 55 @ 0x400c0000
    Mapping /fw.elf .rtc.dummy: 55 @ 0x3ff80000
    Mapping /fw.elf .rtc.force_fast: 1 @ 0x3ff80037
    Mapping /fw.elf .rtc.data: 16 @ 0x50000000
    Mapping /fw.elf .iram0.vectors: 1024 @ 0x40080000
    Mapping /fw.elf .iram0.text: 108672 @ 0x40080400
    Mapping /fw.elf .dram0.data: 13800 @ 0x3ffb0000
    Mapping /fw.elf .dram0.bss: 37416 @ 0x3ffb35e8
    Mapping /fw.elf .flash.rodata: 190220 @ 0x3f400020
    Mapping /fw.elf .flash.text: 845540 @ 0x400d0020
    Dump contains FreeRTOS task info
    Loaded core dump from last snippet in  /core
    is_last_block (block=0x0)
        at /opt/Espressif/esp-idf/components/heap/multi_heap.c:791
    791        for(heap_block_t *b = get_next_block(&heap->first_block); !is_last_block(b); b = get_next_block(b)) {
    #0  is_last_block (block=0x0)
        at /opt/Espressif/esp-idf/components/heap/multi_heap.c:791
    #1  multi_heap_get_info_impl (info=0x3ffb8380 <mgos_task_stack+16060>,
    Let me know if you need anything else...
    gadget-man
    @gadget-man
    I’m looking to add SSDP or similar to my device to support integration with smart home systems. I’ve found the attached library, could this be incorporated into MOS?
    gadget-man
    @gadget-man
    Or I guess I could use DNS-SD if they can discover ZeroConf?? https://github.com/mongoose-os-libs/dns-sd
    d4rkmen
    @d4rkmen
    SSDP is mostly used on windows to discover services. its built in. the dns-sd on mac
    the best is to support both ;)
    gadget-man
    @gadget-man
    My first integration will be for Home Assistant, which can use both I believe.
    gadget-man
    @gadget-man
    I want to include a boolean in my dns-sd txt, based on mos_config_get_device_battery(), however I can only include string config variables when I do the below:
    const struct mgos_dns_sd_txt_entry gizmo_txt[] = {
        {.key = “battery", .value = MG_MK_STR(mos_config_get_device_battery())},
        {.key = "id", .value = MG_MK_STR(mos_config_get_device_id())},
        {.key = NULL},
    };
    so device_id works fine, but not device_battery. Please can somebody help me learn what I’m doing wrong?
    Mark
    @markterrill
    maybe make your own middleman function instead of get_device_battery to check what that function is actually returning and make sure its string
    Mark
    @markterrill
    looking more deeply at my dns sd setup, I can ping the host, ie smartfire.local, but scanning it with dns_sd doesn't actually show it advertising it's http service as it's supposed to
    spent a good 20 mins looking through mos code but nothing is shown
    the relevant mac command to browse local instances shows no match for MOS's supposed http service.
    dns-sd -B _http._tcp local
    Browsing for _http._tcp.local
    DATE: ---Mon 21 Jun 2021---
    11:42:41.566  ...STARTING...
    Timestamp     A/R    Flags  if Domain               Service Type         Instance Name
    11:42:41.567  Add        3   7 local.               _http._tcp.          Living Room
    11:42:41.567  Add        2   7 local.               _http._tcp.          Brother HL-L8260CDW series
    it just registers its name, nothing else apparently.
    ➜  node-mdns-js git:(master) ✗ dns-sd -G v4 smartfire.local
    DATE: ---Mon 21 Jun 2021---
    11:43:27.007  ...STARTING...
    Timestamp     A/R    Flags if Hostname                               Address                                      TTL
    11:43:27.008  Add 40000002  7 smartfire.local.                       192.168.1.132                                120
    Mark
    @markterrill
    i could successfully create a test http service called hello using a node script that was then discoverable by the apple cli command
    ➜  node-mdns-js git:(master) ✗ dns-sd -B _http._tcp local
    Browsing for _http._tcp.local
    DATE: ---Mon 21 Jun 2021---
    11:45:48.827  ...STARTING...
    Timestamp     A/R    Flags  if Domain               Service Type         Instance Name
    11:45:48.829  Add        3   7 local.               _http._tcp.          hello
    11:45:48.829  Add        3   7 local.               _http._tcp.          Living Room
    11:45:48.829  Add        2   7 local.               _http._tcp.          Brother HL-L8260CDW series
    so for all intents and purposes, the mos dns-sd isn't working