Hello,
I work with Marc Wilson (recent poster here) and we have been trying to get remsim
functional. I got all of the client/server bits to finally talk to each other today along
with the port/slot mapping.
In my setup, the ST2 board is connected to a RPi running the remsim-client, and the PC/SC
card reader is mounted to an Ubuntu VM running the server/bankd components. I am running
the pieces each in their own shell so I can easily get stderr output.
Server VM:
@ubuntu:~$ sudo osmo-remsim-server
35014 DLINP NOTICE input/ipa.c:283 0.0.0.0:9998 accept()ed new link from 127.0.0.1:36289
35087 DSLOTMAP INFO ../slotmap.c:135 Slot Map B(1:0) <-> C(1:0) added
35087 DMAIN INFO rest_api.c:333 Slot Map B(1:0) <-> C(1:0) state change: NEW ->
NEW
35087 DMAIN INFO rest_api.c:339 Slot Map B(1:0) <-> C(1:0) state change: NEW ->
NEW
35014 DMAIN INFO rspro_server.c:716 Event FD arrived, checking for any pending work
35014 DMAIN INFO rspro_server.c:391 Slot Map B(1:0) <-> C(1:0) state change: NEW
-> UNACKNOWLEDGED
35014 DMAIN INFO rspro_server.c:363 Slot Map B(1:0) <-> C(1:0) state change:
UNACKNOWLEDGED -> ACTIVE
@ubuntu:~$ sudo osmo-remsim-bankd -b 1 -n 1
[...cut for clarity]
35019 DBANKDW INFO bankd_main.c:442 [000 CONN_WAIT_ID] Changing state to ACCEPTING
35018 DSLOTMAP INFO ../slotmap.c:135 Slot Map B(1:0) <-> C(1:0) added
35019 DBANKDW INFO bankd_main.c:955 [000 ACCEPTING] Accepted connection from
192.168.70.218:41431
35019 DBANKDW INFO bankd_main.c:442 [000 ACCEPTING] Changing state to CONN_WAIT_ID
35019 DBANKDW INFO bankd_main.c:655 [000 CONN_WAIT_ID] Rx RSPRO connectClientReq(T=0,
N='raspberrypi', SW='remsim-client', VER='1.0.0')
35019 DBANKDW INFO bankd_main.c:442 [000 CONN_WAIT_ID] Changing state to CONN_CLIENT
35019 DBANKDW INFO bankd_main.c:625 [000 CONN_CLIENT] slotmap found: C(1:0) -> B(1:0)
35019 DBANKDW INFO bankd_main.c:450 [000 CONN_CLIENT] Changing state to CONN_CLIENT_MAPPED
(timeout=10)
35019 DBANKDW INFO bankd_pcsc.c:261 [000 CONN_CLIENT_MAPPED] Attempting to open PC/SC
context
35019 DBANKDW INFO bankd_pcsc.c:264 [000 CONN_CLIENT_MAPPED] SCardEstablishContext: OK
35019 DBANKDW INFO bankd_pcsc.c:215 [000 CONN_CLIENT_MAPPED] Attempting to find card/slot
using regex 'OMNIKEY AG CardMan 3121 \(OKCM0012007091219038212815383974\) 00 00'
35019 DBANKDW INFO bankd_pcsc.c:234 [000 CONN_CLIENT_MAPPED] Attempting to open card/slot
'OMNIKEY AG CardMan 3121 (OKCM0012007091219038212815383974) 00 00'
35019 DBANKDW INFO bankd_pcsc.c:198 [000 CONN_CLIENT_MAPPED] SCardStatus: OK
35019 DBANKDW INFO bankd_pcsc.c:200 [000 CONN_CLIENT_MAPPED] Card ATR:
3b9f96c00a3fc7828031e073fe211f65d00209146c810f13
35019 DBANKDW INFO bankd_main.c:442 [000 CONN_CLIENT_MAPPED] Changing state to
CONN_CLIENT_MAPPED_CARD
On the RPi running the client I get:
pi@raspberrypi:~ $ sudo osmo-remsim-client-st2 --usb-vendor 1d50 --usb-product 60e3
--usb-path 1-1.3 --usb-interface 0 --usb-config 1 --usb-altsetting 0 --client-id 1
--client-slot 0 --server-ip 192.168.70.241 --server-port 9999
DRSPRO INFO ../rspro_client_fsm.c:307 RSPRO_CLIENT(server){REESTABLISH}: Creating TCP
connection to server at 192.168.70.241:9999
DLINP NOTICE simtrace2_api.c:271 [0] <=
osmo_st2_cardem_request_config(features=00000001)
DLINP NOTICE input/ipa.c:128 192.168.70.241:9999 connection done
DRSPRO NOTICE ../rspro_client_fsm.c:127 RSPRO_CLIENT(server){REESTABLISH}: RSPRO link to
192.168.70.241:9999 UP
DRSPRO ERROR remsim_client.c:121 RSPRO_CLIENT(server){CONNECTED}: Unknown/Unsupported
RSPRO PDU type: setAtrReq
When I look at
https://git.osmocom.org/osmo-remsim/tree/asn1/RSPRO.asn
I see the setAtrReq PDU, so not sure why we are getting this error.
For completeness here is the pcsc_scan on the VM talking to the Reader+Card that I am
trying to remote:
@ubuntu:~$ pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: OMNIKEY AG CardMan 3121 (OKCM0012007091219038212815383974) 00 00
Thu Apr 21 06:49:01 2022
Reader 0: OMNIKEY AG CardMan 3121 (OKCM0012007091219038212815383974) 00 00
Event number: 2
Card state: Card inserted,
ATR: 3B 9F 96 C0 0A 3F C7 82 80 31 E0 73 FE 21 1F 65 D0 02 09 14 6C 81 0F 13
ATR: 3B 9F 96 C0 0A 3F C7 82 80 31 E0 73 FE 21 1F 65 D0 02 09 14 6C 81 0F 13
+ 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) = C0 --> Y(i+1) = 1100, Protocol T = 0
-----
TC(2) = 0A --> Work waiting time: 960 x 10 x (Fi/F)
TD(2) = 3F --> Y(i+1) = 0011, 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
TB(3) = 82 -->
+ Historical bytes: 80 31 E0 73 FE 21 1F 65 D0 02 09 14 6C 81 0F
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: 1F
- Logical channel number assignment: by the interface device and card
- Maximum number of logical channels: 8
Tag: 6, len: 5 (pre-issuing data)
Data: D0 02 09 14 6C
Tag: 8, len: 1 (status indicator)
LCS (life card cycle): 0F
+ TCK = 13 (correct checksum)
I could really use some help. I am so close to getting this functional but stuck on this
snag.
Thank you!
Paul Nederveen
Paul Nederveen
Director of Technical Consulting
t: +1 484 935 3130 |
m: +19196496363 |
w:
eseye.com
LinkedIn | Twitter |
YouTube |
Blog
This email is from Eseye
. Address:
2880 Zanker Rd, Suite 203, San Jose, California, 95134, United States. Registered in
England and Wales - number 06397669. VAT: GB921298326. ISO 27001: 2013 Certified.
If you are not the intended recipient, please notify the sender and delete this email and
any attachments. Eseye, AnyNet, AnyNet Secure and Eseye Logos are registered trademarks.
2020 Eseye Limited. All rights reserved.