espressif / esp-protocols

Collection of ESP-IDF components related to networking protocols
165 stars 115 forks source link

[BUG] Websocket Target when uri "ws://echo.websocket.org" (IDFGH-12192) #512

Closed filzek closed 3 months ago

filzek commented 4 months ago

Answers checklist.

What component are you using? If you choose Other, provide details in More Information.

esp_websocket_client

component version

1.2.2

IDF version.

SDK V5.2 Release

More Information.

WEBSOCKET do not connect to any websocket and give the error as below, no matter use WS or WSS the problem is the same

I (380) cpu_start: Multicore app I (389) cpu_start: Pro cpu start user code I (389) cpu_start: cpu freq: 160000000 Hz I (390) cpu_start: Application information: I (393) cpu_start: Project name: websocket_example I (398) cpu_start: App version: ad31043-dirty I (404) cpu_start: Compile time: Feb 23 2024 13:53:08 I (410) cpu_start: ELF file SHA256: 49b9d2b32... I (415) cpu_start: ESP-IDF: v5.2-166-ge0944287f3-dirty I (422) cpu_start: Min chip rev: v0.0 I (427) cpu_start: Max chip rev: v3.99 I (431) cpu_start: Chip rev: v3.0 I (436) heap_init: Initializing. RAM available for dynamic allocation: I (444) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM I (449) heap_init: At 3FFB84B0 len 00027B50 (158 KiB): DRAM I (456) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM I (462) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM I (468) heap_init: At 40096C70 len 00009390 (36 KiB): IRAM I (476) spi_flash: detected chip: gd I (479) spi_flash: flash io: dio W (483) flash_encrypt: Flash encryption mode is DEVELOPMENT (not secure) I (491) nvs_sec_provider: NVS Encryption - Registering Flash encryption-based scheme... I (501) main_task: Started on CPU0 I (511) main_task: Calling app_main() I (511) websocket: [APP] Startup.. I (511) websocket: [APP] Free memory: 274564 bytes I (511) websocket: [APP] IDF version: v5.2-166-ge0944287f3-dirty I (531) nvs: NVS partition "nvs" is encrypted. I (541) example_connect: Start example_connect. I (551) wifi:wifi driver task: 3ffc0bec, prio:23, stack:6656, core=0 I (551) wifi:wifi firmware version: cc1dd81 I (551) wifi:wifi certification version: v7.0 I (551) wifi:config NVS flash: enabled I (551) wifi:config nano formating: disabled I (561) wifi:Init data frame dynamic rx buffer num: 32 I (561) wifi:Init static rx mgmt buffer num: 5 I (571) wifi:Init management short buffer num: 32 I (571) wifi:Init dynamic tx buffer num: 32 I (571) wifi:Init static rx buffer size: 1600 I (581) wifi:Init static rx buffer num: 10 I (581) wifi:Init dynamic rx buffer num: 32 I (591) wifi_init: rx ba win: 6 I (591) wifi_init: tcpip mbox: 32 I (591) wifi_init: udp mbox: 6 I (601) wifi_init: tcp mbox: 6 I (601) wifi_init: tcp tx win: 5760 I (611) wifi_init: tcp rx win: 5760 I (611) wifi_init: tcp mss: 1440 I (611) wifi_init: WiFi IRAM OP enabled I (621) wifi_init: WiFi RX IRAM OP enabled I (621) phy_init: phy_version 4791,2c4672b,Dec 20 2023,16:06:06 I (721) wifi:mode : sta (08:3a:f2:04:a3:c8) I (721) wifi:enable tsf I (721) example_connect: Connecting to WiseHome... I (731) example_connect: Waiting for IP(s) I (3141) wifi:new:<2,1>, old:<1,0>, ap:<255,255>, sta:<2,1>, prof:1 I (3391) wifi:state: init -> auth (b0) I (3401) wifi:state: auth -> assoc (0) I (3421) wifi:state: assoc -> run (10) I (3441) wifi:connected with WiseHome, aid = 1, channel 2, 40U, bssid = 00:31:92:f0:b9:5e I (3441) wifi:security: WPA2-PSK, phy: bgn, rssi: -57 I (3451) wifi:pm start, type: 1

I (3451) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us I (3481) wifi:idx:0 (ifx:0, 00:31:92:f0:b9:5e), tid:6, ssn:2, winSize:64 I (3491) wifi:AP's beacon interval = 102400 us, DTIM period = 1 I (4461) esp_netif_handlers: example_netif_sta ip: 192.168.15.60, mask: 255.255.255.0, gw: 192.168.15.1 I (4461) example_connect: Got IPv4 event: Interface "example_netif_sta" address: 192.168.15.60 I (4531) example_connect: Got IPv6 event: Interface "example_netif_sta" address: fe80:0000:0000:0000:0a3a:f2ff:fe04:a3c8, type: ESP_IP6_ADDR_IS_LINK _LOCAL I (4531) example_common: Connected to example_netif_sta I (4541) example_common: - IPv4 address: 192.168.15.60, I (4541) example_common: - IPv6 address: fe80:0000:0000:0000:0a3a:f2ff:fe04:a3c8, type: ESP_IP6_ADDR_IS_LINK_LOCAL I (4551) websocket: Connecting to ws://echo.websocket.org... W (4561) websocket_client: reconnect_timeout_ms is not set, or it is less than or equal to zero, using default time out 10000 (milliseconds) W (4571) websocket_client: network_timeout_ms is not set, or it is less than or equal to zero, using default time out 10000 (milliseconds) I (5731) wifi:idx:1 (ifx:0, 00:31:92:f0:b9:5e), tid:0, ssn:1, winSize:64 E (6361) transport_base: poll_read select error 104, errno = Connection reset by peer, fd = 54 E (6361) transport_ws: Error read response for Upgrade header GET / HTTP/1.1 Connection: Upgrade Host: echo.websocket.org:80 User-Agent: ESP32 Websocket Client Upgrade: websocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: AbzFpC9Y4IrOyQSj6PGTzA==

E (6381) websocket_client: esp_transport_connect() failed with -1, transport_error=ESP_OK, tls_error_code=0, tls_flags=0, esp_ws_handshake_status_co de=0, errno=119 I (6401) websocket: WEBSOCKET_EVENT_ERROR I (6401) websocket_client: Reconnect after 10000 ms I (6411) websocket: WEBSOCKET_EVENT_DISCONNECTED E (6411) websocket: Last error captured as transport's socket errno: 0x68 I (9591) websocket: No data received for 5 seconds, signaling shutdown E (16491) transport_base: poll_read select error 104, errno = Connection reset by peer, fd = 54 E (16491) transport_ws: Error read response for Upgrade header GET / HTTP/1.1 Connection: Upgrade Host: echo.websocket.org:80 User-Agent: ESP32 Websocket Client Upgrade: websocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: RrFxzjIlZqQ2lIuce0Q0NQ==

E (16511) websocket_client: esp_transport_connect() failed with -1, transport_error=ESP_OK, tls_error_code=0, tls_flags=0, esp_ws_handshake_status_c ode=0, errno=119 I (16531) websocket: WEBSOCKET_EVENT_ERROR E (16531) websocket: Last error reported from tls stack: 0x3ffc9a10 E (16541) websocket: Last error captured as transport's socket errno: 0x68 I (16551) websocket_client: Reconnect after 10000 ms I (16551) websocket: WEBSOCKET_EVENT_DISCONNECTED E (27021) transport_base: poll_read select error 104, errno = Connection reset by peer, fd = 54 E (27021) transport_ws: Error read response for Upgrade header GET / HTTP/1.1 Connection: Upgrade Host: echo.websocket.org:80 User-Agent: ESP32 Websocket Client Upgrade: websocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: PCBve2AWdYUUY920bt+5/w==

E (27041) websocket_client: esp_transport_connect() failed with -1, transport_error=ESP_OK, tls_error_code=0, tls_flags=0, esp_ws_handshake_status_c ode=0, errno=119 I (27061) websocket: WEBSOCKET_EVENT_ERROR E (27061) websocket: Last error reported from tls stack: 0x3ffc9a10 E (27071) websocket: Last error captured as transport's socket errno: 0x68 I (27081) websocket_client: Reconnect after 10000 ms I (27081) websocket: WEBSOCKET_EVENT_DISCONNECTED E (37201) transport_base: poll_read select error 104, errno = Connection reset by peer, fd = 54 E (37201) transport_ws: Error read response for Upgrade header GET / HTTP/1.1 Connection: Upgrade Host: echo.websocket.org:80 User-Agent: ESP32 Websocket Client Upgrade: websocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: ak7Ed0k6cPxEU6A9mTGrFg==

E (37231) websocket_client: esp_transport_connect() failed with -1, transport_error=ESP_OK, tls_error_code=0, tls_flags=0, esp_ws_handshake_status_code=0, errno=119 I (37241) websocket: WEBSOCKET_EVENT_ERROR E (37251) websocket: Last error reported from tls stack: 0x3ffc9a10 E (37251) websocket: Last error captured as transport's socket errno: 0x68 I (37261) websocket_client: Reconnect after 10000 ms I (37271) websocket: WEBSOCKET_EVENT_DISCONNECTED E (47331) transport_base: poll_read select error 104, errno = Connection reset by peer, fd = 54 E (47331) transport_ws: Error read response for Upgrade header GET / HTTP/1.1 Connection: Upgrade Host: echo.websocket.org:80 User-Agent: ESP32 Websocket Client Upgrade: websocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: 54PyyKMrajf1ri23fjVBjw==

E (47351) websocket_client: esp_transport_connect() failed with -1, transport_error=ESP_OK, tls_error_code=0, tls_flags=0, esp_ws_handshake_status_code=0, errno=119 I (47371) websocket: WEBSOCKET_EVENT_ERROR E (47371) websocket: Last error reported from tls stack: 0x3ffc9a10 E (47381) websocket: Last error captured as transport's socket errno: 0x68 I (47391) websocket_client: Reconnect after 10000 ms I (47391) websocket: WEBSOCKET_EVENT_DISCONNECTED E (57471) transport_base: poll_read select error 104, errno = Connection reset by peer, fd = 54 E (57471) transport_ws: Error read response for Upgrade header GET / HTTP/1.1 Connection: Upgrade Host: echo.websocket.org:80 User-Agent: ESP32 Websocket Client Upgrade: websocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: uOYZSIci3F3MNhBBnpCN5Q==

E (57491) websocket_client: esp_transport_connect() failed with -1, transport_error=ESP_OK, tls_error_code=0, tls_flags=0, esp_ws_handshake_status_code=0, errno=119 I (57511) websocket: WEBSOCKET_EVENT_ERROR E (57511) websocket: Last error reported from tls stack: 0x3ffc9a10 E (57521) websocket: Last error captured as transport's socket errno: 0x68 I (57531) websocket_client: Reconnect after 10000 ms I (57531) websocket: WEBSOCKET_EVENT_DISCONNECTED E (57541) websocket: Last error reported from tls stack: 0xb33fffff E (67611) transport_base: poll_read select error 104, errno = Connection reset by peer, fd = 54 E (67611) transport_ws: Error read response for Upgrade header GET / HTTP/1.1 Connection: Upgrade Host: echo.websocket.org:80 User-Agent: ESP32 Websocket Client Upgrade: websocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: rupJlfPXdG/hguJFdltugg==

E (67631) websocket_client: esp_transport_connect() failed with -1, transport_error=ESP_OK, tls_error_code=0, tls_flags=0, esp_ws_handshake_status_code=0, errno=119 I (67641) websocket: WEBSOCKET_EVENT_ERROR E (67651) websocket: Last error reported from tls stack: 0x3ffc9a10 E (67661) websocket: Last error captured as transport's socket errno: 0x68 I (67661) websocket_client: Reconnect after 10000 ms I (67671) websocket: WEBSOCKET_EVENT_DISCONNECTED E (77741) transport_base: poll_read select error 104, errno = Connection reset by peer, fd = 54 E (77741) transport_ws: Error read response for Upgrade header GET / HTTP/1.1 Connection: Upgrade Host: echo.websocket.org:80 User-Agent: ESP32 Websocket Client Upgrade: websocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: BeQJhnRD1SdNZSdIulKZaw==

E (77761) websocket_client: esp_transport_connect() failed with -1, transport_error=ESP_OK, tls_error_code=0, tls_flags=0, esp_ws_handshake_status_code=0, errno=119 I (77771) websocket: WEBSOCKET_EVENT_ERROR E (77781) websocket: Last error reported from tls stack: 0x3ffc9a10 E (77791) websocket: Last error captured as transport's socket errno: 0x68 I (77791) websocket_client: Reconnect after 10000 ms I (77801) websocket: WEBSOCKET_EVENT_DISCONNECTED E (87881) transport_base: poll_read select error 104, errno = Connection reset by peer, fd = 54 E (87881) transport_ws: Error read response for Upgrade header GET / HTTP/1.1 Connection: Upgrade Host: echo.websocket.org:80 User-Agent: ESP32 Websocket Client Upgrade: websocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: YmeJ9nJx2mTys7IhtC50Yw==

E (87901) websocket_client: esp_transport_connect() failed with -1, transport_error=ESP_OK, tls_error_code=0, tls_flags=0, esp_ws_handshake_status_code=0, errno=119 I (87921) websocket: WEBSOCKET_EVENT_ERROR E (87921) websocket: Last error reported from tls stack: 0x3ffc9a10 E (87931) websocket: Last error captured as transport's socket errno: 0x68 I (87941) websocket_client: Reconnect after 10000 ms I (87941) websocket: WEBSOCKET_EVENT_DISCONNECTED I BOD: Brownout detector was triggered

david-cermak commented 4 months ago

Hi @filzek

I think they just discontinued the echo.websocket.org endpoint over plain text websockets. you can switch to wss://echo.websocket.org

david-cermak commented 3 months ago

Closing as the problem is not on the client side (feel free to reopen and comment further)...