PlummersSoftwareLLC / NightDriverStrip

NightDriver client for ESP32
https://plummerssoftwarellc.github.io/NightDriverStrip/
GNU General Public License v3.0
1.29k stars 210 forks source link

SPIFFS Failing on a 32MB 8MB ESP32-S3-DevKitC1 #579

Closed GameTec-live closed 6 months ago

GameTec-live commented 6 months ago

Bug report

ESP32-S3-DevKitC-1 8M PRAM 8MB Flash

Problem On a ESP32-S3-DevKitC-1 8M PRAM 8MB Flash i can compile and flash the Chip but SPIFFS Seems completly broken. It cant mount, format or similar and therefore it doesnt work and constantly breaks.

Probalby not relevant, but im trying to drive a LED Matrix...

Steps

  1. Expand the Demo script to use the esp32-s3... image

  2. Enable Wifi and Webserver / Anything that needs IPFSS

  3. See it fail

Yes, i have tried to add in other parametrs like using the 8MB table: image

Example

Notes

robertlipe commented 6 months ago

I use the 16mb versions of those boards. They're fine with spiffs. Have you perhaps reused the gpio lines that are repurposed for spi flash/ram?

Does the board. Pass the psram test earlier?

On Wed, Dec 27, 2023, 7:13 AM GameTec-live @.***> wrote:

Bug report

ESP32-S3-DevKitC-1 8M PRAM 8MB Flash

Problem On a ESP32-S3-DevKitC-1 8M PRAM 8MB Flash i can compile and flash the Chip but SPIFFS Seems completly broken. It cant mount, format or similar and therefore it doesnt work and constantly breaks.

Probalby not relevant, but im trying to drive a LED Matrix...

Steps

1.

Expand the Demo script to use the esp32-s3... image.png (view on web) https://github.com/PlummersSoftwareLLC/NightDriverStrip/assets/66077766/84cf9b17-6f50-4c80-9b99-0d0babe141d9 2.

Enable Wifi / Anything that needs IPFSS 3.

See it fail

Yes, i have tried to add in other parametrs like using the 8MB table: image.png (view on web) https://github.com/PlummersSoftwareLLC/NightDriverStrip/assets/66077766/fa58ae7a-afc9-4d22-8aaf-c7848ae68e1a

Example

Notes

— Reply to this email directly, view it on GitHub https://github.com/PlummersSoftwareLLC/NightDriverStrip/issues/579, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCSD3ZG5W4ZVETAS54ISW3YLQNHLAVCNFSM6AAAAABBELJDCSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2TOMZVHE3TONI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

GameTec-live commented 6 months ago

I use the 16mb versions of those boards. They're fine with spiffs. Have you perhaps reused the gpio lines that are repurposed for spi flash/ram?

Does the board. Pass the psram test earlier?

On Wed, Dec 27, 2023, 7:13 AM GameTec-live @.***> wrote:

Bug report

ESP32-S3-DevKitC-1 8M PRAM 8MB Flash

Problem On a ESP32-S3-DevKitC-1 8M PRAM 8MB Flash i can compile and flash the Chip but SPIFFS Seems completly broken. It cant mount, format or similar and therefore it doesnt work and constantly breaks.

Probalby not relevant, but im trying to drive a LED Matrix...

Steps

1.

Expand the Demo script to use the esp32-s3... image.png (view on web) https://github.com/PlummersSoftwareLLC/NightDriverStrip/assets/66077766/84cf9b17-6f50-4c80-9b99-0d0babe141d9 2.

Enable Wifi / Anything that needs IPFSS 3.

See it fail

Yes, i have tried to add in other parametrs like using the 8MB table: image.png (view on web) https://github.com/PlummersSoftwareLLC/NightDriverStrip/assets/66077766/fa58ae7a-afc9-4d22-8aaf-c7848ae68e1a

Example

Notes

— Reply to this email directly, view it on GitHub https://github.com/PlummersSoftwareLLC/NightDriverStrip/issues/579, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCSD3ZG5W4ZVETAS54ISW3YLQNHLAVCNFSM6AAAAABBELJDCSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA2TOMZVHE3TONI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

There's one with 16MB flash? Oh wow... And what psram tests are we talking about? I don't see any in the pio menu?

GameTec-live commented 6 months ago

the plot thickens... the box has 2 stickers on top of each other, top one stating its a n8r8 with 8 flash and 8 PSRAM, the one below saying its a n32r8v which would mean it has 32 flash and 8 psram. The chip on the board is a wroom2, so i got the one with more flash as no wroom2 with 8mb exists?

GameTec-live commented 6 months ago

Okay, i do have the ESP32-S3-DevKitC-1-N32R8V apperently... 32MB Flash and 8MB PSRAM. Redid the entire setup so that i can document the exact changes i made and the result. PlatformIO under the [env:demo]:

Log from clicking on "monitor": https://hastebin.skyra.pw/pupecadaje.yaml

My globals.h: globals.h.txt

image
GameTec-live commented 6 months ago

it looks like the watchdog is timing out? Setting the led matrix to 2x2 for example works fine, theory of someone i talked to is that its trying to adress all of the LEDs which arent attached rn (testing on the bench) and therefore they all time out after one another, this results in a watchdog timeout?

GameTec-live commented 6 months ago

this pio config now seems to work... ill just reopen this issue if any more issues arrise:

[env:demo]
extends         = dev_esp32-s3
build_flags     = -DDEMO=1
                  ${dev_esp32-s3.build_flags}
                  ${psram_flags.build_flags}
board_build.partitions = config/partitions_custom_8M.csv
board_upload.flash_size = 32MB
board_build.flash_mode = qio
board_build.arduino.memory_type = opi_opi
robertlipe commented 6 months ago

Thanx for the follow-up and the closure on this.

In case anyone else is ever reading this, the problem was indeed misconfigured SPI. It's very very likely that it was failing and saying so here: ESP32 PSRAM Init: %s", psramInit() ? "OK" : "FAIL") and the subsequent lines for debugI("Version %u: Wifi SSID: \"%s\" - ESP32 Free Memory: %u, PSRAM:%u, PSRAM Free: %u", FLASH_VERSION, cszSSID, ESP.getFreeHeap(), ESP.getPsramSize(), ESP.getFreePsram()); would have zeros returned in those last two PSRAM fields.

Variations of this problem are common. I've considered making it a harder error if you expect to configure PSRAM and it's not working ... such as if you're expecting octal SPI but have only quad or dual connected. It's really frustrating to tell exactly what any random dev board from a cheap vendor will actually have.

The watchdog likely expired when your device attempted to something from the flash. If misconfigured, I've seen that happen immediately and I've seen it return trash for a few hundred/thousand reads before doing so. I should probably try to add some kind of better detection of misconfigurations of this type.

Also, to help you (and others) on your journey, both the WS2812 and the HUB75 are unidirectional busses with no holds or acknowledgement. You can configure it to talk to zero or 8,000 (don't dot hat) LEDs and it will dutifully wiggle the signals even if absolutely nothing is electrically connected. I do this a lot during development, actually, just because I don't want to drag strips or panels with me wherever I'm working.

Good luck! RJL

On Wed, Dec 27, 2023 at 4:33 PM GameTec-live @.***> wrote:

Closed #579 https://github.com/PlummersSoftwareLLC/NightDriverStrip/issues/579 as completed.

— Reply to this email directly, view it on GitHub https://github.com/PlummersSoftwareLLC/NightDriverStrip/issues/579#event-11347482744, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCSD35TILBJWQHNBCZDSVDYLSO4PAVCNFSM6AAAAABBELJDCSVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGM2DONBYGI3TINA . You are receiving this because you commented.Message ID: <PlummersSoftwareLLC/NightDriverStrip/issue/579/issue_event/11347482744@ github.com>

GameTec-live commented 6 months ago

@robertlipe thanks for that information, but... Another issue cropped up... i can configure it to drive a 30x30 matrix and fun stuff like that, but driving a 50x30 or 50x50 matrix is impossible without it panicing? (StoreProhibited)

Monitor Log: https://hastebin.skyra.pw/wikevijele.yaml

rbergen commented 6 months ago

This seems to be a completely different problem indeed, maybe related to #534 (but, maybe not). To avoid confusion about what Issue discusses which scenario, please open a new Issue for the problem you're now running into. I'm closing this one, again.

GameTec-live commented 6 months ago

it only happens on the esp32-s3 and when trying to drive a larger led strib matrix though, works fine on my other, less powerfull esp... (still just the rainbow effect, nothing special)

GameTec-live commented 6 months ago

but sure, ig ill just open a new issue then

rbergen commented 6 months ago

Thanks. This issue discusses a problem with SPIFFS on the device in question. You're now running into a problem with driving larger matrices, which really is a different issue.

As a general rule, we like to keep issues as focused as possible, as they represent potential work items. Discussions in the equally named section of this repo are known to (and allowed to) meander a bit - or sometimes a lot - more.

robertlipe commented 6 months ago

I'm about to go offline for a bit, so I'm going to break Rutger's (correct) guidance that this is the wrong place for this, but but it catches my weary eye that you're on an S2 path:s at /Users/ficeto/Desktop/ESP32/ESP32S2 /esp-idf-publ

At the fastled layer S2 and S3 are very different. There's some peripheral (RMT?Parallel i2s) that FastLED hasn't been adapted to the S3 version of. ISTR that FastLED has trouble tracking "new" chips optimally. Reports like https://github.com/FastLED/FastLED/issues/1552 may factor in.

Also, If you're attaching 2500 LEDs to ANY single pin, you've already blown the WS281x bus bandwidth by nearly 3x. You're going to have a bad day. You should probably split that across busses.

Before I go, please do dumpster dive around in (Discussion #195). I analyzed a very similar problem report, but the reporter went cold so I can't recall offhand if we submitted this or not.

That was another post I sent at 6am local time before going to sleep (it's alost 5 now), so my own follow-through may not have been the best.

On Thu, Dec 28, 2023 at 4:27 AM Rutger van Bergen @.***> wrote:

Thanks. This issue discusses a problem with SPIFFS on the device in question. You're now running into a problem with driving larger matrices, which really is a different issue.

As a general rule, we like to keep issues as focused as possible, as they represent potential work items. Discussions in the equally named section of this repo are known to (and allowed to) meander a bit - or sometimes a lot

  • more.

— Reply to this email directly, view it on GitHub https://github.com/PlummersSoftwareLLC/NightDriverStrip/issues/579#issuecomment-1871034062, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCSD33YJ64KZGJRVET3G53YLVCSVAVCNFSM6AAAAABBELJDCSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZRGAZTIMBWGI . You are receiving this because you were mentioned.Message ID: @.***>

GameTec-live commented 6 months ago

1500 LEDs... (50x30 matrix) The generic normal esp32 i got there runs the exact same config flawless (globals.h config), just had to disable the webserver, and some other stuff id like to have, to get a decent performance over the network, so i thought id get a more powerful chip to replace it which then should be able to provide the web ui, etc...

robertlipe commented 6 months ago

A bus cycle time of 1.25us and 24bpp plus some EOFs now and then means about 900-ish px per strand, which is simply all you'll ever push on a single strand. More px will eat into the frame rate quickly.

Good night...

On Thu, Dec 28, 2023, 4:57 AM GameTec-live @.***> wrote:

1500 LEDs... (50x30 matrix) The generic normal esp32 i got there runs the exact same config flawless (globals.h config), just had to disable the webserver, and some other stuff id like to have, to get a decent performance over the network, so i thought id get a more powerful chip to replace it which then should be able to provide the web ui, etc...

— Reply to this email directly, view it on GitHub https://github.com/PlummersSoftwareLLC/NightDriverStrip/issues/579#issuecomment-1871055991, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCSD33AN2DMTBLC73SRPBDYLVGBVAVCNFSM6AAAAABBELJDCSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZRGA2TKOJZGE . You are receiving this because you were mentioned.Message ID: @.***>

GameTec-live commented 6 months ago

Created a new issue as requested... #580 Have a good night robertlipe...