SlimeVR / SlimeVR-Tracker-ESP

SlimeVR tracker firmware for ESP32/ESP8266 and different IMUs
Apache License 2.0
843 stars 288 forks source link

Trackers not connecting without WiFi reboot #203

Open ButterscotchV opened 1 year ago

ButterscotchV commented 1 year ago

Discussion is on Discord: https://discord.com/channels/817184208525983775/1027559999574114376

There seems to be an issue with specific routers where a reboot is required to get Slime trackers to connect.

Routers known to have this issue:

Routers that might work using a workaround introduced in firmware version 0.3.0 (WIFI_PHY_MODE_11G):

Routers that require to be set to "Legacy" Wireless Mode:

Screenshot_20221007-002639.jpg (From Loler920a-Frank)

Routers that do not have this issue:

Eirenliel commented 1 year ago

seem to be related: https://github.com/esp8266/Arduino/issues/8412

ButterscotchV commented 1 year ago

Stumbled upon a possible solution from the esp8266 thread, apparently these issues are fixed in the latest esp8266 Arduino version and you can switch to that in PlatformIO by changing the board config in platformio.ini

From

[env:esp12e]
platform = espressif8266
board = esp12e
; Comment out this line below if you have any trouble uploading the firmware
; and if it has a CP2102 on it (a square chip next to the usb port): change to 3000000 (3 million) for even faster upload speed
upload_speed = 921600

to

[env:esp12e]
platform = espressif8266
board = esp12e
; Comment out this line below if you have any trouble uploading the firmware
; and if it has a CP2102 on it (a square chip next to the usb port): change to 3000000 (3 million) for even faster upload speed
upload_speed = 921600
platform_packages =
  platformio/framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
ButterscotchV commented 1 year ago

Should be fixed with release 0.3.0

ButterscotchV commented 1 year ago

Re-opening at the request of @nullstalgia, the source of the problem still isn't quite found

TheGuardianWolf commented 1 year ago

image

I am able to connect without the fallback by switching to 20MHz simply. Perhaps this chip is not compatible with 40MHz? ESP32 is fine though.

Before on 20/40MHz image

After: image

Might be relevant: https://www.hackster.io/news/esp8266-or-esp32-connectivity-woes-check-your-wi-fi-channel-suggests-olimex-s-tsvetan-usunov-d6d4791884d3