| 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 | |