Applied with minor fix-up of commit message. On Fri, 2021-11-05 at 09:57 -0700, Jefferson Zhai wrote: > From: Jefferson Zhai <jefferson@xxxxxxx> > > --- > tools/mesh-gatt/config-client.c | 16 +++++++++++----- > 1 file changed, 11 insertions(+), 5 deletions(-) > > diff --git a/tools/mesh-gatt/config-client.c b/tools/mesh-gatt/config-client.c > index 3ec42d94a..7bdd028d2 100644 > --- a/tools/mesh-gatt/config-client.c > +++ b/tools/mesh-gatt/config-client.c > @@ -972,7 +972,7 @@ static void cmd_sub_add(int argc, char *argv[]) > n = mesh_opcode_set(OP_CONFIG_MODEL_SUB_ADD, msg); > > parm_cnt = read_input_parameters(argc, argv); > - if (parm_cnt != 3) { > + if (parm_cnt != 3 && parm_cnt != 4) { > bt_shell_printf("Bad arguments: %s\n", argv[1]); > return bt_shell_noninteractive_quit(EXIT_FAILURE); > } > @@ -984,9 +984,15 @@ static void cmd_sub_add(int argc, char *argv[]) > /* Subscription Address */ > put_le16(parms[1], msg + n); > n += 2; > - /* SIG Model ID */ > - put_le16(parms[2], msg + n); > - n += 2; > + /* Model ID */ > + if (parm_cnt == 4) { > + put_le16(parms[3], msg + n); > + put_le16(parms[2], msg + n + 2); > + n += 4; > + } else { > + put_le16(parms[2], msg + n); > + n += 2; > + } > > if (!config_send(msg, n)) { > bt_shell_printf("Failed to send \"ADD SUBSCRIPTION\"\n"); > @@ -1222,7 +1228,7 @@ static const struct bt_shell_menu cfg_menu = { > cmd_hb_sub_set, "Set heartbeat subscribe"}, > {"hb-sub-get", NULL, cmd_hb_sub_get, > "Get heartbeat subscribe"}, > - {"sub-add", "<ele_addr> <sub_addr> <model id>", > + {"sub-add", "<ele_addr> <sub_addr> <mod id> [cid]", > cmd_sub_add, "Add subscription"}, > {"sub-get", "<ele_addr> <model id>", > cmd_sub_get, "Get subscription"},