[PATCH V2] tplink-safeloader: Add support for Mercusys MR70X

Ole Kristian Lona ole.kristian at lona.name
Tue Jun 7 00:48:53 PDT 2022


I will write and test this shortly!


Ole Kristian

On 07/06/2022, 09:47, "Sander Vanheule" <sander at svanheule.net> wrote:

    Hi Ole Kristian,

    On Tue, 2022-06-07 at 08:56 +0200, Ole Kristian Lona wrote:
    > Hello, Sander!
    > I haven't had time to check the rest of the stuff I was working on for Deco M4R v3 and M5, but
    > when I see this patch, and think of the work we did in the last round, I can't help thinking maybe
    > we should clean up some more around this:
    > @@ -3407,6 +3448,7 @@ static void build_image(const char *output,
    >             strcasecmp(info->id, "ARCHER-C60-V3") == 0 ||
    >             strcasecmp(info->id, "ARCHER-C6U-V1") == 0 ||
    >             strcasecmp(info->id, "ARCHER-C6-V3") == 0 ||
    > +           strcasecmp(info->id, "MR70X") == 0 ||
    >             strcasecmp(info->id, "TLWR1043NV5") == 0) {
    >                 const uint8_t extra_para[2] = {0x01, 0x00};
    >                 parts[5] = make_extra_para(info, extra_para,
    > --
    > We could add an extra device parameter "needs_extra_para" set to 1 or 0, and check on that instead
    > of the device ID in this routine, so that all changes for new devices can be done in only the
    > device specific section. 

    You are right, this is an eye sore.

    Maybe the easiest way would be a new device_info field (untested):

    #define EXTRA_PARA_SIZE		2
    struct extra_para_info {
    	uint8_t len;
    	uint8_t data[EXTRA_PARA_SIZE];

    #define EXTRA_PARA_NONE		{.len = 0}
    #define EXTRA_PARA_DATA(bytes)	{.len = EXTRA_PARA_SIZE, .data = (bytes)}

    Usage when set:

    	.extra_para = EXTRA_PARA_DATA({0x01, 0x00});

    When not defined, len will default to 0, disabling the extra_para partition.

    make_extra_para() should be modified to check extra_para_info::len, but could then be called

    Feel free to write and submit a patch, you may be waiting for some time otherwise.


More information about the openwrt-devel mailing list