External compass mag values zero

Hello, I have recently encountered a problem with my external compass. 4 of them, all genuine 3DR GPS/Compass modules, I have tested on both pixhawk (running v3.4.5) and pixhawk mini (running v3.5-dev).

It seems that the mx, my and mz values are always zero when connected via i2c bus or via direct i2c connection to the board.

Has anyone else encountered this problem? and if so would anyone be willing to troubleshoot this with me?

Thanks in advance for reading this.

did you try resoldering them?