Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OTA fails due to many "HW FIFO Overflows" (IDFGH-11892) #482

Closed
3 tasks done
JB-DX opened this issue Jan 15, 2024 · 2 comments · Fixed by #484
Closed
3 tasks done

OTA fails due to many "HW FIFO Overflows" (IDFGH-11892) #482

JB-DX opened this issue Jan 15, 2024 · 2 comments · Fixed by #484
Assignees

Comments

@JB-DX
Copy link

JB-DX commented Jan 15, 2024

Answers checklist.

  • I have read the documentation for esp-protocols components and the issue is not addressed there.
  • I have updated my esp-protocols branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report

I'm using v1.0.5 and everything works fine so far.
But not OTA.
It throws many uart_terminal: HW FIFO Overflow and then finally gives up.

I had a similar problem with the old version of 2020, and fixed it by increasing the UART buffer sizes.

So I tried it by increasing it from 400 to 2048, but without any improvements.

#define UART_BUF_SIZE   2048  

dte_config.uart_config.rx_buffer_size = 2*UART_BUF_SIZE; 
dte_config.uart_config.tx_buffer_size = UART_BUF_SIZE; 
dte_config.dte_buffer_size = UART_BUF_SIZE; 
dte_config.uart_config.event_queue_size = 30; 

A bit strange because SIM800 only uses G2 and its speed is quite low, so why is there a fifo overflow at all?

Any ideas how to fix it?

@github-actions github-actions bot changed the title OTA fails due to many "HW FIFO Overflows" OTA fails due to many "HW FIFO Overflows" (IDFGH-11892) Jan 15, 2024
david-cermak added a commit to david-cermak/esp-protocols that referenced this issue Jan 15, 2024
@david-cermak
Copy link
Collaborator

Have you placed your UART ISR to IRAM?

CONFIG_UART_ISR_IN_IRAM=y

I thought we had this documented somewhere, but couldn't find it. Added #484

There's also an example of using two phase OTA (using it as a test here):

https://github.com/espressif/esp-protocols/tree/master/components/esp_modem/test/target_ota#readme

@JB-DX
Copy link
Author

JB-DX commented Jan 15, 2024

Thank you.
It wasn't in IRAM,
Now it works excellent.
Case closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants