diff options
Diffstat (limited to 'src/host/layer23/src/mobile/vty_interface.c')
-rw-r--r-- | src/host/layer23/src/mobile/vty_interface.c | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c index 418c3f62..f1150b73 100644 --- a/src/host/layer23/src/mobile/vty_interface.c +++ b/src/host/layer23/src/mobile/vty_interface.c @@ -438,7 +438,7 @@ DEFUN(sim_test, sim_test_cmd, "sim testcard MS_NAME [MCC] [MNC] [LAC] [TMSI]", return CMD_WARNING; if (ms->subscr.sim_valid) { - vty_out(vty, "SIM already presend, remove first!%s", + vty_out(vty, "SIM already present, remove first!%s", VTY_NEWLINE); return CMD_WARNING; } @@ -471,17 +471,27 @@ DEFUN(sim_reader, sim_reader_cmd, "sim reader MS_NAME", "SIM actions\nSelect SIM from reader\nName of MS (see \"show ms\")") { struct osmocom_ms *ms; + struct gsm_settings *set = &ms->settings; ms = get_ms(argv[0], vty); if (!ms) return CMD_WARNING; if (ms->subscr.sim_valid) { - vty_out(vty, "SIM already presend, remove first!%s", + vty_out(vty, "SIM already present, remove first!%s", VTY_NEWLINE); return CMD_WARNING; } + if(access(set->sap_socket_path, F_OK) == 0){ + if(osmosap_init(ms) != 0){ + return CMD_WARNING; + } + } else { + /* this is only so we can check the first byte to be null in l1ctl_tx_sim_req */ + set->sap_socket_path[0] = 0; + } + gsm_subscr_simcard(ms); return CMD_SUCCESS; @@ -652,6 +662,27 @@ DEFUN(sim_lai, sim_lai_cmd, "sim lai MS_NAME MCC MNC LAC", return CMD_SUCCESS; } +DEFUN(sim_sapsocket, sim_sapsocket_cmd, "sim sap-socket MS_NAME SOCKET_PATH", + "SIM actions\nEnter SAP socket used instead of SIM driver for card\nName of MS (see \"show ms\")\n" + "socket path") +{ + struct osmocom_ms *ms; + + ms = get_ms(argv[0], vty); + if (!ms) + return CMD_WARNING; + + if(!argv[1]){ + vty_out(vty, "You must specify a SAP socket path%s", VTY_NEWLINE); + return CMD_WARNING; + } + + + osmosap_sapsocket(ms, (char *)argv[1]); + + return CMD_SUCCESS; +} + DEFUN(network_select, network_select_cmd, "network select MS_NAME MCC MNC", "Select ...\nSelect Network\nName of MS (see \"show ms\")\n" "Mobile Country Code\nMobile Network Code") @@ -2296,6 +2327,7 @@ int ms_vty_init(void) install_element(ENABLE_NODE, &sim_enable_pin_cmd); install_element(ENABLE_NODE, &sim_change_pin_cmd); install_element(ENABLE_NODE, &sim_unblock_pin_cmd); + install_element(ENABLE_NODE, &sim_sapsocket_cmd); install_element(ENABLE_NODE, &sim_lai_cmd); install_element(ENABLE_NODE, &network_search_cmd); install_element(ENABLE_NODE, &network_show_cmd); |