warmcat / lws-esp32-factory Goto Github PK
View Code? Open in Web Editor NEWLibwebsockets ESP32 Factory Application
License: Other
Libwebsockets ESP32 Factory Application
License: Other
I'm working on an example code where I'm using libwebsocket to create a WSS Server and at the same time, I'm using the idf open SSL to create an https client ..
I couldn't compile the code due to some issue with multi definition functionalities the libwebsocket use .. is there a way to deactivate the usage of OpenSSL for libwebsocket from the Cmake file or any way around to be able to use the idf api functions ?
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function `ossl_statem_in_error':
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/components/libwebsockets/lib/tls/mbedtls/wrapper/library/ssl_lib.c:64: multiple definition of `ossl_statem_in_error'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):/mnt/c/temp/IDFS/IDF_3_WITH_MDNS_2.1/esp-idf/components/openssl/library/ssl_lib.c:64: first defined here
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_want': ssl_lib.c:(.text.SSL_want+0x0): multiple definition of
SSL_want'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_want+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_want_nothing': ssl_lib.c:(.text.SSL_want_nothing+0x0): multiple definition of
SSL_want_nothing'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_want_nothing+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_want_read': ssl_lib.c:(.text.SSL_want_read+0x0): multiple definition of
SSL_want_read'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_want_read+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_want_write': ssl_lib.c:(.text.SSL_want_write+0x0): multiple definition of
SSL_want_write'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_want_write+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_want_x509_lookup': ssl_lib.c:(.text.SSL_want_x509_lookup+0x0): multiple definition of
SSL_want_x509_lookup'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_want_x509_lookup+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_get_error': ssl_lib.c:(.text.SSL_get_error+0x0): multiple definition of
SSL_get_error'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_get_error+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_get_state': ssl_lib.c:(.text.SSL_get_state+0x0): multiple definition of
SSL_get_state'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_get_state+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_CTX_new': ssl_lib.c:(.text.SSL_CTX_new+0x0): multiple definition of
SSL_CTX_new'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_CTX_new+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_CTX_free': ssl_lib.c:(.text.SSL_CTX_free+0x0): multiple definition of
SSL_CTX_free'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_CTX_free+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_CTX_set_ssl_version': ssl_lib.c:(.text.SSL_CTX_set_ssl_version+0x0): multiple definition of
SSL_CTX_set_ssl_version'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_CTX_set_ssl_version+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_CTX_get_ssl_method': ssl_lib.c:(.text.SSL_CTX_get_ssl_method+0x0): multiple definition of
SSL_CTX_get_ssl_method'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_CTX_get_ssl_method+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_new': ssl_lib.c:(.text.SSL_new+0x0): multiple definition of
SSL_new'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_new+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_free': ssl_lib.c:(.text.SSL_free+0x0): multiple definition of
SSL_free'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_free+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_do_handshake': ssl_lib.c:(.text.SSL_do_handshake+0x0): multiple definition of
SSL_do_handshake'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_do_handshake+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_connect': ssl_lib.c:(.text.SSL_connect+0x0): multiple definition of
SSL_connect'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_connect+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_accept': ssl_lib.c:(.text.SSL_accept+0x0): multiple definition of
SSL_accept'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_accept+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_shutdown': ssl_lib.c:(.text.SSL_shutdown+0x0): multiple definition of
SSL_shutdown'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_shutdown+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_clear': ssl_lib.c:(.text.SSL_clear+0x0): multiple definition of
SSL_clear'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_clear+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_read': ssl_lib.c:(.text.SSL_read+0x0): multiple definition of
SSL_read'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_read+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_write': ssl_lib.c:(.text.SSL_write+0x0): multiple definition of
SSL_write'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_write+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_get_SSL_CTX': ssl_lib.c:(.text.SSL_get_SSL_CTX+0x0): multiple definition of
SSL_get_SSL_CTX'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_get_SSL_CTX+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_get_ssl_method': ssl_lib.c:(.text.SSL_get_ssl_method+0x0): multiple definition of
SSL_get_ssl_method'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_get_ssl_method+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_set_ssl_method': ssl_lib.c:(.text.SSL_set_ssl_method+0x0): multiple definition of
SSL_set_ssl_method'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_set_ssl_method+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_get_shutdown': ssl_lib.c:(.text.SSL_get_shutdown+0x0): multiple definition of
SSL_get_shutdown'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_get_shutdown+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_set_shutdown': ssl_lib.c:(.text.SSL_set_shutdown+0x0): multiple definition of
SSL_set_shutdown'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_set_shutdown+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_pending': ssl_lib.c:(.text.SSL_pending+0x0): multiple definition of
SSL_pending'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_pending+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_has_pending': ssl_lib.c:(.text.SSL_has_pending+0x0): multiple definition of
SSL_has_pending'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_has_pending+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_CTX_clear_options': ssl_lib.c:(.text.SSL_CTX_clear_options+0x0): multiple definition of
SSL_CTX_clear_options'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_CTX_clear_options+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_CTX_get_options': ssl_lib.c:(.text.SSL_CTX_get_options+0x0): multiple definition of
SSL_CTX_get_options'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_CTX_get_options+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_CTX_set_options': ssl_lib.c:(.text.SSL_CTX_set_options+0x0): multiple definition of
SSL_CTX_set_options'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_CTX_set_options+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_clear_options': ssl_lib.c:(.text.SSL_clear_options+0x0): multiple definition of
SSL_clear_options'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_clear_options+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_get_options': ssl_lib.c:(.text.SSL_get_options+0x0): multiple definition of
SSL_get_options'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_get_options+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_set_options': ssl_lib.c:(.text.SSL_set_options+0x0): multiple definition of
SSL_set_options'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_set_options+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_get_wfd': ssl_lib.c:(.text.SSL_get_wfd+0x0): multiple definition of
SSL_get_wfd'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_get_wfd+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_get_rfd': ssl_lib.c:(.text.SSL_get_rfd+0x0): multiple definition of
SSL_get_rfd'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_get_rfd+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_get_fd': ssl_lib.c:(.text.SSL_get_fd+0x0): multiple definition of
SSL_get_fd'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_get_fd+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_set_wfd': ssl_lib.c:(.text.SSL_set_wfd+0x0): multiple definition of
SSL_set_wfd'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_set_wfd+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_set_rfd': ssl_lib.c:(.text.SSL_set_rfd+0x0): multiple definition of
SSL_set_rfd'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_set_rfd+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_set_fd': ssl_lib.c:(.text.SSL_set_fd+0x0): multiple definition of
SSL_set_fd'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_set_fd+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_version': ssl_lib.c:(.text.SSL_version+0x0): multiple definition of
SSL_version'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_version+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_get_version': ssl_lib.c:(.text.SSL_get_version+0x0): multiple definition of
SSL_get_version'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_get_version+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_alert_desc_string': ssl_lib.c:(.text.SSL_alert_desc_string+0x0): multiple definition of
SSL_alert_desc_string'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_alert_desc_string+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_alert_desc_string_long': ssl_lib.c:(.text.SSL_alert_desc_string_long+0x0): multiple definition of
SSL_alert_desc_string_long'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_alert_desc_string_long+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_alert_type_string': ssl_lib.c:(.text.SSL_alert_type_string+0x0): multiple definition of
SSL_alert_type_string'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_alert_type_string+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_alert_type_string_long': ssl_lib.c:(.text.SSL_alert_type_string_long+0x0): multiple definition of
SSL_alert_type_string_long'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_alert_type_string_long+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_rstate_string': ssl_lib.c:(.text.SSL_rstate_string+0x0): multiple definition of
SSL_rstate_string'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_rstate_string+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_rstate_string_long': ssl_lib.c:(.text.SSL_rstate_string_long+0x0): multiple definition of
SSL_rstate_string_long'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_rstate_string_long+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_state_string': ssl_lib.c:(.text.SSL_state_string+0x0): multiple definition of
SSL_state_string'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_state_string+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_state_string_long': ssl_lib.c:(.text.SSL_state_string_long+0x0): multiple definition of
SSL_state_string_long'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_state_string_long+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_CTX_set_default_read_buffer_len': ssl_lib.c:(.text.SSL_CTX_set_default_read_buffer_len+0x0): multiple definition of
SSL_CTX_set_default_read_buffer_len'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_CTX_set_default_read_buffer_len+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_set_default_read_buffer_len': ssl_lib.c:(.text.SSL_set_default_read_buffer_len+0x0): multiple definition of
SSL_set_default_read_buffer_len'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_set_default_read_buffer_len+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_set_info_callback': ssl_lib.c:(.text.SSL_set_info_callback+0x0): multiple definition of
SSL_set_info_callback'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_set_info_callback+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_CTX_up_ref': ssl_lib.c:(.text.SSL_CTX_up_ref+0x0): multiple definition of
SSL_CTX_up_ref'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_CTX_up_ref+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_set_security_level': ssl_lib.c:(.text.SSL_set_security_level+0x0): multiple definition of
SSL_set_security_level'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_lib.o):ssl_lib.c:(.text.SSL_set_security_level+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_lib.c.o): In function
SSL_get_security_level': ssl_lib.c:(.text.SSL_get_security_level+0x0): multiple definition of
SSL_get_security_level'/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.__X509_new+0x0): first defined here
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
X509_new': ssl_x509.c:(.text.X509_new+0x0): multiple definition of
X509_new'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.X509_new+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
X509_free': ssl_x509.c:(.text.X509_free+0x0): multiple definition of
X509_free'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.X509_free+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
d2i_X509': ssl_x509.c:(.text.d2i_X509+0x0): multiple definition of
d2i_X509'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.d2i_X509+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
SSL_get0_param': ssl_x509.c:(.text.SSL_get0_param+0x0): multiple definition of
SSL_get0_param'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.SSL_get0_param+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
X509_VERIFY_PARAM_set_hostflags': ssl_x509.c:(.text.X509_VERIFY_PARAM_set_hostflags+0x0): multiple definition of
X509_VERIFY_PARAM_set_hostflags'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.X509_VERIFY_PARAM_set_hostflags+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
X509_VERIFY_PARAM_clear_hostflags': ssl_x509.c:(.text.X509_VERIFY_PARAM_clear_hostflags+0x0): multiple definition of
X509_VERIFY_PARAM_clear_hostflags'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.X509_VERIFY_PARAM_clear_hostflags+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
SSL_CTX_add_client_CA': ssl_x509.c:(.text.SSL_CTX_add_client_CA+0x0): multiple definition of
SSL_CTX_add_client_CA'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.SSL_CTX_add_client_CA+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
SSL_add_client_CA': ssl_x509.c:(.text.SSL_add_client_CA+0x0): multiple definition of
SSL_add_client_CA'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.SSL_add_client_CA+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
SSL_CTX_use_certificate': ssl_x509.c:(.text.SSL_CTX_use_certificate+0x0): multiple definition of
SSL_CTX_use_certificate'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.SSL_CTX_use_certificate+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
SSL_use_certificate': ssl_x509.c:(.text.SSL_use_certificate+0x0): multiple definition of
SSL_use_certificate'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.SSL_use_certificate+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
SSL_get_certificate': ssl_x509.c:(.text.SSL_get_certificate+0x0): multiple definition of
SSL_get_certificate'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.SSL_get_certificate+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
SSL_CTX_use_certificate_ASN1': ssl_x509.c:(.text.SSL_CTX_use_certificate_ASN1+0x0): multiple definition of
SSL_CTX_use_certificate_ASN1'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.SSL_CTX_use_certificate_ASN1+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
SSL_use_certificate_ASN1': ssl_x509.c:(.text.SSL_use_certificate_ASN1+0x0): multiple definition of
SSL_use_certificate_ASN1'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.SSL_use_certificate_ASN1+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
SSL_CTX_use_certificate_file': ssl_x509.c:(.text.SSL_CTX_use_certificate_file+0x0): multiple definition of
SSL_CTX_use_certificate_file'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.SSL_CTX_use_certificate_file+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
SSL_use_certificate_file': ssl_x509.c:(.text.SSL_use_certificate_file+0x0): multiple definition of
SSL_use_certificate_file'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.SSL_use_certificate_file+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_x509.c.o): In function
SSL_get_peer_certificate': ssl_x509.c:(.text.SSL_get_peer_certificate+0x0): multiple definition of
SSL_get_peer_certificate'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_x509.o):ssl_x509.c:(.text.SSL_get_peer_certificate+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_new': /mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/components/libwebsockets/lib/tls/mbedtls/wrapper/platform/ssl_pm.c:98: multiple definition of
ssl_pm_new'/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):/mnt/c/temp/IDFS/IDF_3_WITH_MDNS_2.1/esp-idf/components/openssl/platform/ssl_pm.c:94: first defined here
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_free': ssl_pm.c:(.text.ssl_pm_free+0x0): multiple definition of
ssl_pm_free'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.ssl_pm_free+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_handshake': ssl_pm.c:(.text.ssl_pm_handshake+0x0): multiple definition of
ssl_pm_handshake'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.ssl_pm_handshake+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_shutdown': ssl_pm.c:(.text.ssl_pm_shutdown+0x0): multiple definition of
ssl_pm_shutdown'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.ssl_pm_shutdown+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_clear': ssl_pm.c:(.text.ssl_pm_clear+0x0): multiple definition of
ssl_pm_clear'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.ssl_pm_clear+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_read': ssl_pm.c:(.text.ssl_pm_read+0x0): multiple definition of
ssl_pm_read'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.ssl_pm_read+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_send': ssl_pm.c:(.text.ssl_pm_send+0x0): multiple definition of
ssl_pm_send'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.ssl_pm_send+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_pending': ssl_pm.c:(.text.ssl_pm_pending+0x0): multiple definition of
ssl_pm_pending'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.ssl_pm_pending+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_set_fd': ssl_pm.c:(.text.ssl_pm_set_fd+0x0): multiple definition of
ssl_pm_set_fd'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.ssl_pm_set_fd+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_get_fd': ssl_pm.c:(.text.ssl_pm_get_fd+0x0): multiple definition of
ssl_pm_get_fd'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.ssl_pm_get_fd+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_get_state': ssl_pm.c:(.text.ssl_pm_get_state+0x0): multiple definition of
ssl_pm_get_state'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.ssl_pm_get_state+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
x509_pm_show_info': ssl_pm.c:(.text.x509_pm_show_info+0x0): multiple definition of
x509_pm_show_info'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.x509_pm_show_info+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
x509_pm_new': ssl_pm.c:(.text.x509_pm_new+0x0): multiple definition of
x509_pm_new'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.x509_pm_new+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
x509_pm_free': ssl_pm.c:(.text.x509_pm_free+0x0): multiple definition of
x509_pm_free'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.x509_pm_free+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
x509_pm_load': ssl_pm.c:(.text.x509_pm_load+0x0): multiple definition of
x509_pm_load'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.x509_pm_load+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
pkey_pm_new': ssl_pm.c:(.text.pkey_pm_new+0x0): multiple definition of
pkey_pm_new'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.pkey_pm_new+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
pkey_pm_free': ssl_pm.c:(.text.pkey_pm_free+0x0): multiple definition of
pkey_pm_free'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.pkey_pm_free+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
pkey_pm_load': ssl_pm.c:(.text.pkey_pm_load+0x0): multiple definition of
pkey_pm_load'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.pkey_pm_load+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_set_bufflen': ssl_pm.c:(.text.ssl_pm_set_bufflen+0x0): multiple definition of
ssl_pm_set_bufflen'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.ssl_pm_set_bufflen+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
ssl_pm_get_verify_result': ssl_pm.c:(.text.ssl_pm_get_verify_result+0x0): multiple definition of
ssl_pm_get_verify_result'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.ssl_pm_get_verify_result+0x0): first defined here/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/libwebsockets/liblibwebsockets.a(ssl_pm.c.o): In function
X509_VERIFY_PARAM_set1_host': ssl_pm.c:(.text.X509_VERIFY_PARAM_set1_host+0x0): multiple definition of
X509_VERIFY_PARAM_set1_host'
/mnt/c/temp/SVN/KFV_PROJECTS/KFV_TAGs/Temp/wssProtocolOhneKeyless_v0.4.0/KFV/KFV/build/openssl/libopenssl.a(ssl_pm.o):ssl_pm.c:(.text.X509_VERIFY_PARAM_set1_host+0x0): first defined herecollect2: error: ld returned 1 exit status
SSID and WiFi passwords can be 32 characters long, but in libwebsockets.h row 568 - 571 smaller values have been used (I guess the NULL character needs to be stored as well...)
I have an AP with SSID containing 14 characters and Password containing 31 characters (excl NULL).
lws.esp32.password[4][32] <-- This does NOT work
lws.esp32.password[4][33] <-- This works
I can not really understand why, since my 31 character password would need 32 if just one NULL is added to the string.
With the original definition of [32], I can see that only the SSID is stored in nvs and nothing (or just NULL) for password. The result is that lws goes into cyclic (about 5 per second) STA-DISCONNECT after configuring the AP in slot 0 and rebooting.
While trouble shooting for this I could also see that the storage for lws.esp32.ssid , lws.esp32.active_ssid and lws.esp32.access_pw also seem to be too small.
Just for reference: Looking at esp-idf and their wifi_types_h I can see that they are using uint8_t password[64] in wifi_sta_config_t , This seems waste of space and I guess it can also be dangerous in memcpy using sizeof... For SSID they use [32] in sta_config and ap_config, but [33] for wifi_ap_record_t , but maybe they store NULL in the wifi_ap_record_t, I have not investigated that.
Hi,
Using the latest esp-idf (and libwebsockets) master (todays date) causes the lws-esp32-factory.bin to be around 1 072 000 bytes, which is larger than the 1M allocated in the partition.csv file. It does work to flash and run, but when flashing the lws-esp32-test-server-demos app, parts of the factory app will be overwritten and after that the factory app starts looking weird...
Proposed solution: Increase the factory partition to 0x110000 in size and shrink the ota partition with 0x10000 in the csv file.
A side note: The partition.csv file for the lws-esp32-test-server-demos app is different. Not sure if it matters in this case. But it looks a bit odd in my Eyes.
I have a project using lws as server, which is built on the lws-esp32-factory.
My framework version is 2b92119840c41156451f75effe7a328273ce3e7f from Dec, 7 as this is the latest version which lws-esp32-factory was tested with.
I have problems trying to connect from my Desktop PC with the TLS Handshake after updating from idf v2.1.
In the esp log i get the following lines (from lws):
ssl_pm_handshake: mbedtls_ssl_handshake() returned -0x6980
I enabled all key exchange methods in menuconfig and played a bit around with different hw-acceleration configurations (as this seemed to cause problems in the past) but I could not connect anyway.
To test if the key exchange works I tried to connect to the esp via firefox, chrome (this worked with v2.1 -> keys were exchanged) and my own Application.
Firefox Errorcode: SSL_ERROR_NO_CIPHER_OVERLAP
I cloned the lws-esp32-factory and exchanged the (main-) application with mine, so i don't know if this is easily reproducible.
I assume that the problem is somewhere in my config or code, because nobody else seems to have this problem.
I noticed the info [1970/01/01 00:00:04:8891] NOTICE: set SN failed
in the log output and tried to find the reason but I couldn't. It comes from lws_self_signed but I didn't change anything there so I assumed it could be a too small buffer or something like that.
I also examined the handshake failure with wireshark but I didn't see anything usefull there.
(only Client Hello -> Handshake Failure)
[1970/01/01 00:00:02:1668] NOTICE: SYSTEM_EVENT_STA_DISCONNECTED
[1970/01/01 00:00:02:1676] NOTICE: gapss from LWS_GAPSS_INITIAL to LWS_GAPSS_SCAN
[1970/01/01 00:00:02:1899] NOTICE: mem: platform fd map: 120 bytes
[1970/01/01 00:00:02:1912] NOTICE: ROMFS length 178KiB
{
"schema": "lws1",
"model": "lws",
"builder": "esp32user",
"app": "lws_server",
"user": "root",
"git": "8af9ffd-dirty",
"date": "Die Dez 12 14:27:56 CET 2017",
"unixtime": "1513085276",
"file": "lws_server-1513085276.bin",
"factory": "y"
}
[1970/01/01 00:00:02:2214] NOTICE: Creating Vhost 'ap' port 443, 1 protocols, IPv6 off
[1970/01/01 00:00:02:2299] NOTICE: Using SSL mode
[1970/01/01 00:00:02:2355] NOTICE: no client cert required
[1970/01/01 00:00:02:2415] NOTICE: HTTP2 / ALPN enabled
[1970/01/01 00:00:02:2476] NOTICE: created client ssl context for ap
[1970/01/01 00:00:02:2571] NOTICE: lws_esp32_selfsigned: ap
[1970/01/01 00:00:02:2611] NOTICE: lws_esp32_selfsigned: creating selfsigned initial certs
[1970/01/01 00:00:02:2707] NOTICE: lws_esp32_selfsigned: generating 2048-bit RSA keypair... this may take a minute or so...
[1970/01/01 00:00:04:8880] NOTICE: lws_esp32_selfsigned: keys done
[1970/01/01 00:00:04:8891] NOTICE: set SN failed
[1970/01/01 00:00:04:8900] NOTICE: lws_tls_server_certs_load: no paths
I already tried enabling everything in the following option but as it didn't work I set it back to the defaults.
All Key exchange Methods and Elliptic Curve ciphers are enabled.
I am building lw-esp32-factory on OSX.
It builds, flashes and starts up OK. However when I try to connect my mac to it as a wireless AP, it crashes with the following terminal output:
I (12260) wifi: n:6 0, o:6 0, ap:6 1, sta:0 0, prof:6
I (12260) wifi: station: a0:99:9b:0b:b4:99 join, AID=1, g, 20
D (12260) event: SYSTEM_EVENT_AP_STACONNECTED, mac:a0:99:9b:0b:b4:99, aid:1
Guru Meditation Error of type LoadProhibited occurred on core 0. Exception was unhandled.
Register dump:
PC : 0x400e0f74 PS : 0x00060930 A0 : 0x800e1976 A1 : 0x3ffc5c10
0x400e0f74: hostap_input at ??:?
A2 : 0x3ffb91c6 A3 : 0x3ffb9198 A4 : 0x0a2499b4 A5 : 0x3ffb91d8
A6 : 0x3ffb9700 A7 : 0x3ffb7ba0 A8 : 0x800e0f70 A9 : 0x3ffc5bf0
A10 : 0x00000000 A11 : 0x00000048 A12 : 0x3ffb9198 A13 : 0x3ffb91d8
A14 : 0x00000000 A15 : 0x00000006 SAR : 0x00000019 EXCCAUSE: 0x0000001c
EXCVADDR: 0x0a2499b4 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0xffffffff
Backtrace: 0x400e0f74:0x3ffc5c10 0x400e1976:0x3ffc5ce0 0x400f3c44:0x3ffc5d00 0x400f5352:0x3ffc5d50
0x400e0f74: hostap_input at ??:?
0x400e1976: ap_rx_cb at ??:?
0x400f3c44: ppRxPkt at ??:?
0x400f5352: ppTask at ??:?
CPU halted.
There seems to be an issue with cloning of submodule 'components/libwebsockets'.
I see the following error when attempting to clone this repository:
krzysztof@TK-HP:~/esp$ git clone --recursive https://github.com/warmcat/lws-esp32-factory
Cloning into 'lws-esp32-factory'...
remote: Counting objects: 516, done.
remote: Total 516 (delta 0), reused 0 (delta 0), pack-reused 516
Receiving objects: 100% (516/516), 870.51 KiB | 1.12 MiB/s, done.
Resolving deltas: 100% (149/149), done.
Checking connectivity... done.
Submodule 'components/libwebsockets' (https://github.com/warmcat/libwebsockets) registered for path 'components/libwebsockets'
Cloning into 'components/libwebsockets'...
remote: Counting objects: 15480, done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 15480 (delta 16), reused 14 (delta 8), pack-reused 15450
Receiving objects: 100% (15480/15480), 12.45 MiB | 5.58 MiB/s, done.
Resolving deltas: 100% (11781/11781), done.
Checking connectivity... done.
fatal: reference is not a tree: 260be349a0aad3a913271aa04db92315899659cc
Unable to checkout '260be349a0aad3a913271aa04db92315899659cc' in submodule path 'components/libwebsockets'
Similar issue has been reported by @johsely1234 in espressif/openocd-esp32#14 (comment)
When I clone the repository (Nov 24) and then try to update the submodules I get the following:
lws-esp32-test-server-demos (master *=) $ git submodule update --init --recursive fatal: reference is not a tree: 9c7eed17ff370f543c93f6127e8467bde4a6727d Unable to checkout '9c7eed17ff370f543c93f6127e8467bde4a6727d' in submodule path 'components/libwebsockets'
looks like when I try to do a make flash monitor genromfs is complaining due to trying to use a -c option which is not available.
esptool.py v2.0
stat: illegal option -- c
usage: stat [-FlLnqrsx] [-f format] [-t timefmt] [file ...]
stat: illegal option -- c
usage: stat [-FlLnqrsx] [-f format] [-t timefmt] [file ...]
Original length: 0x000000 ( 0)
/bin/bash: % 256 : syntax error: operand expected (error token is "% 256 ")
/bin/bash: ( / 256 ) % 256 : syntax error: operand expected (error token is "/ 256 ) % 256 ")
/bin/bash: ( / 65536 ) % 256 : syntax error: operand expected (error token is "/ 65536 ) % 256 ")
/bin/bash: ( / 16777216 ) % 256 : syntax error: operand expected (error token is "/ 16777216 ) % 256 ")
stat: illegal option -- c
usage: stat [-FlLnqrsx] [-f format] [-t timefmt] [file ...]
stat: illegal option -- c
usage: stat [-FlLnqrsx] [-f format] [-t timefmt] [file ...]
/bin/bash: % 256 : syntax error: operand expected (error token is "% 256 ")
/bin/bash: ( / 256 ) % 256 : syntax error: operand expected (error token is "/ 256 ) % 256 ")
/bin/bash: ( / 65536 ) % 256 : syntax error: operand expected (error token is "/ 65536 ) % 256 ")
/bin/bash: ( / 16777216 ) % 256 : syntax error: operand expected (error token is "/ 16777216 ) % 256 ")
stat: illegal option -- c
usage: stat [-FlLnqrsx] [-f format] [-t timefmt] [file ...]
After ROMFS + Build info: 0x000000 ( 0)
Hi,
I Just noticed a strange issue when trying to connect from a WSS client to the ESP board Connection opens successfully normally and it functions as expected but after appx. 10 minutes, i see a notice message that the heap is just occupied with some data and then the connection is terminated.
P.S. I am using IDF3 ( the latest version of the framework)
Console is down below:
ESP just recieved this from WSS client: {"command":"ek_keepAlive","id":193}email":"defaultadmin@xxxx","password":"xxxxxx"},"id":129}et-Protocol: http-only
Host: 192.168.1.1
▒'▒▒ H▒F▒z▒)�▒oy/dJSON Package back over WSS
ESP sent 31 bytes succesfully. Frame Type: 0. Bytes: {
"id": 193,
"status": "ok"
}[1970/01/01 00:13:33:0110] NOTICE: heap :4235516 (-1272)
writeable
disconnect in lws callback
I (832578) lwscallback: # SSL CONNECTION TERMINATED[1970/01/01 00:13:52:5613] DEBUG:
[1970/01/01 00:13:52:5621] DEBUG: 0000: 03 E9 ..
[1970/01/01 00:13:52:5661] DEBUG:
writeable
disconnect in lws callback
I (832608) lwscallback: # SSL CONNECTION TERMINATEDI (832608) lwscallback: # SSL CONNECTION CLOSED
I (832618) lwscallback: # WSI DESTROY
any help is appreciated :)
In the readme is says that Before "make flash_ota" can be used, one need to upload/flash the ota-application via the web-interface (or auto-update).
However for me the web-upload does NOT work, but I have no problem to run the ota-application after doing "make flash_ota".
Below is the log after trying to upload the test-demo via the web-interface. It takes about a minute, but after the web-page is served again to the client, the slot is still empty. I also tried to load Another version of the factory-app and that did not work either. Below is part of the log. not sure if it helps (it seems to me that it starts to write at the same position several times Before giving up, or?):
?[35;1m[2018/02/02 20:18:17:00666] NOTICE: heap :126792 (+320)
?[35;1m[2018/02/02 20:18:23:3005] NOTICE: _realloc: size 552: new server wsi (free heap 125488)
?[35;1m[2018/02/02 20:18:23:3040] NOTICE: ssl_pm_handsshake
?[35;1m[2018/02/02 20:18:23:3047] NOTICE: mbedtls_handshake: ssl ret -0 state 1
?[35;1m[2018/02/02 20:18:23:3130] NOTICE: mbedtls_handshake: ssl ret -0 state 2
?[35;1m[2018/02/02 20:18:23:3225] NOTICE: mbedtls_handshake: ssl ret -0 state 3
?[35;1m[20018/02/02 20:18:23:3302] NOTICE: mbedtls_handshake: ssl ret -0 state 4
?[35;1m[2018/02/02 20:18:24:3530] NOTICE: mbedtls_hanndshake: ssl ret -0 state 5
?[35;1m[2018/02/02 20:18:24:3549] NOTICE: mbedtls_handshake: ssl reet -0 state 6
?[35;1m[2018/02/02 20:18:24:3616] NOTICE: mbedtls_handshake: ssl ret -0 state 7
?[35;1m[2018/02/02 20:18:24:3659] NOTICE: mbedtls__handshake: ssl ret -0 state 8
?[35;1m[2018/02/02 20:18:24:3735] NOTICE: mbedtls_handshake: ssl ret -6900 state 8
?[35;1m[2018/02/02 20:18:24:3810] NOTICE: _realloc: size 996: ah struct (free heap 81992)
?[35;1m[2018/02/02 20:18:24:3886] NOTICE: _realloc: size 4096: ah data (free heap 77892)
?[35;1m[2018/02/02 20:18:24:3974] NOTICE: heap :77888 (-48904)
?[35;1m[2018/02/02 20:18:24:4032] NOTICE: ssl_pm_handshake
?[35;1m[2018/02/02 20:18:25:0963] NOTICE: mbedtls_handshake: ssl ret -0 state 9
?[35;1m[2018/02/02 20:18:25:0971] NOTICE: mbedtls_handshake: ssl ret -0 state 10
?[35;1m[2018/02/02 20:18:25:1013] NOTICE: mbedtls_handshake: ssl ret -0 state 11
?[35;1m[2018/02/02 20:18:25:1106] NOTICE: mbedtls_handshake: ssl ret --0 state 12
?[35;1m[2018/02/02 20:18:25:1176] NOTICE: mbedtls_handshake: ssl ret -0 state 13
?[35;1m[2018/02/02 20:18:25:1269] NOTICE: mbedtls_handshake: ssl ret -0 state 14
?[35;1m[2018/02/02 20:18:25:1304] NOTICE: mbedtls_handshake: ssl ret -0 state 15
?[35;1m[2018/02/02 20:18:25:1385] NOTICE: mbedtls_handshake: ssl ret -0 state 16
?[35;1m[2018/02/02 20:18:25:1454] NOTICE: _realloc: size 208: h2n (free heap 80340)
?[35;1m[2018/02/02 20:18:25:1529] NOTICE: _reealloc: size 780: dynamic table entries (free heap 79560)
?[35;1m[2018/02/02 20:18:25:1650] NOTICE: heap :79556 (+1668)
?[35;1m[2018/02/02 20:18:25:1735] NOTICE: _realloc: size 512: h2 rx scratch (free heap 83904)
?[35;1m[2018/02/02 20:18:25:1792] NOTIICE: _realloc: size 48: pps (free heap 84220)
?[35;1m[2018/02/02 20:18:25:1847] NOTICE: _realloc: size 48: pps (free heap 82648)
?[35;1m[2018/02/02 20:18:25:2013] NOTICE: _realloc: size 552: new server wsi (free heap 78976)
?[35;1m[2018/022/02 20:18:25:2021] NOTICE: _realloc: size 996: ah struct (free heap 77976)
?[35;1m[2018/02/02 20:18:25:2085] NOTICE: _realloc: size 4096: ah data (free heap 73876)
?[35;1m[2018/02/02 20:18:25:2174] NOTICE: _realloc: size 9: hpack dyn (free heap 733863)
?[35;1m[2018/02/02 20:18:25:2248] NOTICE: _realloc: size 13: hpack dyn (free heap 73843)
?[35;1m[2018/02/02 20:18:25:2328] NOTICE: _realloc: size 4: hpack dyn (free heap 73836)
?[35;1m[2018/02/02 20:18:25:2411] NOTICE: _realloc: size 21: hpack dyn (free heap 738119)
?[35;1m[2018/02/02 20:18:25:2490] NOTICE: _realloc: size 22: hpack dyn (free heap 73794)
?[35;1m[2018/02/02 20:18:25:2571] NOTICE: _realloc: size 15: hpack dyn (free heap 73777)
?[35;1m[2018/02/02 20:18:25:2656] NOTICE: _realloc: size 130: hpack dyn (free heap 73646)
?[35;1m[2018/02/02 20:18:25:2735] NOOTICE: _realloc: size 71: hpack dyn (free heap 73573)
?[35;1m[2018/02/02 20:18:25:2815] NOTICE: _realloc: size 18: hpack dyn (free heap 73550)
?[35;1m[2018/02/02 20:18:25:2897] NOTICE: _realloc: size 8: hpack dyn (free heap 73540)
?[35;1m[2018/02/02 20:18:25:2977] NOTICE: _realloc: size 9: hpack dyn (free heap 73527)
?[35;1m[2018/02/02 20:18:25:3072] NOTICE: _realloc: size 596: user space (free heap 72928)
?[35;1m[2018/02/02 20:18:25:3139] NOTICE: lws_http_action: 0x3ffd7c6c: LWSS_HTTP_BODY state set
?[35;1m[2018/02/02 20:18:25:3639] NOTICE: _realloc: size 44: spa (free heap 74888)
?[35;1m[2018/02/02 20:18:25:3646] NOTIICE: _realloc: size 4096: spa (free heap 70792)
?[35;1m[2018/02/02 20:18:25:3688] NOTICE: _realloc: size 4: spa params (free heap 70784)
?[35;1m[2018/02/02 20:18:25:3769] NOTICE: _realloc: size 552: stateful urldecode (free heap 70232)
?[35;1m[2018/02/02 20:18:25:3859] NOTICE: boundary '
------------------------------7e211e18905f4'
?[35;1m[2018/02/02 20:18:25:3949] NOTICE: _realloc: size 4: spa param len (free heap 70224)
?[35;1m[2018/02/02 20:18:25:4035] NOTICE: LWS_UFS_OPEN Filename lws-esp32-test-server-demos.bin
?[35;1m[2018/02/02 20:18:25:4134] NOTICE: Directing OTA to part type 0/16 start 0x110000
?[35;1m[2018/02/02 20:18:26:7294] NOTICE: writing 0x1110000...
?[35;1m[2018/02/02 20:18:26:7875] NOTICE: heap :70072 (-9484)
?[35;1m[2018/02/02 20:18:26:8641] NOTICE: SYSTEM_EVENT_SCAN_DONE
?[35;1m[2018/02/02 20:18:26:8654] NOTICE: scan_finished: count 2
?[35;1m[2018/02/02 20:18:27:0104] NOTICE: heap :68744 (-1328)
?[35;1m[2018/02/02 20:18:28:0062] NOTICE: heap :76384 (+7640)
?[35;1m[2018/02/02 20:18:35:0061] NOTICE: heap :76228 (-1566)
?[35;1m[2018/02/02 20:18:36::0061] NOTICE: lws_spa_destroy: destroy spa 0x3fffdd4d8
?[35;1m[2018/02/02 20:18:36:0115] NOTICEE: heap :125960 (+49732)
?[35;1m[2018/02/02 20:18:36:0873] NOTICE: _realloc: size 552: new server wsi (free heap 124972)
?[35;1m[2018/02/02 20:18:36:0907] NOTICE: ssl_ppm_handshake
?[35;1m[2018/02/02 20:18:36:09144] NOTICE: mbedtls_handshake: ssl ret -0 state 1
?[35;1m[2018/02/02 20:18:36:1020] NOTICE: mbedtls_handshake: ssl ret -0 state 2
?[35;1m[2018/02/02 20:18:36:1081] NOTICE: mbedtls_handshake: ssl ret -0 state 3
?[35;1m[2018/02/02 20:18:36:11147] NOTICE: mbedtls_handshake: ssl ret -0 state 4
?[35;1m[22018/02/02 20:18:36:6424] NOTICE: SYSTEM_EVENT_SCAN_DONE
?[35;1m[2018/02/02 20:18:36:6436] NOTICE: scan_finished: count 3
?[35;1m[2018/02/02 20:18:37:11337] NOTICE: mbedtls_handshake: ssl ret -0 state 5
?[35;1m[2018/02/02 20:18:37:1146] NOTICE: mbedtls_handshake: ssl ret -0 state 6
??[35;1m[2018/02/02 20:18:37:1215] NOTICE: mbedtls_handshake: ssl ret -0 state 7
?[35;1m[2018/02/02 20:18:37:1254] NOTICE: mmbedtls_handshake: ssl ret -0 state 8
?[35;1m[2018/02/02 20:18:37:1335] NOTICE: mbedtls_handshake: ssl ret -6900 state 8
?[35;1m[2018/02/02 20:18:37:1404] NOTICE: _realloc: size 996: ah struct (free heap 82000)
?[35;1m[2018/02/02 20:18:37:1487] NOTICE: _realloc: size 4096: ah data (free heap 77660)
?[35;1m[2018/02/02 20:188:37:1572] NOTICE: heap :77656 (-48304)
?[35;1m[2018/02/02 20:18:37:1728] NOTICE: ssl_pm_handshake
?[35;1m[2018/022/02 20:18:37:8557] NOTICE: mbedtls_handdshake: ssl ret -0 state 9
?[35;1m[2018/02/02 20:18:37:8565] NOTIICE: mbedtls_handshake: ssl ret -0 state 10
?[35;1m[2018/02/02 200:18:37:8607] NOTICE: mbedtls_handshake: ssl ret -0 state 11
?[35;1m[2018/02/02 20:18::37:8700] NOTICE: mbedtls_handshake: ssl ret -0 state 12
?[35;1m[2018/02/02 20:18:37:8789] NNOTICE: mbedtls_handshake: ssl ret -0 state 13
?[35;1m[2018/02/02 20:18:37:8879] NOTICE: mbedtls_handshake: ssl ret -0 state 14
?[35;1m[2018/02/02 20:18:37:8900] NOTICE: mbedtls_handshake: ssl ret -0 state 15
?[35;1m[20188/02/02 20:18:37:9017] NOTICE: mbedtls_handshake: ssl ret -0 state 16
?[35;1m[2018/02/02 20:18:37:9057] NOTICE: _realloc: size 208: h2n (free heap 778192)
?[35;1m[2018/02/02 20:18:37:9125] NOTICE: _realloc: size 780: dynamic table entries (free heap 77804)
?[35;1m[2018/02/02 20:18:37:9366] NOTICE: _realloc: size 512: h2 rx scratch (free heap 80824)
?[35;1m[2018/02/02 20:18:37:9390] NOTICE: _realloc: size 48: pps (free heap 82504)
?[35;1m[2018/02/02 20:18:37:9428] NOTICE: _reallloc: size 48: pps (free heap 82456)
?[35;1m[2018/02/02 20:18:37:9815] NOTICE: _realloc: size 552: new server wsi (free heap 82384)
?[35;1m[2018/02/02 20:18:37:9823] NOTICE: _realloc: size 996: ah struct (free heapp 81384)
?[35;1m[2018/02/02 20:18:37:9879] NOTICE: _realloc: size 4096: ah data (free heap 77284)
?[35;1m[2018/02/02 20:18:37:9974] NOTICE: _realloc: size 9: hpack dyn (free heap 772755)
?[35;1m[2018/02/02 20:18:38:0042] NOTICE: _realloc: size 13: hpack dyn (free heap 77259)
?[35;1m[2018/02/02 20:18:38:0123] NOTICE: _realloc: size 4: hpack dyn (free hheap 77252)
?[35;1m[2018/02/02 20:18:38:0218] NOTICE: _realloc: size 21: hpack dyn (free heap 77231)
?[35;1m[2018/02/02 20:18:38:0285] NOTICE: _realloc: size 22: hpack dyn (free heap 77206)
?[35;1m[20188/02/02 20:18:38:0365] NOTICE: _realloc: size 15: hpack dyn (free heap 77189)
?[35;1m[2018/02/02 20:18:38:0449] NOTICE: _realloc: size 130: hpack dyn (freee heap 77058)
?[35;1m[2018/02/02 20:18:38:0530] NOTICE: _realloc: size 71: hpack dyn (free heap 76985)
?[35;1m[2018/02/02 20:18:38:0611] NOTICE: _realloc: size 18: hpack dyn (free heap 76966)
?[35;1m[2018/02/02 20:18:38:0690] NOTICE: _realloc: size 8: hpack dyn (free heaap 76956)
?[35;1m[2018/02/02 20:18:38:0770] NOTICE: _realloc: size 9: hpack dyn (free heap 76943)
?[35;1m[2018/02/02 20:18:38:0862] NOTICE: heap :76940 (-716)
?[35;1m[20018/02/02 20:18:38:0916] NOTICE: _realloc: size 596: user space (free heap 76344)
?[35;1m[2018/02/02 20:18:38:0992] NOTICE: lws_http_action: 0x3ffdf220: LWSS_HTTP_BODY state seet
?[35;1m[2018/02/02 20:18:38:1534] NOTICE: _realloc: size 44: spa (free heap 74776)
?[35;1m[2018/02/02 20:18:38:1541] NOTICE: _realloc: size 4096: spa (freee heap 70680)
?[35;1m[2018/02/02 20:18:38:1583] NOTICE: _realloc: size 4: spa params (free heap 70672)
?[35;1m[2018/02/02 20:18:38:1664] NOTICE: _realloc: size 552: stateful urldecode (free heap 70120)
?[35;1m[2018/02/02 20:188:38:1754] NOTICE: boundary '
-----------------------------7e211e18905f4'
?[35;1m[2018/02/02 20:18:38:1844] NOTICE: _realloc: size 4: spa param len (free heap 770112)
?[35;1m[2018/02/02 20:18:38:1930] NOTICE: LWS_UFS_OPEN Filename lws-esp32-test-server-demos.bin
?[35;1m[2018/02/02 20:18:38:2036] NOTICE: Directing OTA to part ttype 0/16 start 0x110000
?[35;1m[20118/02/02 20:18:39:4844] NOTICE: writing 0x1100000...
?[35;1m[2018/02/02 20:18:39:5438] NOTICCE: heap :69872 (-7068)
?[35;1m[2018/02/02 20:18:40:0062] NOTICE: heap :76116 (+66244)
?[35;1m[2018/02/02 20:18:41:00611] NOTICE: heap :76120 (+4)
?[35;1m[2018/02/02 20:18:45:00661] NOTICE: heap :75960 (-160)
?[35;1m[2018/02/02 20:18:46:0060] NOTICE: heap :75880 (-80)
?[35;1m[20118/02/02 20:18:46:6407] NOTICE: SYSTEM_EVENT_SCAN_DONE
?[35;1m[2018/02/02 20:18:446:6418] NOTICE: scan_finished: count 3
?[35;1m[2018/02/02 20:18:47:0066] NOTICE: heap :76120 (+240)
?[35;1m[2018/02/02 20:18:49::0061] NOTICE: lws_spa_destroy: destroy spa 0x3ffdd4d8
?[35;1m[2018/02/02 20:18:49:0132] NOTICE: heap :126108 (+49988)
?[35;1m[2018/02/02 20:18:449:0223] NOTICE: _realloc: size 552: new server wsi (free heap 124936)
?[35;1m[2018/02/02 20:18:49:0259] NOTICE: ssl_pm_handshake
?[35;1m[2018/02/02 20:18:49:0266] NOTICE: mbedtls_handshake: ssl ret -0 staate 1
?[35;1m[2018/02/02 20:18:49:0347] NOTICE: mbedtls_handshake: ssl ret -0 state 2
?[35;1m[2018/02/02 20:18:49:0450] NOTICE: mbedtls_handshake: ssl ret -0 state 3
?[35;1m[2018/02/02 20:18:49:0518] NOTICE: mbedtls_handshake: ssl ret -0 state 4
?[35;1m[2018/02/02 20:18:50:0570] NOTICE: mbedtls_handshake:: ssl ret -0 state 5
?[35;1m[2018/02/02 20:18:50:0590] NOTICE: mbedtls_handshake: ssl ret -0 state 6
?[35;1m[2018/02/02 20:18:50:0658] NOTICE: mbedtls_handshake: ssl ret -00 state 7
?[35;1m[2018/02/02 20:18:50:0698] NOTICE: mbedtls_handshake: ssl ret -0 state 8
?[35;1m[2018/02/02 20:18:50:07783] NOTICE: mbedtls_handshake: ssl ret -6900 state 8
?[35;1m[2018/02/02 20:18:50:0850] NOTICE: _realloc: size 996: ah struct (free heap 81500)
?[35;1m[2018/02/02 20:18:50:0927] NOTICE: _realloc: size 4096: ah data (free heap 77400)
?[35;1m[2018/02/02 20:18:50:1015] NOTICE: heap :77396 (-48712)
?[35;1m[2018/02/02 20:18:50:1074] NOTICE: ssl_pm_handshaake
?[35;1m[2018/02/002 20:18:50:8108] NOTICE: mbedtls_handshhake: ssl ret -0 state 9
?[35;1m[2018/02/02 20::18:50:8117] NOTICE: mbedtls_handshake: ssl ret -0 state 10
?[35;1m[22018/02/02 20:18:50:8159] NOTICE: mbedtls_handshake: ssl ret -0 state 11
?[35;1m[2018/02/02 20:18:50:8259] NOTICE: mbedtls_handshake: ssl ret -0 state 12
?[35;1m[2018/02/02 220:18:50:8341] NOTICE: mbedtls_handshake: ssl ret -0 state 13
?[35;1m[2018/02/02 20:18:50:8438] NOTICE: mbedtls_handshake: ssll ret -0 state 14
?[35;1m[2018/02/02 20:18:50:8449] NOTICE: mbedtls_handshake: ssl ret -0 state 15
?[35;1m[2018/02/02 20:18:50:8541] NOTICE:: mbedtls_handshake: ssl ret -0 state 16
?[35;1m[2018/02/02 20:18:50:8602] NOTICE: _realloc: size 208: h2n (free heap 78308)
?[35;1m[2018/02/02 20:18:50:8676] NOTICE: _realloc: size 780: dynamic table entries (free heap 775224)
?[35;1m[2018/02/02 20:18:50:8777] NOTICE: _realloc: size 512: hh2 rx scratch (free heap 82104)
?[35;1m[2018/02/02 200:18:50:8871] NOTICE: _realloc: size 48: pps (free heap 82232)
?[35;1m[2018/02/02 20:18:50:8932] NOTICE: _realloc: size 48: pps (free heap 82184)
?[35;1m[2018/02/002 20:18:50:9147] NOTICE: _realloc: size 552: new server wsi (free heap 82116)
?[35;1m[2018/02/02 20:18:50:9155] NOTICE: _realloc: size 996: ah struct (free heap 81116)
?[35;1m[2018/02/02 20:18:50:9211] NOTICE: _realloc: size 4096: ah data ((free heap 77016)
?[35;1m[2018/02/02 20:18:50:9303] NOTICE: _realloc: size 9: hpack dyn (free heap 770007)
?[35;1m[2018/02/02 20:18:50:9374] NOTICE: _realloc: size 13: hpack dyn (free heap 76991)
?[35;1m[2018/02/02 20:18:50:9454] NOTICE: _realloc: size 4: hpack dyn (free heap 76984)
?[35;1m[2018/02/02 20:18:50:9537] NOTICE:: _realloc: size 21: hpack dyn (free heap 76963)
?[35;1m[2018/02/02 20:18:50:9617] NOTICE: _realloc: size 22: hpack dyn (free heap 76942)
?[35;1m[2018/02/02 20:18:50:9698] NOTICE: _realloc: size 15: hpack dyn (free heap 76925)
?[35;1m[20018/02/02 20:18:50:9782] NOTICE: _realloc: size 130: hpack dyn (free heap 76794)
?[35;1m[2018/02/02 20:18:50:9862] NOTICE: _realloc: size 71: hpack dyn (free heap 76721)
?[35;1m[2018/02/02 20:18:50:9941] NOTICE: _realloc: size 18: hpack dyn (free heap 76698)
?[35;1m[2018/02/02 20:18:51:0026] NOTICE: _realloc: size 8: hpack dyn (free heap 76688)
?[35;1m[2018/02/02 20:18:51:0103] NOTICE: _realloc: size 9: hpack dyn (free heap 76675)
?[35;1m[2018/02/02 20:18:511:0191] NOTICE: heap :76672 (-724)
?[35;1m[2018/02/02 20:18:51:0265] NOTICE: _realloc: size 596: user space (free heap 76076)
?[35;1m[2018/02/02 20:18:51:0324] NOTICE: lws_http_action: 0x3ffd7c6c: LWSS_HTTP_BODY state set
?[35;1m[2018/02/02 20:18:51:08433] NOTICE: _realloc: size 44: spa (free heap 74512)
?[35;1m[2018/02/02 20:18:51:0850] NOTICE: _realloc: size 4096: spa (free heap 70416)
?[35;1m[2018/02/02 20:18:51:0893] NOTICE: _realloc: size 4: spa params (free heap 70408)
?[35;1m[2018/02/02 20:18:51:0973] NOTICE: _realloc: size 5552: stateful urldecode (free heap 69856)
?[35;1m[2018/02/02 20:18:51:1064] NOTICE: boundary '
-----------------------------7e211e18905f4'
?[35;1m[2018/02/02 20:18:51:1153] NOTICE: _realloc: size 4: spa param len (freee heap 69848)
?[35;1m[2018/02/02 20:18:51:1239] NOTICE: LWS_UFS_OPEN Filename lws-esp32-test-server-demos.bin
?[35;1m[20188/02/02 20:18:51:1340] NOTICE: Directing OTA to part type 0/16 start 0x110000
?[35;1m[2018/02/02 20:18:52::4136] NOTICE: writing 0x110000...
?[35;1m[2018/022/02 20:18:52:4743] NOTICE: heap :69604 (-70688)
?[35;1m[2018/02/02 20:18:53:0061] NOTICE: heap :75844 (+62440)
?[35;1m[2018/02/02 20:18:55:0060] NOOTICE: heap :75680 (-164)
Hey there,
I tried to build as suggested in README.mk but it fails on main.o
with the following error:
In file included from /home/username/esp-lws/lws-esp32-factory/main/./main.c:21:0:
/home/username/esp-lws/lws-esp32-factory/components/libwebsockets/lib/libwebsockets.h:36:24: fatal error: lws_config.h: No such file or directory
Could you please give me a hint, what to do? Cheers!
Toolchain path: /opt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc
Toolchain version: crosstool-ng-1.22.0-80-g6c4433a5
Compiler version: 5.2.0
LD build/bootloader/bootloader.elf
C:/msys32/home/Avi/lws-esp32-factory/build/bootloader/bootloader_support\libboot loader_support.a(esp_image_format.o):(.literal.image_load+0x34): undefined refer ence to _loader_text_start' C:/msys32/home/Avi/lws-esp32-factory/build/bootloader/bootloader_support\libboot loader_support.a(esp_image_format.o):(.literal.image_load+0x38): undefined refer ence to
_loader_text_end'
C:/msys32/home/Avi/lws-esp32-factory/build/bootloader/bootloader_support\libboot loader_support.a(flash_partitions.o):(.literal.esp_partition_table_verify+0x24): undefined reference to MD5Init' C:/msys32/home/Avi/lws-esp32-factory/build/bootloader/bootloader_support\libboot loader_support.a(flash_partitions.o):(.literal.esp_partition_table_verify+0x28): undefined reference to
MD5Update'
C:/msys32/home/Avi/lws-esp32-factory/build/bootloader/bootloader_support\libboot loader_support.a(flash_partitions.o):(.literal.esp_partition_table_verify+0x2c): undefined reference to MD5Final' C:/msys32/home/Avi/lws-esp32-factory/build/bootloader/bootloader_support\libboot loader_support.a(flash_partitions.o): In function
esp_partition_table_verify':
C:/msys32/home/Avi/esp/esp-idf/components/bootloader_support/src/flash_partition s.c:52: undefined reference to MD5Init' C:/msys32/home/Avi/esp/esp-idf/components/bootloader_support/src/flash_partition s.c:53: undefined reference to
MD5Update'
C:/msys32/home/Avi/esp/esp-idf/components/bootloader_support/src/flash_partition s.c:54: undefined reference to `MD5Final'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [/home/Avi/esp/esp-idf/make/project.mk:458: /home/Avi/lws-esp32-fac tory/build/bootloader/bootloader.elf] Error 1
make: *** [/home/Avi/lws-esp32-factory/components/bootloader/Makefile.projbuild: 40: /home/Avi/lws-esp32-factory/build/bootloader/bootloader.bin] Error 2
i call https://192.168.local.ip/esp32-rtf or i click the button "Reset to configuration mode" but can not get the initial version to upload new FW or use OTA.
Is there a known bug?
Andy
Issue: In the device setup screen, the git information for lws-esp32-factory is always listed as 'dirty'.
Cause: Before the application can be compiled, 'make menuconfig' must be run to generate the file 'sdkconfig'. This causes git to mark the repository as dirty due to an untracked file. This , in turn, causes lws-esp32-factory to list itself as 'dirty' in the status window or the Device Update page.
Cure: add 'sdkconfig' to the project's '.gitignore' file
It s a minor bug from : commit d4969b8: sorry not tested the current version.
I have a router and a forwarder, which have same SSID, this drives esp32 into a endless loop that it switches with 2s periods between wifi sources.
this was only in case of first init of system, after uploading the FW "test-server-demos", works right now good with dublicated ssid
Hi, wanting to test the factory image I've done a git clone of this repository.
$ git clone https://github.com/warmcat/lws-esp32-factory.git
However, when I run this:
$ git submodule update --init --recursive
I get this error:
frode@Mint18 ~/Temp/lws-esp32-factory $ git submodule update --init --recursive
fatal: reference is not a tree: f79ba408276c6e5485a6f23e3e42e887aab85fa5
Unable to checkout 'f79ba408276c6e5485a6f23e3e42e887aab85fa5' in submodule path
'components/libwebsockets'
Googling this seems to indicate that there is a missing commit for the submodule.
Andy,
I am not sure this issue is due to lws-esp32-factory or if it is an esp-idf problem (or a combination...). However, I only see this in the lws-esp32-factory app, not in the lws-esp32-test-demos. Nor did I see this back in end of April with the versions of lws or esp-idf that I was using then.
After flashing the factory app, everything works as expected. I connect to the esp32 wifi AP and surf to 192.168.4.1 from a web browser. Still working. Then I configure the 1st wifi slot with my wifi router credentials and save. Still no issue. But immediately when I connect to the esp32 via the router I start to get (an esp-idf error?)
"tcp_connect: can only connect from state CLOSED".
After a short period the web page in the browser goes "dimmed" with the spinning Icon on top. Refreshing the webpage gets it back for a while, then it gets dimmed again, etc. Short after (1-3 seconds) after each tcp_connect error I also get a notice:
?[35;1m[2018/08/19 18:15:47:8582] NOTICE: Client connection error server's cert didn't look good, X509_V_ERR = 24: CA is not trusted
While the factory app is not totally broken (I need to keep doing refresh every now and then) it still feels like something should be fixed. I am happy trying to help, but I do not know where I should look next. Any ideas?
Log below:
?[35;1m[1970/01/01 00:12:00:4249] NOTICE: SYSTEM_EVENT_SCAN_DONE
?[35;1m[1970/01/01 00:12:00:4262] NOTICE: gapss from LWS_GAPSS_SCAN to LWS_GAPSS_STAT
?[35;1m[1970/01/01 00:12:00:4310] NOTICE: scan_finished: count 7
?[35;1m[1970/01/01 00:12:00:4372] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[1970/01/01 00:12:00:4432] NOTICE: lws_esp32_get_image_info: bad image header magic
?[35;1m[1970/01/01 00:12:00:4548] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[1970/01/01 00:12:00:4583] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[1970/01/01 00:12:00:4681] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[1970/01/01 00:12:00:4721] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[1970/01/01 00:12:01:5209] NOTICE: heap :153516 (-9044)
?[35;1m[1970/01/01 00:12:02:0029] NOTICE: heap :152996 (-520)
?[35;1m[1970/01/01 00:12:02:2910] NOTICE: SYSTEM_EVENT_STA_GOT_IP
?[35;1m[1970/01/01 00:12:02:2942] NOTICE: gapss from LWS_GAPSS_STAT to LWS_GAPSS_STAT_HAPPY
?[35;1m[1970/01/01 00:12:02:2951] NOTICE: --- Got IP 192.168.0.53
?[35;1m[1970/01/01 00:12:03:0030] NOTICE: heap :162220 (+9224)
?[35;1m[2018/08/19 18:15:28:0928] NOTICE: time discontiguity: at old time 723s, new time 1534702528s: +1534701805s
?[35;1m[2018/08/19 18:15:28:0938] NOTICE: vhost ap: cert expiry: 11456d
?[35;1m[2018/08/19 18:15:28:1001] NOTICE: heap :162392 (+172)
?[35;1m[2018/08/19 18:15:29:0031] NOTICE: heap :162396 (+4)
?[35;1m[2018/08/19 18:15:30:0029] NOTICE: heap :162496 (+100)
?[35;1m[2018/08/19 18:15:32:0035] NOTICE: heap :162268 (-228)
?[35;1m[2018/08/19 18:15:33:0035] NOTICE: heap :161792 (-476)
?[35;1m[2018/08/19 18:15:33:4353] NOTICE: SYSTEM_EVENT_SCAN_DONE
?[35;1m[2018/08/19 18:15:33:4364] NOTICE: scan_finished: count 7
?[35;1m[2018/08/19 18:15:33:4373] NOTICE: Fetching /esp32-ota/lws/manifest.json
?[35;1m[2018/08/19 18:15:33:4444] NOTICE: _realloc: size 616: client wsi (free heap 161608)
?[35;1m[2018/08/19 18:15:33:4528] NOTICE: _realloc: size 32: client stash (free heap 161572)
?[35;1m[2018/08/19 18:15:33:4616] NOTICE: _realloc: size 18: strdup (free heap 161678)
?[35;1m[2018/08/19 18:15:33:4691] NOTICE: _realloc: size 29: strdup (free heap 161643)
?[35;1m[2018/08/19 18:15:33:4770] NOTICE: _realloc: size 18: strdup (free heap 161618)
?[35;1m[2018/08/19 18:15:33:4849] NOTICE: _realloc: size 18: strdup (free heap 161594)
?[35;1m[2018/08/19 18:15:33:4929] NOTICE: _realloc: size 12: strdup (free heap 161576)
?[35;1m[2018/08/19 18:15:33:5008] NOTICE: _realloc: size 4: strdup (free heap 161572)
?[35;1m[2018/08/19 18:15:33:5090] NOTICE: _realloc: size 4696: user space (free heap 156884)
?[35;1m[2018/08/19 18:15:33:5177] NOTICE: _realloc: size 744: ah struct (free heap 156136)
?[35;1m[2018/08/19 18:15:33:5255] NOTICE: _realloc: size 512: ah data (free heap 155620)
?[35;1m[2018/08/19 18:15:33:5365] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:33:5420] NOTICE: lws_esp32_get_image_info: bad image header magic
?[35;1m[2018/08/19 18:15:33:5531] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:33:5574] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:33:5665] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:33:5710] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:34:0030] NOTICE: heap :154556 (-7236)
tcp_connect: can only connect from state CLOSED
?[35;1m[2018/08/19 18:15:35:9070] NOTICE: heap :123292 (-31264)
?[35;1m[2018/08/19 18:15:35:9656] NOTICE: _realloc: size 196: h2n (free heap 131996)
?[35;1m[2018/08/19 18:15:35:9664] NOTICE: _realloc: size 780: dynamic table entries (free heap 131216)
?[35;1m[2018/08/19 18:15:35:9728] NOTICE: Client connection error server's cert didn't look good, X509_V_ERR = 24: CA is not trusted
?[35;1m[2018/08/19 18:15:36:0032] NOTICE: heap :160000 (+36708)
?[35;1m[2018/08/19 18:15:37:0029] NOTICE: heap :161692 (+1692)
?[35;1m[2018/08/19 18:15:42:0030] NOTICE: heap :161496 (-196)
?[35;1m[2018/08/19 18:15:43:0029] NOTICE: heap :161112 (-384)
?[35;1m[2018/08/19 18:15:43:4355] NOTICE: SYSTEM_EVENT_SCAN_DONE
?[35;1m[2018/08/19 18:15:43:4374] NOTICE: scan_finished: count 6
?[35;1m[2018/08/19 18:15:43:4380] NOTICE: Fetching /esp32-ota/lws/manifest.json
?[35;1m[2018/08/19 18:15:43:4452] NOTICE: _realloc: size 616: client wsi (free heap 161076)
?[35;1m[2018/08/19 18:15:43:4536] NOTICE: _realloc: size 32: client stash (free heap 161044)
?[35;1m[2018/08/19 18:15:43:4619] NOTICE: _realloc: size 18: strdup (free heap 161026)
?[35;1m[2018/08/19 18:15:43:4698] NOTICE: _realloc: size 29: strdup (free heap 160991)
?[35;1m[2018/08/19 18:15:43:4777] NOTICE: _realloc: size 18: strdup (free heap 160970)
?[35;1m[2018/08/19 18:15:43:4857] NOTICE: _realloc: size 18: strdup (free heap 160946)
?[35;1m[2018/08/19 18:15:43:4938] NOTICE: _realloc: size 12: strdup (free heap 160928)
?[35;1m[2018/08/19 18:15:43:5016] NOTICE: _realloc: size 4: strdup (free heap 160924)
?[35;1m[2018/08/19 18:15:43:5094] NOTICE: _realloc: size 4696: user space (free heap 156228)
?[35;1m[2018/08/19 18:15:43:5179] NOTICE: _realloc: size 744: ah struct (free heap 155480)
?[35;1m[2018/08/19 18:15:43:5262] NOTICE: _realloc: size 512: ah data (free heap 154964)
?[35;1m[2018/08/19 18:15:43:5404] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:43:5433] NOTICE: lws_esp32_get_image_info: bad image header magic
?[35;1m[2018/08/19 18:15:43:5563] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:43:5600] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:43:5661] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:43:5719] NOTICE: LWS_CALLBACK_Server_writable
tcp_connect: can only connect from state CLOSED
?[35;1m[2018/08/19 18:15:44:0031] NOTICE: heap :145960 (-15152)
?[35;1m[2018/08/19 18:15:45:1272] NOTICE: heap :131108 (-14852)
?[35;1m[2018/08/19 18:15:46:0425] NOTICE: heap :123232 (-7876)
?[35;1m[2018/08/19 18:15:47:0030] NOTICE: heap :123236 (+4)
?[35;1m[2018/08/19 18:15:47:8513] NOTICE: _realloc: size 196: h2n (free heap 131704)
?[35;1m[2018/08/19 18:15:47:8521] NOTICE: _realloc: size 780: dynamic table entries (free heap 130920)
?[35;1m[2018/08/19 18:15:47:8582] NOTICE: Client connection error server's cert didn't look good, X509_V_ERR = 24: CA is not trusted
?[35;1m[2018/08/19 18:15:48:0031] NOTICE: heap :161400 (+38164)
?[35;1m[2018/08/19 18:15:49:0029] NOTICE: heap :161404 (+4)
?[35;1m[2018/08/19 18:15:52:0030] NOTICE: heap :161016 (-388)
?[35;1m[2018/08/19 18:15:53:0029] NOTICE: heap :160632 (-384)
?[35;1m[2018/08/19 18:15:53:4360] NOTICE: SYSTEM_EVENT_SCAN_DONE
?[35;1m[2018/08/19 18:15:53:4372] NOTICE: scan_finished: count 8
?[35;1m[2018/08/19 18:15:53:4381] NOTICE: Fetching /esp32-ota/lws/manifest.json
?[35;1m[2018/08/19 18:15:53:4454] NOTICE: _realloc: size 616: client wsi (free heap 160788)
?[35;1m[2018/08/19 18:15:53:4536] NOTICE: _realloc: size 32: client stash (free heap 160756)
?[35;1m[2018/08/19 18:15:53:4620] NOTICE: _realloc: size 18: strdup (free heap 160738)
?[35;1m[2018/08/19 18:15:53:4701] NOTICE: _realloc: size 29: strdup (free heap 160703)
?[35;1m[2018/08/19 18:15:53:4778] NOTICE: _realloc: size 18: strdup (free heap 160682)
?[35;1m[2018/08/19 18:15:53:4857] NOTICE: _realloc: size 18: strdup (free heap 160658)
?[35;1m[2018/08/19 18:15:53:4939] NOTICE: _realloc: size 12: strdup (free heap 160520)
?[35;1m[2018/08/19 18:15:53:5016] NOTICE: _realloc: size 4: strdup (free heap 160516)
?[35;1m[2018/08/19 18:15:53:5095] NOTICE: _realloc: size 4696: user space (free heap 155940)
?[35;1m[2018/08/19 18:15:53:5180] NOTICE: _realloc: size 744: ah struct (free heap 155192)
?[35;1m[2018/08/19 18:15:53:5262] NOTICE: _realloc: size 512: ah data (free heap 154676)
?[35;1m[2018/08/19 18:15:53:5412] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:53:5450] NOTICE: lws_esp32_get_image_info: bad image header magic
?[35;1m[2018/08/19 18:15:53:5534] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:53:5605] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:53:5663] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:15:53:5720] NOTICE: LWS_CALLBACK_Server_writable
tcp_connect: can only connect from state CLOSED
?[35;1m[2018/08/19 18:15:54:0032] NOTICE: heap :145656 (-14976)
?[35;1m[2018/08/19 18:15:56:4894] NOTICE: heap :122700 (-22956)
?[35;1m[2018/08/19 18:15:57:0030] NOTICE: heap :122932 (+232)
?[35;1m[2018/08/19 18:15:58:5282] NOTICE: _realloc: size 196: h2n (free heap 131220)
?[35;1m[2018/08/19 18:15:58:5291] NOTICE: _realloc: size 780: dynamic table entries (free heap 130440)
?[35;1m[2018/08/19 18:15:58:5353] NOTICE: Client connection error server's cert didn't look good, X509_V_ERR = 24: CA is not trusted
?[35;1m[2018/08/19 18:15:59:0033] NOTICE: heap :161112 (+38180)
?[35;1m[2018/08/19 18:16:02:0032] NOTICE: heap :160916 (-196)
?[35;1m[2018/08/19 18:16:03:0031] NOTICE: heap :160532 (-384)
?[35;1m[2018/08/19 18:16:03:4353] NOTICE: SYSTEM_EVENT_SCAN_DONE
?[35;1m[2018/08/19 18:16:03:4364] NOTICE: scan_finished: count 6
?[35;1m[2018/08/19 18:16:03:4380] NOTICE: Fetching /esp32-ota/lws/manifest.json
?[35;1m[2018/08/19 18:16:03:4445] NOTICE: _realloc: size 616: client wsi (free heap 160376)
?[35;1m[2018/08/19 18:16:03:4528] NOTICE: _realloc: size 32: client stash (free heap 160344)
?[35;1m[2018/08/19 18:16:03:4612] NOTICE: _realloc: size 18: strdup (free heap 160446)
?[35;1m[2018/08/19 18:16:03:4692] NOTICE: _realloc: size 29: strdup (free heap 160411)
?[35;1m[2018/08/19 18:16:03:4770] NOTICE: _realloc: size 18: strdup (free heap 160390)
?[35;1m[2018/08/19 18:16:03:4850] NOTICE: _realloc: size 18: strdup (free heap 160366)
?[35;1m[2018/08/19 18:16:03:4929] NOTICE: _realloc: size 12: strdup (free heap 160348)
?[35;1m[2018/08/19 18:16:03:5008] NOTICE: _realloc: size 4: strdup (free heap 160344)
?[35;1m[2018/08/19 18:16:03:5090] NOTICE: _realloc: size 4696: user space (free heap 155528)
?[35;1m[2018/08/19 18:16:03:5173] NOTICE: _realloc: size 744: ah struct (free heap 154900)
?[35;1m[2018/08/19 18:16:03:5255] NOTICE: _realloc: size 512: ah data (free heap 154384)
?[35;1m[2018/08/19 18:16:03:5398] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:16:03:5436] NOTICE: lws_esp32_get_image_info: bad image header magic
?[35;1m[2018/08/19 18:16:03:5531] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:16:03:5574] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:16:03:5653] NOTICE: LWS_CALLBACK_Server_writable
?[35;1m[2018/08/19 18:16:03:5713] NOTICE: LWS_CALLBACK_Server_writable
tcp_connect: can only connect from state CLOSED
?[35;1m[2018/08/19 18:16:05:5611] NOTICE: heap :122412 (-38120)
?[35;1m[2018/08/19 18:16:06:0030] NOTICE: heap :122644 (+232)
To use it in c++ with the compiler option -fpermissive I need to add a cast to the following line:
515 struct timer_mapping *tm = malloc(sizeof(*tm));
to
515 struct timer_mapping *tm = (timer_mapping*)malloc(sizeof(*tm));
Would be a small change.
The ota update of factory partition fails since esp-idf now have checks to make sure that spi operations are not done on active partition. These checks can be disabled in the 'make menuconfig' -> Component Config -> SPI Flash driver -> Writing dangerous flash regions
This will unfortunately disable these checks for the whole bootloader and create a security hole.
Is there a way to rewrite the ota-invalidation found in libwebsockets/lib/plat/lws-plat-esp32.c on line 1681 and make this part of the code the only one allowed to overwrite active partition?
I have a problem that the lws esp32 factory app is crashing. The easiest way to reproduce it is following:
I installed everything according to the guide. Everything compiles fine.
After download I connect from Laptop to esp the I start Browser and go to 192.168.4.1
It loads the site, then i try to reload the page and the esp crashes.
I dont know what the first error means.
E (48) boot: force_factory 0 bs.ota_info.offset 53248
I (1077) cpu_start: Pro cpu up.
I (1078) cpu_start: Starting app cpu, entry point is 0x40080dd8
I (0) cpu_start: App cpu up.
I (1088) heap_alloc_caps: Initializing. RAM available for dynamic allocation:
I (1110) heap_alloc_caps: At 3FFAE2A0 len 00001D60 (7 KiB): DRAM
I (1130) heap_alloc_caps: At 3FFB8868 len 00027798 (157 KiB): DRAM
I (1152) heap_alloc_caps: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (1173) heap_alloc_caps: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (1195) heap_alloc_caps: At 40099D24 len 000062DC (24 KiB): IRAM
I (1215) cpu_start: Pro cpu start user code
I (1275) cpu_start: Starting scheduler on PRO CPU.
I (205) cpu_start: Starting scheduler on APP CPU.
I (215) wifi: wifi firmware version: a8ef40a
I (215) wifi: config NVS flash: disabled
I (215) wifi: config nano formating: disabled
I (215) wifi: Init dynamic tx buffer num: 32
I (225) wifi: wifi driver task: 3ffc1598, prio:23, stack:3584
I (225) wifi: Init static rx buffer num: 10
I (235) wifi: Init dynamic rx buffer num: 0
I (235) wifi: Init rx ampdu len mblock:7
I (235) wifi: Init lldesc rx ampdu entry mblock:4
I (245) wifi: wifi power manager task: 0x3ffc6940 prio: 21 stack: 2560
E (245) wifi: wifi_set_chan_range 1669 ret=1
I (255) wifi: wifi timer task: 3ffc79c0, prio:22, stack:3584
I (315) phy: phy_version: 350, Mar 22 2017, 15:02:06, 0, 0
I (315) wifi: mode : sta (24:0a:c4:04:26:dc) + softAP (24:0a:c4:04:26:dd)
4: No SSL certs... using port 80
4: Initial logging level 63
4: Libwebsockets version: 2.2.0 [email protected]
4: IPV6 not compiled in
4: Threads: 1 each 30 fds
4: mem: platform fd map: 120 bytes
4: Compiled with OpenSSL support
4: SSL disabled: no LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT
4: mem: per-conn: 432 bytes + protocol rx buf
4: ROMFS length 164KiB{
"schema": "lws1",
"model": "lws",
"builder": "esp32dev-VirtualBox",
"app": "lws-esp32-factory",
"user": "root",
"git": "2331748-dirty",
"date": "Don Mai 4 10:14:15 CEST 2017",
"unixtime": "1493885655",
"file": "lws-esp32-factory-1493885655.bin",
"factory": "y"
}
4: Creating Vhost 'ap' port 80, 3 protocols, IPv6 off
4: mounting file:///ap to /
4: mounting callback://esplws-scan to /factory
4: mounting callback://esplws-ota to /otaform
4: setting mount default to factory
I (17845) wifi: n:6 0, o:6 0, ap:6 1, sta:0 0, prof:6
I (17845) wifi: station: 9c:b7:0d:a0:1b:bc join, AID=1, g, 20
W (17865) wifi: buffer nullW (17885) wifi: buffer null
4: esp32_lws_fops_open: /ap/factory.html
4: esp32_lws_fops_open: /ap/factory.png
4: esp32_lws_fops_open: /ap/product.png
4: esp32_lws_fops_open: /ap/ssl-pub.png
4: esp32_lws_fops_open: /ap/warning.png
4: esp32_lws_fops_open: /ap/factory-backdrop.jpg
4: esp32_lws_fops_open: /ap/ssl-pri.png
4: esp32_lws_fops_open: /ap/favicon.ico
4: lws_header_table_detach: wsi 0x3ffcf01c: ah held 5s, ah.rxpos 0, ah.rxlen 0, mode/state 0 4,wsi->more_rx_waiting 0
4: lws_header_table_detach: wsi 0x3ffcf1d4: ah held 6s, ah.rxpos 0, ah.rxlen 0, mode/state 0 4,wsi->more_rx_waiting 0
4: esp32_lws_fops_open: /ap/factory.html
4: esp32_lws_fops_open: /ap/factory-backdrop.jpg
4: esp32_lws_fops_open: /ap/factory.png
4: esp32_lws_fops_open: /ap/product.png
Guru Meditation Error of type LoadProhibited occurred on core 0. Exception was unhandled.
Register dump:
PC : 0x400e08e6 PS : 0x00060530 A0 : 0x800e12ea A1 : 0x3ffc13a0
A2 : 0x00000000 A3 : 0x3ffcd3f4 A4 : 0x40118184 A5 : 0x3ffcd038
A6 : 0x3ffcd618 A7 : 0x3ffb74fc A8 : 0x800e08e4 A9 : 0x3ffc1380
A10 : 0x00000000 A11 : 0x00000036 A12 : 0x3ffcd3f4 A13 : 0x3ffcd038
A14 : 0x00000000 A15 : 0x00000000 SAR : 0x00000019 EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000004 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0xffffffffBacktrace: 0x400e08e6:0x3ffc13a0 0x400e12ea:0x3ffc1470 0x40092350:0x3ffc1490 0x40093c7a:0x3ffc14e0
Entering gdb stub now.
$T0b#e6
This is the output of the GDBstub:
#0 0x400e07b8 in hostap_input ()
#1 0x400e11ba in ap_rx_cb ()
#2 0x40092350 in ppRxPkt ()
#3 0x40093c7a in ppTask ()
To compile the debug version I had to fix this error:
components/libwebsockets/plugins/protocol_esp32_lws_ota.c:91:18: error: 'part' may be used uninitialized in this function [-Werror=maybe-uninitialized]
just initialize it with 0.
Any ideas on this topic?
hi,
i can upload binaries with curl --form @ota=/
etc. But is there a way the factory downloads the binaries or connects to another websocket and gets binaries using websocket?
thanks in advance
I can build flash and upload to my Core Board V2. But startup fails with this message:
D (1240) nvs: nvs_close 3
4: No SSL certs... using port 80
4: Initial logging level 63
4: Libwebsockets version: 2.2.0 [email protected]
4: IPV6 not compiled in
4: Threads: 1 each 30 fds
4: mem: platform fd map: 120 bytes
4: Compiled with OpenSSL support
4: SSL disabled: no LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT
4: mem: per-conn: 432 bytes + protocol rx buf
1: Failed to mount ROMFS at 0xdbb34 0xdbb34
4: setting mount default to factory
i have regeneratable bug with ESP32.
If i use current code with latest libwebsocket than the upload interrupts about 60% up to 90% (randomly) and cpu crashes
but i use d4969b8 and https://github.com/warmcat/libwebsockets/tree/5ff9db9c6b520e2b16dad3fc6f6c84e20d13b1e4 than works fine.
It is very difficult to set this combination of versions because git doesnt allows it but i can copy the files manually under /components
if any other tester, use this line to upload without browser "curl --form "ota=@/path/to/esp/build/lws-esp32-test-server-demos.bin" --insecure https://192.168.local.ip/otaform"
After doing a successful
make all flash monitor
and accessing the /factory.html webpage I'm trying to find the .der files to upload. According to the documentation they should have been generated in the top-level of the project, but there are no *.der files there.
Did a
find | grep der
to find them, but no sign of them.
Are there any prerequisites that are required that I might be missing?
I am running Ubtunu 16.04 LTS on VirtualBox. I have tried with cmake versions 3.5.1 and 3.9.2, openssl versions 1.0.2g 1 Mar 2016 and 1.0.2l 25 May 2017 and get the same results. The copy of the terminal session is shown below. I was able to download the factory code to the ESP32 and view the initial Factory Setup page, but of course I could not upload the certificate and key files.
Thank you.
'mike@mike-VirtualBox:~/esp/lws-esp32-factory$ make
doing lws cmake
-- CMAKE_TOOLCHAIN_FILE='/home/mike/esp/lws-esp32-factory/components/libwebsockets/cross-esp32.cmake'
Git commit hash: [email protected]
zlib include dirs: /home/mike/esp/lws-esp32-factory/components/zlib
zlib libraries: /home/mike/esp/lws-esp32-factory/build/zlib/libzlib.a
Compiling with SSL support
MBEDTLS include dir: /home/mike/esp/esp-idf/components/openssl/include
MBEDTLS libraries:
GENCERTS = 1
Generating SSL Certificates for the test-server...
CMake Warning at CMakeLists.txt:1224 (message):
!!! Failed to generate SSL certificate for Test Server!!!:
OpenSSL return code = No such file or directory
-- Looking for RPMTools... - found rpmuild is /usr/bin/rpmbuild
-- RPMTools:: Using RPM_ROOTDIR=/home/mike/esp/lws-esp32-factory/build/libwebsockets/RPM
-- Simple copy spec file <libwebsockets.spec> --> </home/mike/esp/lws-esp32-factory/build/libwebsockets/RPM/SPECS/libwebsockets.spec>
---------------------------------------------------------------------
Settings: (For more help do cmake -LH <srcpath>)
---------------------------------------------------------------------
LWS_WITH_STATIC = ON
LWS_WITH_SHARED = OFF
LWS_WITH_SSL = ON (SSL Support)
LWS_SSL_CLIENT_USE_OS_CA_CERTS = 1
LWS_USE_WOLFSSL = OFF (wolfSSL/CyaSSL replacement for OpenSSL)
LWS_USE_MBEDTLS = ON (mbedTLS replacement for OpenSSL)
LWS_WITHOUT_BUILTIN_SHA1 = OFF
LWS_WITHOUT_BUILTIN_GETIFADDRS = OFF
LWS_WITHOUT_CLIENT = OFF
LWS_WITHOUT_SERVER = OFF
LWS_LINK_TESTAPPS_DYNAMIC = OFF
LWS_WITHOUT_TESTAPPS = ON
LWS_WITHOUT_TEST_SERVER = OFF
LWS_WITHOUT_TEST_SERVER_EXTPOLL = OFF
LWS_WITHOUT_TEST_PING = OFF
LWS_WITHOUT_TEST_ECHO = OFF
LWS_WITHOUT_TEST_CLIENT = OFF
LWS_WITHOUT_TEST_FRAGGLE = OFF
LWS_WITHOUT_EXTENSIONS = ON
LWS_WITH_LATENCY = OFF
LWS_WITHOUT_DAEMONIZE = ON
LWS_USE_LIBEV =
LWS_USE_LIBUV =
LWS_USE_LIBEVENT =
LWS_IPV6 = OFF
LWS_UNIX_SOCK = OFF
LWS_WITH_HTTP2 =
LWS_SSL_SERVER_WITH_ECDH_CERT = OFF
LWS_MAX_SMP = 1
LWS_WITH_CGI = OFF
LWS_HAVE_OPENSSL_ECDH_H =
LWS_HAVE_SSL_CTX_set1_param =
LWS_WITH_HTTP_PROXY = OFF
LIBHUBBUB_LIBRARIES =
PLUGINS =
LWS_WITH_ACCESS_LOG = OFF
LWS_WITH_SERVER_STATUS = OFF
LWS_WITH_LEJP = OFF
LWS_WITH_LEJP_CONF = OFF
LWS_WITH_SMTP = OFF
LWS_WITH_GENERIC_SESSIONS = OFF
LWS_STATIC_PIC = OFF
LWS_WITH_RANGES = ON
LWS_PLAT_OPTEE = OFF
LWS_WITH_ESP32 = 1
LWS_WITH_ZIP_FOPS = 1
LWS_AVOID_SIGPIPE_IGN = OFF
LWS_WITH_STATS = 0
LWS_WITH_SOCKS5 = OFF
LWS_HAVE_SYS_CAPABILITY_H =
LWS_HAVE_LIBCAP =
LWS_HAVE_ATOLL =
LWS_HAVE__ATOI64 =
LWS_HAVE_STAT32I64 =
LWS_HAS_INTPTR_T = 1
---------------------------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mike/esp/lws-esp32-factory/build/libwebsockets
[ 4%] Linking C static library lib/libwebsockets.a
[100%] Built target websockets
CC build/main/main.o
AR build/main/libmain.a
LD build/lws-esp32-factory.elf
esptool.py v2.1
Original length: 0x0a1bb0 ( 662448)
After ROMFS + Build info: 0x0cbcd1 ( 834769)
To flash all build output, run 'make flash' or:
python2 /home/mike/esp/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 /home/mike/esp/lws-esp32-factory/build/bootloader/bootloader.bin 0x10000 /home/mike/esp/lws-esp32-factory/build/lws-esp32-factory.bin 0x8000 /home/mike/esp/lws-esp32-factory/build/partitions.bin
Hi I tried to change the maximum of the ssl connections from 3 to 4 with this change in the code (I tried it with the factory app):
lws_esp32_set_creation_defaults(&info);
info.simultaneous_ssl_restriction = 4;
It still only works to connect 3 Clients. This would not be a problem for me. But this change also causes another problem. If I disconnect all Clients, the wsi cleanup gets called, but I can't connect no client anymore. If I don't change the simultaneous_ssl_restriction this works without problems.
WHen all Clients (3) are connected:
4: LWS internal statistics dump ----->
4: LWSSTATS_C_CONNECTIONS: 3
4: LWSSTATS_C_API_CLOSE: 0
4: LWSSTATS_C_API_READ: 3
4: LWSSTATS_C_API_LWS_WRITE: 3
4: LWSSTATS_C_API_WRITE: 3
4: LWSSTATS_C_WRITE_PARTIALS: 0
4: LWSSTATS_C_WRITEABLE_CB_REQ: 0
4: LWSSTATS_C_WRITEABLE_CB_EFF_REQ: 0
4: LWSSTATS_C_WRITEABLE_CB: 0
4: LWSSTATS_C_SSL_CONNECTIONS_FAILED: 0
4: LWSSTATS_C_SSL_CONNECTIONS_ACCEPTED: 3
4: LWSSTATS_C_SSL_CONNS_HAD_RX: 3
4: LWSSTATS_C_TIMEOUTS: 0
4: LWSSTATS_C_SERVICE_ENTRY: 2178
4: LWSSTATS_B_READ: 1581
4: LWSSTATS_B_WRITE: 387
4: LWSSTATS_B_PARTIALS_ACCEPTED_PARTS: 0
4: LWSSTATS_MS_SSL_CONNECTIONS_ACCEPTED_DELAY: 5571ms
4: Avg accept delay: 1857ms
4: LWSSTATS_MS_SSL_RX_DELAY: 134ms
4: Avg accept-rx delay: 44ms
4: LWSSTATS_MS_WRITABLE_DELAY: 0us
4: LWSSTATS_MS_WORST_WRITABLE_DELAY: 0us
4: Simultaneous SSL restriction: 3/4/0
4: Live wsi: 4
4: Listen port 443 actual POLLIN: 1
4: PT 1
4: AH in use / max: 0 / 3
4: AH wait list count / actual: 0 / 0
4:
1: SSL_new failed: 99 (errno 0)
1: lws_adopt_descriptor_vhost: fail ssl negotiation
All Disconnected:
4: LWSSTATS_C_CONNECTIONS: 4
4: LWSSTATS_C_API_CLOSE: 4
4: LWSSTATS_C_API_READ: 7
4: LWSSTATS_C_API_LWS_WRITE: 6
4: LWSSTATS_C_API_WRITE: 6
4: LWSSTATS_C_WRITE_PARTIALS: 0
4: LWSSTATS_C_WRITEABLE_CB_REQ: 3
4: LWSSTATS_C_WRITEABLE_CB_EFF_REQ: 3
4: LWSSTATS_C_WRITEABLE_CB: 0
4: LWSSTATS_C_SSL_CONNECTIONS_FAILED: 0
4: LWSSTATS_C_SSL_CONNECTIONS_ACCEPTED: 3
4: LWSSTATS_C_SSL_CONNS_HAD_RX: 3
4: LWSSTATS_C_TIMEOUTS: 0
4: LWSSTATS_C_SERVICE_ENTRY: 28868
4: LWSSTATS_B_READ: 1633
4: LWSSTATS_B_WRITE: 387
4: LWSSTATS_B_PARTIALS_ACCEPTED_PARTS: 0
4: LWSSTATS_MS_SSL_CONNECTIONS_ACCEPTED_DELAY: 5571ms
4: Avg accept delay: 1857ms
4: LWSSTATS_MS_SSL_RX_DELAY: 134ms
4: Avg accept-rx delay: 44ms
4: LWSSTATS_MS_WRITABLE_DELAY: 0us
4: LWSSTATS_MS_WORST_WRITABLE_DELAY: 0us
4: Simultaneous SSL restriction: 0/4/0
4: Live wsi: 1
4: Listen port 443 actual POLLIN: 1
4: PT 1
4: AH in use / max: 0 / 3
4: AH wait list count / actual: 0 / 0
Best Regards
I am new to lws, but I think it looks really interesting. However I fail to compile it (msys32 on Windows) with the following message:
-- Configuring done -- Generating done -- Build files have been written to: C:/msys32/home/fredrik/esp/lws-esp32-factory/build/libwebsockets [ 2%] Building C object CMakeFiles/websockets.dir/lib/misc/base64-decode.c.o In file included from C:/msys32/home/fredrik/esp/lws-esp32-factory/components/libwebsockets/lib/private-libwebsockets.h:262:0, from C:/msys32/home/fredrik/esp/lws-esp32-factory/components/libwebsockets/lib/misc/base64-decode.c:43: C:/msys32/home/fredrik/esp/lws-esp32-factory/components/libwebsockets/lib/libwebsockets.h:576:2: error: unknown type name 'mdns_server_t' mdns_server_t *mdns; ^
See here for more info: espressif/esp-idf#1545
I guess I can try to use an older version of esp-idf but have not done that yet.
Sorry if I have missed some readme information, but I have tried to understand the "group" and "role" parameters/settings and how they are used (what is the meaning of them...) in the example code.
In some parts it seems that it is some sort of remainings from an earlier version of the code, but then again I can see that they are in use in various places. While I can imagine/guess a few different "use cases", I thought it might be easier just to ask.
just a minor thing: The git command in the readme.md file is missing the word "hard" after "git reset --"
Hi,
this is not an "issue" but a question.
I am missing in the documentation, how can i use port 80 without encryption. Solely chaning info.port on 80 doesnt work.
Thanks in advice
I am lacking experience from Lets Encrypt, so it is quite possible that I am doing something wrong here… I did see that you had a thread https://community.letsencrypt.org/t/increasing-tls-sni-01-server-timeout/47208/28 in Nov-2017 with LetsEncrypt where it seemed that you got it to work, so I guess it is suppose to work now as well.
When building/flashing/running the factory app with the latest commit (from June 20th) and trying to use the Lets Encrypt function, it stops at the first step (green circle, does not turn red). Log below, where I replaced the true URL-text that I was using.
`?[35;1m[2018/08/12 10:34:42:8840] NOTICE: _realloc: size 1024: ah data (free heap 151952)
{"job":"start-le","cn":"myexternal.url.here","email":"[email protected]","staging":"true"}cko/20100101 Firefox/61.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: sv-SE,sv;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: https://192.168.0.53
Sec-WebSocket-Protocol: esplws-scan
Sec-WebSockeHTTP/1.1 101 Switching Protocols
Upgrade: WebSocket
Connection: Upgrade
Sec-WebSocket-Accept: Azt/o2L/fJ1cch4lZiZCPlp101M=
Sec-WebSocket-Protocol: esplws-scan
?[35;1m[2018/08/12 10:34:42:9440] NOTICE: staging: ,"staging":"true"}cko/20100101 Firefox/61.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: sv-SE,sv;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: ht?[35;1m[2018/08/12 10:34:42:9670] NOTICE: cn: myexternal.url.here, email: [email protected], staging: 1
?[35;1m[2018/08/12 10:34:42:9778] NOTICE: _realloc: size 616: fake wsi (free heap 150852)
?[35;1m[2018/08/12 10:34:42:9861] NOTICE: starting acme acquisition on ap: https://acme-staging.api.letsencrypt.org/directory
?[35;1m[2018/08/12 10:34:42:9975] NOTICE: lws_acme_start_acquisition: ACME cert needs creating / updating: vhost ap
?[35;1m[2018/08/12 10:34:43:0079] NOTICE: _realloc: size 616: fake wsi (free heap 143944)
?[35;1m[2018/08/12 10:34:43:0160] NOTICE: LWS_CALLBACK_VHOST_CERT_UPDATE: 1
?[35;1m[2018/08/12 10:34:43:0236] NOTICE: _realloc: size 616: fake wsi (free heap 144076)
?[35;1m[2018/08/12 10:34:43:0311] NOTICE: LWS_CALLBACK_VHOST_CERT_UPDATE: 4
?[35;1m[2018/08/12 10:34:43:0380] NOTICE: acme_msg: Generating keys, please wait
?[35;1m[2018/08/12 10:34:43:0457] NOTICE: _realloc: size 4096: jwk-load (free heap 140596)
?[35;1m[2018/08/12 10:34:43:0578] NOTICE: lws_plat_read_file: read le-auth-jwk (1615)
?[35;1m[2018/08/12 10:34:43:0620] NOTICE: _realloc: size 7: jwk (free heap 140561)
?[35;1m[2018/08/12 10:34:43:0697] NOTICE: _realloc: size 260: jwk (free heap 140300)
?[35;1m[2018/08/12 10:34:43:0776] NOTICE: _realloc: size 260: jwk (free heap 140036)
?[35;1m[2018/08/12 10:34:43:0851] NOTICE: _realloc: size 132: jwk (free heap 139900)
?[35;1m[2018/08/12 10:34:43:0947] NOTICE: _realloc: size 132: jwk (free heap 139764)
?[35;1m[2018/08/12 10:34:43:1008] NOTICE: _realloc: size 132: jwk (free heap 139628)
?[35;1m[2018/08/12 10:34:43:1082] NOTICE: _realloc: size 132: jwk (free heap 139492)
?[35;1m[2018/08/12 10:34:43:1160] NOTICE: _realloc: size 132: jwk (free heap 139356)
?[35;1m[2018/08/12 10:34:43:1238] NOTICE: _realloc: size 616: fake wsi (free heap 142832)
?[35;1m[2018/08/12 10:34:43:1318] NOTICE: LWS_CALLBACK_VHOST_CERT_UPDATE: 4
?[35;1m[2018/08/12 10:34:43:1387] NOTICE: acme_msg: Auth keys created
?[35;1m[2018/08/12 10:34:43:1456] NOTICE: _realloc: size 616: client wsi (free heap 142832)
?[35;1m[2018/08/12 10:34:43:1537] NOTICE: _realloc: size 32: client stash (free heap 142796)
?[35;1m[2018/08/12 10:34:43:1621] NOTICE: _realloc: size 33: strdup (free heap 142759)
?[35;1m[2018/08/12 10:34:43:1700] NOTICE: _realloc: size 11: strdup (free heap 142741)
?[35;1m[2018/08/12 10:34:43:1780] NOTICE: _realloc: size 33: strdup (free heap 142707)
?[35;1m[2018/08/12 10:34:43:1859] NOTICE: _realloc: size 33: strdup (free heap 142667)
?[35;1m[2018/08/12 10:34:43:1940] NOTICE: _realloc: size 16: strdup (free heap 142644)
?[35;1m[2018/08/12 10:34:43:2020] NOTICE: _realloc: size 4: strdup (free heap 142640)
?[35;1m[2018/08/12 10:34:43:2096] NOTICE: _realloc: size 744: ah struct (free heap 141896)
?[35;1m[2018/08/12 10:34:43:2179] NOTICE: _realloc: size 1024: ah data (free heap 140868)
?[35;1m[2018/08/12 10:34:43:2591] NOTICE: heap :140764 (-18264)
?[35;1m[2018/08/12 10:34:43:2625] NOTICE: lws_esp32_get_image_info: bad image header magic
tcp_connect: can only connect from state CLOSED
tcp_connect: can only connect from state CLOSED
?[35;1m[2018/08/12 10:34:44:2963] NOTICE: heap :104232 (-36532)
?[35;1m[2018/08/12 10:34:46:1776] NOTICE: heap :90424 (-13808)
?[35;1m[2018/08/12 10:34:46:1840] NOTICE: callback_acme_client: CLIENT_CONNECTION_ERROR: 0x3ffdac88
?[35;1m[2018/08/12 10:34:46:1851] NOTICE: callback_acme_client: CLOSED_CLIENT_HTTP: 0x3ffdac88
?[35;1m[2018/08/12 10:34:46:2215] NOTICE: _realloc: size 196: h2n (free heap 121164)
?[35;1m[2018/08/12 10:34:46:2224] NOTICE: _realloc: size 780: dynamic table entries (free heap 120380)
?[35;1m[2018/08/12 10:34:46:2285] NOTICE: Client connection error server's cert didn't look good, X509_V_ERR = 24: CA is not trusted
?[35;1m[2018/08/12 10:34:47:0009] NOTICE: heap :151504 (+61080)`
As a comparison, I rolled back the esp-idf and LWs-esp32-factory to "March 14th" commit status (This was not trivial, since it seems that libwebsocket old commits was rewritten in Apr 6th, why I had to use new commit-references (I Think I got it right...). Using this (old) version, I now was able to reach the 3rd step "Auth", which turned red in the webinterface. Log below:
?[35;1m[2018/08/12 09:17:27:0083] NOTICE: heap :91972 (-160)
{"job":"start-le","cn":"myexternal.url.here","email":"[email protected]","staging":"true"}
?[35;1m[2018/08/12 09:17:27:0643] NOTICE: staging: ,"staging":"true"}
?[35;1m[2018/08/12 09:17:27:0652] NOTICE: cn: myexternal.url.here, email: [email protected], staging: 1
?[35;1m[2018/08/12 09:17:27:0754] NOTICE: _realloc: size 560: fake wsi (free heap 91412)
?[35;1m[2018/08/12 09:17:27:0838] NOTICE: starting acme acquisition on ap: https://acme-staging.api.letsencrypt.org/directory
?[35;1m[2018/08/12 09:17:27:0947] NOTICE: lws_acme_start_acquisition: ACME cert needs creating / updating: vhost ap
?[35;1m[2018/08/12 09:17:27:1053] NOTICE: _realloc: size 560: fake wsi (free heap 84580)
?[35;1m[2018/08/12 09:17:27:1134] NOTICE: LWS_CALLBACK_VHOST_CERT_UPDATE: 1
?[35;1m[2018/08/12 09:17:27:1207] NOTICE: _realloc: size 560: fake wsi (free heap 84396)
?[35;1m[2018/08/12 09:17:27:1285] NOTICE: LWS_CALLBACK_VHOST_CERT_UPDATE: 4
?[35;1m[2018/08/12 09:17:27:1354] NOTICE: acme_msg: Generating keys, please wait
?[35;1m[2018/08/12 09:17:27:1429] NOTICE: _realloc: size 4096: jwk-load (free heap 80860)
?[35;1m[2018/08/12 09:17:27:1558] NOTICE: lws_plat_read_file: read le-auth-jwk (1615)
?[35;1m[2018/08/12 09:17:27:1592] NOTICE: _realloc: size 7: jwk (free heap 80829)
?[35;1m[2018/08/12 09:17:27:1667] NOTICE: _realloc: size 260: jwk (free heap 80564)
?[35;1m[2018/08/12 09:17:27:1744] NOTICE: _realloc: size 260: jwk (free heap 80300)
?[35;1m[2018/08/12 09:17:27:1821] NOTICE: _realloc: size 132: jwk (free heap 80164)
?[35;1m[2018/08/12 09:17:27:1897] NOTICE: _realloc: size 132: jwk (free heap 80028)
?[35;1m[2018/08/12 09:17:27:1973] NOTICE: _realloc: size 132: jwk (free heap 79892)
?[35;1m[2018/08/12 09:17:27:2054] NOTICE: _realloc: size 132: jwk (free heap 79936)
?[35;1m[2018/08/12 09:17:27:2127] NOTICE: _realloc: size 132: jwk (free heap 79800)
?[35;1m[2018/08/12 09:17:27:2206] NOTICE: _realloc: size 560: fake wsi (free heap 83332)
?[35;1m[2018/08/12 09:17:27:2283] NOTICE: LWS_CALLBACK_VHOST_CERT_UPDATE: 4
?[35;1m[2018/08/12 09:17:27:2355] NOTICE: acme_msg: Auth keys created
?[35;1m[2018/08/12 09:17:27:2421] NOTICE: _realloc: size 560: client wsi (free heap 83252)
?[35;1m[2018/08/12 09:17:27:2501] NOTICE: _realloc: size 28: client stash (free heap 83220)
?[35;1m[2018/08/12 09:17:27:2584] NOTICE: _realloc: size 33: strdup (free heap 83183)
?[35;1m[2018/08/12 09:17:27:2663] NOTICE: _realloc: size 11: strdup (free heap 83165)
?[35;1m[2018/08/12 09:17:27:2741] NOTICE: _realloc: size 33: strdup (free heap 83131)
?[35;1m[2018/08/12 09:17:27:2819] NOTICE: _realloc: size 33: strdup (free heap 83091)
?[35;1m[2018/08/12 09:17:27:2898] NOTICE: _realloc: size 16: strdup (free heap 83068)
?[35;1m[2018/08/12 09:17:27:2976] NOTICE: _realloc: size 4: strdup (free heap 83064)
?[35;1m[2018/08/12 09:17:27:3054] NOTICE: _realloc: size 996: ah struct (free heap 82068)
?[35;1m[2018/08/12 09:17:27:3136] NOTICE: _realloc: size 4096: ah data (free heap 77968)
?[35;1m[2018/08/12 09:17:27:3855] NOTICE: lws_esp32_get_image_info: bad image header magic
?[35;1m[2018/08/12 09:17:28:0119] NOTICE: heap :116600 (+24628)
?[35;1m[2018/08/12 09:17:28:5307] NOTICE: SYSTEM_EVENT_SCAN_DONE
?[35;1m[2018/08/12 09:17:28:5318] NOTICE: scan_finished: count 6
?[35;1m[2018/08/12 09:17:28:5409] NOTICE: lws_esp32_get_image_info: bad image header magic
?[35;1m[2018/08/12 09:17:29:0084] NOTICE: heap :117512 (+912)
tcp_connect: can only connect from state CLOSED
?[35;1m[2018/08/12 09:17:29:4506] NOTICE: ssl_pm_handshake
?[35;1m[2018/08/12 09:17:29:4514] NOTICE: mbedtls_handshake: ssl ret -0 state 1
?[35;1m[2018/08/12 09:17:29:4576] NOTICE: mbedtls_handshake: ssl ret -0 state 2
?[35;1m[2018/08/12 09:17:29:4623] NOTICE: mbedtls_handshake: ssl ret -6900 state 2
?[35;1m[2018/08/12 09:17:29:4824] NOTICE: ssl_pm_handshake
?[35;1m[2018/08/12 09:17:29:4843] NOTICE: mbedtls_handshake: ssl ret -0 state 3
?[35;1m[2018/08/12 09:17:29:4889] NOTICE: mbedtls_handshake: ssl ret -0 state 4
?[35;1m[2018/08/12 09:17:29:5922] NOTICE: mbedtls_handshake: ssl ret -0 state 5
?[35;1m[2018/08/12 09:17:29:5936] NOTICE: mbedtls_handshake: ssl ret -0 state 6
?[35;1m[2018/08/12 09:17:29:5964] NOTICE: mbedtls_handshake: ssl ret -0 state 7
?[35;1m[2018/08/12 09:17:29:6038] NOTICE: mbedtls_handshake: ssl ret -0 state 8
?[35;1m[2018/08/12 09:17:30:5209] NOTICE: mbedtls_handshake: ssl ret -0 state 9
?[35;1m[2018/08/12 09:17:30:5288] NOTICE: mbedtls_handshake: ssl ret -0 state 10
?[35;1m[2018/08/12 09:17:30:5315] NOTICE: mbedtls_handshake: ssl ret -0 state 11
?[35;1m[2018/08/12 09:17:30:5403] NOTICE: mbedtls_handshake: ssl ret -0 state 12
?[35;1m[2018/08/12 09:17:30:5429] NOTICE: mbedtls_handshake: ssl ret -6900 state 17
?[35;1m[2018/08/12 09:17:30:5506] NOTICE: heap :70480 (-47032)
?[35;1m[2018/08/12 09:17:30:5565] NOTICE: ssl_pm_handshake
?[35;1m[2018/08/12 09:17:30:5624] NOTICE: mbedtls_handshake: ssl ret -0 state 12
?[35;1m[2018/08/12 09:17:30:5692] NOTICE: mbedtls_handshake: ssl ret -0 state 13
?[35;1m[2018/08/12 09:17:30:5794] NOTICE: mbedtls_handshake: ssl ret -0 state 14
?[35;1m[2018/08/12 09:17:30:5837] NOTICE: mbedtls_handshake: ssl ret -0 state 15
?[35;1m[2018/08/12 09:17:30:5916] NOTICE: mbedtls_handshake: ssl ret -0 state 16
?[35;1m[2018/08/12 09:17:30:8835] NOTICE: lws_client_interpret_server_handshake: incoming content length 704
?[35;1m[2018/08/12 09:17:30:8844] NOTICE: lws_http_client_http_response 200
?[35;1m[2018/08/12 09:17:30:8901] NOTICE: lws_client_interpret_server_handshake: client connection up
?[35;1m[2018/08/12 09:17:30:8996] NOTICE: callback_acme_client: LWS_CALLBACK_RECEIVE_CLIENT_HTTP
{
"7KgZItPxVO4": "https://community.letsencrypt.org/t/adding-random-entries-to-the-directory/33417",
"key-change": "https://acme-staging.api.letsencrypt.org/acme/key-change",
"meta": {
"caaIdentities": [
"letsencrypt.org"
],
"terms-of-service": "https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf",
"website": "https://letsencrypt.org/docs/staging-environment/"
},
"new-authz": "https://acme-staging.api.letsencrypt.org/acme/new-authz",
"new-cert": "https://acme-staging.api.letsencrypt.org/acme/new-cert",
"new-reg": "https://acme-staging.api.letsencrypt.org/acme/new-reg",
"revoke-cert": "https://acme-staging.api.letsencrypt.org/acme/revoke-cert"
}
?[35;1m[2018/08/12 09:17:30:9709] NOTICE: callback_acme_client: COMPLETED_CLIENT_HTTP
?[35;1m[2018/08/12 09:17:30:9779] NOTICE: 0: https://acme-staging.api.letsencrypt.org/acme/key-change
?[35;1m[2018/08/12 09:17:30:9874] NOTICE: 1: https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf
?[35;1m[2018/08/12 09:17:30:9976] NOTICE: 2: https://acme-staging.api.letsencrypt.org/acme/new-authz
?[35;1m[2018/08/12 09:17:31:0073] NOTICE: 3: https://acme-staging.api.letsencrypt.org/acme/new-cert
?[35;1m[2018/08/12 09:17:31:0163] NOTICE: 4: https://acme-staging.api.letsencrypt.org/acme/new-reg
?[35;1m[2018/08/12 09:17:31:0256] NOTICE: 5: https://acme-staging.api.letsencrypt.org/acme/revoke-cert
?[35;1m[2018/08/12 09:17:31:0353] NOTICE: _realloc: size 560: fake wsi (free heap 80736)
?[35;1m[2018/08/12 09:17:31:0434] NOTICE: LWS_CALLBACK_VHOST_CERT_UPDATE: 5
?[35;1m[2018/08/12 09:17:31:0510] NOTICE: _realloc: size 560: client wsi (free heap 80736)
?[35;1m[2018/08/12 09:17:31:0587] NOTICE: _realloc: size 28: client stash (free heap 80704)
?[35;1m[2018/08/12 09:17:31:0670] NOTICE: _realloc: size 33: strdup (free heap 80671)
?[35;1m[2018/08/12 09:17:31:0748] NOTICE: _realloc: size 14: strdup (free heap 80654)
?[35;1m[2018/08/12 09:17:31:0826] NOTICE: _realloc: size 33: strdup (free heap 80615)
?[35;1m[2018/08/12 09:17:31:0905] NOTICE: _realloc: size 33: strdup (free heap 80575)
?[35;1m[2018/08/12 09:17:31:0983] NOTICE: _realloc: size 16: strdup (free heap 80552)
?[35;1m[2018/08/12 09:17:31:1062] NOTICE: _realloc: size 5: strdup (free heap 80547)
?[35;1m[2018/08/12 09:17:31:1143] NOTICE: _realloc: size 996: ah struct (free heap 79544)
?[35;1m[2018/08/12 09:17:31:1222] NOTICE: _realloc: size 4096: ah data (free heap 75444)
?[35;1m[2018/08/12 09:17:31:1347] NOTICE: callback_acme_client: CLOSED_CLIENT_HTTP: 0x3ffdeb0c
?[35;1m[2018/08/12 09:17:31:1459] NOTICE: lws_esp32_get_image_info: bad image header magic
?[35;1m[2018/08/12 09:17:31:1524] NOTICE: heap :115488 (+45008)
tcp_connect: can only connect from state CLOSED
?[35;1m[2018/08/12 09:17:31:1599] NOTICE: ssl_pm_handshake
?[35;1m[2018/08/12 09:17:31:1649] NOTICE: mbedtls_handshake: ssl ret -0 state 1
?[35;1m[2018/08/12 09:17:31:1735] NOTICE: mbedtls_handshake: ssl ret -0 state 2
?[35;1m[2018/08/12 09:17:31:1784] NOTICE: mbedtls_handshake: ssl ret -6900 state 2
?[35;1m[2018/08/12 09:17:31:1981] NOTICE: ssl_pm_handshake
?[35;1m[2018/08/12 09:17:31:2001] NOTICE: mbedtls_handshake: ssl ret -0 state 3
?[35;1m[2018/08/12 09:17:31:2048] NOTICE: mbedtls_handshake: ssl ret -0 state 4
?[35;1m[2018/08/12 09:17:31:3092] NOTICE: mbedtls_handshake: ssl ret -0 state 5
?[35;1m[2018/08/12 09:17:31:3106] NOTICE: mbedtls_handshake: ssl ret -0 state 6
?[35;1m[2018/08/12 09:17:31:3138] NOTICE: mbedtls_handshake: ssl ret -0 state 7
?[35;1m[2018/08/12 09:17:31:3208] NOTICE: mbedtls_handshake: ssl ret -0 state 8
?[35;1m[2018/08/12 09:17:32:2832] NOTICE: mbedtls_handshake: ssl ret -0 state 9
?[35;1m[2018/08/12 09:17:32:2910] NOTICE: mbedtls_handshake: ssl ret -0 state 10
?[35;1m[2018/08/12 09:17:32:2938] NOTICE: mbedtls_handshake: ssl ret -0 state 11
?[35;1m[2018/08/12 09:17:32:3021] NOTICE: mbedtls_handshake: ssl ret -0 state 12
?[35;1m[2018/08/12 09:17:32:3052] NOTICE: mbedtls_handshake: ssl ret -6900 state 17
?[35;1m[2018/08/12 09:17:32:3170] NOTICE: heap :68812 (-46676)
?[35;1m[2018/08/12 09:17:32:3196] NOTICE: ssl_pm_handshake
?[35;1m[2018/08/12 09:17:32:3247] NOTICE: mbedtls_handshake: ssl ret -0 state 12
?[35;1m[2018/08/12 09:17:32:3314] NOTICE: mbedtls_handshake: ssl ret -0 state 13
?[35;1m[2018/08/12 09:17:32:3419] NOTICE: mbedtls_handshake: ssl ret -0 state 14
?[35;1m[2018/08/12 09:17:32:3460] NOTICE: mbedtls_handshake: ssl ret -0 state 15
?[35;1m[2018/08/12 09:17:32:3538] NOTICE: mbedtls_handshake: ssl ret -0 state 16
{"resource":"new-reg","contact":["mailto:[email protected]"],"agreement":"https://letsencrypt.org/documents/LE-SA-v1.2-November-15-20
17.pdf"}
?[35;1m[2018/08/12 09:17:32:3748] NOTICE: _realloc: size 172: genrsa (free heap 72088)
?[35;1m[2018/08/12 09:17:32:3822] NOTICE: _realloc: size 256: jws sign (free heap 70648)
?[35;1m[2018/08/12 09:17:32:6861] NOTICE: prepare to send ACME_STATE_NEW_REG
?[35;1m[2018/08/12 09:17:32:6941] NOTICE: LWS_CALLBACK_CLIENT_HTTP_WRITEABLE
?[35;1m[2018/08/12 09:17:32:6983] NOTICE: realloc: size 653: truncated send alloc (free heap 70543)
?[35;1m[2018/08/12 09:17:32:7017] NOTICE: wrote 1185
?[35;1m[2018/08/12 09:17:33:0082] NOTICE: heap :73664 (+4852)
?[35;1m[2018/08/12 09:17:33:0374] NOTICE: lws_client_interpret_server_handshake: incoming content length 671
?[35;1m[2018/08/12 09:17:33:0383] NOTICE: lws_http_client_http_response 201
?[35;1m[2018/08/12 09:17:33:0440] NOTICE: lws_client_interpret_server_handshake: client connection up
?[35;1m[2018/08/12 09:17:33:0550] NOTICE: callback_acme_client: LWS_CALLBACK_RECEIVE_CLIENT_HTTP
{
"id": 6634542,
"key": {
"kty": "RSA",
"n": "kwxpza-ZP2PdHjMi95JAOeFNVKJ4XLL3G_TOaVHeKA5ebBAwxNIY1jklD7oi265mHRk6IY2E7BoVzd5NogM9Pe2onhzQ7qkBUitdak1IJSDRzy1i9ZYRT7n3aUi71ise5vA
4_HyBhVO7gmPkqrsosrOh_DYJ4WYF1aJyTPO3h8KvSPp5zEma7EMgEFjyY1SlQByFNusve0n7-dCF7db9zQsTpZz97DIGZ_TIVasuWBaWFvpICpswfdfJ7z-eZyh3paj2wx19Yr1fURrtD
E1bkWsnBnFsQ63xUzOhHlCY1NoOkrqcZ6V8yx22G8NiPpa2T5qN3dPpgsJsKbpuigN1w",
"e": "AQAB"
},
"contact": [
"mailto:[email protected]"
],
"agreement": "https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf",
"initialIp": "176.10.148.226",
"createdAt": "2018-08-12T09:17:32.898718935Z",
"status": "valid"
}
?[35;1m[2018/08/12 09:17:33:1214] NOTICE: callback_acme_client: COMPLETED_CLIENT_HTTP
?[35;1m[2018/08/12 09:17:33:1291] NOTICE: _realloc: size 560: fake wsi (free heap 78396)
?[35;1m[2018/08/12 09:17:33:1372] NOTICE: LWS_CALLBACK_VHOST_CERT_UPDATE: 6
?[35;1m[2018/08/12 09:17:33:1444] NOTICE: _realloc: size 560: client wsi (free heap 78396)
?[35;1m[2018/08/12 09:17:33:1525] NOTICE: _realloc: size 28: client stash (free heap 78364)
?[35;1m[2018/08/12 09:17:33:1611] NOTICE: _realloc: size 33: strdup (free heap 78331)
?[35;1m[2018/08/12 09:17:33:1686] NOTICE: _realloc: size 16: strdup (free heap 78312)
?[35;1m[2018/08/12 09:17:33:1765] NOTICE: _realloc: size 33: strdup (free heap 78275)
?[35;1m[2018/08/12 09:17:33:1843] NOTICE: _realloc: size 33: strdup (free heap 78239)
?[35;1m[2018/08/12 09:17:33:1922] NOTICE: _realloc: size 16: strdup (free heap 78216)
?[35;1m[2018/08/12 09:17:33:2002] NOTICE: _realloc: size 5: strdup (free heap 78211)
?[35;1m[2018/08/12 09:17:33:2079] NOTICE: _realloc: size 996: ah struct (free heap 77212)
?[35;1m[2018/08/12 09:17:33:2160] NOTICE: _realloc: size 4096: ah data (free heap 73112)
?[35;1m[2018/08/12 09:17:33:2285] NOTICE: callback_acme_client: CLOSED_CLIENT_HTTP: 0x3ffdfd00
?[35;1m[2018/08/12 09:17:33:2432] NOTICE: lws_esp32_get_image_info: bad image header magic
tcp_connect: can only connect from state CLOSED
?[35;1m[2018/08/12 09:17:33:2549] NOTICE: ssl_pm_handshake
?[35;1m[2018/08/12 09:17:33:2558] NOTICE: mbedtls_handshake: ssl ret -0 state 1
?[35;1m[2018/08/12 09:17:33:2637] NOTICE: mbedtls_handshake: ssl ret -0 state 2
?[35;1m[2018/08/12 09:17:33:2683] NOTICE: mbedtls_handshake: ssl ret -6900 state 2
?[35;1m[2018/08/12 09:17:33:2831] NOTICE: ssl_pm_handshake
?[35;1m[2018/08/12 09:17:33:2850] NOTICE: mbedtls_handshake: ssl ret -0 state 3
?[35;1m[2018/08/12 09:17:33:2923] NOTICE: mbedtls_handshake: ssl ret -0 state 4
?[35;1m[2018/08/12 09:17:33:3957] NOTICE: mbedtls_handshake: ssl ret -0 state 5
?[35;1m[2018/08/12 09:17:33:3971] NOTICE: mbedtls_handshake: ssl ret -0 state 6
?[35;1m[2018/08/12 09:17:33:4000] NOTICE: mbedtls_handshake: ssl ret -0 state 7
?[35;1m[2018/08/12 09:17:33:4075] NOTICE: mbedtls_handshake: ssl ret -0 state 8
?[35;1m[2018/08/12 09:17:34:2991] NOTICE: mbedtls_handshake: ssl ret -0 state 9
?[35;1m[2018/08/12 09:17:34:3070] NOTICE: mbedtls_handshake: ssl ret -0 state 10
?[35;1m[2018/08/12 09:17:34:3097] NOTICE: mbedtls_handshake: ssl ret -0 state 11
?[35;1m[2018/08/12 09:17:34:3179] NOTICE: mbedtls_handshake: ssl ret -0 state 12
?[35;1m[2018/08/12 09:17:34:3211] NOTICE: mbedtls_handshake: ssl ret -6900 state 17
?[35;1m[2018/08/12 09:17:34:3359] NOTICE: heap :69960 (-3704)
?[35;1m[2018/08/12 09:17:34:3370] NOTICE: ssl_pm_handshake
?[35;1m[2018/08/12 09:17:34:3405] NOTICE: mbedtls_handshake: ssl ret -0 state 12
?[35;1m[2018/08/12 09:17:34:3472] NOTICE: mbedtls_handshake: ssl ret -0 state 13
?[35;1m[2018/08/12 09:17:34:3572] NOTICE: mbedtls_handshake: ssl ret -0 state 14
?[35;1m[2018/08/12 09:17:34:3618] NOTICE: mbedtls_handshake: ssl ret -0 state 15
?[35;1m[2018/08/12 09:17:34:3697] NOTICE: mbedtls_handshake: ssl ret -0 state 16
?[35;1m[2018/08/12 09:17:34:3779] NOTICE: realloc: size 172: genrsa (free heap 72012)
?[35;1m[2018/08/12 09:17:34:3872] NOTICE: realloc: size 256: jws sign (free heap 70568)
?[35;1m[2018/08/12 09:17:34:6930] NOTICE: prepare to send ACME_STATE_NEW_REG
?[35;1m[2018/08/12 09:17:34:7014] NOTICE: LWS_CALLBACK_CLIENT_HTTP_WRITEABLE
?[35;1m[2018/08/12 09:17:34:7048] NOTICE: realloc: size 567: truncated send alloc (free heap 68253)
?[35;1m[2018/08/12 09:17:34:7083] NOTICE: wrote 1099
?[35;1m[2018/08/12 09:17:34:9722] NOTICE: lws_client_interpret_server_handshake: incoming content length 1006
?[35;1m[2018/08/12 09:17:34:9731] NOTICE: lws_http_client_http_response 201
?[35;1m[2018/08/12 09:17:34:9788] NOTICE: lws_client_interpret_server_handshake: client connection up
?[35;1m[2018/08/12 09:17:34:9884] NOTICE: callback_acme_client: LWS_CALLBACK_RECEIVE_CLIENT_HTTP
{
"identifier": {
"type": "dns",
"value": "myexternal.url.here"
},
"status": "pending",
"expires": "2018-08-19T09:17:34Z",
"challenges": [
{
"type": "http-01",
"status": "pending",
"uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/U5bQAZ3PRU4MWIZCKjbb1R4N5fPuJYcngDkLEk-EEA/158817397",
"token": "CAzz95X6-POwYToRMvsCgVk1LTqrZdAvrRpzykyQjCo"
},
{
"type": "dns-01",
"status": "pending",
"uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/U5bQAZ3PRU4MWIZCKjbb1R4N5fPuJYcngDkLEk-EEA/158817398",
"token": "3oDruE5Ejjn2Y42w4lOxnwjTHtZlhRrIidbiQ7bfGJ4"
},
{
"type": "tls-alpn-01",
"status": "pending",
"uri": "https://acme-staging.api.letsencrypt.org/acme/challenge/U5bQAZ3PRU4MWIZCKjbb1R4N5fPuJYcngDkLEk-EEA/158817399",
"token": "gDYFryJSJeU-bm8uwzDmksjT0eude8hdGtom_81UWxc"
}
],
"combinations": [
[
2
],
[
0
],
[
1
]
]
}
?[35;1m[2018/08/12 09:17:35:0877] NOTICE: JAAZ_CHALLENGES_TOKEN: CAzz95X6-POwYToRMvsCgVk1LTqrZdAvrRpzykyQjCo 0
?[35;1m[2018/08/12 09:17:35:0971] NOTICE: JAAZ_CHALLENGES_TOKEN: 3oDruE5Ejjn2Y42w4lOxnwjTHtZlhRrIidbiQ7bfGJ4 0
?[35;1m[2018/08/12 09:17:35:1074] NOTICE: JAAZ_CHALLENGES_TOKEN: gDYFryJSJeU-bm8uwzDmksjT0eude8hdGtom_81UWxc 0
?[35;1m[2018/08/12 09:17:35:1172] NOTICE: callback_acme_client: COMPLETED_CLIENT_HTTP
?[35;1m[2018/08/12 09:17:35:1248] NOTICE: chall: (201)
?[35;1m[2018/08/12 09:17:35:1300] NOTICE: no challenge
?[31;1m[2018/08/12 09:17:35:1352] ERR: callback_acme_client: failed out
?[35;1m[2018/08/12 09:17:35:1420] NOTICE: _realloc: size 560: fake wsi (free heap 79964)
?[35;1m[2018/08/12 09:17:35:1502] NOTICE: LWS_CALLBACK_VHOST_CERT_UPDATE: 3
?[34;1m[2018/08/12 09:17:35:1571] DEBUG: lws_acme_finished
?[35;1m[2018/08/12 09:17:35:1629] NOTICE: callback_acme_client: CLOSED_CLIENT_HTTP: 0x3ffe32a4
?[35;1m[2018/08/12 09:17:35:1786] NOTICE: lws_esp32_get_image_info: bad image header magic
?[35;1m[2018/08/12 09:17:35:1843] NOTICE: heap :129396 (+59436)
So even though it does not work on the older release, it goes much further. I am using Firefox on Windows if it matters..
I also notice regular "tcp_connect: can only connect from state CLOSED" in both versions (I do not see these in the "test-demo" app), but I guess that this is unrelated.
Any idea on what is the problem with the Lets Encrypt function?
I believe that the following statement on line 75 in protocol_esp32_lws_ota.c should be changed from:
if (part->subtype < ESP_PARTITION_SUBTYPE_APP_OTA_MIN ||
part->subtype >= ESP_PARTITION_SUBTYPE_APP_OTA_MIN +
ESP_PARTITION_SUBTYPE_APP_OTA_MAX)
goto next;
to:
if (part->subtype < ESP_PARTITION_SUBTYPE_APP_OTA_MIN ||
part->subtype >= ESP_PARTITION_SUBTYPE_APP_OTA_MAX)
goto next;
Since definition of ESP_PARTITION_SUBTYPE_APP_OTA_MAX is:
ESP_PARTITION_SUBTYPE_APP_OTA_MAX = ESP_PARTITION_SUBTYPE_APP_OTA_MIN + 16,//!< Max subtype of OTA partition
Hi,
i am installing factory and app binaries using terminal script but i get automatically into factory. I try to change the bit at the end of ram but no success. Is there a way to manually set or change the code, that the firmware starts the app after first reboot
thanks
I'm not sure if this could be indicating an error or bug case .. but it is worth the question.
I am building a simple wss server on the esp that a wss client could connect to it and establish a connection, but sometimes for whatever reason, the connection fails at the handshake as shown below!
[2019/03/05 14:37:22:8823] NOTICE: SYSTEM_EVENT_STA_GOT_IP
[2019/03/05 14:37:22:8848] NOTICE: gapss from LWS_GAPSS_SCAN to LWS_GAPSS_STAT_HAPPY
[2019/03/05 14:37:22:8920] NOTICE: --- Got IP 192.168.8.107
[2019/03/05 13:37:25:8639] NOTICE: _realloc: size 552: new server wsi (free heap 4184744)
[2019/03/05 13:37:25:8691] NOTICE: lws_gate_accepts: on = 0
[2019/03/05 13:37:25:8706] NOTICE: ssl_pm_handshake
[2019/03/05 13:37:25:8761] NOTICE: mbedtls_handshake: ssl ret -0 state 1
[2019/03/05 13:37:25:8848] NOTICE: mbedtls_handshake: ssl ret -0 state 2
[2019/03/05 13:37:25:8937] NOTICE: mbedtls_handshake: ssl ret -0 state 3
[2019/03/05 13:37:25:9003] NOTICE: mbedtls_handshake: ssl ret -0 state 4
[2019/03/05 13:37:27:0379] NOTICE: mbedtls_handshake: ssl ret -0 state 5
[2019/03/05 13:37:27:0387] NOTICE: mbedtls_handshake: ssl ret -0 state 6
[2019/03/05 13:37:27:0443] NOTICE: mbedtls_handshake: ssl ret -0 state 7
[2019/03/05 13:37:27:0497] NOTICE: mbedtls_handshake: ssl ret -0 state 8
[2019/03/05 13:37:27:0578] NOTICE: mbedtls_handshake: ssl ret -6900 state 8
[2019/03/05 13:37:27:0649] NOTICE: _realloc: size 996: ah struct (free heap 4166508)
[2019/03/05 13:37:27:0751] NOTICE: _realloc: size 1024: ah data (free heap 4165376)
[2019/03/05 13:37:38:0069] NOTICE: lws_gate_accepts: on = 1
E (16947) lwscallback: # WSI DESTROY
I noticed that the return error code is not 0 by state 8 , could that be pointing somehow on the issue ?
Thanks
In the esp-idf commit "feature/nvs_encryption" two days ago, new definitions for mbedtls_aes_xts_context etc have been added in the mbedtls component. Other parts of esp-idf framwork expects these functions, why lws-esp32-factory (and also the test-demos-app) will not compile with the latest esp-idf.
-> suggestion is to update the mbedtls version that comes with lws-esp32-factory and lws-eps32-test-demos-app (together with the dynamic allocation patch).
EDIT: I also saw that in the new mbedtls version 2.12.0 that is now in esp-idf they have introduced a feature (not sure if it affects your dynamic patch):
Make the receive and transmit buffers independent sizes, for situations
where the outgoing buffer can be fixed at a smaller size than the incoming
buffer, which can save some RAM. If buffer lengths are kept equal, there
is no functional difference. Contributed by Angus Gratton, and also
independently contributed again by Paul Sokolovsky.
Hi,
What would be the reason for the following error:
lws-esp32-factory/components/bootloader/Makefile.projbuild:37: *** multiple target patterns. Stop.
I followed the README:
➜ github:warmcat git clone [email protected]:warmcat/lws-esp32-factory.git
Cloning into 'lws-esp32-factory'...
remote: Counting objects: 733, done.
remote: Total 733 (delta 0), reused 0 (delta 0), pack-reused 733
Receiving objects: 100% (733/733), 1.22 MiB | 523.00 KiB/s, done.
Resolving deltas: 100% (270/270), done.
➜ github:warmcat cd lws-esp32-factory
➜ lws-esp32-factory git:(master) git submodule update --init --recursive
Submodule 'components/libwebsockets' (https://github.com/warmcat/libwebsockets) registered for path 'components/libwebsockets'
Submodule 'components/mbedtls' (https://github.com/lws-team/mbedtls.git) registered for path 'components/mbedtls'
Cloning into '/Users/marko/github:warmcat/lws-esp32-factory/components/libwebsockets'...
Cloning into '/Users/marko/github:warmcat/lws-esp32-factory/components/mbedtls'...
Submodule path 'components/libwebsockets': checked out 'a0581a926bb841ca6f2e1299d47206e67ee780f9'
Submodule path 'components/mbedtls': checked out '4efb69fc0c5c7a007395d55044fafb86a97ec4ed'
➜ lws-esp32-factory git:(master) make erase_flash
/Users/marko/github:warmcat/lws-esp32-factory/components/bootloader/Makefile.projbuild:37: *** multiple target patterns. Stop.
The hello_world example from https://github.com/espressif/esp-idf works as expected and I can run make erase_flash
from there successfully.
I'm using the SparkFun ESP32 Thing on macOS High Sierra.
Thanks!
can you provide websocket client example code for esp32
I am getting linker errors.
C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o):(.literal._ZN8ziputils8unzipper10closeEntryEv+0x0): undefined reference to unzCloseCurrentFile' C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o):(.literal._ZN8ziputils8unzipper9openEntryEPKc+0x0): undefined reference to
unzLocateFile'
C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o):(.literal._ZN8ziputils8unzipper9openEntryEPKc+0x4): undefined reference to unzOpenCurrentFile' C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o):(.literal._ZN8ziputils8unzipper5closeEv+0x0): undefined reference to
unzClose'
C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o):(.literal._ZN8ziputils8unzipper12getEntrySizeEv+0x0): undefined reference to unzGetCurrentFileInfo64' C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o):(.literal._ZN8ziputils8unzipperrsERSo+0x0): undefined reference to
unzReadCurrentFile'
C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o):(.literal._ZN8ziputils8unzipper11readEntriesEv+0x0): undefined reference to unzGetGlobalInfo64' C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o):(.literal._ZN8ziputils8unzipper11readEntriesEv+0x4): undefined reference to
unzGoToNextFile'
C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o):(.literal._ZN8ziputils8unzipper4openEPKc+0x0): undefined reference to unzOpen64' C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o): In function
ziputils::unzipper::closeEntry()':
c:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\5.2.0\bits/char_traits.h:243: undefined reference to unzCloseCurrentFile' C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o): In function
ziputils::unzipper::openEntry(char const*)':
c:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\5.2.0\bits/char_traits.h:243: undefined reference to unzLocateFile' c:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\5.2.0\bits/char_traits.h:243: undefined reference to
unzOpenCurrentFile'
C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o): In function ziputils::unzipper::close()': c:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\5.2.0\bits/char_traits.h:243: undefined reference to
unzClose'
C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o): In function ziputils::unzipper::getEntrySize()': c:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\5.2.0\bits/char_traits.h:243: undefined reference to
unzGetCurrentFileInfo64'
C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o): In function ziputils::unzipper::operator>>(std::basic_ostream<char, std::char_traits<char> >&)': c:\msys32\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\5.2.0\bits/char_traits.h:243: undefined reference to
unzReadCurrentFile'
C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o): In function ziputils::unzipper::readEntries()': C:/Work/LibDev/esp32/esp-idf/components/cpp_utils/unzipper.cpp:138: undefined reference to
unzGetGlobalInfo64'
C:/Work/LibDev/esp32/esp-idf/components/cpp_utils/unzipper.cpp:146: undefined reference to unzGetCurrentFileInfo64' C:/Work/LibDev/esp32/esp-idf/components/cpp_utils/unzipper.cpp:159: undefined reference to
unzGoToNextFile'
C:/Work/Actisense/esp32/build/cpp_utils\libcpp_utils.a(unzipper.o): In function ziputils::unzipper::open(char const*)': C:/Work/LibDev/esp32/esp-idf/components/cpp_utils/unzipper.cpp:30: undefined reference to
unzOpen64'
Not sure if this issue belongs to lws-esp32-factory or the lws-esp32-test-demo. Sorry if I post it in the wrong place.
When connecting to esp32 running the test-demo with a second PC (first PC is Win10-Edge browser, second pc is Win7 with IE10) it takes a long time to load the page and the watchdog triggers frequently during the loading, requiring a refresh of the browser. See log (Note: I have a USB-serial issue, why some of the characters are doubled when I run make monitor, but that is not related to lws):
?[35;1m[2018/02/02 17:05:58:0060] NOTICE: heap :130420 (-164)
?[35;1m[2018/02/02 17:05:59:0060] NOTICE: heap :130260 (-160)
?[35;1m[2018/02/02 17:05:59:7702] NOTICE: SYSTEM_EVENT__SCAN_DONE
?[35;1m[2018/02/02 17:05:59:7713] NOTICE: scan_finished: count 6
?[35;1m[2018/02/02 17:05:59:7799] NOOTICE: lws_esp32_get_image_info: bad image header magic
?[35;1m[2018/02/02 17:06:00:0062] NOTICE: heap :121736 (-8524)
?[35;1m[2018/02/02 17:06:00::3426] NOTICE: _realloc: size 552: new server wsi (free heap 120460)
?[35;1m[[2018/02/02 17:06:00:3462] NOTICE: ssl_pm_handshake
?[35;1m[2018/02/02 17:06:00:3469] NOTICE: mbedtls_handshake: ssl ret -0 state 1
?[35;1m[2018/02/02 17:06:00:3542] NOTICE: mbedtls_handshake: ssl ret -6900 state 1
?[35;1m[2018/02/02 17:06:00:3614] NOTICE: _realloc: size 996: ah struct (free heap 81912)
?[35;1m[2018/02/02 117:06:00:3707] NOTICE: _realloc: size 4096: ah data (free heap 77572)
?[35;1m[2018/02/02 17:06:00:3783] NOTICE: ssl_pm_handshake
?[35;1m[2018/02/02 17:06:00:3846] NOTICE: mbedtls_handdshake: ssl ret -0 state 2
?[35;1m[2018/02/02 17:06:00:3939] NOTICE: mbedtls_handshake: ssl ret -0 state 3
?[35;1m[2018/02/02 17:06:00:4015] NOTICE: mbedtls_handshake: ssl ret -0 state 4
?[35;1m[20118/02/02 17:06:00:8163] NOTICE: mbedtls_handshake: ssl ret -0 state 5
?[35;1m[[2018/02/02 17:06:00:8172] NOTICE: mbedtls_handshake: ssl ret -0 state 6
?[35;1m[2018/02/02 17:06:00:8253] NOTICCE: mbedtls_handshake: ssl ret -0 state 7
?[35;1m[2018/02/02 17:06:00:8286] NOTICE: mbedtls_handshake: ssl ret -0 state 8
?[35;1m[2018/02/02 17:06:00:8361] NOTICE: mbedtls_handshake: ssl ret -6900 state 8
?[35;1m[2018/02/02 17:06:00:9651] NOTICE: ssl_pm_handshake
Task watchdog got triggered. The following tasks did not reset the watchdog in time:
Hello,
I got an issue debugging the lws-template app with JTAG.
I used the description from esp-idf:
https://esp-idf.readthedocs.io/en/latest/api-guides/jtag-debugging/index.html
Did you try to debug this application with JTAG?
I used this commit:
commit d4a1be4
Author: Andy Green [email protected]
Date: Sun Aug 13 07:47:05 2017 +0800esp32: document gpio may conflict with jtag
I used the esp-idf v2.1-rc1, because I did not update already.
Info : Target halted. PRO_CPU: PC=0x00000000 APP_CPU: PC=0x00000000 (active)
Error: cpu0: xtensa_write_memory (line 696): DSR (FFFFFFFF) indicates target still busy!
Error: cpu0: xtensa_write_memory (line 696): DSR (FFFFFFFF) indicates DIR instruction generated an exception!
Error: cpu0: xtensa_write_memory (line 696): DSR (FFFFFFFF) indicates DIR instruction generated an overrun!
Warn : esp32: Failed writing 4 bytes at address 0x3FF5F064, data - a1, 3a, d8, 50, a1, 3a, d8, 50
embedded:startup.tcl:21: Error:
in procedure 'init'
in procedure 'ocd_bouncer'
in procedure 'flash'
in procedure 'ocd_bouncer'
in procedure 'esp_core_halt'
in procedure 'esp32' called at file "share/openocd/scripts/target/esp32.cfg", line 46
in procedure 'ocd_bouncer'
at file "embedded:startup.tcl", line 21
Info : esp32: Debug controller was reset (pwrstat=0xFF, after clear 0xFF).
Info : esp32: Core was reset (pwrstat=0xFF, after clear 0xFF).
Error: cpu0: esp32_fetch_all_regs (line 163): DSR (FFFFFFFF) indicates target still busy!
Error: cpu0: esp32_fetch_all_regs (line 163): DSR (FFFFFFFF) indicates DIR instruction generated an exception!
Error: cpu0: esp32_fetch_all_regs (line 163): DSR (FFFFFFFF) indicates DIR instruction generated an overrun!
Error: cpu0: esp32_fetch_all_regs (line 190): DSR (FFFFFFFF) indicates target still busy!
Error: cpu0: esp32_fetch_all_regs (line 190): DSR (FFFFFFFF) indicates DIR instruction generated an exception!
Error: cpu0: esp32_fetch_all_regs (line 190): DSR (FFFFFFFF) indicates DIR instruction generated an overrun!
Error: Exception reading pc!
Info : Target halted. PRO_CPU: PC=0x00000000 APP_CPU: PC=0x00000000 (active)
Error: cpu0: xtensa_write_memory (line 696): DSR (FFFFFFFF) indicates target still busy!
Error: cpu0: xtensa_write_memory (line 696): DSR (FFFFFFFF) indicates DIR instruction generated an exception!
Error: cpu0: xtensa_write_memory (line 696): DSR (FFFFFFFF) indicates DIR instruction generated an overrun!
Warn : esp32: Failed writing 4 bytes at address 0x3FF5F064, data - a1, 3a, d8, 50, a1, 3a, d8, 50
embedded:startup.tcl:21: Error:
in procedure 'esp_core_halt'
in procedure 'esp32' called at file "share/openocd/scripts/target/esp32.cfg", line 46
in procedure 'ocd_bouncer'
at file "embedded:startup.tcl", line 21
esp32: target state: halted
Info : accepting 'gdb' connection on tcp/3333
Info : Use core1 of target 'esp32'
Error: cpu0: xtensa_read_memory (line 588): DSR (FFFFFFFF) indicates target still busy!
Error: cpu0: xtensa_read_memory (line 588): DSR (FFFFFFFF) indicates DIR instruction generated an exception!
Error: cpu0: xtensa_read_memory (line 588): DSR (FFFFFFFF) indicates DIR instruction generated an overrun!
Warn : cpu0: Failed reading 7416 bytes at address 0x40090000
Error: no working area available, can't alloc space for stub code!
Error: Failed to load stub (-308)!
Error: Algorithm run faied (-308)!
Info : Auto-detected flash size 0 KB
Error: Failed to probe flash, size 0 KB
Info : Set current thread to 0x00000000, old= 0x00000000
Error: cpu0: xtensa_read_memory (line 588): DSR (FFFFFFFF) indicates target still busy!
Error: cpu0: xtensa_read_memory (line 588): DSR (FFFFFFFF) indicates DIR instruction generated an exception!
Error: cpu0: xtensa_read_memory (line 588): DSR (FFFFFFFF) indicates DIR instruction generated an overrun!
Warn : cpu0: Failed reading 4 bytes at address 0x3FFB3178
Error: Could not read FreeRTOS thread count from target
if esp connects to my wifi, than he gets a hostname like lws-123 and i can see this name in my router, but the ip 192.168.x.x can not be resolved. I can access using direct ip or i can create a static link (probably a dns entry) and can access via hostname but even i have read lot of article about netbios, dhcp, dns, mdns, i have no clue how my router should resolve the hostname.
Is there a missing mdns?
Hi, I am using PlatformIo and I would like to use lws-esp32-factory on NodeMCU-32S Development board by using Windows.
I am not sure what happened here, but I was using the test-demo with one Win10/Edge-browser connected with a websocket open to do the "shared drawing". Only one computer connected. I did a "stress test" = intesive drawing with the mouse, and got this error after about 20 seconds of drawing:
?[35;1m[2018/02/02 17:44:37:0035] NOTICE: heap :165664 (-1472)
?[31;1m[2018/02/02 17:44:38:3798] ERR:
?[31;1m[2018/02/02 17:44:38:3810] ERR: 0000: 81 1A 45 23 64 20 23 30 30 30 30 66 66 20 33 33 ..E#d #0000ff 33
?[31;1m[2018/02/02 17:44:38:3838] ERR: 0010: 388 20 39 32 20 33 34 33 20 38 38 3B 8 92 343 88;
?[31;1m[2018/02/02 17:44:38:3939] ERR:
?[31;1m[2018/02/02 17:44:38:3979] ERR: ** 0x3ffd5bc4: vh: station, prot: lws-meta, Illegal back-to-back write of 28 detec
ted...
?[35;1m[20018/02/02 17:44:39:0251] NOTICE: heap :186156 (+20492)
I have noticed that the esp32 runs pretty hot and that the watchdog triggers (complaining that main on CPU 0 have not reset the watchdog in time) frequently when a browser connects, so the CPU is probably fairly busy...
I am building lws-esp32-factory from windows 10 using MINGW32 as per suggested here: https://libwebsockets.org/git/lws-esp32-factory.
but getting some error for ASIO as below:
lws-esp32-factory/esp-idf/components/asio/asio/asio/include/asio/execution_context.hpp:127:27: error: macro "shutdown" requires 2 arguments, but only 1 given ASIO_DECL void shutdown();
lws-esp32-factory/esp-idf/components/asio/asio/asio/include/asio/detail/scheduler.hpp:66:50: error: macro "poll" requires 3 arguments, but only 1 given ASIO_DECL std::size_t poll(asio::error_code& ec);
lws-esp32-factory/esp-idf/components/asio/asio/asio/include/asio/detail/socket_ops.hpp:67:47: error: macro "accept" passed 4 arguments, but takes just 3 std::size_t* addrlen, asio::error_code& ec);
Please let me know what causing this problem.
Is there any plan to support arduino-esp32 ?
Hello, the Auto-update feature is not working, because Makefile sets LWS_IS_FACTORY_APPLICATION to '1' while libwebscokets/plugins/protocol_esp32_lws_scan.c is comparing it to 'y'.
#if CONFIG_LWS_IS_FACTORY_APPLICATION == 'y' ...
Thanks.
Hi,
I got the image working for a little while, but now it has stopped responding to /factory.html.
The output from 'make monitor' is:
E (50) boot: force_factory 0 bs.ota_info.offset 53248
I (1027) cpu_start: Pro cpu up.
I (1027) cpu_start: Single core mode
I (1028) heap_alloc_caps: Initializing. RAM available for dynamic allocation:
I (1041) heap_alloc_caps: At 3FFAE2A0 len 00001D60 (7 KiB): DRAM
I (1062) heap_alloc_caps: At 3FFB8AF0 len 00027510 (157 KiB): DRAM
I (1083) heap_alloc_caps: At 3FFE0440 len 00003BC0 (14 KiB): D/IRAM
I (1104) heap_alloc_caps: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (1126) heap_alloc_caps: At 4009272C len 0000D8D4 (54 KiB): IRAM
check b=0x3ffae2ac size=7496 ok
check b=0x3ffafff4 size=0 ok
check b=0x3ffb8afc size=161016 ok
check b=0x3ffdfff4 size=0 ok
check b=0x3ffe044c size=15272 ok
check b=0x3ffe3ff4 size=0 ok
check b=0x3ffe435c size=113816 ok
check b=0x3ffffff4 size=0 ok
check b=0x40092738 size=55484 ok
I (1225) cpu_start: Pro cpu start user code
I (1283) cpu_start: Starting scheduler on PRO CPU.
I (1361) wifi: wifi firmware version: ba7c292
I (1361) wifi: config NVS flash: disabled
I (1361) wifi: config nano formating: disabled
I (1371) wifi: Init dynamic tx buffer num: 20
I (1371) wifi: Init dynamic rx buffer num: 20
I (1371) wifi: wifi driver task: 3ffc13d8, prio:23, stack:3584
I (1381) wifi: Init static rx buffer num: 20
I (1381) wifi: Init dynamic rx buffer num: 20
I (1391) wifi: Init rx ampdu len mblock:7
I (1391) wifi: Init lldesc rx ampdu entry mblock:4
I (1391) wifi: wifi power manager task: 0x3ffca8a8 prio: 21 stack: 2560
E (1401) wifi: wifi_set_chan_range 1694 ret=1
I (1411) wifi: wifi timer task: 3ffcb978, prio:22, stack:3584
I (1431) phy: phy_version: 350, Mar 22 2017, 15:02:06, 0, 0
I (1431) wifi: mode : sta (24:0a:c4:03:cd:60) + softAP (24:0a:c4:03:cd:61)
4: No SSL certs... using port 80
4: Initial logging level 63
4: Libwebsockets version: 2.2.0 [email protected]
4: IPV6 not compiled in
4: LWS_WITH_STATS : on
4: Threads: 1 each 30 fds
4: mem: platform fd map: 120 bytes
4: Compiled with OpenSSL support
4: SSL disabled: no LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT
4: mem: per-conn: 456 bytes + protocol rx buf
1: Failed to mount ROMFS at 0xc2f14 0xc2f14
4: setting mount default to factory
I (2071) wifi: n:6 1, o:6 0, ap:6 1, sta:0 0, prof:6
I (2071) wifi: station: e0:94:67:f6:fc:ac join, AID=1, n, 40U
Going to http://192.168.4.1/factory.html just gives a 404. My computer is attached to the AP, as I can see it list my mac address in the 'make monitor' output, but the webserver does not respond.
The problem might have occured after I uploaded wrong files for the SSL certificates, but I seem to be unable to recorver, even after doing 'make erase_flash' and also flashing other binary images, and back again to this lws-esp32-factory image.
Is there anything other than 'make erase_flash' that can be run to wipe everything?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.