diff options
author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2021-03-04 17:04:13 +0100 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2022-02-02 13:29:13 +0100 |
commit | 2ea71fbc8caa00154c2996ae41916f5d2c685cec (patch) | |
tree | 9d3294711f4c8e51c75a55eeb044994d7c685969 | |
parent | ade1854f9d0e68d46bc3e5d13a792fbe94e7ea09 (diff) | |
download | hardware_replicant_libsamsung-ipc-2ea71fbc8caa00154c2996ae41916f5d2c685cec.tar.gz hardware_replicant_libsamsung-ipc-2ea71fbc8caa00154c2996ae41916f5d2c685cec.tar.bz2 hardware_replicant_libsamsung-ipc-2ea71fbc8caa00154c2996ae41916f5d2c685cec.zip |
ipc-imei: add more debugging
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-rw-r--r-- | tools/common/modem.c | 81 | ||||
-rw-r--r-- | tools/ipc-imei.c | 8 |
2 files changed, 68 insertions, 21 deletions
diff --git a/tools/common/modem.c b/tools/common/modem.c index 8632865..df88886 100644 --- a/tools/common/modem.c +++ b/tools/common/modem.c @@ -63,6 +63,41 @@ int seq_get(void) return seq; } +const char *modem_callback_state_string(unsigned char type) +{ + static char type_string[5] = { 0 }; + + switch (type) { + case MODEM_CALLBACK_STATE_UTILS: + return "MODEM_CALLBACK_STATE_UTILS"; + case MODEM_CALLBACK_STATE_APP: + return "MODEM_CALLBACK_STATE_APP"; + default: + snprintf((char *) &type_string, sizeof(type_string), "0x%02x", + type); + return type_string; + } + +} + +const char *modem_state_string(enum modem_state state) +{ + static char group_string[5] = { 0 }; + + switch (state) { + case MODEM_STATE_LPM: + return "MODEM_STATE_LPM"; + case MODEM_STATE_NORMAL: + return "MODEM_STATE_NORMAL"; + case MODEM_STATE_SIM_OK: + return "MODEM_STATE_SIM_OK"; + default: + snprintf((char *) &group_string, sizeof(group_string), "0x%02x", + (unsigned int)group_string); + return group_string; + } +}; + static int modem_response_sec(struct ipc_client *client, struct ipc_message *resp, enum modem_state new_state) @@ -236,6 +271,8 @@ static int modem_start_response_handle(struct ipc_client *client, { int rc; + ipc_client_log(client, "ENTER HANDLER %s\n", __func__); + if (!client) return 0; @@ -282,6 +319,30 @@ static int modem_response_handle(struct ipc_client *client, if (!client) return 0; + if (current_state == new_state) + callback_state = MODEM_CALLBACK_STATE_APP; + + ipc_client_log(client, + "%s: current_state %d: %s\n", + __func__, current_state, + modem_state_string(current_state)); + + ipc_client_log(client, + "%s: new_state %d: %s\n", + __func__, new_state, + modem_state_string(new_state)); + + ipc_client_log(client, + "%s: %s\n", + __func__, + (current_state == new_state) ? + "current_state == new_state" : + "current_state !== new_state"); + + ipc_client_log(client, + "%s: callback state %d: %s\n", + __func__, callback_state, + modem_callback_state_string(callback_state)); if (callback_state == MODEM_CALLBACK_STATE_UTILS) rc = modem_start_response_handle(client, resp, new_state); @@ -398,24 +459,6 @@ static int _modem_start(struct ipc_client *client) return rc; } -const char *modem_state_to_string(enum modem_state state) -{ - static char group_string[5] = { 0 }; - - switch (state) { - case MODEM_STATE_LPM: - return "MODEM_STATE_LPM"; - case MODEM_STATE_NORMAL: - return "MODEM_STATE_NORMAL"; - case MODEM_STATE_SIM_OK: - return "MODEM_STATE_SIM_OK"; - default: - snprintf((char *) &group_string, sizeof(group_string), "0x%02x", - (unsigned int)group_string); - return group_string; - } -}; - int modem_start(struct ipc_client *client, enum modem_state new_state, struct app_modem_response_handler *handler) { @@ -426,7 +469,7 @@ int modem_start(struct ipc_client *client, enum modem_state new_state, common_modem_log(client, "%s: requested state %s: %d", __FUNCTION__, - modem_state_to_string(new_state), + modem_state_string(new_state), new_state); rc = _modem_start(client); diff --git a/tools/ipc-imei.c b/tools/ipc-imei.c index 7cb933c..d3bff63 100644 --- a/tools/ipc-imei.c +++ b/tools/ipc-imei.c @@ -137,13 +137,17 @@ static int ipc_imei_response_handle(struct ipc_client *client, { int rc; + ipc_client_log(client, "ENTER HANDLER %s\n", __func__); + if (!client) return 0; switch (IPC_GROUP(resp->command)) { case IPC_GROUP_MISC: - rc = ipc_imei_parse_imei_response(client, resp, data); - return rc; + if (resp->command == IPC_MISC_ME_SN) { + rc = ipc_imei_parse_imei_response(client, resp, data); + return rc; + } default: ipc_imei_log(client, "Unhandled %s command", ipc_group_string(IPC_GROUP(resp->command))); |