This implements the MBIM automatic registration mode to let the function
select the best provider network.

Signed-off-by: Ingo Feinerer <[email protected]>
---
 cli.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/cli.c b/cli.c
index 1dd6330..e00b6d4 100644
--- a/cli.c
+++ b/cli.c
@@ -297,7 +297,16 @@ mbim_pin_state_request(void)
 static int
 mbim_registration_request(void)
 {
-       mbim_setup_command_msg(basic_connect, MBIM_MESSAGE_COMMAND_TYPE_QUERY, 
MBIM_CMD_BASIC_CONNECT_REGISTER_STATE, 0);
+       if (_argc > 0) {
+               struct mbim_basic_connect_register_state_s *rs =
+                       (struct mbim_basic_connect_register_state_s *) 
mbim_setup_command_msg(basic_connect,
+                                       MBIM_MESSAGE_COMMAND_TYPE_SET, 
MBIM_CMD_BASIC_CONNECT_REGISTER_STATE,
+                                       sizeof(struct 
mbim_basic_connect_register_state_s));
+
+               rs->registeraction = htole32(MBIM_REGISTER_ACTION_AUTOMATIC);
+       } else {
+               mbim_setup_command_msg(basic_connect, 
MBIM_MESSAGE_COMMAND_TYPE_QUERY, MBIM_CMD_BASIC_CONNECT_REGISTER_STATE, 0);
+       }
 
        return mbim_send_command_msg();
 }
-- 
2.20.1


_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to