I found out that my BX3105 is ignoring my RTS setting.
I sent a custom HTTPS request for downloading a 1MB file from a fileserver.
While receiving the data, my host controller sets the RTS pin to high (verified via scope). The BX3105 module still sends the data which causes my uart to drop data that does not fit into the buffer.
My UART fits 12000 Byte and RTS is set to high if only 1200 Byte are free inside the buffer. RTS is set back to low when only 1200 Byte are left inside the buffer.
Problem is, that the data is still sent by BX3105 event when RTS is never again set back to low. I tested this on 2 PCBs.
During initialization the following is done for HW settings:
AT
OK
AT&K3
OK
AT+IPR=500000
OK
…
From the wiring:
My RTS -> UART0_RTS (Pin 2)
My CTS -> UART0_CTS (Pin 3)
My TX -> UART0_TXD (Pin 4)
My RX -> UART0_RXD (Pin 5)
I do not even dare to try baudrate above 500k. I also have a HL7692 module connected to another UART of my PCB with 3M baudrate and the RTS of this seems to be working fine.
I hope someone can help me or give me a hint what I can do.