SIMtrace2 card-emulation question

I have a few questions regarding simtrace2-cardem-pcsc that I would like to consult with you:
(1)、I am using simtrace2-cardem-pcsc to access a remote SIM card by connecting the SIMtrace2 board to a mobile terminal. When I use pcsc_scan, it shows that the card reader has opened the SIM card successfully, and the other end is also connected to the SIMtrace2 board correctly. However, there are no valid APDU commands being printed. Through simtrace2-tool, I only see some reset information.

(2)、I would like to connect the SIMTrace2 board to the soft SIM on my computer. Is there any related manual or documentation that could guide me through this process?

I have no idea what might be the problem; in 14 years of simtrace/simtrace2 usage I have not seen those kind of error messages.

  • if you are using a VM, please retry with Linux in a native machine
  • if you have multiple different computers available, please try with another one
  • are you sure you are running a ‘cardem’ firmware on the board? How does the simtrace2-list output look like?
  • have you tried with another UE and/or FPC cable, just to make sure?
  • did the simtrace2 board ever work with the ‘trace’ firmware before? Just to validate the hardware?

I have never flashed firmware on the board, are there multiple firmwares? I have always used the one that came with the board.

What do you mean by “working with ‘trace’ firmware”?

Here is the output of simtrace2-list.

Wiki - SIMtrace 2 - Open Source Mobile Communications states there is a tracing and a card-emulation firmware.

Cardem - SIMtrace 2 - Open Source Mobile Communications states cardem is a firmware"… .and You can download the beta firmware for the SIMtrace board here: https://downloads.osmocom.org/binaries/simtrace2/firmware/all/simtrace-cardem-dfu-latest.bin.

The output of simtrace2-list shows that you have tracing (also known as sniffing) firmware installed, not cardem

Thank you very much for your help. I can now see some APDU signals, and I have a few more questions to ask you.

  1. My 2G phone no longer shows the “no card” message, but it still cannot make calls. Is there any further configuration needed to enable the remote SIM function?
  2. Can the simtrace2 be used to achieve separation of the SIM card from the phone while still allowing the phone to function normally? If not, what part is missing?

Thank you very much for your help. Please reply when you have time, as I would like to learn more.

It is very strange that the communication with the SIM card now generally works, but still you say you cnanot register to the network. It should simply work.

I think it would be best if you could provide the full log file (and GSMTAP pcap file) from the moment you turn on the phone. Maybe something shows up there, whihc can help us to analyze this further.

In general, I would suggest to also try with other phones/modems or other SIM cards, so you get to at least one fully working scenario. Then we could look at differences to the non-working case.

As shown in the screenshot, I tested on another 4G phone and found that communication works fine. However, when testing with SoftSIM, it gets stuck at this point and I can’t identify the issue. Could you provide some advice?

If it works with a real card and fails with softsim, It does not look like a simtrace2/cardem problem. Rather, it looks like it might be a problem with the softsim. You may want to bring that up with the supplier of the softsim implementation.

To analyize I suggest you generate GSMTAP output and use pySim-trace to analyze the APDU trace between [real or soft]SIM.

Thank you for your advice. I have another question to ask: after receiving the instructions for a warm reset and cold reset, what should the SIM card reply? My softsim’s responses to cold resets and warm resets are consistent, and there are no PTS message packets.

answer to any type of reset is always the ATR. A PPS is not mandatory. But if you see a PPS with a real SIM and none with your softsim, then maybe your ATR is different and the UE somehow decides based on the ATR if it should do a PPS or not?