This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/20931 ) Change subject: remsim: adding cli argument to set the atr ...................................................................... remsim: adding cli argument to set the atr Change-Id: I554b515e7954148f9ca5ba29417699da70b0945b --- M host/src/simtrace2-remsim.c 1 file changed, 20 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/host/src/simtrace2-remsim.c b/host/src/simtrace2-remsim.c index 201ff71..6752fc6 100644 --- a/host/src/simtrace2-remsim.c +++ b/host/src/simtrace2-remsim.c @@ -50,6 +50,8 @@ #include <osmocom/sim/class_tables.h> #include <osmocom/sim/sim.h> +#define ATR_MAX_LEN 33 + static void atr_update_csum(uint8_t *atr, unsigned int atr_len) { uint8_t csum = 0; @@ -181,6 +183,7 @@ "\t-h\t--help\n" "\t-i\t--gsmtap-ip\tA.B.C.D\n" "\t-a\t--skip-atr\n" + "\t-t\t--set-atr\tATR-STRING in HEX\n" "\t-k\t--keep-running\n" "\t-n\t--pcsc-reader-num\n" "\t-V\t--usb-vendor\tVENDOR_ID\n" @@ -199,6 +202,7 @@ { "remote-udp-port", 1, 0, 'p' }, { "gsmtap-ip", 1, 0, 'i' }, { "skip-atr", 0, 0, 'a' }, + { "set-atr", 1, 0, 't' }, { "help", 0, 0, 'h' }, { "keep-running", 0, 0, 'k' }, { "pcsc-reader-num", 1, 0, 'n' }, @@ -283,6 +287,9 @@ int rc; int c, ret = 1; int skip_atr = 0; + char *atr = "3b00"; + uint8_t real_atr[ATR_MAX_LEN]; + int atr_len; int keep_running = 0; int remote_udp_port = 52342; int if_num = 0, vendor_id = -1, product_id = -1; @@ -298,7 +305,7 @@ while (1) { int option_index = 0; - c = getopt_long(argc, argv, "r:p:hi:V:P:C:I:S:A:H:akn:", opts, &option_index); + c = getopt_long(argc, argv, "r:p:hi:V:P:C:I:S:A:H:akn:t:", opts, &option_index); if (c == -1) break; switch (c) { @@ -318,6 +325,9 @@ case 'a': skip_atr = 1; break; + case 't': + atr = optarg; + break; case 'k': keep_running = 1; break; @@ -348,6 +358,13 @@ } } + atr_len = osmo_hexparse(atr,real_atr,ATR_MAX_LEN); + if (atr_len < 2) { + fprintf(stderr, "Invalid ATR - please omit a leading 0x and only use valid hex " + "digits and whitespace. ATRs need to be between 2 and 33 bytes long.\n"); + goto do_exit; + } + if (!remote_udp_host && (vendor_id < 0 || product_id < 0)) { fprintf(stderr, "You have to specify the vendor and product ID\n"); goto do_exit; @@ -438,9 +455,8 @@ if (!skip_atr) { /* set the ATR */ - uint8_t real_atr[] = { 0x3B, 0x00 }; // the simplest ATR - atr_update_csum(real_atr, sizeof(real_atr)); - osmo_st2_cardem_request_set_atr(ci, real_atr, sizeof(real_atr)); + atr_update_csum(real_atr, atr_len); + osmo_st2_cardem_request_set_atr(ci, real_atr, atr_len); } /* select remote (forwarded) SIM */ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/20931 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I554b515e7954148f9ca5ba29417699da70b0945b Gerrit-Change-Number: 20931 Gerrit-PatchSet: 2 Gerrit-Owner: laforge <laforge at osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-Reviewer: lhuebner <leonard.huebner at commsolid.com> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201027/30d8256c/attachment.htm>