Companion computer receives only heartbeat messages

With rover profile lots of messages such as SYS_STATUS and ATTITUDE were always sent along with HEARTBEATs to my companion computer. After I replaced rover firmware by sub, only HEARTBEAT messages are now received by the companion computer. It looks like the communication channel was not properly initialized.

What is the right way to initialize MAVlink communication from a companion computer connected to telem1 or telem2 with arducopter or ardusub?

Depends on how you’re connecting. The client (script/software running on companion computer) should request what streams it wants and at what rate. If it doesn’t, then nothing will be sent out. You can force sending by altering the SR1_xxx parameters (for telem1, SR2_xxx for telem2).

Requesting the data streams did the trick. Thanks!

mavlink_message_t msg;
mavlink_msg_request_data_stream_pack(255, 1, &msg, 1, 1, MAV_DATA_STREAM_ALL, 0x05, 1);