38 | | We use AAAA SIM cards with the following: |
| 38 | * SIM cards used are Sysmocom sysmoUSIM-SJS1 (orange) |
| 39 | * We follow the instructions at: [https://sourceforge.net/p/openlte/wiki/Programming%20you%20own%20USIM%20card/] |
| 40 | * To avoid DAMAGE to your cards, you must have purchased the ADM keys with them. Follow the instructions regarding ADM keys precisely to avoid ruining your cards! |
| 41 | ===== Install Software ===== |
| 42 | 1. Install card reader software under linux |
| 43 | 1. {{{ sudo apt-get install pcscd pcsc-tools libccid libpcsclite-dev }}} |
| 44 | 1. Run {{{ sudo pcsc_scan }}} to verify that the reader detects the card |
| 45 | 1. You should see at the bottom the text |
| 46 | {{{ |
| 47 | 3B 9F 96 80 1F C7 80 31 A0 73 BE 21 13 67 43 20 07 18 00 00 01 A5 |
| 48 | sysmoUSIM-SJS1 (Telecommunication) |
| 49 | http://www.sysmocom.de/products/sysmousim-sjs1-sim-usim |
| 50 | }}} |
| 51 | 1. Install pysim |
| 52 | 1. {{{ git clone git://git.osmocom.org/pysim pysim }}} |
| 53 | 1. Note: use master branch as of 2015-08-20 |
| 54 | 1. Older revisions cannot write these cards |
| 55 | 1. This branch cannot read from these cards |
| 57 | ===== Select SIM parameters ===== |
| 58 | 1. Choose SIM Parameters (Based on [https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/SimCardConfig]) |
| 59 | 1. For OAI and Amarisoft, we use the following: |
| 60 | 1. Algorithm = Milenage |
| 61 | 1. MCC = 001 (Test Country) |
| 62 | 1. MNC = 01 (Test Network) |
| 63 | 1. Ki = 8BAF473F2F8FD09487CCCBD7097C6862 |
| 64 | 1. OP = 11111111111111111111111111111111 |
| 65 | 1. or OPc = 8BAF473F2F8FD09487CCCBD7097C6862 (can be used instead of OP) |
| 66 | 1. ID = 000000000001 (Increment for each sim to make unique) |
| 67 | 1. IMSI = (MCC|MNC|ID) |
| 68 | 1. Program Cards '''DO NOT PROCEED WITHOUT CORRECT ADM KEYS''' |
| 69 | 1. We use the following flags from PySIM |
| 70 | 1. {{{-p}}} = pcsc card reader index, get from pcsc_scan. Is 0 in our case. |
| 71 | 1. {{{-t}}} = card type, our case is sysmoUSIM-SJS1 |
| 72 | 1. {{{-x}}} = MCC |
| 73 | 1. {{{-y}}} = MNC |
| 74 | 1. {{{-j}}} = ID number, increment as needed |
| 75 | 1. {{{--op}}} = set OP, OPc is generated automatically by use of K and OP. For security you could increment both imsi and K to keep OPc hidden between clients |
| 76 | 1. {{{-a}}} = ADM key. '''VERY IMPORTANT'''. These SIM cards must be purchased with ADM unlock keys. They are specific to each individual card. Attempting to program the card without / with an invalid key / the wrong version of pysim can '''BRICK''' your card, rendering it useless!!! |
| 77 | 1. If pysim exits with a return code like {{{RuntimeError: SW match failed ! Expected 9000 and got 6983.}}} Then you got the ADM wrong, or used the wrong branch. Specific meanings are [https://www.eftlab.com.au/index.php/site-map/knowledge-base/118-apdu-response-list here] |
| 78 | 1. 63C3 Verify fail, 3 tries left. |
| 79 | 1. 63C2 Verify fail, 2 tries left. |
| 80 | 1. 63C1 Verify fail, 1 tries left. |
| 81 | 1. 63C0 Verify fail, 0 tries left. |
| 82 | 1. 6389 Key length is not correct. |
| 83 | 1. 6388 Key number not valid. |
| 84 | 1. 6983 Authentication method blocked |
| 85 | |
| 86 | ===== Program SIM Cards ====== |
| 87 | 1. Our cards were programmed with the following commands |
| 88 | 1. {{{ ./pySim-prog.py -p 0 -x 001 -y 01 -t sysmoUSIM-SJS1 -j 1 --op=11111111111111111111111111111111 -k 8BAF473F2F8FD09487CCCBD7097C6862 -a 75659958 }}} |
| 89 | 1. {{{ ./pySim-prog.py -p 0 -x 001 -y 01 -t sysmoUSIM-SJS1 -j 2 --op=11111111111111111111111111111111 -k 8BAF473F2F8FD09487CCCBD7097C6862 -a 21126642 }}} |
| 90 | 1. This results in SIMs having the following parameters |
| 91 | 1. SIM 1 (In dongle attached to node1-2.sb1) |
| 92 | * ICCID : 8901001010000000017 |
| 93 | * IMSI : 001010000000001 |
| 94 | * Ki : 8BAF473F2F8FD09487CCCBD7097C6862 |
| 95 | * OPC : 8e27b6af0e692e750f32667a3b14605d |
| 96 | 1. SIM 2 (In dongle attached to node2-5.outdoor) |
| 97 | * ICCID : 8901001010000000025 |
| 98 | * IMSI : 001010000000002 |
| 99 | * Ki : 8BAF473F2F8FD09487CCCBD7097C6862 |
| 100 | * OPC : 8e27b6af0e692e750f32667a3b14605d |
| 101 | |
| 102 | |
| 103 | |
| 104 | |