MikroTik & Network Setup4 min read

    ROS6 vs ROS7 compatibility

    Full compatibility guide for RouterOS 6 and RouterOS 7 with Jasiyo, including script differences, known limitations, and how to check your version.

    Check your RouterOS version

    In WinBox, go to System โ†’ Routerboard and look at the Current Firmware field. Alternatively, open a terminal and run:

    MikroTik Terminal
    :put [/system resource get version]

    If the version starts with 6. you're on ROS6. If it starts with 7. you're on ROS7.

    Always select the correct RouterOS version when adding your router in Jasiyo (Routers โ†’ Add Router โ†’ ROS Version). The wrong selection will cause the agent script to fail.

    Feature comparison

    FeatureROS6ROS7
    Phone-home agentโœ… Supportedโœ… Supported
    JSON parsing (deserialize from=json)โŒ Not availableโœ… Supported
    Script response formatScript-fragment patternJSON response
    PPPoE user managementโœ… Full supportโœ… Full support
    Hotspot user managementโœ… Full supportโœ… Full support
    ISP auto-setup scriptโœ… Supportedโœ… Supported
    Script line length limitโš ๏ธ 255 chars โ€” agent handles automaticallyNo limit
    fetch tool HTTPSโœ… Supported (with certificate)โœ… Supported
    Bandwidth profile syncโœ… Full supportโœ… Full support

    Key script differences

    The main difference between the two agent scripts is how they parse the response from Jasiyo's server.

    ROS7 โ€” JSON parsing:

    ROS7 Agent (simplified)
    :local result [/tool fetch url=$url http-method=post http-data=$body output=user as-value]
    :local parsed [:deserialize from=json value=($result->"data")]
    :if ([:len ($parsed->"cmd")] > 0) do={ :execute ($parsed->"cmd") }

    ROS6 โ€” Script-fragment pattern:

    ROS6 Agent (simplified)
    :local result [/tool fetch url=$url http-method=post http-data=$body output=user as-value]
    # ROS6 cannot deserialize JSON โ€” server returns executable script fragment directly
    :execute ($result->"data")
    Never use the ROS7 agent script on a ROS6 device. The deserialize from=json command does not exist in ROS6 and will cause a script error.

    ROS6 specific notes

    • โš 255-character line limit โ€” RouterOS 6 scripts have a 255-character maximum per line. Jasiyo's server automatically breaks commands into multiple lines when building ROS6-compatible scripts. You don't need to do anything.
    • โš Certificate issues โ€” Some older ROS6 devices may have trouble validating HTTPS certificates. If the agent script times out, try adding check-certificate=no to the fetch command as a temporary workaround while you update the certificate store.
    • โ„นRB951 confirmed working โ€” Jasiyo has been tested and verified on MikroTik RB951 running ROS6. If you're on similar hardware, the standard setup guide applies.