Set message interval via another serial (Except Telemetry 1 and telemetry 2)

Hello,
I am using Cube black, Copter 4.0.2

I am attempting to get the copter send specific messages via Serial 4.

Normally, telemetry 1 and 2 (AKA Serial 1 and 2) stream messages periodically. Now what I want is to do the same for Serial 4 (or 3 or 5) by listing down some useful messages (for my purpose) such as HEARTBEAT, GPS, RC_CHANNELS… I am using pymavlink with 3 methods:

Method 1:

master.mav.command_long_send(
    master.target_system, master.target_component,
    mavutil.mavlink.MAV_CMD_SET_MESSAGE_INTERVAL , 0,
    27, 0, 0, 0, 0, 0, 0) 

Method 2:

    master.mav.request_data_stream_send(
        master.target_system, 
        master.target_component, 
        mavutil.mavlink.MAV_DATA_STREAM_ALL
       10, 
    1 )

Method 3:

ms = mavlink2.MAVLink_request_data_stream_message(
        master.target_system, 
        master.target_component, 
        1, 
        1, 
        1)
    master.mav.send(ms)

Unfortunately, none of them worked for me. Pretty sure that I already connect to the copter successfully by Serial 4 (the HEARTBEAT just returns one time since the connection completed). Where did I go wrong?

Thanks in advance!

You need to set SERIAL4_TYPE to mavlink

Already, I got the Heartbeat after the connection accomplished!