BG95-M2 Data corruption

My data seems to be corrupted. Everytime I send data through the BG95 module, some data in the beginning is correct but near the end of the string the data seems to dissappear.

For example:

{“serialnumber”:“00:00:01:02:03:04”,“data”:189,“rssi”:-51,“battery_voltage”:3793}

This is what I am sending.

{"serialnumber\x00 S\xfd\x00\x00\x00\x00\x00\x00S\xfd\x00 \xe12\x00\x0856\x00\x08\xf1@\x00\x08\xae\xfd\x00\x00\xe1\x00\x00 \x00\x04\x00\x00\xe1@\x00\x08\x00\xfd\x00 \xe9\xff\x00\x00\x006\x00\x00\x1b@\x00\x08\x01\xff\x00 \xe9\x00\x
00\xff*\xfd

This is my received data. I have tried different BG95s but that does not make a difference.

Firmware version of my module is : BG95M2LAR02A04

for this issue , we need to collect modem log to print the data sent by module , Based on this log , we can identify that if the data has been sent out successfully ,

if no, we will debug it in module side ,
if yes , you need to find out the problem point on serverside

pls reach to support@quectel.com , we will sent the log tools to you. sorry for the Inconvenience

you are doing that through an RS232 or TTL UART, not via USB?

you should check electrical connections and solder joints. make sure GND is good.

acquire an oscilloscope and observe the serial signals.

We are using ttl uart. All electrical signals are looking good. It is impossible for me to validate that all solder joints are 100% good. But the pcb is fully assembled on a professional pick-and-place machine. Our experience with the assembly process is very high. So I am pretty certain that the solder joints are good.

Do also question the PCB design, not just its manufacture.

When looking at the signals, you should also engage a protocol decoder, if you haven’t already. Pay particular attention to timing.

How similar is the decoded data across runs, where you expect identical responses from the modem? If it’s not entirely random, that’s useful information.

It stands to reason that, if this can be reproduced with different BG95 modules, either all those modules have the same defect/misconfiguration, or they can be considered outside of the “error space”.

I have analysed the signal using a logic analyzer and a protocol decoder. The string is not corrupted before it enters the BG95. I expect the firmware off the BG95 to be the problem. I am hoping to receive the updating instruction and the latest firmware very soon.

it is clear that you send correct data.

how do you receive the data that shows corruption?

try previous firmware versions. does this happen still? what’s the earliest version you can try?

… or contact the company at the email address the support employee gave in the second post. I’m just another user.

I am still waiting for a response from Quectel to send me the newer firmware version. They don’t seem to respond to me. I do not have any previous versions off the firmware.

Issue is resolved. Data corruption happened after the level shifter process. Fixed this by making sure that the level shift enable pin was always high.