<p>fixeria has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/pysim/+/23328">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Revert "utils.py: Fix for parsing MNC"<br><br>This reverts commit bdf3d3597b5d8e4260f80a00ada78e9ad612b00b, which<br>broke pySim.utils.dec_mnc_from_plmn().  According to 3GPP TS 31.102,<br>which points to TS 24.008, the three-digit EHPLMN shall be encoded<br>as shown below (ASCII-art interpretation):<br><br>    0   1   2   3   4   5   6   7<br>  +---+---+---+---+---+---+---+---+<br>  |  MCC Digit 2  |  MCC Digit 1  |<br>  +---+---+---+---+---+---+---+---+<br>  |  MNC Digit 3  |  MCC Digit 3  |<br>  +---+---+---+---+---+---+---+---+<br>  |  MNC Digit 2  |  MNC Digit 1  |<br>  +---+---+---+---+---+---+---+---+<br><br>So the original implementation was correct, and we even had a unit<br>test for it.  Most likely, the SIM card itself was programmed<br>incorrectly?<br><br>Makes 'testDecMNCfromPLMN_threeDigitMNC' pass again.<br><br>Change-Id: If6bf5383988ad442e275efc7c5a159327d104879<br>---<br>M pySim/utils.py<br>1 file changed, 3 insertions(+), 3 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/28/23328/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/pySim/utils.py b/pySim/utils.py</span><br><span>index 6dbd980..b49a437 100644</span><br><span>--- a/pySim/utils.py</span><br><span>+++ b/pySim/utils.py</span><br><span>@@ -140,9 +140,9 @@</span><br><span> </span><br><span> def dec_mnc_from_plmn(plmn):</span><br><span>         ia = h2i(plmn)</span><br><span style="color: hsl(0, 100%, 40%);">-  digit1 = (ia[1] & 0xF0)     >>4               # 2nd byte, MSB</span><br><span style="color: hsl(0, 100%, 40%);">- digit2 = ia[2] & 0x0F                       # 3rd byte, LSB</span><br><span style="color: hsl(0, 100%, 40%);">- digit3 = (ia[2] & 0xF0) >> 4  # 3nd byte, MSB</span><br><span style="color: hsl(120, 100%, 40%);">+       digit1 = ia[2] & 0x0F               # 3rd byte, LSB</span><br><span style="color: hsl(120, 100%, 40%);">+       digit2 = (ia[2] & 0xF0) >> 4  # 3rd byte, MSB</span><br><span style="color: hsl(120, 100%, 40%);">+       digit3 = (ia[1] & 0xF0) >> 4  # 2nd byte, MSB</span><br><span>      if digit3 == 0xF and digit2 == 0xF and digit1 == 0xF:</span><br><span>                return 0xFFF # 4095</span><br><span>  return derive_mnc(digit1, digit2, digit3)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/pysim/+/23328">change 23328</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/pysim/+/23328"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: pysim </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: If6bf5383988ad442e275efc7c5a159327d104879 </div>
<div style="display:none"> Gerrit-Change-Number: 23328 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>