Giter VIP home page Giter VIP logo

openweave-esp32-demo's People

Contributors

emargolis avatar robszewczyk avatar suryanshup avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openweave-esp32-demo's Issues

Bad link on README.md page

The link on the ./README.md page entitled 'Building OpenWeave for the ESP32' points to the wrong URL.

Error while flashing: Image length doesn't fit in partition length

Following the instructions , I successfully built the demo application.
However, when flashing, I get errors (see below).
I have the ESP32-DevKitC, which is one that is referred to in the README.

...
make[5]: Nothing to be done for 'install-exec-am'.
/bin/mkdir -p '/home/pierred/esp-idf/openweave-esp32-demo/build/openweave/share/doc/weave'
/usr/bin/install --compare -v -m 644 /home/pierred/esp-idf/openweave-esp32-demo/third_party/openweave/CHANGELOG /home/pierred/esp-idf/openweave-esp32-demo/third_party/openweave/LICENSE '/home/pierred/esp-idf/openweave-esp32-demo/build/openweave/share/doc/weave'
LD build/openweave-esp32-demo.elf
esptool.py v2.6
Flashing binaries to serial port /dev/ttyUSB0 (app at offset 0x10000)...
esptool.py v2.6
Serial port /dev/ttyUSB0
Connecting........_____....._
Chip is ESP32D0WDQ5 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 30:ae:a4:d4:64:28
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0220
Compressed 19584 bytes to 11583...
Wrote 19584 bytes (11583 compressed) at 0x00001000 in 1.0 seconds (effective 153.2 kbit/s)...
Hash of data verified.
Compressed 1220688 bytes to 671566...
Wrote 1220688 bytes (671566 compressed) at 0x00010000 in 59.5 seconds (effective 164.2 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 82...
Wrote 3072 bytes (82 compressed) at 0x00008000 in 0.0 seconds (effective 1988.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
MONITOR
--- idf_monitor on /dev/ttyUSB0 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jun 8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:5636
load:0x40078000,len:13860
entry 0x40078fd0
I (26) boot: ESP-IDF v3.0.7-31-g1b1053c86 2nd stage bootloader
I (26) boot: compile time 11:20:14
I (26) boot: Enabling RNG early entropy source...
I (32) boot: SPI Speed : 40MHz
I (36) boot: SPI Mode : DIO
I (40) boot: SPI Flash Size : 4MB
I (44) boot: Partition Table:
I (48) boot: ## Label Usage Type ST Offset Length
I (55) boot: 0 nvs WiFi data 01 02 00009000 00006000
I (63) boot: 1 phy_init RF data 01 01 0000f000 00001000
I (70) boot: 2 factory factory app 00 00 00010000 00100000
I (78) boot: End of partition table
I (82) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x31ca0 (203936) map
I (162) esp_image: segment 1: paddr=0x00041cc8 vaddr=0x3ffc0000 size=0x03eec ( 16108) load
I (169) esp_image: segment 2: paddr=0x00045bbc vaddr=0x40080000 size=0x00400 ( 1024) load
0x40080000: _WindowOverflow4 at /home/pierred/esp-idf/components/freertos/./xtensa_vectors.S:1685

I (169) esp_image: segment 3: paddr=0x00045fc4 vaddr=0x40080400 size=0x0a04c ( 41036) load
I (195) esp_image: segment 4: paddr=0x00050018 vaddr=0x400d0018 size=0xe59b8 (940472) map
0x400d0018: _flash_cache_start at ??:?

I (524) esp_image: segment 5: paddr=0x001359d8 vaddr=0x4008a44c size=0x04650 ( 18000) load
0x4008a44c: pvTaskGetThreadLocalStoragePointer at /home/pierred/esp-idf/components/freertos/./tasks.c:4571

E (532) esp_image: Image length 1220688 doesn't fit in partition length 1048576
E (532) boot: Factory app partition is not bootable
E (536) boot: No bootable app partitions in the partition table
user code done

scanning nest devices

i was wondering if by using this example I can scan devices on my local network and get data from them like the thermostat

Error in linking

System: macOS 10.14.5
ESP-IDF: release/3.0
The current master fails to link with the following errors:

LD build/openweave-esp32-demo.elf
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x8): undefined reference to nl::Weave::DeviceLayer::PlatformManagerImpl::sInstance' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x10): undefined reference to nl::Weave::DeviceLayer::PlatformManagerImpl::HandleESPSystemEvent(void*, system_event_t*)'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x24): undefined reference to nl::Weave::DeviceLayer::ConnectivityManagerImpl::sInstance' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x5c): undefined reference to nl::Weave::DeviceLayer::ConfigurationManagerImpl::sInstance'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x68): undefined reference to nl::Weave::DeviceLayer::TraitManager::sInstance' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x70): undefined reference to nl::Weave::DeviceLayer::Internal::DeviceDescriptionServer::sInstance'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x74): undefined reference to nl::ErrorStr(int)' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x78): undefined reference to nl::Weave::DeviceLayer::PlatformManagerImpl::InitLwIPCoreLock()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x7c): undefined reference to nl::Weave::DeviceLayer::PlatformManagerImpl::_InitWeaveStack()' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x80): undefined reference to nl::Weave::DeviceLayer::ConnectivityManagerImpl::_SetWiFiAPMode(nl::Weave::DeviceLayer::ConnectivityManager::WiFiAPMode)'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x84): undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl<nl::Weave::DeviceLayer::PlatformManagerImpl>::_AddEventHandler(void (*)(nl::Weave::DeviceLayer::WeaveDeviceEvent const*, int), int)' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x88): undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl_FreeRTOSnl::Weave::DeviceLayer::PlatformManagerImpl::_StartEventLoopTask()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x8c): undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl_FreeRTOS<nl::Weave::DeviceLayer::PlatformManagerImpl>::_TryLockWeaveStack()' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x90): undefined reference to nl::Weave::DeviceLayer::ConnectivityManagerImpl::_IsWiFiStationProvisioned()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x94): undefined reference to nl::Weave::DeviceLayer::ConnectivityManagerImpl::_IsWiFiStationEnabled()' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x98): undefined reference to nl::Weave::DeviceLayer::Internal::GenericConnectivityManagerImpl_BLEnl::Weave::DeviceLayer::ConnectivityManagerImpl::_NumBLEConnections()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0x9c): undefined reference to nl::Weave::DeviceLayer::Internal::GenericConfigurationManagerImpl<nl::Weave::DeviceLayer::ConfigurationManagerImpl>::_IsServiceProvisioned()' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0xa0): undefined reference to nl::Weave::DeviceLayer::Internal::GenericConfigurationManagerImplnl::Weave::DeviceLayer::ConfigurationManagerImpl::_IsPairedToAccount()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0xa4): undefined reference to nl::Weave::DeviceLayer::ConnectivityManagerImpl::_HaveServiceConnectivityViaTunnel()' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0xa8): undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl_FreeRTOSnl::Weave::DeviceLayer::PlatformManagerImpl::_UnlockWeaveStack()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0xac): undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl_FreeRTOS<nl::Weave::DeviceLayer::PlatformManagerImpl>::_LockWeaveStack()' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0xb0): undefined reference to nl::Weave::DeviceLayer::ConnectivityManagerImpl::_DemandStartWiFiAP()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0xb4): undefined reference to nl::Weave::DeviceLayer::Internal::DeviceDescriptionServer::SetUserSelectedMode(bool)' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o):(.literal.app_main+0xb8): undefined reference to nl::Weave::DeviceLayer::ConfigurationManagerImpl::_InitiateFactoryReset()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function app_main': /Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:118: undefined reference to nl::ErrorStr(int)'
/Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:119: undefined reference to nl::Weave::DeviceLayer::PlatformManagerImpl::InitLwIPCoreLock()' /Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:127: undefined reference to nl::ErrorStr(int)'
/Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:138: undefined reference to nl::ErrorStr(int)' /Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:145: undefined reference to nl::ErrorStr(int)'
/Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:147: undefined reference to nl::Weave::DeviceLayer::PlatformManagerImpl::_InitWeaveStack()' /Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:155: undefined reference to nl::ErrorStr(int)'
/Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:155: undefined reference to nl::Weave::DeviceLayer::ConnectivityManagerImpl::_SetWiFiAPMode(nl::Weave::DeviceLayer::ConnectivityManager::WiFiAPMode)' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function nl::Weave::DeviceLayer::ConnectivityManager::SetWiFiAPMode(nl::Weave::DeviceLayer::ConnectivityManager::WiFiAPMode)':
/Users/jma/dev/esp32/openweave-esp32-demo/third_party/openweave/build/esp32/components/openweave/../../../../../../build/openweave/include/Weave/DeviceLayer/ConnectivityManager.h:278: undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl<nl::Weave::DeviceLayer::PlatformManagerImpl>::_AddEventHandler(void (*)(nl::Weave::DeviceLayer::WeaveDeviceEvent const*, int), int)' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function app_main':
/Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:188: undefined reference to nl::ErrorStr(int)' /Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:221: undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl_FreeRTOSnl::Weave::DeviceLayer::PlatformManagerImpl::_StartEventLoopTask()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function nl::Weave::DeviceLayer::PlatformManager::StartEventLoopTask()': /Users/jma/dev/esp32/openweave-esp32-demo/third_party/openweave/build/esp32/components/openweave/../../../../../../build/openweave/include/Weave/DeviceLayer/PlatformManager.h:175: undefined reference to nl::ErrorStr(int)'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function app_main': /Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:247: undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl_FreeRTOSnl::Weave::DeviceLayer::PlatformManagerImpl::_TryLockWeaveStack()'
/Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:247: undefined reference to nl::Weave::DeviceLayer::ConnectivityManagerImpl::_IsWiFiStationProvisioned()' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function nl::Weave::DeviceLayer::PlatformManager::TryLockWeaveStack()':
/Users/jma/dev/esp32/openweave-esp32-demo/third_party/openweave/build/esp32/components/openweave/../../../../../../build/openweave/include/Weave/DeviceLayer/PlatformManager.h:185: undefined reference to nl::Weave::DeviceLayer::ConnectivityManagerImpl::_IsWiFiStationEnabled()' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function app_main':
/Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:263: undefined reference to nl::Weave::DeviceLayer::Internal::GenericConnectivityManagerImpl_BLE<nl::Weave::DeviceLayer::ConnectivityManagerImpl>::_NumBLEConnections()' /Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:265: undefined reference to nl::Weave::DeviceLayer::Internal::GenericConfigurationManagerImplnl::Weave::DeviceLayer::ConfigurationManagerImpl::_IsServiceProvisioned()'
/Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:266: undefined reference to nl::Weave::DeviceLayer::Internal::GenericConfigurationManagerImpl<nl::Weave::DeviceLayer::ConfigurationManagerImpl>::_IsPairedToAccount()' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function nl::Weave::DeviceLayer::ConfigurationManager::IsServiceProvisioned()':
/Users/jma/dev/esp32/openweave-esp32-demo/third_party/openweave/build/esp32/components/openweave/../../../../../../build/openweave/include/Weave/DeviceLayer/ConfigurationManager.h:367: undefined reference to nl::Weave::DeviceLayer::ConnectivityManagerImpl::_HaveServiceConnectivityViaTunnel()' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function app_main':
/Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:269: undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl_FreeRTOS<nl::Weave::DeviceLayer::PlatformManagerImpl>::_UnlockWeaveStack()' /Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:317: undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl_FreeRTOSnl::Weave::DeviceLayer::PlatformManagerImpl::_LockWeaveStack()'
/Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:320: undefined reference to nl::Weave::DeviceLayer::ConnectivityManagerImpl::_DemandStartWiFiAP()' /Users/jma/dev/esp32/openweave-esp32-demo/main/./openweave-esp32-demo.cpp:332: undefined reference to nl::Weave::DeviceLayer::Internal::DeviceDescriptionServer::SetUserSelectedMode(bool)'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function Button::IsPressed()': /Users/jma/dev/esp32/openweave-esp32-demo/main/include/Button.h:44: undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl_FreeRTOSnl::Weave::DeviceLayer::PlatformManagerImpl::_UnlockWeaveStack()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function nl::Weave::DeviceLayer::Internal::GenericConnectivityManagerImpl<nl::Weave::DeviceLayer::ConnectivityManagerImpl>::_SetUserSelectedMode(bool)': /Users/jma/dev/esp32/openweave-esp32-demo/third_party/openweave/build/esp32/components/openweave/../../../../../../build/openweave/include/Weave/DeviceLayer/internal/GenericConnectivityManagerImpl.h:70: undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl_FreeRTOSnl::Weave::DeviceLayer::PlatformManagerImpl::_LockWeaveStack()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function nl::Weave::DeviceLayer::PlatformManager::UnlockWeaveStack()': /Users/jma/dev/esp32/openweave-esp32-demo/third_party/openweave/build/esp32/components/openweave/../../../../../../build/openweave/include/Weave/DeviceLayer/PlatformManager.h:190: undefined reference to nl::Weave::DeviceLayer::ConfigurationManagerImpl::_InitiateFactoryReset()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(openweave-esp32-demo.o): In function Button::IsPressed()': /Users/jma/dev/esp32/openweave-esp32-demo/main/include/Button.h:44: undefined reference to nl::Weave::DeviceLayer::Internal::GenericPlatformManagerImpl_FreeRTOSnl::Weave::DeviceLayer::PlatformManagerImpl::_UnlockWeaveStack()'
/Users/jma/dev/esp32/openweave-esp32-demo/build/lwip/liblwip.a(timers.o):(.literal.sys_timeouts_mbox_fetch+0x0): undefined reference to lock_lwip_core' /Users/jma/dev/esp32/openweave-esp32-demo/build/lwip/liblwip.a(timers.o):(.literal.sys_timeouts_mbox_fetch+0x4): undefined reference to unlock_lwip_core'
/Users/jma/dev/esp32/openweave-esp32-demo/build/lwip/liblwip.a(timers.o): In function sys_timeouts_mbox_fetch': /Users/jma/dev/esp32/openweave-esp32-demo/third_party/lwip/core/timers.c:574: undefined reference to lock_lwip_core'
/Users/jma/dev/esp32/openweave-esp32-demo/third_party/lwip/core/timers.c:576: undefined reference to unlock_lwip_core' /Users/jma/dev/esp32/openweave-esp32-demo/build/lwip/liblwip.a(tcpip.o):(.literal.tcpip_thread+0x1c): undefined reference to lock_lwip_core'
/Users/jma/dev/esp32/openweave-esp32-demo/build/lwip/liblwip.a(tcpip.o):(.literal.tcpip_thread+0x20): undefined reference to unlock_lwip_core' /Users/jma/dev/esp32/openweave-esp32-demo/build/lwip/liblwip.a(tcpip.o): In function tcpip_thread':
/Users/jma/dev/esp32/openweave-esp32-demo/third_party/lwip/api/tcpip.c:474: undefined reference to lock_lwip_core' /Users/jma/dev/esp32/openweave-esp32-demo/third_party/lwip/api/tcpip.c:474: undefined reference to unlock_lwip_core'
/Users/jma/dev/esp32/openweave-esp32-demo/third_party/lwip/api/tcpip.c:474: undefined reference to lock_lwip_core' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(AliveTimer.o):(.literal._Z16HandleAliveTimerPN2nl5Weave6System5LayerEPvi+0xc): undefined reference to nl::Weave::DeviceLayer::SystemLayer'
/Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(AliveTimer.o):(.literal._Z16HandleAliveTimerPN2nl5Weave6System5LayerEPvi+0x14): undefined reference to nl::Weave::System::Layer::StartTimer(unsigned int, void (*)(nl::Weave::System::Layer*, void*, int), void*)' /Users/jma/dev/esp32/openweave-esp32-demo/build/main/libmain.a(AliveTimer.o): In function HandleAliveTimer(nl::Weave::System::Layer*, void*, int)':
/Users/jma/dev/esp32/openweave-esp32-demo/main/./AliveTimer.cpp:44: undefined reference to nl::Weave::System::Layer::StartTimer(unsigned int, void (*)(nl::Weave::System::Layer*, void*, int), void*)' /Users/jma/dev/esp32/openweave-esp32-demo/main/./AliveTimer.cpp:47: undefined reference to nl::ErrorStr(int)'
collect2: error: ld returned 1 exit status
make: *** [/Users/jma/dev/esp32/openweave-esp32-demo/build/openweave-esp32-demo.elf] Error 1

In addiiton, xtensa-esp32-elf-nm complains about the openweave libs such as libWeave.a and libDeviceLayer.a with (but can list symbols, including the missed ones):
xtensa-esp32-elf-nm: /: File format not recognized
xtensa-esp32-elf-nm: //: File format not recognized

README.md build instructions seem to not work

I'm having a hard time building the demo app. I'm installing a fresh version of the esp-idf and xtensa toolchain.

The espressif sdk/toolchain was configured as:

git clone --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
./install.sh
git checkout release/v3.0

The install script installed the toolchain to ~/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin, which contains the xtensa-esp32-elf-gcc toolchain.

The demo app was configured as:

git clone https://github.com/openweave/openweave-esp32-demo.git
cd openweave-esp32-demo
git submodule init
git submodule update
. setup.sh
make defconfig

Upon issuing make, the following error is returned:

WARNING: esp-idf git submodule components/esptool_py/esptool may be out of date. Run 'git submodule update' in IDF_PATH dir to update.
WARNING: Failed to find Xtensa toolchain, may need to alter PATH or set one in the configuration menu
WARNING: esp-idf git submodule components/esptool_py/esptool may be out of date. Run 'git submodule update' in IDF_PATH dir to update.
WARNING: Failed to find Xtensa toolchain, may need to alter PATH or set one in the configuration menu
WARNING: esp-idf git submodule components/esptool_py/esptool may be out of date. Run 'git submodule update' in IDF_PATH dir to update.
/home/sam/Vol/esp-idf/make/project.mk:502: warning: undefined variable 'which git'
WARNING: Missing submodule components/esp32/lib...
Attempting 'git submodule update --init components/esp32/lib' in esp-idf root directory...
Submodule 'components/esp32/lib' (https://github.com/espressif/esp32-wifi-lib.git) registered for path 'components/esp32/lib'
Cloning into '/home/sam/Vol/esp-idf/components/esp32/lib'...
Submodule path 'components/esp32/lib': checked out 'ac3108200a0ac7bd58b060fa4d5e389827290d63'
CC build/bootloader/bootloader_support/src/efuse.o
CC build/bootloader/bootloader_support/src/bootloader_flash.o
CC build/bootloader/bootloader_support/src/secure_boot_signatures.o
/home/sam/Vol/esp-idf/components/bootloader_support/src/secure_boot_signatures.c:22:10: fatal error: uECC.h: No such file or directory
 #include "uECC.h"
          ^~~~~~~~
compilation terminated.
make[2]: *** [/home/sam/Vol/esp-idf/make/component_wrapper.mk:274: src/secure_boot_signatures.o] Error 1
make[1]: *** [/home/sam/Vol/esp-idf/make/project.mk:450: component-bootloader_support-build] Error 2
make: *** [/home/sam/Vol/esp-idf/components/bootloader/Makefile.projbuild:40: /home/sam/Vol/openweave/openweave-esp32-demo/build/bootloader/bootloader.bin] Error 2

Note that updating the esp-idf components doesn't resolve the header compilation error.

Unable to build demo application

Hello,

Am seeing the below error while trying to build the demo application based on the instructions given in main page. Below is the error. Can anyone tell how can this be fixed?

{noformat:}
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_api.o):(.text.esp_wifi_scan_get_ap_records+0x8): undefined reference to esp_mesh_is_scan_allowed' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_api.o): In function esp_wifi_scan_get_ap_records':
(.text.esp_wifi_scan_get_ap_records+0x10c): undefined reference to esp_mesh_is_scan_allowed' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function pll_correct_dcap':
(.iram1+0x1c4): undefined reference to phy_enter_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function pll_correct_dcap':
(.iram1+0x1c8): undefined reference to phy_exit_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function pll_correct_dcap':
(.iram1+0x1cf): undefined reference to phy_enter_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function phy_unforce_wifi_chan':
(.iram1+0x234): undefined reference to phy_exit_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function phy_dis_hw_set_freq':
(.iram1+0x27b): undefined reference to phy_enter_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function phy_force_wifi_chan':
(.iram1+0x310): undefined reference to phy_exit_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function phy_force_wifi_chan':
(.iram1+0x31f): undefined reference to phy_enter_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function ram_chip_i2c_writeReg':
(.iram1+0x3c4): undefined reference to phy_exit_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function ram_chip_i2c_writeReg':
(.iram1+0x3df): undefined reference to phy_enter_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function ram_chip_i2c_readReg':
(.iram1+0x4c8): undefined reference to phy_exit_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function ram_chip_i2c_readReg':
(.iram1+0x4eb): undefined reference to phy_enter_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function phy_en_hw_set_freq':
(.iram1+0x576): undefined reference to phy_exit_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function wifi_track_pll_cap':
(.iram1+0x59b): undefined reference to phy_enter_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function wifi_track_pll_cap':
(.iram1+0x60a): undefined reference to phy_exit_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o):(.text.ram_pbus_force_mode+0x18): undefined reference to esp_dport_access_reg_read'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o):(.text.ram_pbus_force_mode+0x27): undefined reference to esp_dport_access_reg_read' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function ram_pbus_force_mode':
(.text.ram_pbus_force_mode+0x93): undefined reference to esp_dport_access_reg_read' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o):(.text.chip_v7_set_chan+0xc): undefined reference to phy_enter_critical'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o):(.text.chip_v7_set_chan+0x10): undefined reference to phy_exit_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function chip_v7_set_chan':
(.text.chip_v7_set_chan+0x5d): undefined reference to phy_enter_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function chip_v7_set_chan':
(.text.chip_v7_set_chan+0x91): undefined reference to phy_exit_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o):(.text.chip_v7_set_chan_offset+0xf): undefined reference to phy_enter_critical'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_ana.o): In function chip_v7_set_chan_offset': (.text.chip_v7_set_chan_offset+0xb8): undefined reference to phy_exit_critical'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7.o): In function ram_bb_bss_cbw40_dig': (.text.ram_bb_bss_cbw40_dig+0xb): undefined reference to esp_dport_access_reg_read'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7.o): In function ram_bb_bss_bw_40_en': (.text.ram_bb_bss_bw_40_en+0xb): undefined reference to esp_dport_access_reg_read'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7.o): In function bb_init': (.text.bb_init+0x396): undefined reference to esp_dport_access_reg_read'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7.o): In function bb_init': (.text.bb_init+0x3a9): undefined reference to esp_dport_access_reg_read'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7.o): In function bb_init': (.text.bb_init+0x3b9): undefined reference to esp_dport_access_reg_read'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7.o):(.text.bb_init+0x3cc): more undefined references to esp_dport_access_reg_read' follow /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_cal.o): In function ram_set_txcap_reg':
(.iram1+0xbe7): undefined reference to phy_enter_critical' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libphy.a(phy_chip_v7_cal.o): In function tx_pwctrl_background':
(.iram1+0xcfd): undefined reference to phy_exit_critical' /home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(ld_acl.o): In function ld_sco_end':
ld_acl.c:(.iram1.text+0x404): undefined reference to ld_acl_rx' ld_acl.c:(.iram1.text+0x408): undefined reference to ld_acl_tx'
ld_acl.c:(.iram1.text+0x40c): undefined reference to ld_acl_rx_sync2' ld_acl.c:(.iram1.text+0x410): undefined reference to ld_acl_rx_sync'
ld_acl.c:(.iram1.text+0x414): undefined reference to ld_acl_rx_no_sync' ld_acl.c:(.iram1.text+0x418): undefined reference to ld_sco_modify'
/home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(ld_acl.o): In function ld_sco_frm_isr_wrapper': ld_acl.c:(.iram1.text+0x4ef): undefined reference to ld_acl_rx'
ld_acl.c:(.iram1.text+0x4fa): undefined reference to ld_acl_tx' ld_acl.c:(.iram1.text+0x53f): undefined reference to ld_acl_rx_sync2'
ld_acl.c:(.iram1.text+0x54a): undefined reference to ld_acl_rx_sync' ld_acl.c:(.iram1.text+0x55c): undefined reference to ld_acl_rx_no_sync'
ld_acl.c:(.iram1.text+0x5da): undefined reference to ld_sco_modify' /home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(ld_fm.o):(.iram1.text+0x20): undefined reference to ld_acl_sniff_frm_cbk'
/home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(ld_fm.o): In function r_ld_fm_sket_isr': ld_fm.c:(.iram1.text+0x164): undefined reference to ld_sco_frm_cbk'
/home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(ld_fm.o): In function r_ld_fm_frame_isr': ld_fm.c:(.iram1.text+0x2ee): undefined reference to ld_acl_sniff_frm_cbk'
/home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(rwip.o):(.text+0x0): undefined reference to rwip_env' /home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(rwip.o): In function r_rwip_wakeup':
rwip.c:(.iram1.text+0x5c): undefined reference to rwip_env' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_hostap.o):(.text.ieee80211_hostap_send_beacon_process+0x0): undefined reference to esp_mesh_quick_funcs'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_hostap.o):(.text.hostap_input+0x54): undefined reference to is_esp_mesh_assoc' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_hostap.o): In function hostap_input':
(.text.hostap_input+0xd72): undefined reference to is_esp_mesh_assoc' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o):(.text.wifi_mesh_ie_crypto_key_set_progress+0xc): undefined reference to mesh_set_ie_crypto_config'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_ie_crypto_key_set_progress': (.text.wifi_mesh_ie_crypto_key_set_progress+0x9f): undefined reference to mesh_set_ie_crypto_config'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o):(.text.wifi_mesh_parent_candidate_set_progress+0x10): undefined reference to mesh_set_parent_candidate' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_parent_candidate_set_progress':
(.text.wifi_mesh_parent_candidate_set_progress+0xb4): undefined reference to mesh_set_parent_candidate' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o):(.text.wifi_mesh_parent_candidate_clear_progress+0x0): undefined reference to mesh_clear_parent_candidate'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_parent_candidate_clear_progress': (.text.wifi_mesh_parent_candidate_clear_progress+0x7): undefined reference to mesh_clear_parent_candidate'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o):(.text.wifi_mesh_ie_set_progress+0x8): undefined reference to ieee80211_vnd_mesh_quick_set' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_ie_set_progress':
(.text.wifi_mesh_ie_set_progress+0x48): undefined reference to ieee80211_vnd_mesh_quick_set' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o):(.text.wifi_mesh_ie_get_progress+0x8): undefined reference to ieee80211_vnd_mesh_quick_get'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_ie_get_progress': (.text.wifi_mesh_ie_get_progress+0x48): undefined reference to ieee80211_vnd_mesh_quick_get'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o):(.text.wifi_mesh_roots_ie_set_progress+0x8): undefined reference to ieee80211_vnd_mesh_roots_set' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_roots_ie_set_progress':
(.text.wifi_mesh_roots_ie_set_progress+0x5a): undefined reference to ieee80211_vnd_mesh_roots_set' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o):(.text.wifi_mesh_roots_ie_get_progress+0x8): undefined reference to ieee80211_vnd_mesh_roots_get'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_roots_ie_get_progress': (.text.wifi_mesh_roots_ie_get_progress+0x5a): undefined reference to ieee80211_vnd_mesh_roots_get'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_ie_crypto_funcs_set_progress': (.text.wifi_mesh_ie_crypto_funcs_set_progress+0x57): undefined reference to mesh_set_ie_crypto_config'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o):(.text.wifi_mesh_parent_monitor_set_progress+0x8): undefined reference to mesh_set_parent_monitor_config' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_parent_monitor_set_progress':
(.text.wifi_mesh_parent_monitor_set_progress+0x44): undefined reference to mesh_set_parent_monitor_config' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o):(.text.wifi_mesh_parent_monitor_get_progress+0x8): undefined reference to mesh_get_parent_monitor_config'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_parent_monitor_get_progress': (.text.wifi_mesh_parent_monitor_get_progress+0x44): undefined reference to mesh_get_parent_monitor_config'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o):(.text.wifi_mesh_parent_candidate_get_progress+0x8): undefined reference to mesh_get_parent_candidate' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_parent_candidate_get_progress':
(.text.wifi_mesh_parent_candidate_get_progress+0x44): undefined reference to mesh_get_parent_candidate' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o):(.text.wifi_mesh_rssi_threshold_set_progress+0x8): undefined reference to mesh_set_rssi_threshold'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_rssi_threshold_set_progress': (.text.wifi_mesh_rssi_threshold_set_progress+0x44): undefined reference to mesh_set_rssi_threshold'
/home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o):(.text.wifi_mesh_rssi_threshold_get_progress+0x8): undefined reference to mesh_get_rssi_threshold' /home/sriram/work/oweave/esp/esp-idf/components/esp32/lib/libnet80211.a(ieee80211_ioctl.o): In function wifi_mesh_rssi_threshold_get_progress':
(.text.wifi_mesh_rssi_threshold_get_progress+0x44): undefined reference to mesh_get_rssi_threshold' /home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(dbg_task.o): In function hci_vendor_ble_long_adv_cmd_handler':
dbg_task.c:(.text+0x13c): undefined reference to dbg_default_state' /home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(lc_task.o): In function lc_dhkey_computation_start':
lc_task.c:(.text+0x5a0): undefined reference to lm_get_auth_method' lc_task.c:(.text+0x5a4): undefined reference to lc_set_encap_pdu_data_p256'
lc_task.c:(.text+0x5a8): undefined reference to lc_set_encap_pdu_data_p192' /home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(lc_task.o): In function lmp_encaps_payl_handler':
lc_task.c:(.text+0x723): undefined reference to lm_get_auth_method' lc_task.c:(.text+0x7d6): undefined reference to lc_set_encap_pdu_data_p256'
lc_task.c:(.text+0x7e6): undefined reference to lc_set_encap_pdu_data_p192' lc_task.c:(.text+0x7f6): undefined reference to lc_set_encap_pdu_data_p256'
lc_task.c:(.text+0x806): undefined reference to lc_set_encap_pdu_data_p192' /home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(bt_util_sp.o):(.text+0x4): undefined reference to lm_n192_mod_mul'
/home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(bt_util_sp.o):(.text+0x8): undefined reference to lm_n192_mod_add' /home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(bt_util_sp.o):(.text+0xc): undefined reference to lm_n192_mod_sub'
/home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(bt_util_sp.o): In function r_lm_dhkey_calc_init': bt_util_sp.c:(.text+0xf7): undefined reference to lm_n192_mod_mul'
bt_util_sp.c:(.text+0x106): undefined reference to lm_n192_mod_mul' bt_util_sp.c:(.text+0x116): undefined reference to lm_n192_mod_mul'
bt_util_sp.c:(.text+0x123): undefined reference to lm_n192_mod_add' bt_util_sp.c:(.text+0x132): undefined reference to lm_n192_mod_add'
bt_util_sp.c:(.text+0x141): undefined reference to lm_n192_mod_sub' bt_util_sp.c:(.text+0x14f): undefined reference to lm_n192_mod_add'
/home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(ecc_p256.o):(.text+0x14): undefined reference to ecc_point_multiplication_uint8_256' /home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(ecc_p256.o): In function r_ecc_generate_key256_with_check':
ecc_p256.c:(.text+0x3fa): undefined reference to ecc_point_multiplication_uint8_256' /home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(lc_sco.o):(.text+0x0): undefined reference to lc_sco_env'
/home/sriram/work/oweave/esp/esp-idf/components/bt/lib/libbtdm_app.a(lc_sco.o): In function r_lc_sco_reset': lc_sco.c:(.text+0x5c): undefined reference to lc_sco_data_path_config'
collect2: error: ld returned 1 exit status
/home/sriram/work/oweave/esp/esp-idf/make/project.mk:388: recipe for target '/home/sriram/work/oweave/esp/esp-idf/openweave-esp32-demo/build/openweave-esp32-demo.elf' failed
make: *** [/home/sriram/work/oweave/esp/esp-idf/openweave-esp32-demo/build/openweave-esp32-demo.elf] Error 1
{noformat:}

ESP32 demo app not responding to IPv6 neighbor discovery

The ESP32 demo application does not respond to IPv6 neighbor discovery (ND) requests made for its Weave WiFi Unique Local Address (ULA) on its WiFi interface. The prevents other nodes on the same WiFi network from addressing the device via its ULA.

The issue occurs whenever the LWIP_IPV6_MLD LwIP feature is enabled, and is related to the code within the Weave WARM adaptation layer that assigns Weave ULAs the LwIP netif associated with the WiFi interface. Because Weave considers this assignment an 'administrative' action, it bypasses duplicate address detection and sets the address state to PREFERRED.

When LWIP_IPV6_MLD is enabled, however, the bypassing of DAD skips code in the nd6 module that automatically joins the device to the solicited-node multicast group for the assigned address. This results in the device ignoring ND requests for this address.

The solution is to add code to the WARM adaptation layer to add/remove the device from the solicited-node multicast group whenever Weave ULAs are assigned/removed from the interface.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.