I2C2 stops working when plugging in any serial device in GPS2 in Cubepilot Cube Orange

Hello,

I have a Cube Orange with PX4-Autopilot firmware (tested 1.13.3 and 1.14). I am trying to connect a Lightware SF11 rangefinder using the I2C2 port.
This works fine and the data can be viewed e.g. in QGroundControl. However, as soon as I plug in anything into the GPS2 port like a telemetry or GPS device, even the included buzzer, the I2C communication stops working and only reports erros from then on out.

nsh> lightware_laser_i2c status
INFO  [SPI_I2C] Running on I2C Bus 2, Address 0x66
lightware_laser_i2c: read: 32215 events, 9600150us elapsed, 298.00us avg, min 101us max 1909us 16.778us rms
lightware_laser_i2c: com err: 662 events

Also, this is the output before and after plugging in the serial device, it seems that the I2C device isn’t even detected anymore:

Before:

nsh> i2cdetect -b 2
Scanning I2C bus: 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- 66 -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

After:

nsh> i2cdetect -b 2
Scanning I2C bus: 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

Further findings:

  • When I plug in the serial device, in this case SimpleRTK3B, into the TELEM1 port, everything works fine
  • When I plug it in the TELEM2 port, the I2C communication stops shortly but the resumes to work
  • Using the I2C port in the GPS1 port also works fine and no errors occur when the serial device is plugged into the GPS2 port

Sadly, I can’t use the GPS1 port’s I2C connection because all the serial ports are already occupied (2x telemetry, 1x microRTPS bridge to companion computer, 1x GPS).

I would greaty appreciate any ideas on how to fix or even debug this problem further. If you have any suggestions please let me know, thanks in advance.

Greetings,
Andy

Attachments:

QGroundcontrol recording 1: Rangefinder plugged in and works, then serial device gets connected to GPS2 and only error occur from that point onwards
px4_default_then_plug_gps2
QGroundcontrol recording 2: Rangefinder plugged in and works, at Count: 837 serial device gets plugged into GPS2 => so more messages, then it gets unplugged again and at Count: 866 it gets plugged into TELEM2 => it hangs shorty, then we gat a faulty message with current_distance: 13000 and the the rangefinder resumes to work correctly
screen-capture