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/+/23644 ) Change subject: card_emu: Fix computation of waiting time ...................................................................... card_emu: Fix computation of waiting time As we store the waiting time (WT) in 'etu', we must adjust the formula from ISO 7816-3. The 'Fi' component in the formula only exists to compute clock cycles from the etu, which we don't need here. Without this patch, the waiting time would be way too large (by a factor of 372 in the default case). Change-Id: Ia21bc7303f9b38834b5b1753983ed2a99bfc7d95 Related: OS#1704 --- M firmware/libcommon/source/card_emu.c M firmware/libcommon/source/mode_cardemu.c 2 files changed, 5 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/firmware/libcommon/source/card_emu.c b/firmware/libcommon/source/card_emu.c index cefc957..bcd5fd6 100644 --- a/firmware/libcommon/source/card_emu.c +++ b/firmware/libcommon/source/card_emu.c @@ -505,8 +505,11 @@ } } } - /* update waiting time (see ISO 7816-3 10.2) */ - ch->waiting_time = ch->wi * 960 * iso7816_3_fi_table[ch->F_index]; + /* update waiting time (see ISO 7816-3 10.2). We can drop the Fi + * multiplier as we store the waiting time in units of 'etu', and + * don't really care what the number of clock cycles or the absolute + * wall clock time is */ + ch->waiting_time = ch->wi * 960; /* go to next state */ card_set_state(ch, ISO_S_WAIT_TPDU); return 0; diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 14f62a6..127556c 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -225,7 +225,6 @@ want_to_expire = ci->wt.remaining - (ci->wt.total / 2); } else want_to_expire = ci->wt.remaining; - TRACE_INFO("want_to_expire=%u (total=%u, remaining=%u)\r\n", want_to_expire, ci->wt.total, ci->wt.remaining); /* if value exceeds the USART TO range, use the maximum possible value for one round */ return OSMO_MIN(want_to_expire, 0xffff); } -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23644 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia21bc7303f9b38834b5b1753983ed2a99bfc7d95 Gerrit-Change-Number: 23644 Gerrit-PatchSet: 3 Gerrit-Owner: laforge <laforge at osmocom.org> Gerrit-Reviewer: Hoernchen <ewild at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-Reviewer: tsaitgaist <kredon at sysmocom.de> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210408/64ce245c/attachment.htm>