After each stop command I am handling UART so there is about 12ms delay between each packet. Maybe it is too long ?
What is more, if something is wrong with timing then why I get ACK properly after each byte, I do not understand.
I have discovered one more weird behaviour. In datasheet it is said that when I issue invalid subaddress there will be no ACK on I2C. I change subaddresses to wrong values but I still get ACK after each byte.