Hello there,
The support protocol file for I2C says that the address of module is 0x20 for writing and 0x21 for reading. But in reality both reading and writing are done in address 0x10 vs 0x21 or 0x20. Maybe you need to update the information on the file. I don’t have a problem with the module, just the info in documentation is wrong. Also the ‘garbage’ data are not 0x0a but CR ('\r'), LF ('\n') and in the end two LF ('\n' in C).
My firmware is $PQVERNO,R,L96NR11A02SC,2023/05/29,02:33*2A
I downloaded the I2C protocol specification from L96 support page. File with wrong information is: quectel_l76-ll96_i2c_application_note_v1-2.pdf