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 <[email protected]> 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 <[email protected]> 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" <[email protected]> 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 <[email protected]> wrote:
> > >>
> > >> Why you can read the card operator? And I can't read the operator?
> > >> At 2023-07-17 15:23:05, "Adrian Popa" <[email protected]> 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 <[email protected]>
> > >> >(C) 2018 by Kevin Redon <[email protected]>
> > >> >
> > >> >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 <[email protected]> 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.