[OpenWrt-Devel] umbim: add registration set support

Message ID 20190110145800.63138-2-feinerer@logic.at
State New
Headers show
Series
  • [OpenWrt-Devel] umbim: add registration set support
Related show

Commit Message

Ingo Feinerer Jan. 10, 2019, 2:58 p.m.
This implements the MBIM automatic registration mode to let the function
select the best provider network.

Signed-off-by: Ingo Feinerer <feinerer@logic.at>
---
 cli.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

Patch

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();
 }