STM32F4 as I2C Slave getting BERR on with specific Master device.
Hello, I'm writing this in hope I can successfully resolve my issue with getting BERR on every I2C call, when connected with specific master device.
I have implemented slave device using STM32F4 discovery board using HAL I2C drivers and IT functions.
For ease of testing I have also implemented master device on Arduino MKRZero. Based on available documentation of MKRZero, it comes without pull-ups placed on PCB so I have added it as shown in the picture below.

I have tried with 1k Ohm and 3k3 Ohm resistors on SDA&SCL line and in both cases communication worked.
Below is picture with 1k Ohm resistors.
MKRZero (Master), STM32F4 (slave), 1kOhm pull-ups
After implementing all functionalities on STM32F4 slave device I wanted to move forward and test the implementation with real world master device, that will be CubeOrange. This device also uses STM32 mcu (STM32H753VI), running nuttix real-time OS.
Based on schematics, CubeOrange already have 1k8 Ohm pull-ups placed, so I have connected SCL/SDA lines directly. Connection schematics and results are shown below. In neither of those cases the communication with CubeOrange was successful. I get BERR before it even enter any of the interrupt functions defined in HAL I2C driver.

CubeOrange(Master), STM32F4(Slave), 1k8 Ohm internal pull-ups, R1 = inf Ohm, Rn = 1k8 Ohm
CubeOrange(Master), STM32F4(Slave), R1 = 1k Ohm, Rn = 643 Ohm
CubeOrange(Master), STM32F4(Slave), R1 = 3k3 Ohm, Rn = 1k2 Ohm
I would say there is something wrong on the bus, but what and how to resolve it - this is beyond me right now.
Did anyone else come across similar issues? How to tackle it?
My STM32 slave I2C pin setup is following:


and all interrupts are having same priority levels(pre and sub are both 0, setting max priority for all interrupts).
Thanks for help in advice!
