Update: I've changed the banks csv configuration to list: root@rpi-cardem-1:~# cat /etc/osmocom/bankd_pcsc_slots.csv "1","0","SCM Microsystems Inc. SCR 3310"
Redid the server mapping to: root@rpi-cardem-1:~# python3 /etc/osmocom/osmo-remsim-apitool -a /clients: {'clients': []} /banks: {'banks': [{'peer': 'B1', 'state': 'CONNECTED_BANKD', 'component_id': {'type_': 'remsimBankd', 'name': 'fixme-name', 'software': 'remsim-bankd', 'swVersion': '1.0.0'}, 'bankId': 1, 'numberOfSlots': 5}]} /slotmaps: {'slotmaps': [{'bank': {'bankId': 1, 'slotNr': 0}, 'client': {'clientId': 1, 'slotNr': 1}, 'state': 'ACTIVE'}]}
But when the client tries to connect, the same thing happens (phone locks, the card reader is reset in a loop). But it was worth a shot.
Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_main.c:955 [001 ACCEPTING] Accepted connection from 192.168.1.9:35811 Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_main.c:442 [001 ACCEPTING] Changing state to CONN_WAIT_ID Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_main.c:655 [001 CONN_WAIT_ID] Rx RSPRO connectClientReq(T=0, N='rpi-cardem-2', SW='remsim-client', VER='1.0.0') Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_main.c:442 [001 CONN_WAIT_ID] Changing state to CONN_CLIENT Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_main.c:625 [001 CONN_CLIENT] slotmap found: C(1:1) -> B(1:0) Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_main.c:450 [001 CONN_CLIENT] Changing state to CONN_CLIENT_MAPPED (timeout=10) Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:261 [001 CONN_CLIENT_MAPPED] Attempting to open PC/SC context Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:264 [001 CONN_CLIENT_MAPPED] SCardEstablishContext: OK Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:215 [001 CONN_CLIENT_MAPPED] Attempting to find card/slot using regex 'SCM Microsystems Inc. SCR 3310' Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:234 [001 CONN_CLIENT_MAPPED] Attempting to open card/slot 'SCM Microsystems Inc. SCR 3310 [CCID Interface] (53312144266274) 00 00' Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:198 [001 CONN_CLIENT_MAPPED] SCardStatus: OK Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:200 [001 CONN_CLIENT_MAPPED] Card ATR: 3b9f96801fc78031e073fe2113679807021001010154 Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_main.c:442 [001 CONN_CLIENT_MAPPED] Changing state to CONN_CLIENT_MAPPED_CARD Jul 17 13:01:37 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_main.c:780 [001 CONN_CLIENT_MAPPED_CARD] Rx RSPRO setAtrRes
// phone powers on
Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_main.c:749 [001 CONN_CLIENT_MAPPED_CARD] Rx RSPRO clientSlotStatusInd(RST=ACTIVE, VCC=PRESENT, CLK=INACTIVE) Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:284 [001 CONN_CLIENT_MAPPED_CARD] Resetting card in 'SCM Microsystems Inc. SCR 3310' (warm reset) Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:288 [001 CONN_CLIENT_MAPPED_CARD] SCardReconnect: OK Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:198 [001 CONN_CLIENT_MAPPED_CARD] SCardStatus: OK Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:200 [001 CONN_CLIENT_MAPPED_CARD] Card ATR: 3b9f96801fc78031e073fe2113679807021001010154 Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_main.c:749 [001 CONN_CLIENT_MAPPED_CARD] Rx RSPRO clientSlotStatusInd(RST=ACTIVE, VCC=PRESENT, CLK=ACTIVE) Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:284 [001 CONN_CLIENT_MAPPED_CARD] Resetting card in 'SCM Microsystems Inc. SCR 3310' (warm reset) Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:288 [001 CONN_CLIENT_MAPPED_CARD] SCardReconnect: OK Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:198 [001 CONN_CLIENT_MAPPED_CARD] SCardStatus: OK Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:200 [001 CONN_CLIENT_MAPPED_CARD] Card ATR: 3b9f96801fc78031e073fe2113679807021001010154 Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_main.c:749 [001 CONN_CLIENT_MAPPED_CARD] Rx RSPRO clientSlotStatusInd(RST=INACTIVE, VCC=PRESENT, CLK=ACTIVE) Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_main.c:749 [001 CONN_CLIENT_MAPPED_CARD] Rx RSPRO clientSlotStatusInd(RST=INACTIVE, VCC=ABSENT, CLK=ACTIVE) Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:284 [001 CONN_CLIENT_MAPPED_CARD] Resetting card in 'SCM Microsystems Inc. SCR 3310' (cold reset) Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:288 [001 CONN_CLIENT_MAPPED_CARD] SCardReconnect: OK Jul 17 13:02:03 rpi-cardem-1 osmo-remsim-bankd[1692]: 1694 DBANKDW INFO bankd_pcsc.c:198 [001 CONN_CLIENT_MAPPED_CARD] SCardStatus: OK
I will try with a different reader in a week or so. Thanks for the advice! Cheers
On Mon, Jul 17, 2023 at 2:50 PM Adrian Popa adrian.popa.gh@gmail.com wrote:
On the bank side you're free to use any available slots. In my case I only have one reader, but I can define the IDs as I please (I think). The bankd daemon loads all readers and knows their mappings. In my case I use reader 1 with card 1.
Hmm, maybe that's the problem? I'll give it a try, thanks!
On Mon, Jul 17, 2023 at 1:18 PM gmaillee gmaillee@126.com wrote:
I saw your csv file, and I read the manual says it starts with 1 0, why yours is 1 1."1","0","HID Global OMNIKEY 6121 Smart Card Reader [OMNIKEY 6121 Smart Card Reader ] 00 00" At 2023-07-17 18:06:20, "Adrian Popa" adrian.popa.gh@gmail.com wrote:
@sss: if you mean this: Possibly identified card (using /usr/share/pcsc/smartcard_list.txt): 3B 9F 96 80 1F C7 80 31 E0 73 FE 21 13 67 98 07 02 10 01 01 01 54 SIM Card (Carrier: BOB, Country: Austria) (Telecommunication) https://www.bob.at
That's not the correct operator for this SIM card. Nor country... But I assumed an old database.
On Mon, Jul 17, 2023 at 1:00 PM sss bianfang85@163.com wrote:
Why you can read the card operator? And I can't read the operator? At 2023-07-17 15:23:05, "Adrian Popa" adrian.popa.gh@gmail.com wrote:
Ok, I did some more tests, in order to rule out a bad FPC connection. I flashed the trace dfu and used the simtrace board + the same FPC connection, the same phone + a sim card in the board reader and ran simtrace2-sniff to read traffic between phone and SIM, and it worked ok:
root@rpi-cardem-2:~# simtrace2-sniff simtrace2-sniff - Phone-SIM card communication sniffer (C) 2010-2017 by Harald Welte laforge@gnumonks.org (C) 2018 by Kevin Redon kredon@sysmocom.de
Using USB device 1d50:60e3 Addr=6, Path=1-1.3, Cfg=1, Intf=0, Alt=0: 255/1/0 (SIMtrace Sniffer) Entering main loop Card state change: reset de-asserted ATR: 3b 9f 96 80 1f c7 80 31 e0 73 fe 21 13 67 98 07 02 10 01 01 01 54 PPS: ff 10 95 7a PPS: ff 10 95 7a Fi/Di switched to 512/16 TPDU: 00 a4 08 04 02 2f 00 61 24 TPDU: 00 c0 00 00 24 62 22 82 05 42 21 00 24 05 83 02 2f 00 a5 06 c0 01 00 de 01 00 8a 01 05 8b 03 2f 06 05 80 02 00 b4 88 01 f0 90 00 TPDU: 00 b2 01 04 24 61 18 4f 10 a0 00 00 00 87 10 02 ff 49 ff 01 89 00 00 01 00 50 04 55 53 49 4d ff ff ff ff ff ff ff ff ff ff 90 00 TPDU: 00 b2 02 04 24 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 90 00 TPDU: 00 b2 03 04 24 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 90 00 TPDU: 00 b2 04 04 24 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 90 00 TPDU: 00 b2 05 04 24 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 90 00 TPDU: 00 a4 00 04 02 3f 00 61 29 TPDU: 00 c0 00 00 29 62 27 82 02 78 21 83 02 3f 00 a5 07 80 01 71 83 02 98 5c 8a 01 05 8b 03 2f 06 02 c6 0c 90 01 60 83 01 01 83 01 0a 83 01 81 90 00 TPDU: 00 a4 08 04 02 2f 05 61 21 TPDU: 00 c0 00 00 21 62 1f 82 02 41 21 83 02 2f 05 a5 06 c0 01 00 de 01 00 8a 01 05 8b 03 2f 06 07 80 02 00 08 88 01 28 90 00 TPDU: 00 b0 00 00 08 65 6e 65 73 66 72 ff ff 90 00 TPDU: 80 10 00 00 17 ff ff ff ff 7f 0f 00 df ff 00 00 1f 42 03 10 46 03 00 00 00 00 00 40 90 00 ...
So, this rules out a bad FPC connection/cable.
I will try getting a different reader. When trying to read the card, the reader behaves the same way - its led keeps flashing, bankd spams lots of reset messages (both cold reset and warm reset). I wonder if there are additional debug messages I can look for to see why it can't read the card. Again, here is the card output from pcsc_scan - I don't see anything wrong with it, though I'm not used to reading SIM cards...
root@rpi-cardem-1:~# pcsc_scan Using reader plug'n play mechanism Scanning present readers... 0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (53312144266274) 00 00
Mon Jul 17 09:20:29 2023 Reader 0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (53312144266274) 00 00 Event number: 0 Card state: Card inserted, ATR: 3B 9F 96 80 1F C7 80 31 E0 73 FE 21 13 67 98 07 02 10 01 01 01 54
ATR: 3B 9F 96 80 1F C7 80 31 E0 73 FE 21 13 67 98 07 02 10 01 01 01 54
- TS = 3B --> Direct Convention
- T0 = 9F, Y(1): 1001, K: 15 (historical bytes)
TA(1) = 96 --> Fi=512, Di=32, 16 cycles/ETU 250000 bits/s at 4 MHz, fMax for Fi = 5 MHz => 312500 bits/s TD(1) = 80 --> Y(i+1) = 1000, Protocol T = 0
TD(2) = 1F --> Y(i+1) = 0001, Protocol T = 15 - Global interface bytes following
TA(3) = C7 --> Clock stop: no preference - Class accepted by the card: (3G) A 5V B 3V C 1.8V
- Historical bytes: 80 31 E0 73 FE 21 13 67 98 07 02 10 01 01 01
Category indicator byte: 80 (compact TLV data object) Tag: 3, len: 1 (card service data byte) Card service data byte: E0 - Application selection: by full DF name - Application selection: by partial DF name - BER-TLV data objects available in EF.DIR - EF.DIR and EF.ATR access services: by GET RECORD(s) command - Card with MF Tag: 7, len: 3 (card capabilities) Selection methods: FE - DF selection by full DF name - DF selection by partial DF name - DF selection by path - DF selection by file identifier - Implicit DF selection - Short EF identifier supported - Record number supported Data coding byte: 21 - Behaviour of write functions: proprietary - Value 'FF' for the first byte of BER-TLV tag fields: invalid - Data unit in quartets: 2 Command chaining, length fields and logical channels: 13 - Logical channel number assignment: by the card - Maximum number of logical channels: 4 Tag: 6, len: 7 (pre-issuing data) Data: 98 07 02 10 01 01 01
- TCK = 54 (correct checksum)
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt): 3B 9F 96 80 1F C7 80 31 E0 73 FE 21 13 67 98 07 02 10 01 01 01 54 SIM Card (Carrier: BOB, Country: Austria) (Telecommunication) https://www.bob.at
Cheers!
On Sat, Jul 15, 2023 at 7:03 AM bianfang85@163.com wrote:
DRSPRO NOTICE ../rspro_client_fsm.c:127 RSPRO_CLIENT(bankd){REESTABLISH}: RSPRO link to 192.168.2.131:9999 UP DRSPRO ERROR ../rspro_client_fsm.c:297 RSPRO_CLIENT(bankd){REESTABLISH}: Event SRVC_E_KA_TERMINATED not permitted DRSPRO INFO ../rspro_client_fsm.c:302 RSPRO_CLIENT(bankd){REESTABLISH}: Destroying existing connection to server DRSPRO INFO ../rspro_client_fsm.c:307 RSPRO_CLIENT(bankd){REESTABLISH}: Creating TCP connection to server at 192.168.2.131:9999 DLINP NOTICE input/ipa.c:141 192.168.2.131:9999 connection done
I think our problems are similar. My initial suspicion is that there is a problem with our soft connection. Or there is a problem with the settings.