Hi
I get the following issue when running ./pySim-shell.py
I am using Python 3.6.8.
Any pointers will be greatly appreciated.
ERROR: Could not find a version that satisfies the requirement
pyosmocom>=0.0.8 (from versions: none)
ERROR: No matching distribution found for pyosmocom>=0.0.8
[root@localhost pysim]# python3 --version
Python 3.6.8
[root@localhost pysim]#
Hello
I can access my ZTE Modem and read values from the SIM card like IMSI with
AT commands.
Welcome to minicom 2.8
OPTIONS: I18n
Port /dev/ttyUSB2, 18:23:09
Press CTRL-A Z for help on special keys
AT
OK
AT+CSIM=?
OK
ATI
Manufacturer: ZTE INCORPORATED
Model: MF626
Revision: BD_MOBINILP673M3V1.0.0B02
IMEI: 357034037160973
+GCAP: +CGSM,+FCLAS
I would like to try pySIM-shell to access the same modem with SIM, but I am
getting the error below:
(venv) root@ubuntu-HP-Notebook:/home/ubuntu/pysim# python3 pySim-shell.py
--modem-device /dev/ttyUSB2
DEBUG:root:Sending AT command: AT
INFO:root:Command finished with timeout >= 0.2s
DEBUG:root:Command took 0.201042s (89 cycles a 0.002000s)
DEBUG:root:Got response from modem: [b'']
Traceback (most recent call last):
File "/home/ubuntu/pysim/pySim-shell.py", line 1117, in <module>
sl = init_reader(opts, proactive_handler = Proact())
File "/home/ubuntu/pysim/pySim/transport/__init__.py", line 362, in
init_reader
sl = ModemATCommandLink(opts, **kwargs)
File "/home/ubuntu/pysim/pySim/transport/modem_atcmd.py", line 51, in
__init__
self._check_echo()
File "/home/ubuntu/pysim/pySim/transport/modem_atcmd.py", line 127, in
_check_echo
raise ReaderError('Interface \'%s\' does not respond to \'AT\' command'
% self._device)
pySim.exceptions.ReaderError: Interface '/dev/ttyUSB2' does not respond to
'AT' command
(venv) root@ubuntu-HP-Notebook:/home/ubuntu/pysim#
I tried increasing the timeout in send_at_cmd() to 1 second and 2 seconds,
but i get the same result.
Any ideas how I can access the modem via pySim-shell ?
Thanks
Abdelmuhaimen Seaudi, CCIE # 25265
Email: aseaudi(a)gmail.com
Skype: aseaudi
LinkedIn: www.linkedin.com/in/aseaudi
Telephone: +2012 84644 733
Good day,
I have been trying to get Simtrace2 to connect to a 'newish' phone model, but to no avail. I can not get the SIM to be recognised in the tray (I confirmed that the ribbon flex cable's continuity is OK too).
I saw a sysmocom thread <https://osmocom.org/issues/6181> where a Google Pixel 5 succeeded in tracing some TPDUs.
Does anyone have some hints as to how to get this working on a non-M.2 form factor modem and ideally in a handled?
I have tested with the following phone models, all with the same result of no SIM detection:
Google Pixel 3A & 5, Samsung S21-S24, iPhone 13 & 14 and OnePlus 9
Kind regards,
Nico
Hi.
I want to use pySim to check my own SIM applet.
But there is ERROR when installing pySim.
pySim requires smpp.pdu-0.3. So I tried to install smpp.pdu-0.3.
But it show following error like following. Error is due to "AttributeError: module 'enum' has no attribute '__version__'" Could help me solve the problem.
(vpy) quectel-sw@quectelsw-keipy:~/work/04_usim/smpp.pdu-0.3$
(vpy) quectel-sw@quectelsw-keipy:~/work/04_usim/smpp.pdu-0.3$ sudo python3.9 setup.py install --user
running install
..........
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 154, in save_modules
yield saved
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 195, in setup_context
yield
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 250, in run_setup
_execfile(setup_script, ns)
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 45, in _execfile
exec(code, globals, locals)
File "/tmp/easy_install-rbrdenj3/enum-0.4.7/setup.py", line 24, in <module>
test_suite = 'smpp.pdu.tests',
AttributeError: module 'enum' has no attribute '__version__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/quectel-sw/work/04_usim/smpp.pdu-0.3/setup.py", line 6, in <module>
setup(
File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 144, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.9/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.9/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.9/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/lib/python3/dist-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/usr/lib/python3/dist-packages/setuptools/command/install.py", line 117, in do_egg_install
cmd.run(show_deprecation=False)
File "/usr/lib/python3/dist-packages/setuptools/command/easy_install.py", line 450, in run
self.easy_install(spec, not self.no_deps)
File "/usr/lib/python3/dist-packages/setuptools/command/easy_install.py", line 693, in easy_install
return self.install_item(None, spec, tmpdir, deps, True)
File "/usr/lib/python3/dist-packages/setuptools/command/easy_install.py", line 740, in install_item
self.process_distribution(spec, dist, deps)
File "/usr/lib/python3/dist-packages/setuptools/command/easy_install.py", line 784, in process_distribution
distros = WorkingSet([]).resolve(
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 781, in resolve
dist = best[req.key] = env.best_match(
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1066, in best_match
return self.obtain(req, installer)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1078, in obtain
return installer(requirement)
File "/usr/lib/python3/dist-packages/setuptools/command/easy_install.py", line 712, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/usr/lib/python3/dist-packages/setuptools/command/easy_install.py", line 738, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/usr/lib/python3/dist-packages/setuptools/command/easy_install.py", line 923, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "/usr/lib/python3/dist-packages/setuptools/command/easy_install.py", line 1191, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "/usr/lib/python3/dist-packages/setuptools/command/easy_install.py", line 1177, in run_setup
run_setup(setup_script, args)
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 253, in run_setup
raise
File "/usr/lib/python3.9/contextlib.py", line 135, in __exit__
self.gen.throw(type, value, traceback)
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 195, in setup_context
yield
File "/usr/lib/python3.9/contextlib.py", line 135, in __exit__
self.gen.throw(type, value, traceback)
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 166, in save_modules
saved_exc.resume()
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 141, in resume
six.reraise(type, exc, self._tb)
File "/usr/lib/python3/dist-packages/setuptools/_vendor/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 154, in save_modules
yield saved
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 195, in setup_context
yield
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 250, in run_setup
_execfile(setup_script, ns)
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 45, in _execfile
exec(code, globals, locals)
File "/tmp/easy_install-rbrdenj3/enum-0.4.7/setup.py", line 24, in <module>
test_suite = 'smpp.pdu.tests',
AttributeError: module 'enum' has no attribute '__version__'
(vpy) quectel-sw@quectelsw-keipy:~/work/04_usim/smpp.pdu-0.3$
https://www.quectel.com/ Young Hwan Kim | Software Engineer | Quectel Wireless Solutions Co., Ltd. <https://www.quectel.com/>
Mobile: +82-10 4239 3254 | Email : younghwan.kim(a)quectel.com | Tel: +82-31-698-2067<https://www.quectel.com/>
Website: https://www.quectel.com/ | Wechat: wxid_pim1xd90yibj22<https://www.quectel.com/>
2nd Floor, 26, Hwangsaeul-ro 312 beon-gil, Bundang-gu, Seongnam-si, Gyeonggi-do, Republic of Korea<https://www.quectel.com/>
[???, ??? ???, ???(?) ??? ?? ?? ??? ??]<https://www.quectel.com/>
*UDP Port (4729) Conflict Between SIMTrace2 and pySim*
Hello community/admin,
I am experiencing an issue while using *SIMTrace2* and *pySim* to sniff and
analyze SIM card communication. Below are the details:
------------------------------
*1. When SIMTrace2 Sniff is Turned Off*
I run the following command:
bash
pySim-trace.py gsmtap-udp
*Output*:
plaintext
Copy code
INFO root: Opening source gsmtap-udp...
Detected UICC Add-on "SIM"
Detected UICC Add-on "GSM-R"
Detected UICC Add-on "RUIM"
Can't read AIDs from SIM -- 'list' object has no attribute 'lower'
warning: EF.DIR seems to be empty!
ADF.ECASD: a0000005591010ffffffff8900000200
ADF.ISD-R: a0000005591010ffffffff8900000100
ISIM: a0000000871004
USIM: a0000000871002
INFO root: Entering main loop...
When I check the UDP port (4729) usage:
bash
sudo lsof -i :4729
*Output*:
plaintext
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python3 198340 jun 4u IPv4 301846 0t0 UDP localhost:4729
------------------------------
*2. When SIMTrace2 Sniff is Turned On*
I run the following command:
bash
simtrace2-sniff
*Output*:
plaintext
simtrace2-sniff - Phone-SIM card communication sniffer
(C) 2010-2017 by Harald Welte <laforge(a)gnumonks.org>
(C) 2018 by Kevin Redon <kredon(a)sysmocom.de>
Using USB device 1d50:60e3 Addr=46, Path=1-5, Cfg=1, Intf=0, Alt=0:
255/1/0 (SIMtrace Sniffer)
Entering main loop
ATR: 3b 9f 96 80 1f c7 80 31 e0 73 fe 21 11 57 86 81 27 86 98 60 58 ec
PPS: ff 00 ff
TPDU: a0 a4 00 00 02 7f 20 9f 17
TPDU: a0 c0 00 00 17 00 00 00 00 7f 20 02 00 00 00 00 00 0a 93 00 1c
04 00 83 8a 83 8a 00 90 00
When I check the UDP port (4729) usage:
bash
sudo lsof -i :4729
*Output*:
plaintext
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
simtrace2 198351 jun 7u IPv4 308389 0t0 UDP
localhost:36190->localhost:4729
simtrace2 198351 jun 8u IPv4 308390 0t0 UDP localhost:4729
------------------------------
*UDP Port (4729) Conflict Between SIMTrace2 and pySim*
Hello community/admin,
I am experiencing an issue while using *SIMTrace2* and *pySim* to sniff and
analyze SIM card communication. Below are the details:
------------------------------
*1. When SIMTrace2 Sniff is Turned Off*
I run the following command:
bash
Copy code
/usr/src/pysim/pySim-trace.py gsmtap-udp
*Output*:
plaintext
Copy code
INFO root: Opening source gsmtap-udp...
Detected UICC Add-on "SIM"
Detected UICC Add-on "GSM-R"
Detected UICC Add-on "RUIM"
Can't read AIDs from SIM -- 'list' object has no attribute 'lower'
warning: EF.DIR seems to be empty!
ADF.ECASD: a0000005591010ffffffff8900000200
ADF.ISD-R: a0000005591010ffffffff8900000100
ISIM: a0000000871004
USIM: a0000000871002
INFO root: Entering main loop...
When I check the UDP port (4729) usage:
bash
sudo lsof -i :4729
*Output*:
plaintext
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python3 198340 jun 4u IPv4 301846 0t0 UDP localhost:4729
------------------------------
*2. When SIMTrace2 Sniff is Turned On*
I run the following command:
bash
simtrace2-sniff
*Output*:
plaintext
simtrace2-sniff - Phone-SIM card communication sniffer
(C) 2010-2017 by Harald Welte <laforge(a)gnumonks.org>
(C) 2018 by Kevin Redon <kredon(a)sysmocom.de>
Using USB device 1d50:60e3 Addr=46, Path=1-5, Cfg=1, Intf=0, Alt=0:
255/1/0 (SIMtrace Sniffer)
Entering main loop
ATR: 3b 9f 96 80 1f c7 80 31 e0 73 fe 21 11 57 86 81 27 86 98 60 58 ec
PPS: ff 00 ff
TPDU: a0 a4 00 00 02 7f 20 9f 17
TPDU: a0 c0 00 00 17 00 00 00 00 7f 20 02 00 00 00 00 00 0a 93 00 1c
04 00 83 8a 83 8a 00 90 00
When I check the UDP port (4729) usage:
bash
sudo lsof -i :4729
*Output*:
plaintext
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
simtrace2 198351 jun 7u IPv4 308389 0t0 UDP
localhost:36190->localhost:4729
simtrace2 198351 jun 8u IPv4 308390 0t0 UDP localhost:4729
------------------------------
*3. When Running SIMTrace2 Sniff and pySim-trace.py Together*
If I try to run both *SIMTrace2 sniff* and *pySim-trace.py gsmtap-udp*
simultaneously, I get the following error from *pySim*:
plaintext
jun@jun-RDR:pySim-trace.py gsmtap-udp
INFO root: Opening source gsmtap-udp...
Traceback (most recent call last):
File "pySim-trace.py", line 199, in <module>
s = GsmtapApduSource(opts.bind_ip, opts.bind_port)
File "pysim/pySim/apdu_source/gsmtap.py", line 44, in __init__
self.gsmtap = GsmtapReceiver(bind_ip, bind_port)
File "/home/jun/.local/lib/python3.10/site-packages/osmocom/gsmtap.py",
line 207, in __init__
self.sock.bind((self.bind_ip, self.bind_port))
OSError: [Errno 98] Address already in use
------------------------------
*Main Issue*
1. When *SIMTrace2 sniff* is running, it occupies UDP port 4729,
preventing *pySim* from using the same port.
2. When SIMTrace2 sniff is stopped, *pySim* can access UDP port 4729 but
fails to decode data, showing the following errors:
plaintext
Can't read AIDs from SIM -- 'list' object has no attribute 'lower'
warning: EF.DIR seems to be empty!
3. If I try to run both tools at the same time, *pySim* crashes with the
error [Errno 98] Address already in use.
------------------------------
*Request for Help*
- Has anyone experienced a similar issue when running *SIMTrace2* and
*pySim* together?
- How can I avoid the port conflict and ensure both tools can run
simultaneously?
- What could cause the decoding error and the warning about an empty
EF.DIR in *pySim*?
Any insights or advice would be greatly appreciated. Thank you!
Hello,
In reference to this bug: https://osmocom.org/issues/5310
I am also experiencing this on two different platforms, Pi4 and an Intel NUC x86. I have two OCTSIMs but I can reproduce with one only and with only USB connected. All SIM slots are populated. Upon power cycle of the host system, the OCTSIM is unable to enumerate. If I unplug the USB cable and replug, it sometimes enumerates. If it doesn't, I move to another USB port and sometime it works.
I also tried upgrading the firmware on one board from 0.2.61-2a78 to 0.2.78-62e1 but the problem remains. Log below shows enumeration errors after which I unplugged the cables and replugged. Please advise as we cannot build a product around a device that cannot enumerate reliably.
[ 308.083438] usb 1-1: new full-speed USB device number 5 using xhci_hcd
[ 308.211478] usb 1-1: device descriptor read/64, error -71
[ 308.447471] usb 1-1: device descriptor read/64, error -71
[ 308.683426] usb 1-1: new full-speed USB device number 6 using xhci_hcd
[ 308.811460] usb 1-1: device descriptor read/64, error -71
[ 309.047456] usb 1-1: device descriptor read/64, error -71
[ 309.155542] usb usb1-port1: attempt power cycle
[ 309.567390] usb 1-1: new full-speed USB device number 7 using xhci_hcd
[ 309.567620] usb 1-1: Device not responding to setup address.
[ 309.775623] usb 1-1: Device not responding to setup address.
[ 309.983398] usb 1-1: device not accepting address 7, error -71
[ 310.111394] usb 1-1: new full-speed USB device number 8 using xhci_hcd
[ 310.111628] usb 1-1: Device not responding to setup address.
[ 310.319589] usb 1-1: Device not responding to setup address.
[ 310.527383] usb 1-1: device not accepting address 8, error -71
[ 310.527534] usb usb1-port1: unable to enumerate USB device
[ 349.237421] usb 1-2: USB disconnect, device number 3
[ 353.706345] usb 1-2: new full-speed USB device number 9 using xhci_hcd
[ 353.856758] usb 1-2: New USB device found, idVendor=1d50, idProduct=6141, bcdDevice= 0.00
[ 353.856770] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=7
[ 353.856776] usb 1-2: Product: sysmoOCTSIM 0.2.61-2a78
[ 353.856781] usb 1-2: Manufacturer: sysmocom - s.f.m.c. GmbH
[ 353.856785] usb 1-2: SerialNumber: 6ebe976f3335355320202034432415ff
[ 353.871733] cdc_acm 1-2:1.1: ttyACM0: USB ACM device
[ 353.871776] usbcore: registered new interface driver cdc_acm
[ 353.871779] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 373.317822] usb 1-1: new full-speed USB device number 10 using xhci_hcd
[ 373.468141] usb 1-1: New USB device found, idVendor=1d50, idProduct=6141, bcdDevice= 0.00
[ 373.468154] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=7
[ 373.468160] usb 1-1: Product: sysmoOCTSIM 0.2.78-62e1
[ 373.468164] usb 1-1: Manufacturer: sysmocom - s.f.m.c. GmbH
Thanks
Hi,
I am in process of burning new SIM card with details from scratch and have
been referring to https://gitea.osmocom.org/sim-card/pysim
From the README à Installation I am unable to install below deps at my WSL
environment, can someone please suggest a way to do it please ?
pyosmocom
pycryptodomex
pyscard
pyserial
pytlv
pyyaml >= 5.1
--
Best Regards
Shantanu
Hello experts,
I am trying to use WiFi calling in iPhone by using sysmoISIM-SJA2, but for
some reason "WiFi Calling" toggle button is not shown in the phone setting.
I am using PLMN ID 441-216 (Newly obtained from Japanese Government for
private network usage).
I have written epdgid, epdgSelection, and pcscf address in the SIM card and
saw if the toggle button was shown, but it was not.
It would be really appreciated if you could tell me how to enable WiFi
calling in iPhone.
Thanks&Regards,
Koji
Cordial greeting,
A few months ago I purchased a pack of 10 sysmoISIM-SJA5-9FV SIMs and
one Omnikey 3121 USB card reader.
Since I received the products I have tried to install PySim to program
the sim cards for use with OAI, when carrying out the installation
process as indicated in the documentation
(https://github.com/osmocom/pysim) on different versions of Ubuntu
(20LTS, 22LTS and 24LTS) and over Linux Arch 2024 is generated the
following error message
File "/usr/bin/pySim-shell.py", line 50, in <module>
from osmocom.utils import h2b, b2h, i2h, swap_nibbles, rpad,
JsonEncoder, is_hexstr, is_decimal
ModuleNotFoundError: No module named 'osmocom'
For this reason, I have not been able to program the purchased SIM cards
Could you please help me by sending detailed instructions on how to
successfully carry out the installation process of PySim on any
suggested version of Linux?
I appreciate the attention and collaboration you can give me.
Best regards
P.D.
Sale Order: SO8027
Delivery Order: AM93\OUT\07572
Webshop Order ID: WEBON12442
--
Hello! I tried searching the mailing list to see if anyone else has had this issue, but I didn't find anything relevant.
Explanation: I am trying to install my java applets to an older sysmoISIM-SJA2 card with the "SELECTABLE" and "DEFAULT" privilges/flags. The reason being that I need my applets to auto select itself rather than manual interaction through the SIM Toolkit menu. Currently, I am using the shadysim-isim tool to load my applets, however, there is no option to make applets defaultSelect. And, it doesn't look like pySim supports this currently either. GlobalProtectPro (gp.jar) does have support for these cmds, but it looks like they need addtional parameters specific to the SJA2 when installing.
Does anyone know what the exact parameters needed are? Someone else noted this issue under the GlobalProtectPro repo - but I'm not really knowledgeable enough to understand what was said.
Link to the issue: https://github.com/martinpaljak/GlobalPlatformPro/issues/293
Link to their solution: https://github.com/martinpaljak/GlobalPlatformPro/issues/293#issuecomment-1…
Thanks!
Hello,
I have a functioning setup of remsim as follow:
* An x86 server that hosts a sysmoOCTSIM board. This server runs the bank daemon and also the remsim server.
* An ARM64 client that hosts a SIMtrace2 board, and a 5G modem with two SIM inputs to support dual SIM single standby (DSSS). The SIMtrace2 connects to SIM slot 0 on the 5G modem via a flexi.
* I use the remsim-apitool to create the slot map and assign SIMs to the client using the server IP, bank ID and client ID. Client slot is always 0.
I’d like to allocate two SIMs in the bank to this one client using only one ATSAM4S microcontroller to utilise the DSSS function of the modem e.g. SIM slot 1 in the bank is mapped to SIM slot 0 on the 5G modem for client ID 1. SIM slot 2 in the bank is mapped to SIM slot 1 on the same 5G modem for client ID 1. Is this possible with the current implementation of remsim? I cannot find any reference to this in the archives or in the manuals.
Thanks
The contents of this e-mail are confidential and for the exclusive use of the intended recipient. If you are not the intended recipient you should not read, copy, retransmit or disclose its contents. If you have received this email in error please delete it from your system immediately and notify us either by email or telephone. The views expressed in this communication may not necessarily be the views held by McLaren Applied Limited.
Dukes Court, Block E, Duke Street, Woking, GU21 5BH, United Kingdom Company Number: 02322992
hi ,
1, if the SIM card attached to the product can be set up in China real-name APN to access the Internet?
2, ngff-cardem 5G module China Unicom SIM card, how to set to identify SIM?
赵余滨
+86 17621901212 | zhaoyubin(a)yoocar.com.cn
上海优咔网络科技有限公司
地址:上海市徐汇区龙耀路175号星扬西岸中心38楼
重要提示:此邮件及附件具保密性质,包含商业秘密、受法律保护不得泄露。
IMPORTANT NOTE: This email and any attachment are confidential and may contain trade secrets and may also be legally privileged or otherwise protected from disclosure.
Hi Team,
I am getting the following error while running the pySim-read.py , This
program runs fine on old SIM cards but in new SIM cards it gives the below
error.
I did a comparison of directories on both the SIM cards and there is a
difference, Kindly guide how to fix it . Although EF.ICCID exists in both
the SIM cards .
Additionally pySim-shell.py works well .
python3 pySim-read.py -p 1
Using reader PCSC[HID Global OMNIKEY 3x21 Smart Card Reader [OMNIKEY 3x21
Smart Card Reader] 01 00]
Reading ...
Autodetection failed
Traceback (most recent call last):
File "/home/lab3/pysim/pySim-read.py", line 105, in <module>
(res, sw) = card.read_iccid()
File "/home/lab3/pysim/pySim/legacy/cards.py", line 62, in read_iccid
(res, sw) = self._scc.read_binary(EF['ICCID'])
File "/home/lab3/pysim/pySim/commands.py", line 320, in read_binary
r = self.select_path(ef)
File "/home/lab3/pysim/pySim/commands.py", line 285, in select_path
data, _sw = self.select_file(i)
File "/home/lab3/pysim/pySim/commands.py", line 296, in select_file
return self.send_apdu_checksw(self.cla_byte + "a4" + self.sel_ctrl +
"02" + fid)
File "/home/lab3/pysim/pySim/commands.py", line 143, in send_apdu_checksw
return self._tp.send_apdu_checksw(pdu, sw)
File "/home/lab3/pysim/pySim/transport/__init__.py", line 218, in
send_apdu_checksw
raise SwMatchError(rv[1], sw.lower(), self.sw_interpreter)
pySim.exceptions.SwMatchError: SW match failed! Expected 9000 and got 6e00.
BR//
Niraj Kumar
Good afternoon,
I am trying to verify the CHV2 verification on an Amarisoft Test SIM Card. With a HID OMNIKEY 3121.
I have issues with the CHV2 verification with the pySim software and amarisoft simcard.
I get the error below.
Can you please give me some hints on how to fix this issue as I have no idea of how to start.
Sincerely,
Valentin M.
pySIM-shell (00:MF)> verify_chv --pin-nr 1 1234
CHV verification successful
pySIM-shell (00:MF)> verify_chv --pin-nr 2 1234
EXCEPTION of type 'SwMatchError' occurred with message: SW match failed! Expected 9000 and got 6b00.
To enable full traceback, run the following command: 'set debug true'
pySIM-shell (00:MF)> set debug true
debug - was: False
now: True
pySIM-shell (00:MF)> verify_chv --pin-nr 2 1234
Traceback (most recent call last):
File "/home/keas/.local/lib/python3.10/site-packages/cmd2/cmd2.py", line 2399, in onecmd_plus_hooks
stop = self.onecmd(statement, add_to_history=add_to_history)
File "/home/keas/.local/lib/python3.10/site-packages/cmd2/cmd2.py", line 2852, in onecmd
stop = func(statement)
File "/home/keas/.local/lib/python3.10/site-packages/cmd2/decorators.py", line 382, in cmd_wrapper
return func(*args_list, **kwargs) # type: ignore[call-arg]
File "/home/keas/pysim/./pySim-shell.py", line 824, in do_verify_chv
(data, sw) = self._cmd.lchan.scc.verify_chv(opts.pin_nr, h2b(pin))
File "/home/keas/pysim/pySim/commands.py", line 693, in verify_chv
self._chv_process_sw('verify', chv_no, code, sw)
File "/home/keas/pysim/pySim/commands.py", line 682, in _chv_process_sw
raise SwMatchError(sw, '9000')
pySim.exceptions.SwMatchError: SW match failed! Expected 9000 and got 6b00.
EXCEPTION of type 'SwMatchError' occurred with message: SW match failed! Expected 9000 and got 6b00.
pySIM-shell (00:MF)>
Dear Engineer,
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 would greatly appreciate any advice you can provide when you have time.
Thank you very much.
Best regards,
Peitao Jia
小葱
1256275333(a)qq.com
Hello,
I am trying to update EF.EHPLMN with around 20 PLMNs.
With edit_binary_decoded, I am able to add them successfully.
But I am trying to update them directly using update_binary_decoded command from from the pySim-shell prompt. But I am not working.
It would be really helpful if somebody could help me with it.
Below is the full list of commands that I tried.
Welcome to pySim-shell!
(C) 2021-2023 by Harald Welte, sysmocom - s.f.m.c. GmbH and contributors
Online manual available at https://downloads.osmocom.org/docs/pysim/master/html/shell.html
pySIM-shell (00:MF)> verify_adm 54815333
pySIM-shell (00:MF)> select ADF.USIM
{
"file_descriptor": {
"file_descriptor_byte": {
"shareable": true,
"file_type": "df",
"structure": "no_info_given"
},
"record_len": null,
"num_of_rec": null
},
"df_name": "a0000000871002ffffffff8907090000",
"proprietary_information": {
"uicc_characteristics": "71",
"available_memory": 96880
},
"life_cycle_status_integer": "operational_activated",
"security_attrib_compact": "00",
"pin_status_template_do": [
{
"ps_do": "70"
},
{
"key_reference": 1
},
{
"key_reference": 129
},
{
"key_reference": 10
},
{
"key_reference": 11
}
]
}
pySIM-shell (00:MF/ADF.USIM)> select EF.EHPLMN
{
"file_descriptor": {
"file_descriptor_byte": {
"shareable": true,
"file_type": "working_ef",
"structure": "transparent"
},
"record_len": null,
"num_of_rec": null
},
"file_identifier": "6fd9",
"proprietary_information": {
"unknown_ber_tlv_ie_d0": {
"raw": "20"
},
"toolkit_access_conditions": {
"rfm_create": true,
"rfm_delete_terminate": true,
"other_applet_create": true,
"other_applet_delete_terminate": true
}
},
"life_cycle_status_integer": "operational_activated",
"security_attrib_referenced": {
"ef_arr_file_id": "6f06",
"ef_arr_record_nr": 3
},
"file_size": 66,
"short_file_identifier": 29
}
pySIM-shell (00:MF/ADF.USIM/EF.EHPLMN)> read_binary_decoded
[
{
"mcc": "901",
"mnc": "70"
},
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
]
pySIM-shell (00:MF/ADF.USIM/EF.EHPLMN)> update_binary_decoded --json-path mcc 405
pySIM-shell (00:MF/ADF.USIM/EF.EHPLMN)> read_binary_decoded
[
{
"mcc": "901",
"mnc": "70"
},
null,
null,
null,
Thanks and Regards,
Dushyanth
Sent using {0}
============ Forwarded message ============
From: Harald Welte via RT <support(a)sysmocom.de>
To: <dushyanthm(a)zohomail.in>
Date: Mon, 20 May 2024 19:01:10 +0530
Subject: Re: [rt.sysmocom.de #74835] Help on pySim-shell-py
============ Forwarded message ============
Please contact the mailto:simtrace@lists.osmocom.org mailing list and copy+paste the full command and response of the non working example.
--
Sent from my mobile phone. Please excuse my brevity.
Hello,
I am having difficulty with a particular SIM card over osmo-remsim. On the bank daemon side, PCSC is timing out after 1 second on the same transaction (modemToCard: 81f2400202) after every reset. This behavior is very reliable and happens on every reset/initialization sequence from the modem. When I enable PCSC debugging, I see it is getting back the error CCID error 0xFE “Card absent or mute” from the CCID reader. When I use this card directly attached to the modem, everything is fine and the modem can go online (but I have no insight as to whether the modem is encountering an issue with the same APDU, or not).f
When this transaction error occurs, osmo-remsim-bankd closes the connection, leading to a removal/insertion and card reset event. So, the system is in infinite loop of resetting the card, making a bunch of successful APDU transactions, timing out on the offending transaction, and then resetting again all over again...
As an experiment, I changed osmo-remsim-bankd behavior to ignore the PCSC error, leave the connection open, and return a general error (0x6F 0x00) to the modem. When I do that, the modem periodically re-sends the offending APDU every few seconds, but, despite that, everything else is fine and the modem can now go online with this card over osmo-remsim. I’m thinking either card needs more time to answer this query, or perhaps it does not support this query at all.
Based on some earlier troubleshooting it appears to be related to eSIM (eUICC) functionality. This particular card reports as an eSIM (side note: curiously, its EID is blank). When I use old modem firmware that does not support eSIM capabilities, the card works just fine over osmo-remsim. It is only when I upgrade the modem firmware to a version that supports eSIM that this problem appears.
Other things I tried:
- Upgrading to latest libccid and pcsc-lite — no change
- Using a different card reader with different chip set — no change, and both are listed as “should be supported” by pcsc-lite.
A couple questions:
- Is there a way to change the timeout? I tried modifying libccid to set bBWI to 0xFF for this transaction (it was 0x00), but that had to effect. Internal timeouts within pcscd seem to be set to 3 seconds, and so I do not think they are coming into play, here.
- What are your feelings on having osmo-remsim-bankd ignore this error and return a 0x6f 0x00?
- Any other ideas?
Here is the truncated log of traffic leading up to the offending APDU:
local4.info: 2024-03-26 03:10:31.221037 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:793 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Tx RSPRO tpduCardToModem(621982054221001c0383026f408a01058b036f06058002005488009000)
local4.info: 2024-03-26 03:10:31.228286 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:766 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Rx RSPRO tpduModemToCard(00b208bc3e)
local4.info: 2024-03-26 03:10:31.242339 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:793 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Tx RSPRO tpduCardToModem(800101a40683010195010880015aa40683010a9501088401d4a40683010a950108ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9000)
local4.info: 2024-03-26 03:10:31.250619 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:766 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Rx RSPRO tpduModemToCard(00b205043e)
local4.info: 2024-03-26 03:10:31.255170 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:793 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Tx RSPRO tpduCardToModem(800103a406830101950108800158a40683010a9501088401d4a40683010a950108ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9000)
local4.info: 2024-03-26 03:10:31.263534 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:766 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Rx RSPRO tpduModemToCard(00b209043e)
local4.info: 2024-03-26 03:10:31.267873 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:793 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Tx RSPRO tpduCardToModem(800101a406830101950108800102a406830181950108800158a40683010a9501088401d4a40683010a950108ffffffffffffffffffffffffffffffffffff9000)
local4.info: 2024-03-26 03:10:31.276622 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:766 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Rx RSPRO tpduModemToCard(00b206043e)
local4.info: 2024-03-26 03:10:31.280369 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:793 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Tx RSPRO tpduCardToModem(8001019000800102a406830101950108800158a40683010a9501088401d4a40683010a950108ffffffffffffffffffffffffffffffffffffffffffffffff9000)
local4.info: 2024-03-26 03:10:31.288355 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:766 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Rx RSPRO tpduModemToCard(00b201043e)
local4.info: 2024-03-26 03:10:31.293560 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:793 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Tx RSPRO tpduCardToModem(800101900080015aa40683010a9501088401d4a40683010a950108ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9000)
local4.info: 2024-03-26 03:10:31.304765 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:766 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Rx RSPRO tpduModemToCard(00a40804047fff6fc6)
local4.info: 2024-03-26 03:10:31.312115 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:793 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Tx RSPRO tpduCardToModem(611c)
local4.info: 2024-03-26 03:10:31.316190 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:766 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Rx RSPRO tpduModemToCard(00c000001c)
local4.info: 2024-03-26 03:10:31.319163 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:793 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Tx RSPRO tpduCardToModem(621a8205422100080183026fc68a01058b036f0601800200088801d09000)
local4.info: 2024-03-26 03:10:31.328212 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:766 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Rx RSPRO tpduModemToCard(00a2010408ffffffffffffffff)
local4.info: 2024-03-26 03:10:31.330957 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:793 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Tx RSPRO tpduCardToModem(6282)
local4.info: 2024-03-26 03:10:31.335619 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:766 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Rx RSPRO tpduModemToCard(81f2400202)
local4.info: 2024-03-26 03:10:32.363083 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_pcsc.c:319 [000 B1:0 CONN_CLIENT_MAPPED_CARD] SCardTransmit: Transaction failed. (0x80100016)
local4.info: 2024-03-26 03:10:32.363239 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:970 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Error handling RSPRO
local4.info: 2024-03-26 03:10:32.363364 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:1051 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Error -2146435050 occurred: Cleaning up state
local4.info: 2024-03-26 03:10:32.375002 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1763 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:492 [000 B1:0 CONN_CLIENT_MAPPED_CARD] Changing state to ACCEPTING
local4.info: 2024-03-26 03:10:32.378255 bdu-arm-ce-imx8mp bankd-wrapper[1762]: 1764 DBANKDW INFO ../../../git/src/bankd/bankd_main.c:1036 [001 B65535:65535 ACCEPTING] Accepted connection from 100.64.33.10:35063
And here is the experimental patch to osmo-remsim-bankd:
diff --git a/src/bankd/bankd.h b/src/bankd/bankd.h
index 8a48a21..3c0f18f 100644
--- a/src/bankd/bankd.h
+++ b/src/bankd/bankd.h
@@ -17,6 +17,8 @@
#include "rspro_client_fsm.h"
#include "debug.h"
+#define MAX_CONSECUTIVE_TRANSCEIVE_ERRORS 5
+
extern struct value_string worker_state_names[];
#define LOGW(w, fmt, args...) \
@@ -102,6 +104,9 @@ struct bankd_worker {
/* last known state of the SIM card reset indication */
bool last_resetActive;
+
+ /* number of consecutive transceive errors */
+ int consecutive_transceive_errors;
};
/* bankd card reader driver operations */
diff --git a/src/bankd/bankd_main.c b/src/bankd/bankd_main.c
index 90b05d8..c6cafe0 100644
--- a/src/bankd/bankd_main.c
+++ b/src/bankd/bankd_main.c
@@ -120,6 +120,7 @@ static struct bankd_worker *bankd_create_worker(struct bankd *bankd, unsigned in
worker->ops = &pcsc_driver_ops;
worker->last_vccPresent = true; /* allow cold reset should first indication be false */
worker->last_resetActive = false; /* allow warm reset should first indication be true */
+ worker->consecutive_transceive_errors = 0;
/* in the initial state, the worker has no client.fd, bank_slot or pcsc handle yet */
@@ -787,8 +788,21 @@ static int worker_handle_tpduModemToCard(struct bankd_worker *worker, const Rspr
rc = worker->ops->transceive(worker, mdm2sim->data.buf, mdm2sim->data.size,
rx_buf, &rx_buf_len);
- if (rc < 0)
- return rc;
+
+ if (rc < 0) {
+ LOGW(worker, "Transceieve error %d (count %d/%d)\n", rc,
+ worker->consecutive_transceive_errors, MAX_CONSECUTIVE_TRANSCEIVE_ERRORS);
+
+ if (++worker->consecutive_transceive_errors == MAX_CONSECUTIVE_TRANSCEIVE_ERRORS) {
+ return rc;
+ }
+
+ rx_buf[0] = 0x6f;
+ rx_buf[1] = 0x00;
+ rx_buf_len = 2;
+ }
+
+ worker->consecutive_transceive_errors = 0;
LOGW(worker, "Tx RSPRO tpduCardToModem(%s)\n", osmo_hexdump_nospc(rx_buf, rx_buf_len));
/* encode response PDU and send it */
Regards,
James
Hello,
Here is a patch for handling malformed IMSI
If you misswrited your IMSI, it will be impossible to read or edit it again :(
This patch fix that
Thanks
Goodbye
Dear osmocom developpers,
This is just to let you know that the Python library pycrate has a new home
: https://github.com/pycrate-org/pycrate. The packages on Pypi are now
feeded from there. This library can be used in many cases dealing with
mobile signalling.
I wanted to let you know, as even if I am not aware of any osmocom projects
depending on it, some of you may use the library from time to time, or
could have local applications depending on it.
Best Regards
Benoit
Hi all,
behind the scenes, a team at sysmocom[1] has been helping IoT MVNO
onomondo[2] implementing a pure software implementation of the GSM SIM /
ETSI UICC / 3GPP USIM.
The resulting software has now finally been released in the
onomondo-uicc (see https://github.com/onomondo/onomondo-uicc)
The implementation covers a rather feature-complete implementation of
the file system (including access rules / permission model, PIN
authentication), authentication (MILENAGE), and even OTA RFM (remote
file management).
You can run the code either in software (and access it via the vpcd
ifd_handler to make it appear via PC/SC) or you can run it behind a
SIMtrace2 in cardem mode. Or you could cross-compile the library to run
on a microcontroller (assuming it has a ISO 7816 card-side UART) or
directly within a cellular modem/baseband.
Of course, beyond research this is only useful in situations where you
are the operator (like in a private network) and hence know the K/OPc
key material that allows you access to the cellular network.
There is some overlap to the parallel work of Tomasz Lisowski's swsim[3]
- sadly we were not in a position to release the onomondo-uicc code back
then, so the duplication of effort could not be avoided.
Regards,
Harald
[1] https://sysmocom.de/
[2] https://onomondo.com/
[3] https://github.com/tomasz-lisowski/swsim
--
- Harald Welte <laforge(a)gnumonks.org> https://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Osmocom community,
we're happy to announce the next incarnation of OsmoDevCall.
when:
January 17, 2023 at 20:00 CET
where:
https://osmocom.org/OsmoDevCall (Big Blue Button)
This time, @laforge will be presenting on
Exploring eUICC and eSIM using pySim, lpac and osmo-smdpp
This meeting will have the following schedule:
20:00 meet + greet
20:10 topic as outlined above
21:00 unstructured supplementary social event [*]
Attendance is free of charge and open to anyone with an interest
in Osmocom or open source cellular technologies.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you soon!
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hi all!
[cross-post to make sure everyone knows about it, please follow-up-to
the osmodevcon(a)lists.osmocom.org mailing list for further discussion]
As I mentioned several times at different occasions, I really think we
should put together a OsmoDevCon again. In case you don't know what that
is, please see https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCon
We should have restarted already in 2023, but I really was too busy and
it was a somewhat difficult year for me at times, sorry.
Date
----
In terms of timing, I am thinking about "after April but before the main
summer holiday season (June-August)". That leaves May.
Given that May has the whitsunday weekend as well as GPN
(Gulaschprogrammiernacht, a CCC event that will likely conflict
of interest with some people interested at attending OsmoDevCon), I'm
currently considering the following candidate dates:
* May 3 to 6
* May 24 to 27
This is as usual a friday-to-monday timeframe, allowing people who don't
work professionally on osmocom to attend just the two weekendd days,
while others can attend the full 4 days.
Venue
-----
In terms of venue, I'm hoping we can move to a slightly different
arrangement where the whole group stays together for the whole duration
of the event - as opposed to everyone staying at different hotels and
having to commute from hotel to venue and back every day. So something
like a hotel with a sufficiently large meeting room, hotels and catering
all day. And all of that ideally at a nice venue with some kind of park /
outdoor area, not downtown at the city center. Yes, that will obviously
come at a higher price tag than we're used to - but I'm confident we can
get that covered between sponsors and sysmocom.
Do you guys think this is a good idea? Or would you prefer the
traditional ad-hoc approach at IN-Berlin?
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> https://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Osmocom community,
we're happy to [very late, sorry] announce the next incarnation of OsmoDevCall.
when:
December 20, 2023 at 20:00 CET
where:
https://osmocom.org/OsmoDevCall (Big Blue Button)
This time, @laforge will be presenting on
Using pySim-shell with sysmoISIM-SJA5
This meeting will have the following schedule:
20:00 meet + greet
20:10 topic as outlined above
21:00 unstructured supplementary social event [*]
Attendance is free of charge and open to anyone with an interest
in Osmocom or open source cellular technologies.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you soon!
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hello,
I am looking to build a project similar to https://terminal-profile.osmocom.org/decode.php I was hoping I could find the code somewhere in the official repositories to glance at it but I haven't managed to find it. Is the page open source ? If so where could I find the source ?
Thanks !
Martin
I tried to put the server on the public network, and the bankd end and my clients were on my intranet.
As shown below, my public network address is 45.135.135.32, my bankd-side intranet address is 192.168.2.224, and the client-side address is 192.168.2.173. My home broadband is 183.30.220.7I try to establish a connection.
root@lee:~# osmo-remsim-client-st2 -i 45.135.135.32 -V 1d50 -P 60e3 -C 1 -I 0 -H 1-1.2 -c 1 -n 1
DLINP NOTICE simtrace2_api.c:267 [0] <= osmo_st2_cardem_request_config(features=00000001)
DRSPRO INFO ../rspro_client_fsm.c:388 RSPRO_CLIENT(server){REESTABLISH}: Creating TCP connection to server at 45.135.135.32:9998
DLINP NOTICE input/ipa.c:141 45.135.135.32:9998 connection done
DRSPRO NOTICE ../rspro_client_fsm.c:146 RSPRO_CLIENT(server){REESTABLISH}: RSPRO link to 45.135.135.32:9998 UP
DMAIN INFO main_fsm.c:249 CLIENT_MAIN(main){UNCONFIGURED}: Rx configClientBankReq(183.30.220.7:9999 / B1:1)
DRSPRO INFO ../rspro_client_fsm.c:388 RSPRO_CLIENT(bankd){REESTABLISH}: Creating TCP connection to server at 183.30.220.7:9999
DRSPRO ERROR ../rspro_client_fsm.c:357 RSPRO_CLIENT(bankd){REESTABLISH_DELAY}: Event SRVC_E_KA_TERMINATED not permitted
Unable to establish connection
He has been connecting to my home broadband. How to solve this problem? Can anyone help? My dear friends!
Dear Osmocom team,
First of a big thank you for all your effort putting into SIM/eUICC/eSIM
open source projects which help some or other way to sim card enthusiasts
!!!
I wanted to check with you if SIM FPC cable 2FF/3FF/4FF flex pcb
design files are also available as open source to the community similar to
SIM trace design files?
If yes, could you please help me to share the git repo link as I am
unable to find the same.
I am from India. Initially I tried ordering the same from Sysmocom webshop
with help of some vendors but customs rules in India are very strict and it
would cost more than 10 times the actual flex cable cost. as I need to for
personal use, it's not feasible to afford.
Thanks,
Siddhesh
Hello SIMtrace enthusiasts,
As mentioned previously on various occasions, FreeCalypso SIMsniff is
a hardware+FPGA+software solution I put together to serve as a partial
replacement for Osmocom SIMtrace. I call it a partial rather than
complete replacement for SIMtrace because the piece which I consider
to be the essence of SIMtrace (the Sysmocom-made, webshop-sold piece
that goes into the phone's SIM socket) stays the same in my SIMsniff
solution, only the active component changes: instead of using a
SIMtrace1 or SIMtrace2 board, I use my own little hw contraption
(currently a mess, needs to be simplified) to sniff and level-shift
the electrical signals, followed by an iCE40 FPGA for ISO 7816-3
character sniffing. The whole project lives here:
https://www.freecalypso.org/hg/fc-sim-sniff/
Earlier this week I got the last required hw piece assembled (the
mv-sniffer board that hosts my choice of level shifter IC, Nexperia
74LVC4T3144), and I am happy to report that the whole solution works
as designed! The two principal design objectives, which are also
principal differences from SIMtrace1/2, are as follows:
* Make a strictly non-invasive Hi-Z connection to the SIM bus being
traced or sniffed, without Heisenbug-inducing pull resistors or
switches or other artifacts;
* Hi-Z-sniff ME-to-SIM interfaces that can operate at any voltage from
1.8V to 5V.
With my current messy hw setup of two tiny boards (sim-fpc-pasv and
mv-sniffer) inserted between the original SIMtrace FPC cable and the
Icestick FPGA board, the just-stated objectives are met: I can
successfully sniff ME-to-SIM sessions at all 3 voltage classes,
*without* the tracing apparatus altering any electrical aspects of the
interface under study in any way. Here are some examples of what
SIMsniff trace logs look like:
https://www.freecalypso.org/members/falcon/SIMsniff-traces/
The 3 log files in the above directory are:
2190-fcsim1.log: Nokia 2190E talking to FCSIM1
2190-sjs1.log: Nokia 2190E talking to sysmoUSIM-SJS1
fcdev3b-sjs1.log: FCDEV3B (standard fw) talking to sysmoUSIM-SJS1
Nokia 2190E always puts out 5V toward the SIM, hence those two logs
are proof of working 5V sniffing. Calypso+Iota chipset supports 3V
and 1.8V and FreeCalypso fw talks to the SIM at 1.8V by default, thus
the last log is proof of working 1.8V sniffing. The last log also
exhibits switching from F/D=372 to F/D=64 (F=512 D=8), demonstrating
how my sniffer FPGA handles such sessions.
These are very raw, low-level trace logs: each line in the log file is
one 16-bit word received from the FPGA, corresponding to one character
(in the ISO 7816-3 sense) captured on the SIM-ME interface. More
details here:
https://www.freecalypso.org/hg/fc-sim-sniff/file/tip/doc/Sniffer-FPGA-design
To get a human-readable trace of ME-to-SIM interface activity, each
raw log needs to be passed through higher-level decoding utility
simsniff-dec, residing in fc-sim-sniff Hg repository. I invite
interested parties to compile that utility, run it on the raw log
files I posted, and see what kind of trace logs you then get for human
study.
Note of course my very different technology preferences: I don't use
Wireshark, hence I never developed any tools for feeding SIM interface
traces into that world, and I never succeeded in getting the current
incarnation of pySim to run on my system (too much dependency hell,
and Python is too alien to me), hence no integration with pySim-trace.py
either. But just because I haven't developed those pieces doesn't mean
that no one else can! If anyone in the wider Osmocom+FC community
superset likes what I did in electrical terms, but also likes the
original Osmocom SIMtrace high-level sw design better than my
concoction, you should be able to take my simsniff-rx program (the one
that receives traces from the FPGA by way of FT2232H UART channel) and
modify it to emit traces in a way that fits into Osmocom SIMtrace sw
paradigm - why not?
The hardware part also needs polishing: the current arrangement of
separate sim-fpc-pasv and mv-sniffer boards connected with jumper wires
is a mess. My plan is to make a proper FC SIMsniff "pod" board: put
the SIMtrace FPC connector, a physical SIM socket, 2.54 mm headers for
o'scope probing and the 74LVC4T3144 buffer on the same PCB, interconnected
together on the "SIM bus" side, plus a 6-pin header on the 'B' side of
74LVC4T3144 for connecting to the Icestick FPGA board. I am also now
thinking (counter to my original plans) about making a combined
SIMsniff+SIMemu pod, i.e., making just one hw setup that can work for
either sniffing or card emulation by loading different FPGA gateware
and opening/closing a jumper on the "pod" board.
How does card emulation fit into my SIMsniff hw architecture? Answer:
it will be almost the same as sniffing, with only one little hw
component (an OD driver IC) added. The same hw path that passively
sniffs SIM RST, CLK and I/O lines (via 74LVC4T3144) will also work for
cardem, but one more component needs to be added: a 74LVC1G07 OD buffer,
driven by an FPGA output, with the output side of this OD buffer
connected to the physical SIM I/O line. The only active driving done
by real SIM cards is driving the I/O line low in the manner of an OD
output, there is no high drive (the pull-up resistor in the ME is
responsible for making the line go high), and on all other interface
lines the SIM only receives - hence the combination of a Hi-Z receiver
like current SIMsniff plus an OD driver on the I/O line would be a
fully proper emulation of a real SIM card.
My original hesitation against combining SIMsniff and SIMemu pods into
one was that I don't like the idea of the OD driver turning on by
mistake (wrong FPGA loaded perhaps) and fighting with the physical SIM
card in the socket. But my current plan is to insert a jumper (or
more precisely, a pair of 2.54 mm header pins onto which a shorting
block may be placed) between the "SIM bus" I/O line and the output pin
of 74LVC1G07 OD buffer: this way if you insert a physical SIM into the
socket for tracing, remove the jumper, and if you leace the SIM socket
empty for cardem, install the jumper. Why jumper and not a little
slide switch? With the switch there would be the extra cognitive load
of looking at the switch carefully and remembering which position is
which, whereas presence or absence of a shorting jumper on a pair of
pins is an immediate, almost subconscious visual indicator.
Any feedback ideas would be appreciated. When I design my new
SIMsniff+SIMemu "pod" board, I would like to make a large-ish batch
(maybe 20 boards), thus it would be really nice if the same hardware
could be made palatable to both FC and Osmocom communities.
Hasta la Victoria, Siempre,
Mychaela aka The Mother
Hello fellow SIM tracers,
I have my new incarnation of SIMtrace mostly working:
https://www.freecalypso.org/hg/simtrace-ice/
The Hg repository is named simtrace-ice, but the host program binaries
installed by the sw package are named simtrace3-*, following the
installed binary namespace usage convention established by previously
existing simtrace2-*.
Quoting from the README file at the top of the just-linked source
repository, FreeCalypso SIMtrace3 (aka SIMtrace-ice) is an alternative
implementation of Osmocom SIMtrace principal idea, using an iCE40 FPGA
instead of AT91SAMx MCU as the ISO 7816-3 sniffing receiver. The
signals going to the FPGA are outputs from a unidirectional voltage-
translating buffer (Nexperia 74LVC4T3144) whose inputs are connected
to the SIM interface being sniffed. The sniffing apparatus is thus
electrically clean, making only a Hi-Z connection to the SIM interface
being sniffed, and I expect it to work correctly with all voltages
from 1.8 to 5 V.
This new SIMtrace3 gadget is more than just a proposal - most parts of
it have already been implemented and proven working. The multivolt
sniffer board remains to be assembled/populated (I got the PCB and the
components on hand, I just need to make a visit to Technotronix to get
it assembled), but the FPGA gateware and the host programs receiving
and decoding the sniffed bits have already been proven working, using
an FCDEV3B forced into Class B voltage mode to work without the
mv-sniffer component.
The hardware setup is quite minimal: the FPGA board is off-the-shelf
Lattice iCEstick, readily available from various distributors, and the
SIMtrace3-specific custom hw bit will be reduced to just one very
simple board in the final version. The SIMtrace3 sniffer pod will
passively interconnect the SIM interface under study between the FPC
connector (existing SIMtrace FPC cables), a physical 2FF SIM socket
and the Hi-Z input pins of the dual-supply buffer, while the output
side of that buffer will go to header pins, to be connected to the
Icestick board. The 74LVC4T3144 buffer IC will be the only active
component on this board!
My initial emphasis is on sniffing, but my longer plans include cardem
too. I prefer having separate hw setups for the two functions, hence
my design calls for two separate "pod" boards, a sniffing pod and a
cardem pod. The cardem pod will be the sniffing pod (same multivolt
buffer, supporting all voltages) minus the SIM socket, plus a 74LVC1G07
OD buffer for driving the SIM I/O line from the FPGA-emulated card.
The FPGA gateware will of course be different too, but I expect it to
fit into the HX1K FPGA on the same iCEstick board.
It should also be noted that whether people like my design or not, the
name SIMtrace3 is now effectively claimed for this design whose
gateware and host software have already been implemented and whose hw
components are in the process of being finished and polished. If the
people behind SIMtrace1/2 (the original) totally dislike my idea and
would rather build some other successor to SIMtrace2, please call your
version SIMtrace4 - otherwise there will be two different designs each
claiming to be SIMtrace3, which won't help anyone.
M~
Der Harald Welte
First of all thank you for your reply.
I tried again today and now I have this problem. Early preparations:
Create a linux (debian11) (this server server)
Install the following dependencies
osmocom-latest_1.0.0_amd64.deb
libosmocore20_1.8.0_amd64.deb
libosmocodec0_1.8.0_amd64.deb
libosmoisdn0_1.8.0_amd64.deb
libosmogsm18_1.8.0_amd64.deb
libosmocoding0_1.8.0_amd64.deb
libosmovty9_1.8.0_amd64.deb
libosmogb14_1.8.0_amd64.deb
libosmoctrl0_1.8.0_amd64.deb
libosmosim2_1.8.0_amd64.deb
libosmousb0_1.8.0_amd64.deb
libosmocore_1.8.0_amd64.deb
Then I cloned two linux (debian11) one for the card reader part (bank) and one for the client-st2+simtrace2 part. bankd
install dependencies
libosmoabis10_1.4.1_amd64.deb
libosmo-rspro2_1.0.0_amd64.deb
osmo-remsim-bankd_1.0.0_amd64.deb
Installed pcscd, opened pcsc and set "1", "0", "HID Global OMNIKEY 6121 Smart Card Reader \[OMNIKEY 6121 Smart Card Reader\] 00 00" in the csv file
I run the program and wait till this
root@debian:/bin# sudo lsof -i :9999
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
osmo-rems 469 root 4u IPv4 12597 0t0 TCP *:9999 (LISTEN)
root@debian:/bin# osmo-remsim-bankd -i 192.168.2.122 -I 192.168.2.105 -n 1 -b 1
2329 DMAIN INFO bankd_pcsc.c:105 PC/SC slot name: 1/0 -> regex 'HID Global OMNIKEY 6121 Smart Card Reader \[OMNIKEY 6121 Smart Card Reader\] 00 00'
2329 DRSPRO INFO ../rspro_client_fsm.c:307 RSPRO_CLIENT(server){REESTABLISH}: Creating TCP connection to server at 192.168.2.122:9998
2329 DLGLOBAL ERROR socket.c:933 unable to bind socket:192.168.2.105:9999: Address already in use
2329 DLGLOBAL ERROR socket.c:945 no suitable addr found for: 192.168.2.105:9999
root@debian:/bin# osmo-remsim-bankd -i 192.168.2.122 -I 192.168.2.105 -n 1 -b 1 -P 1314
2333 DMAIN INFO bankd_pcsc.c:105 PC/SC slot name: 1/0 -> regex 'HID Global OMNIKEY 6121 Smart Card Reader \[OMNIKEY 6121 Smart Card Reader\] 00 00'
2333 DRSPRO INFO ../rspro_client_fsm.c:307 RSPRO_CLIENT(server){REESTABLISH}: Creating TCP connection to server at 192.168.2.122:9998
2334 DBANKDW INFO bankd_main.c:442 [000 INIT] Changing state to INIT
2334 DBANKDW INFO bankd_main.c:442 [000 INIT] Changing state to ACCEPTING
2333 DLINP NOTICE input/ipa.c:141 192.168.2.122:9998 connection done
2333 DRSPRO NOTICE ../rspro_client_fsm.c:127 RSPRO_CLIENT(server){REESTABLISH}: RSPRO link to 192.168.2.122:9998 UP
I first checked port 9999. This is the port on my bankd side, and it shows that it is being occupied by osmo-remsim. Because I read your reply that you need to bind the local port now, so I set -I, but when I set it like this, I enter the first command, it shows that my port is occupied, bankd can’t start, when I try it for the second time. The port -p 1314 is specified, and bankd is successfully started, which can also be seen in the banks of the server. But client-st2 reads port 9999, which is very contradictory.I think port 9999 of bankd is the same as port 9998 of server. It should not need to be set, but if it is not set, it will prompt an error! Why?
Hi
I have a raspberry pi with Debian 12 installed which I am trying to setup to use the simtrace2 hardware. I am having difficulty installing the simtrace2-util package – even though I believe I have followed the installation instructions (https://osmocom.org/projects/cellular-infrastructure/wiki/Nightly_Builds)
I can see the repo in the sources list following the provided instructions:
steven@simtrace:~$ cat /etc/apt/sources.list.d/osmocom-nightly.list
deb [signed-by=/etc/apt/trusted.gpg.d/osmocom-nightly.asc] https://downloads.osmocom.org/packages/osmocom:/nightly/Debian_12/ ./
If I apt list – I can see the package
steven@simtrace:~$ sudo apt list simtrace2-utils
[sudo] password for steven:
Listing... Done
simtrace2-utils/unknown 0.8.1.64.da07.202307200026 amd64
simtrace2-utils/unknown 0.8.1.64.da07.202307200026 i386
However if I try to install
steven@simtrace:~$ sudo apt install simtrace2-utils
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package simtrace2-utils
Yet – I know the package is accessible.
steven@simtrace:~$ wget https://downloads.osmocom.org/packages/osmocom:/nightly/Debian_12/simtrace2…
--2023-07-20 10:29:55-- https://downloads.osmocom.org/packages/osmocom:/nightly/Debian_12/simtrace2…
Resolving downloads.osmocom.org (downloads.osmocom.org)... 148.251.236.141, 2a01:4f8:201:344a::2
Connecting to downloads.osmocom.org (downloads.osmocom.org)|148.251.236.141|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 276884 (270K) [application/x-xz]
Saving to: ‘simtrace2_0.8.1.64.da07.202307200026.tar.xz’
simtrace2_0.8.1.64.da07.202307200026.tar.x 100%[========================================================================================>] 270.39K 140KB/s in 1.9s
2023-07-20 10:29:59 (140 KB/s) - ‘simtrace2_0.8.1.64.da07.202307200026.tar.xz’ saved [276884/276884]
I have also tried forcing https to no avail
steven@simtrace:~$ sudo apt-get install -f apt-transport-https simtrace2-utils
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package simtrace2-utils
Nothing seems to work. Any help would be appreciated.
Best Regards
-Steven
******************************************************************************
CSL DualCom Ltd
Registered Office: Building 4, Croxley Park, Hatters Lane, Watford, WD18 8YF
Registered in England No. 3155883
This e-mail is only intended for the person(s) to whom it is addressed and
may contain confidential information. Unless stated to the contrary, any
opinions or comments are personal to the writer and do not represent the
official view of the company. If you have received this e-mail in error,
please notify us immediately by reply e-mail and then delete this message
from your system. Please do not copy it or use it for any purposes, or
disclose its contents to any other person. Thank you for your co-operation.
******************************************************************************
Hello,
I'm playing with a networked remsim setup. The remsim server, sim card
reader and banks daemon sit on a RPI (rpi-cardem-1), while the client
(and the simtrace2) sit on a different RPI (rpi-cardem-2).
The client is started like this, and keeps producing this output:
root@rpi-cardem-2:~# osmo-remsim-client-st2 --server-ip remsim-server
--server-port 9998 --client-id 1 --client-slot 1 --usb-vendor 1d50
--usb-product 60e3 --usb-config 1 --usb-interface 0 --usb-path "1-1.4"
DRSPRO INFO ../rspro_client_fsm.c:307
RSPRO_CLIENT(server){REESTABLISH}: Creating TCP connection to server
at remsim-server:9998
DLINP NOTICE simtrace2_api.c:271 [0] <=
osmo_st2_cardem_request_config(features=00000001)
DLINP NOTICE input/ipa.c:141 remsim-server:9998 connection done
DRSPRO NOTICE ../rspro_client_fsm.c:127
RSPRO_CLIENT(server){REESTABLISH}: RSPRO link to remsim-server:9998 UP
DRSPRO INFO ../rspro_client_fsm.c:307
RSPRO_CLIENT(bankd){REESTABLISH}: Creating TCP connection to server at
192.168.1.111:9999
DLINP NOTICE input/ipa.c:141 192.168.1.111:9999 connection done
DRSPRO NOTICE ../rspro_client_fsm.c:127
RSPRO_CLIENT(bankd){REESTABLISH}: RSPRO link to 192.168.1.111: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.1.111:9999
DLINP NOTICE input/ipa.c:141 192.168.1.111:9999 connection done
DRSPRO NOTICE ../rspro_client_fsm.c:127
RSPRO_CLIENT(bankd){REESTABLISH}: RSPRO link to 192.168.1.111: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
This looks like bankd sends back an wrong state/event:
DRSPRO ERROR ../rspro_client_fsm.c:297
RSPRO_CLIENT(bankd){REESTABLISH}: Event SRVC_E_KA_TERMINATED not
permitted
On the bankd side, this is what I get:
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15208 DBANKDW
INFO bankd_main.c:955 [004 ACCEPTING] Accepted connection from
192.168.1.9:46281
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15208 DBANKDW
INFO bankd_main.c:442 [004 ACCEPTING] Changing state to CONN_WAIT_ID
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15208 DBANKDW
INFO bankd_main.c:655 [004 CONN_WAIT_ID] Rx RSPRO
connectClientReq(T=0, N='rpi-cardem-2', SW='remsim-client',
VER='1.0.0')
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15208 DBANKDW
INFO bankd_main.c:442 [004 CONN_WAIT_ID] Changing state to CONN_CLIENT
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15208 DBANKDW
INFO bankd_main.c:625 [004 CONN_CLIENT] slotmap found: C(1:1) ->
B(1:1)
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15208 DBANKDW
INFO bankd_main.c:450 [004 CONN_CLIENT] Changing state to
CONN_CLIENT_MAPPED (timeout=10)
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15208 DBANKDW
INFO bankd_pcsc.c:261 [004 CONN_CLIENT_MAPPED] Attempting to open
PC/SC context
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15208 DBANKDW
INFO bankd_pcsc.c:264 [004 CONN_CLIENT_MAPPED] SCardEstablishContext:
OK
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15208 DBANKDW
INFO bankd_pcsc.c:215 [004 CONN_CLIENT_MAPPED] Attempting to find
card/slot using regex 'SCM Microsystems Inc. SCR 3310 [CCID Interface]
(53312144266274) 00 00'
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15208 DBANKDW
INFO bankd_main.c:967 [004 CONN_CLIENT_MAPPED] Error -2 occurred:
Cleaning up state
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15208 DBANKDW
INFO bankd_main.c:442 [004 CONN_CLIENT_MAPPED] Changing state to
ACCEPTING
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 DBANKDW
INFO bankd_main.c:955 [001 ACCEPTING] Accepted connection from
192.168.1.9:40007
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 DBANKDW
INFO bankd_main.c:442 [001 ACCEPTING] Changing state to CONN_WAIT_ID
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 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 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 DBANKDW
INFO bankd_main.c:442 [001 CONN_WAIT_ID] Changing state to CONN_CLIENT
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 DBANKDW
INFO bankd_main.c:625 [001 CONN_CLIENT] slotmap found: C(1:1) ->
B(1:1)
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 DBANKDW
INFO bankd_main.c:450 [001 CONN_CLIENT] Changing state to
CONN_CLIENT_MAPPED (timeout=10)
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 DBANKDW
INFO bankd_pcsc.c:261 [001 CONN_CLIENT_MAPPED] Attempting to open
PC/SC context
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 DBANKDW
INFO bankd_pcsc.c:264 [001 CONN_CLIENT_MAPPED] SCardEstablishContext:
OK
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 DBANKDW
INFO bankd_pcsc.c:215 [001 CONN_CLIENT_MAPPED] Attempting to find
card/slot using regex 'SCM Microsystems Inc. SCR 3310 [CCID Interface]
(53312144266274) 00 00'
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 DBANKDW
INFO bankd_main.c:967 [001 CONN_CLIENT_MAPPED] Error -2 occurred:
Cleaning up state
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 DBANKDW
INFO bankd_main.c:442 [001 CONN_CLIENT_MAPPED] Changing state to
ACCEPTING
Here, this seems relevant:
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 DBANKDW
INFO bankd_pcsc.c:215 [001 CONN_CLIENT_MAPPED] Attempting to find
card/slot using regex 'SCM Microsystems Inc. SCR 3310 [CCID Interface]
(53312144266274) 00 00'
Jul 12 14:33:20 rpi-cardem-1 osmo-remsim-bankd[15203]: 15205 DBANKDW
INFO bankd_main.c:967 [001 CONN_CLIENT_MAPPED] Error -2 occurred:
Cleaning up state
It searches for the reader but returns error -2.
This is the head of pcsc_scan:
root@rpi-cardem-1:~# pcsc_scan | head
Using reader plug'n play mechanism
Scanning present readers...
0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (53312144266274) 00 00
Wed Jul 12 14:36:26 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
Now - if it's using a regex to search for the reader string, the fact
that my reader has [] and () in it will break the regex search, right?
I've changed /etc/osmocom/bankd_pcsc_slots.csv, and set just:
"1","1","SCM Microsystems Inc. SCR 3310"
as the reader name/mapping, leaving out the special characters, and it
started ok.
I suggest making a note of this in the documentation, that special
characters in the reader name are checked via regular expressions.
Cheers!
Hello,guys
I use the official card reader,
root@debian:/usr/bin# pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
Waiting for the first reader...found one
Scanning present readers...
0: HID Global OMNIKEY 6121 Smart Card Reader [OMNIKEY 6121 Smart Card Reader] 00 00
Sat Jul 15 14:24:05 2023
Reader 0: HID Global OMNIKEY 6121 Smart Card Reader [OMNIKEY 6121 Smart Card Reader] 00 00
Event number: 0
Card state: Card inserted, Unresponsive card,
Because there are special symbols in the name of the card reader, so I set this in the bankd configuration file csv
"1","0","HID Global OMNIKEY 6121 Smart Card Reader \[OMNIKEY 6121 Smart Card Reader\] 00 00"
And set up bankd like this. osmo-remsim-bankd -i 192.168.2.128 -n 1 -b 1
Because my server has a fixed ip
I put the simtrace2 link on the linux of client-st2, and set up client-st2. As follows
osmo-remsim-client-st2 --usb-vendor 1d50 --usb-product 60e3 --usb-interface 0 --usb-altsetting 0 --usb-address 3 --usb-path 1-1.1 --usb-config 1 --client-id 0 --client-slot 0 --server-ip 192.168.2.128 --server-port 9998
I saw them separately on sever. I tried to make their link. osmo-remsim-apitool -m 1 1 0 0
Because I read the instructions, when linking 1 simtrace2, our client-id and client-slot need to be set to 0
When I link successfully, both bankd and client-st2 have wrong information. as follows
1987 DBANKDW INFO bankd_main.c:655 [000 CONN_WAIT_ID] Rx RSPRO connectClientReq(T=0, N='openstick', SW='remsim-client', VER='1.0.0')
1987 DBANKDW INFO bankd_main.c:442 [000 CONN_WAIT_ID] Changing state to CONN_CLIENT
1987 DBANKDW INFO bankd_main.c:619 [000 CONN_CLIENT] No slotmap (yet) for client C(0:0)
1987 DBANKDW INFO bankd_main.c:450 [000 CONN_CLIENT] Changing state to CONN_CLIENT_WAIT_MAP (timeout=10)
1987 DBANKDW INFO bankd_main.c:967 [000 CONN_CLIENT_WAIT_MAP] Error -2 occurred: Cleaning up state
1987 DBANKDW INFO bankd_main.c:442 [000 CONN_CLIENT_WAIT_MAP] Changing state to ACCEPTING
TCP connection to server at 192.168.2.131:9999
DLINP NOTICE input/ipa.c:141 192.168.2.131:9999 connection done
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
I'm wondering if I'm doing something wrong? What is the reason that led to such a result! I'm looking forward to someone pointing out my mistakes. and help me. Thank you so much. guys
Hello everyone!
I'm new to simtrace and I'm trying to set up a test with a Simtrace2
board connected to a RPI (which I'll call the client from now on) and
a different RPI with an attached card reader (which I'll call the
server).
The server runs osmo-remsim-bankd and osmo-remsim-server (installed
from your debian repo). The bankd server has its configuration csv
file filled with the correct reader information. The
osmo-remsim-server runs on the same machine and has a mapping
configured via the python api tool to map client 1 to bank 1, like so:
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': 1},
'client': {'clientId': 1, 'slotNr': 1}, 'state': 'ACTIVE'}]}
The client runs osmo-remsim-client-st2 like this:
root@rpi-cardem-2:~# osmo-remsim-client-st2 --server-ip remsim-server
--server-port 9998 --client-id 1 --client-slot 1 --usb-vendor 1d50
--usb-product 60e3 --usb-config 1 --usb-interface 0 --usb-path "1-1.4"
However, based on the logs, it tries to contact the bankd server at
127.0.0.1:9999 instead of remsim-server:9999:
DRSPRO INFO ../rspro_client_fsm.c:307
RSPRO_CLIENT(server){REESTABLISH}: Creating TCP connection to server
at remsim-server:9998
DLINP NOTICE simtrace2_api.c:271 [0] <=
osmo_st2_cardem_request_config(features=00000001)
DLINP NOTICE input/ipa.c:141 remsim-server:9998 connection done
DRSPRO NOTICE ../rspro_client_fsm.c:127
RSPRO_CLIENT(server){REESTABLISH}: RSPRO link to remsim-server:9998 UP
DRSPRO INFO ../rspro_client_fsm.c:307
RSPRO_CLIENT(bankd){REESTABLISH}: Creating TCP connection to server at
127.0.0.1:9999
DRSPRO NOTICE ../rspro_client_fsm.c:127
RSPRO_CLIENT(bankd){REESTABLISH}: RSPRO link to 127.0.0.1:9999 DOWN
The bankd server listens on 0.0.0.0 on the server side:
root@rpi-cardem-1:~# netstat -tpan | grep osmo | grep LISTEN
tcp 0 0 0.0.0.0:9997 0.0.0.0:*
LISTEN 409/osmo-remsim-ser
tcp 0 0 0.0.0.0:9998 0.0.0.0:*
LISTEN 409/osmo-remsim-ser
tcp 0 0 0.0.0.0:9999 0.0.0.0:*
LISTEN 405/osmo-remsim-ban
My question is - how is osmo-remsim-client-st2 getting the IP address
of the bankd server? What did I do wrong?
I've tried a few tricks to redirect traffic from 127.0.0.1:9999 to
remsim-server:9999, but so far have failed. This is what I've tried as
a proxy, but the connection seems to get garbled because netcat
expects LF terminated strings:
nc -l 127.0.0.1 9999 | nc remsim-server 9999
Thanks for the help
Cheers,
Adrian
First of all, I installed osmo-remsim-bankd, server, and client-st2 on different virtual machines through the binary package. I inserted the officially purchased card reader and can also read my card
First of all, thank you very much for being so busy and being able to reply to my question of being so mentally challenged. Haha
I have tested and found that there may have been some issues with my PCB production, and I have also identified the cause. As shown in Figure 1,[cid:image002.jpg@01D993BA.F5F9A8C0]
Through this flywire, I successfully flushed in the required firmware program. Both lights are on, which makes me very excited.[cid:image005.jpg@01D993BA.F5F9A8C0]
I linked the firmware and installed the dfu driver under Windows, but the result showed this[cid:image007.png@01D993B3.AA7A4870]
I have tried several dfu drivers, and there is a yellow exclamation mark below this icon!
At this point, I saw that there was a simtrace in the USB device on my vmbox. I don't know if this is considered a success. I can only continue to try.[cid:image010.jpg@01D993BA.F5F9A8C0]
[cid:image011.png@01D993B4.AAF416E0]
Can find the current device.
I entered the osmo remsim client st2 command according to the user manual
I have carefully read the manual, but I am still confused as to which part I should start with. Can you give me a simple idea? Do I first set up the card reader section, then the server section, and finally the simtrace2 section?[cid:image012.png@01D993BA.F5581190]
从 Windows 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>发送
https://gitea.osmocom.org/sim-card/simtrace/src/branch/master/hardware/pcb/…
I am a novice Xiaobai, I am very interested in this project. So I made the pcb by myself, according to the content of the website above. But I can't get it into the program, which annoys me. I don't know if it's my hardware that's wrong. It's still a problem with my software. I hope that the teacher who understands can help me check it out, thank you very much here.
Hi all!
I'm currently adding unit tests for the various pySim encoder/decoder classes
for the variouus SIM/UICC/USIM/ISIM files. [1]
In order to increase the test coverage, I would appreciate any help in obtaining test
data, particularly for the more "exotic" (or recently introduced) files, related to DF.5GS,
ADF.ISIM or even DF.WLAN or the like.
So if you have any SIM cards with related files populated, I would appreciate some test
data. You can simply send me a copy+paste of the respective 'read_binary' / 'read_records'
command, or a partial 'export'. In the latter case, please make sure to redact/remove your
IMSI/ICCID/MSISDN/Kc data to prevent leaking privacy related information.
Thanks in advance.
Regards,
Harald
[1] https://gerrit.osmocom.org/c/pysim/+/24012
--
- Harald Welte <laforge(a)gnumonks.org> https://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hello,
Recently I acquired a SIMtrace2 card unit with ATSAM3S in order to build a
P.O.C. of the communication of the SIM card and the modem remotely, but I
could not make the application to communicate via USB with the SIMtrace2.
I followed this steps (all of them)
https://osmocom.org/projects/simtrace2/wiki/Cardem
After I run this command:
osmo-remsim-client-st2 --usb-vendor 1d50 --usb-product 60e3 --usb-path
1-2.2 --usb-config 1 --client-id 1 --client-slot 1 --server-ip 127.0.0.1
--server-port 9998 -d DMAIN,1:DST2,1:DRSPRO,1
I'm stuck in this error (even running as sudo):
DMAIN DEBUG fsm.c:456 CLIENT_MAIN(main){INIT}: Allocated
DRSPRO DEBUG fsm.c:456 RSPRO_CLIENT(server){INIT}: Allocated
DRSPRO DEBUG fsm.c:456 RSPRO_CLIENT(server){INIT}: Allocated
DRSPRO DEBUG remsim_client_main.c:185 RSPRO_CLIENT(server){INIT}: Received
Event SRVC_E_ESTABLISH
DRSPRO DEBUG ../rspro_client_fsm.c:355 RSPRO_CLIENT(server){INIT}:
state_chg to REESTABLISH
DRSPRO INFO ../rspro_client_fsm.c:308 RSPRO_CLIENT(server){REESTABLISH}:
Creating TCP connection to server at localhost:9998
DMAIN ERROR user_simtrace2.c:430 can't open USB device
Additional information:
- Host S.O.: Debian 10 armhf. Also tried on Ubuntu 22 x64
- I've tried to recompile software following `Get and compile the
software`, but these steps really doesn't work. Then I tried aclocal,
autoconf, automake --add-missing & ./configure but nothing of them can rid
of the error: cannot find input file: `include/Makefile.in'
- SIMtrace2 firmware: $ sudo simtrace2-list
USB matches: 2
1d50:60e3 Addr=8, Path=1-1.3, Cfg=1, Intf=0, Alt=0: 255/2/0
(CardEmulator Modem 1)
1d50:60e3 Addr=8, Path=1-1.3, Cfg=2, Intf=0, Alt=0: 255/255/0
(0.8.1.58-773d)
Sorry if this issue was addressed in another email, I even tried looking in
the archives but the archives page is not very user friendly.
Thanks for your support, Bruno Natali
Hi Mychaela
Can you tell me what the intent of the C1 capacitor is for?
Previously when I probe the signals I just solder fly wires on to the
SIM socket on the FPC, but this capacitor intrigues me.
Thanks
Hello fellow SIM tracers,
I just built this little gadget that allows one to observe (easily,
safely, non-invasively) what voltages each given phone puts out toward
the SIM:
https://www.freecalypso.org/members/falcon/pictures/SIM-volt-test/sim-fpc-p…
It is a trivial PCB adapter that connects together a SIM socket, an FPC
connector that fits existing SIMtrace FPC cables, and a set of plain
old 2.54 mm header pins exposing each signal on the SIM-ME interface.
This adapter is purely passive, hence it doesn't need power, it does
not contain any components that can be damaged by high voltages (in
fact, there is not one ESD-sensitive component on this PCB!), and it
does not introduce any Heisenbug effects into the SIM-ME interface
under test. The usage scenario should be obvious: I insert a fitting
SIMtrace FPC cable into the phone under test, the other end of that
FPC cable plugs into my PCB, the SIM socket on my adapter is either
filled with an actual SIM or left empty depending on the test to be
performed, and I observe the voltage between GND and VCC pins.
Here is that test being performed with a Nokia 2190E, one of the very
first GSM phones sold in USA, circa 1995 or 1996:
https://www.freecalypso.org/members/falcon/pictures/SIM-volt-test/N2190-tes…https://www.freecalypso.org/members/falcon/pictures/SIM-volt-test/N2190-tes…
And here are some test results:
* Nokia 2190E, PCS band equivalent of 2110, powered by a 5-cell NiMH
battery: always puts out 5V toward the SIM.
* Ericsson I888, powered by a 4-cell NiMH battery: likewise always
puts out 5V toward the SIM (will probably be a little under 5.0V, but
still within 5V spec, under low battery conditions), but I would not
classify this phone as "Phase 1": it supports SMS, USSD, CSD via IrDA,
and EFR speech codec.
* Nokia 6190, PCS band equivalent of 6110 (first ARM-based GSM phone
ever?), powered by a 3-cell NiMH battery: tries 3V first, if the SIM
is "3V technology SIM" or "1.8V technology SIM", then the phone stays
at 3V, but if there is no good ATR at 3V, then it tries 5V.
If a phone is powered by a 3-cell NiMH or 1-cell Li-ion battery, then
the only way it can put out 5V is by going through a boost converter,
which are of course bad for battery life - thus it seems that once
phones went to these lower-voltage batteries, then they started
preferring 3V SIMs at the same time (while still supporting 5V SIMs in
those days!), whereas phones powered by higher-voltage batteries (4 or
more Ni-Cd or NiMH cells) keep it simple and always put out 5V, it
seems.
Now Nokia 2190E is a really finicky phone in terms of which SIMs it
accepts: as the r/vintagemobilephones community on Reddit figured out,
there is just one T-Mobile MVNO (LycaMobile) whose SIMs it accepts,
while all others are rejected - and the worst part is, it rejects my
current Themyscira SIMs too! (My SIMs are FCSIM1, equivalent of old
sysmoSIM-GR2.) So what is so special about those LycaMobile SIMs
which this phone accepts while rejecting all others? Examining that
SIM in a card reader, I see nothing special, same deal as most
operator-issued SIMs these days: native UICC/USIM/ISIM, has GSM 11.11
support for backward compat, GSM 11.11 SELECT on MF/DF indicates "1.8V
technology SIM", ATR indicates all 3 voltage classes supported.
Now that I have proven what I previously only suspected (the fact that
this ancient Nokia always puts out 5V toward the SIM), SIMtrace2 is
definitely out - however, I now also have a SIMtrace1 board, graciously
donated by Kevin, and I am going to see if I can find some time to get
SIMtrace1 software working and try sniffing Nokia 2190E to SIM comms
in the working and not-working cases.
M~
I just recently made some changes to my 1.4 firmware to support
Man-in-the-Middle modification of ATR because some device apparently
changes the Vcc to 1.8v after reading the ATR that indicates the card
supports Class C. I don't have access to the device that exhibit
this behavior so I was using a USB Smartcard reader to test it, and my
Oscilloscope capture shows that the PC was using 5v vddio mode. The
SIMtrace 1 are 5v tolerant, and the last time I looked at Cstartup.asm
I believe we set the internal pull-ups to disabled, which is "safe"
according to the Atmel part documentation. So long as 5v IO levels
are not "on"/"fed" into the PIO lines while the device is in reset,
this is probably not an issue for SIMtrace 1 boards.
> From: Mychaela Falconia <mychaela.falconia(a)gmail.com>
> To: simtrace(a)lists.osmocom.org
> Cc:
> Bcc:
> Date: Tue, 25 Oct 2022 20:03:23 -0800
> Subject: My progress with 5V SIM investigation
> Hello SIMtrace community,
>
> I mentioned earlier on this list, and also in last week's OsmoDevCall,
> that I play with some old phones that *may* be putting out 5V toward
> the SIM, which SIMtrace2 hw does not tolerate - 5V exceeds the absolute
> maximum rating spec of SAM3S chip.
>
> As the first step in the investigation, I cobbled together a simple
> PCB design for a purely passive adapter that connects a SIM socket to
> FPC cables from current Sysmocom SIMtrace kits, plus 2.54 mm headers
> on both sides of the SIM socket providing convenient probing access to
> all signals. This trivial design can be found in my fc-small-hw Hg
> repository:
>
> https://www.freecalypso.org/hg/fc-small-hw/
>
> Look in the sim-fpc-pasv directory inside the Hg repo. I haven't sent
> this little PCB out to fab yet, but I plan on doing so when my budget
> allows it, hopefully no later than a week from now. When I get this
> adapter board fabbed and assembled, I will test it with my current
> collection of old phones (Ericsson I888, Nokia 5190 and 6190) and see
> if any of these phones put out 5V toward the SIM.
>
> Nokia 5190 and 6190 are powered by 3-cell NiMH batteries, but they
> still might put out 5V toward the SIM if they include a charge pump or
> some other boost converter. At least in TI chipset history, prior to
> our well-known Calypso+Iota chipset, their previous ABB chip Nausica
> (used in the legendary TSM30, apparently) could put out either 3V or
> 5V toward the SIM, selection under fw control, while powered by a
> 3-cell NiMH or 1-cell Li-ion battery, doing some kind of boost
> conversion for 5V. (I never found a datasheet for that ancient ABB,
> so I don't know the full details.) It will be interesting to know
> what Nokia 5190 and 6190 do in this regard. It will also be
> interesting to see what Ericsson I888 puts out: it is an older,
> higher-voltage beast, powered by a 4-cell NiMH battery, and if the
> designers felt like operating the SIM in "5V" or Class A mode, they
> could have used raw battery voltage without conversion, as the spec is
> 4.5 V minimum IIRC.
>
> During last week's OsmoDevCall Kevin said that he had some SIMtrace1
> boards with ARM7S, which the datasheet says is 5V-tolerant, and I
> recall him saying that he could send me one. To Kevin: I greatly
> appreciate your offer, and I may indeed take you up on it in another
> few weeks - but let me build my sim-fpc-pasv adapter first, and see
> what voltages are actually put out by phones in my collection.
>
> Now the really interesting phone would be Nokia 2190 - supposedly one
> of the very first PCS1900 band GSM phones sold in USA, from around
> 1995. That one is powered by a 5-cell NiMH battery and thus seems
> very likely to put out 5V toward the SIM, possibly always, without
> ever switching down to 3V. I don't have one to test, aside from a
> sealed box which I am reluctant to cut open (told it may be worth
> a fortune some day, the usual story), but another person on Reddit
> says that these phones are very finicky in terms of which SIMs they
> accept. I sent him a few of my FCSIM1 cards, equivalent to
> sysmoSIM-GR2, a pure GSM 11.11 SIM without any UICC at all, very
> old-fashioned, and my contact tells me that Nokia 2190 rejects these
> SIMs too! It was my desire to use SIMtrace to see what's happening
> with that finicky 2190 that prompted my investigation into 5V
> tolerance - and when I get my sim-fpc-pasv adapter built, I will get
> back in touch with my Nokia 2190 contact person from Reddit and see
> how he would like to proceed.
>
> M~
> _______________________________________________
> simtrace mailing list -- simtrace(a)lists.osmocom.org
> To unsubscribe send an email to simtrace-leave(a)lists.osmocom.org
Hello SIMtrace community,
I mentioned earlier on this list, and also in last week's OsmoDevCall,
that I play with some old phones that *may* be putting out 5V toward
the SIM, which SIMtrace2 hw does not tolerate - 5V exceeds the absolute
maximum rating spec of SAM3S chip.
As the first step in the investigation, I cobbled together a simple
PCB design for a purely passive adapter that connects a SIM socket to
FPC cables from current Sysmocom SIMtrace kits, plus 2.54 mm headers
on both sides of the SIM socket providing convenient probing access to
all signals. This trivial design can be found in my fc-small-hw Hg
repository:
https://www.freecalypso.org/hg/fc-small-hw/
Look in the sim-fpc-pasv directory inside the Hg repo. I haven't sent
this little PCB out to fab yet, but I plan on doing so when my budget
allows it, hopefully no later than a week from now. When I get this
adapter board fabbed and assembled, I will test it with my current
collection of old phones (Ericsson I888, Nokia 5190 and 6190) and see
if any of these phones put out 5V toward the SIM.
Nokia 5190 and 6190 are powered by 3-cell NiMH batteries, but they
still might put out 5V toward the SIM if they include a charge pump or
some other boost converter. At least in TI chipset history, prior to
our well-known Calypso+Iota chipset, their previous ABB chip Nausica
(used in the legendary TSM30, apparently) could put out either 3V or
5V toward the SIM, selection under fw control, while powered by a
3-cell NiMH or 1-cell Li-ion battery, doing some kind of boost
conversion for 5V. (I never found a datasheet for that ancient ABB,
so I don't know the full details.) It will be interesting to know
what Nokia 5190 and 6190 do in this regard. It will also be
interesting to see what Ericsson I888 puts out: it is an older,
higher-voltage beast, powered by a 4-cell NiMH battery, and if the
designers felt like operating the SIM in "5V" or Class A mode, they
could have used raw battery voltage without conversion, as the spec is
4.5 V minimum IIRC.
During last week's OsmoDevCall Kevin said that he had some SIMtrace1
boards with ARM7S, which the datasheet says is 5V-tolerant, and I
recall him saying that he could send me one. To Kevin: I greatly
appreciate your offer, and I may indeed take you up on it in another
few weeks - but let me build my sim-fpc-pasv adapter first, and see
what voltages are actually put out by phones in my collection.
Now the really interesting phone would be Nokia 2190 - supposedly one
of the very first PCS1900 band GSM phones sold in USA, from around
1995. That one is powered by a 5-cell NiMH battery and thus seems
very likely to put out 5V toward the SIM, possibly always, without
ever switching down to 3V. I don't have one to test, aside from a
sealed box which I am reluctant to cut open (told it may be worth
a fortune some day, the usual story), but another person on Reddit
says that these phones are very finicky in terms of which SIMs they
accept. I sent him a few of my FCSIM1 cards, equivalent to
sysmoSIM-GR2, a pure GSM 11.11 SIM without any UICC at all, very
old-fashioned, and my contact tells me that Nokia 2190 rejects these
SIMs too! It was my desire to use SIMtrace to see what's happening
with that finicky 2190 that prompted my investigation into 5V
tolerance - and when I get my sim-fpc-pasv adapter built, I will get
back in touch with my Nokia 2190 contact person from Reddit and see
how he would like to proceed.
M~
Hello various Osmocom mailing lists,
as previously announced (https://osmocom.org/news/191):
* The binary packages are being built on Osmocom's own OBS server now.
* We will stop pushing packages to the openSUSE OBS server at the end of
October (in one week).
If you are using Osmocom binary packages, please make sure that you have
configured the new repository URLs.
See the wiki for details:
https://osmocom.org/projects/cellular-infrastructure/wiki/Binary_Packages
Regards,
Harald
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Osmocom community,
after a rather extended 2022 summer break, we're happy to announce the
next incarnation of OsmoDevCall. Based on the recent polls, the timing
has shifted to *every 3rd wednesday of the month*!
when:
October 19, 2022 at 20:00 CEST
where:
https://meeting5.franken.de/b/har-xbc-bsx-wvs
In this edition, I will be presenting a SIMtrace2 tutorial, showing SIM
card protocol tracing, decoding with the new pySim-trace as well as the
card emulation firmware.
This meeting will have the following schedule:
20:00 meet + greet
20:10 presentation as outlined above
21:00 unstructured supplementary social event [*]
Attendance is free of charge and open to anyone with an interest
in Osmocom or open source cellular technologies.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you soon!
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Osmocom community,
your input is required in order to tune the re-launch of the OsmoDevCall
talk series. One of the complaints before the suspension in Summer this year
was that the "Friday night 8pm CEST" timeslot was not exactly ideal for several
people.
Finding a common denominator might be difficult, given that Osmocom is a dayjob
for some, a hobby for most, and we're of course not all in the same time zone
or even continent.
So let's try to run a couple of polls to figure out:
* What is the best day of the week for OsmoDevCall?
https://bitpoll.de/poll/CEQnaQKEvO/
* What is the best time of day for OsmoDevCall?
https://bitpoll.de/poll/59dgmzOocT/
* What is the best frequency of OsmoDevCall
https://bitpoll.de/poll/8jyuRJB6Hb/
The polls are open until October 21st, 2021. I would appreciate a high turn-out
so we have a good representation across our community to make an educated decision
about the schedule of futur events.
Can't wait to re-start OsmoDevCall!
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hello SIMtrace community,
I just bought a SIMtrace v2 hw kit, and I am looking to use it for the
purpose of troubleshooting ancient phones. I've been working with
Calypso phones mostly, but now I am traveling farther back in time in
the history of GSM, playing with phones from 1990s. I bring these
phones up on my own GSM network run with a sysmoBTS plus Osmocom CNI
sw stack, and I use programmable SIMs of which I bought a semi-custom
batch from China a year and a half ago, semi-custom batch meaning my
own artwork on the plastic and my choice of 2FF-only cut, but the
actual module is unmodified off-the-shelf, the only thing I could get
as a low-dollar customer. These SIMs (I named my version FCSIM1)
appear to be identical to the model known in the Osmocom community as
GrcardSIM2, once sold as sysmoSIM-GR2.
Here is the issue: my SIMs work just fine in Ericsson I888, Nokia 5190
and Nokia 6190 - all 1990s phones - bringing these ancient phone onto
my Osmocom-based GSM network quite happily. But I am interacting with
another member of the vintage phone community (r/vintagemobilephones
on Reddit) who has a few working Nokia 2190s - a phone model from 1995,
one of the first PCS1900 band phones ever - and he tells me that this
super-ancient model is very finicky in terms of which SIMs it accepts.
There are several T-Mobile MVNOs who issue SIMs that still have the
classic GSM 11.11 SIM application present, and they work fine in most
ancient phones, including Nokia 5190 and 6190, but they don't work in
2190 - my contact tells me that he found only one MVNO (Lycamobile)
whose SIMs do work in the 2190. Intrigued, I sent him a few of my
FCSIM1 cards, he tested one in a 2190, and he tells me the ancient
phone rejects this SIM too. :-(
At this point the rational course of action ought to be to trace the
SIM-ME communication between the finicky phone and one of each kind of
SIM: the kind it accepts, and the kind it doesn't accept, and see what
it barfs on. But I just realized a problem: there is a very high
likelihood that the ancient phone feeds 5V to the SIM (Nokia 2190 is
powered by a 5-cell NiMH battery, so it has plenty of voltage headroom
inside to put out 5V), and my reading of Atmel's datasheet for the
SAM3S chip on the SIMtrace board tells me that 5V will fry it: the
electrical specifications chapter of the datasheet lists 4.0 V as the
Absolute Maximum Rating for all pins, including those GPIO pins that
are wired to the phone connection on the SIMtrace board.
Just checking to see if my understanding is correct: is SIMtrace v2
indeed absolutely NOT tolerant of phones that put out 5V toward the
SIM? Not tolerant to the point that it would not simply not work, but
would *fry* the SAM3S chip?
If the board part of SIMtrace v2 kit is of no use with ancient phones
that put out 5V, I reason that I should still be able to make use of
FPC cables: I just need a little adapter PCB that hosts a SIM socket
and a connector for the FPC to go into, with accessible points for
probing with an o'scope or a logic analyzer - it just needs to be a
purely passive, connections only PCB, without any ICs that would be
fried by high voltages. Would anyone happen to know if I can still
buy such an adapter PCB anywhere (I read that such were used in the
beginning of the project before the first custom SIMtrace board), or
will I need to spin out that adapter PCB myself?
TIA,
Mychaela
Hi,
I am Gabriel from Rapid Prototypes Ltd. from Cyprus; I have decided to
contact you because I need assistance regarding the Simtrace v2 device.
We have a Project and I don't have for now the qualified person which can
help me with this project which is based on Simtrace v2, and , I do hope
that someone can provide me the requested assistance and in this case I can
pay very very well .
Please let me know if there is someone available to work on this project:
- basically what I need is to connect between them two Simtrace v2
device's, which communicates between them, one Simtrace v2 device which I
will use like a Transmitter and this device it is in a country , but other
Simtrace v2 device, which I will use it like the receiver, it will be in
another country;
So , what I need is that the two of them are connected over the Internet,
doesn't matter how (using a Raspberry or etc.) and one Simtrace it is used
to read a Smart Card and to send in real time the data to the other
Simtrace which will act like a card emulator;
Please let me know if you are able to work on this project,
Thanks
Hello,
I am currently working on several projects for IoT based solutions using the SIMTrace2 board and software.
I have not been able to locate/install the SIMTrrace2-remsim application. Whilst I have SIMTrace2 itself installed and functional there is no reference to the remsim function.
I am using binaries from the Raspbian 11 repo.
The related wiki indicates that remsim would be part of the SIMTrace2 installation (albiet referencing the method of compiling locally). However, I find no reference to it in my standard installation.
Would it be possible to point me in the right direction to install this function? Is there an alternate version of the software required to do this?
Many thanks,
Marc Wilson
Marc Wilson
Technical Consultant
t: +44 1483 802 503 |
w: eseye.com
LinkedIn | Twitter |
YouTube |
Blog
This email is from Eseye
. Address:
20 Nugent Road, Guildford, Surrey, GU2 7AF, United Kingdom. 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. 2021 Eseye Limited. All rights reserved.
Dear osmocom team,
I am trying to set up the osmocom-remsim application. The goal is, that
the phone uses the SIM inserted into the card reader and connects to my
EPS. I am using a SCR 3310 Card Reader and the simtrace2 hardware. I
setup the bankd and the slotmap according to the manual. It seems, that
the mapping is fine although, when I start the client, the execution
terminates with "USB OUT transfer failed, status=2". The phone does not
recognize a SIM inserted.
Setup:
Debian 11, simtrace plugged into the computer. Simtrace is attached to
a mobile Phone (Samsung galaxy A90 5G or Apple iPhone 13). SCR 3310 has
a sysmoISIM-SJA2 card inserted, which is configured to attach to a
custom cell distributed via srsRAN.
Note that the OS is hosted as a VM with KVM/QEMU. When using only the
simtrace, without remism, the SIM Card which is inserted into the board
works as intended and the phone connects with my EPS.
Configuration:
bankd_pcsc_slots.csv:
"1", "0", "SCM Microsystems Inc\. SCR 3310 \[CCID Interface\]
\(53311702704887\) 00 00"
osmo-remsim-bankd:
osmo-remsim-bankd -i 127.0.0.1 -b 1 -n 1 -d
osmo-remsim-client-st2:
osmo-remsim-client-st2 -V 1d50 -P 60e3 -C 1 -H 1-2 -S 0 -I 0 -n 0 -c 0
apitool:
./remsim-apitool.py -m 1 0 0 0
output of ./remsim-apitool.py -a:
/clients: {'clients': [{'peer': 'C0:0', 'state': 'CONNECTED_CLIENT',
'component_id': {'type_': 'remsimClient', 'name': 'debian', 'software':
'remsim-client', 'swVersion': '1.0.0.19-a563'}}]}
/banks: {'banks': [{'peer': 'B1', 'state': 'CONNECTED_BANKD',
'component_id': {'type_': 'remsimBankd', 'name': 'debian', 'software':
'remsim-bankd', 'swVersion': '1.0.0.19-a563'}, 'bankId': 1,
'numberOfSlots': 1}]}
/slotmaps: {'slotmaps': [{'bank': {'bankId': 1, 'slotNr': 0}, 'client':
{'clientId': 0, 'slotNr': 0}, 'state': 'ACTIVE'}]}
output of client:
DRSPRO INFO ../rspro_client_fsm.c:306
RSPRO_CLIENT(server){REESTABLISH}: Creating TCP connection to server at
127.0.0.1:9998
DLINP NOTICE simtrace2_api.c:267 [0] <=
osmo_st2_cardem_request_config(features=00000001)
DLINP NOTICE input/ipa.c:128 127.0.0.1:9998 connection done
DRSPRO NOTICE ../rspro_client_fsm.c:124
RSPRO_CLIENT(server){REESTABLISH}: RSPRO link to 127.0.0.1:9998 UP
DRSPRO INFO ../rspro_client_fsm.c:306 RSPRO_CLIENT(bankd){REESTABLISH}:
Creating TCP connection to server at 127.0.0.1:9999
DLINP NOTICE input/ipa.c:128 127.0.0.1:9999 connection done
DRSPRO NOTICE ../rspro_client_fsm.c:124
RSPRO_CLIENT(bankd){REESTABLISH}: RSPRO link to 127.0.0.1:9999 UP
DLINP NOTICE simtrace2_api.c:168 [0] <=
osmo_st2_cardem_request_card_insert(inserted=1)
DLINP NOTICE simtrace2_api.c:317 [0] <= _modem_sim_select(remote_sim=1)
DLINP NOTICE simtrace2_api.c:250 [0] <=
osmo_st2_cardem_request_set_atr(3b 00 )
DLINP NOTICE simtrace2_api.c:284 [0] <= _modem_reset(asserted=2,
pulse_ms=300)
DLINP NOTICE simtrace2_api.c:250 [0] <=
osmo_st2_cardem_request_set_atr(3b 9f 96 80 1f 87 80 31 e0 73 fe 21 1b
67 4a 4c 75 30 34 05 4b a9 )
USB OUT transfer failed, status=2
output bankd:
Jun 27 13:20:08 debian osmo-remsim-bankd[433]: 452 DBANKDW INFO
bankd_main.c:639 [000 CONN_CLIENT] slotmap found: C(0:0) -> B(1:0)
Jun 27 13:20:08 debian osmo-remsim-bankd[433]: 452 DBANKDW INFO
bankd_main.c:464 [000 CONN_CLIENT] Changing state to CONN_CLIENT_MAPPED
(timeout=10)
Jun 27 13:20:08 debian osmo-remsim-bankd[433]: 452 DBANKDW INFO
bankd_pcsc.c:267 [000 CONN_CLIENT_MAPPED] Attempting to open PC/SC
context
Jun 27 13:20:08 debian osmo-remsim-bankd[433]: 452 DBANKDW INFO
bankd_pcsc.c:270 [000 CONN_CLIENT_MAPPED] SCardEstablishContext: OK
Jun 27 13:20:08 debian osmo-remsim-bankd[433]: 452 DBANKDW INFO
bankd_pcsc.c:215 [000 CONN_CLIENT_MAPPED] Attempting to find card/slot
using regex 'SCM Microsystems Inc\. SCR 3310 \[CCID Int>
Jun 27 13:20:08 debian osmo-remsim-bankd[433]: 452 DBANKDW INFO
bankd_pcsc.c:234 [000 CONN_CLIENT_MAPPED] Attempting to open card/slot
'SCM Microsystems Inc. SCR 3310 [CCID Interface] (53311>
Jun 27 13:20:09 debian osmo-remsim-bankd[433]: 452 DBANKDW INFO
bankd_pcsc.c:198 [000 CONN_CLIENT_MAPPED] SCardStatus: OK
Jun 27 13:20:09 debian osmo-remsim-bankd[433]: 452 DBANKDW INFO
bankd_pcsc.c:200 [000 CONN_CLIENT_MAPPED] Card ATR:
3b9f96801f878031e073fe211b674a4c753034054ba9
Jun 27 13:20:09 debian osmo-remsim-bankd[433]: 452 DBANKDW INFO
bankd_main.c:456 [000 CONN_CLIENT_MAPPED] Changing state to
CONN_CLIENT_MAPPED_CARD
Jun 27 13:20:09 debian osmo-remsim-bankd[433]: 452 DBANKDW INFO
bankd_main.c:794 [000 CONN_CLIENT_MAPPED_CARD] Rx RSPRO setAtrRes
I hope the information provided in this mail is sufficient. If not, I
am happy to provide what is needed in order to solve the issue.
Kind regards
Lorenz Dumanski
[please follow-up-to openbsc(a)lists.osmocom.org so we don't cross-post
all related mails]
Dear Osmocom community,
OsmoDevCall used to be rather successful for quite some time in recent years,
but recently has been suffering quite a bit due to insufficient people
volunteering to present. Big thanks to all who did! Interestingly,
there's no shortage of ideas of topics at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall - but then
many of the potential speakers did not have the interest or time to
follow-up.
Most recently, the last few instances have not been taking place due to a lack
of volunteers during my holidays.
Last, but not least, while during COVID lockdown winter "friday night
8pm" was a good idea, this of course is more difficult during the
summer, when people are more likely want to go out the weekend.
So, to summarize, let me ask some questions:
* would you be interested in OsmoDevCall continuing?
* which day/time/timezone would you prefer ?
* would you be able and willing to volunteer to give at talk within the
next 3 or so months?
Any other suggestions for or around OsmoDevCall are of course also welcome.
Thanks in advance,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hi,
I was trying to install a custom applet on sysmoUSIM-SJS1 SIM cards.
Following the guide present here
<https://osmocom.org/projects/sim-toolkit/wiki> and using shadysim I was
not able to do that ( it gives me an error related to the fact it doesn't
receive any status word back after sending an APDU, I think it's a bug but
we can discuss about that later). I ended up using Global Platform Pro to
install it but it only loads the applet on the card as a module of another
package and doesn't make it selectable.
I also tried to upload the applet suggested by you in the guide, but I got
same result.
Is it something related to the sim card? Should I buy the SJA2 version? Can
you help me?
Thanks,
Matteo
Hello,
By any chance, is anyone selling a Simtrace2 hardware kit (new or used, as long as it is working)?
I really urgently need it and would be willing to pay a premium to have it shipped asap to Toronto, Canada.
I’ve read that the osmocom webshop staff is on holiday, so I would really really appreciate if someone can help me.
Thank you so much!
Hello,
I’ve recently acquired a simtrace, but I can’t get it to work at all under OS X.
I’ve tried Kali, but simtrace list shows 0usb devices.
For OS X there’s a ton of dependencies that I can’t find. And on Kali I’m a real novice.
Is there a more elaborate tutorial somewhere for me to use?
Thanks,
Mat.
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 checked the debug output on the ST2 board and this is all that I see:
=============================================================================
SIMtrace2 firmware 0.8.1.33-9088, BOARD=simtrace, APP=cardem
(C) 2010-2019 by Harald Welte, 2018-2019 by Kevin Redon
=============================================================================
-I- Chip ID: 0x28900960 (Ext 0x00000000)
-I- Serial Nr. 51203220-59393152-33303120-33323033
-I- Reset Cause: general reset (first power-up reset)
-I- USB init...
USBD_Init
SetAddr(8) -W- Sta 0x888A8 [0] -W- _ -W- Sta 0x888A8 [0] -W- _ -W- Sta 0x888A8 [0] -W- _ SetCfg(1) cfgChanged1 -I- calling configure of all configurations...
-I- calling init of config 1...
-I- Modem 0: physical SIM
-I- 0: Use local/physical SIM<CR><LF>-I- entering main loop...
-I- USB is now configured
-W- Sta 0x88828 [0] -W- _
I could really use some help. I am so close to getting this functional but stuck on this snag.
Thank you,
Paul
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.
Hi all!
[please follow-up-to the openbsc(a)lists.osmocom.org mailing list, if
there is any discussion, we don't want to drag it over tons of mailing
lists in parallel]
Some weeks ago, I created https://osmocom.org/issues/5397 but it seems nobody
noticed the ticket or had any comments to it.
So let me post this as RFC here on the mailing list:
In the past, we had a gitolite/gitosis setup, which was fine in the
early days of git, but it means that people cannot easily create new
repositories, see who has permissions, and we cannot delegate ownership.
Even updating SSH keys requires manual interaction of a sysadmin like
me.
I would therefore suggest to migrate git.osmocom.org to gitea[1]
This would allow the following features:
* users can self-create any number of personal repositories (like gitlab/github)
* we can create 'organizations' along the line of reasonably independent
osmocom member projects like op25, who can then manage their own
repos/permissions/...
* gitea can link to redmine wiki and redmine issue trackers (rather than
using its own built-in)
For those repositories hosted in gerrit (mainly CNI), we would still
keep git.osmocom.org a read-only mirror, like we do it right now.
For those repositories not hosted in gerrit, users/projects could then
accept merge requests in gitea. Coupling this with 3rd party
authentication via github/gitlab/etc should make it easier for the
occasional contributor to submit changes.
There is a downside, of course; A lot of repo URLs have to change. Most
of our current repositories are at git.osmocom.org/project.git while
gitea follows a git.osmocom.org/organization/project.git scheme. I'm not
sure there is any way to help to mitigate this...
Any thoughts, comments?
[1] https://gitea.io/
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear fellow Osmocom developers,
as you all know, we've sadly had to skip OsmoDevCon 2020 and 2021,
trying to compensate it at least to some extent with our OsmoDevCall
every two weeks.
The COVID-19 pandemic is far from over, and we don't know what the
upcoming winter season will bring.
Nevertheless, I think it would be a good idea to start a discussion of
whether we should plan for an OsmoDevCon in 2022.
I personally would say let's plan for the usual late April 2022 time frame,
and if the pandemic situation deteriorates, we can still cancel it with
something like one month lead time.
I would also personally suggest to limit attendance to people who are fully
vaccinated, and in addition do a self-test for all participants every
morning.
In terms of venue, we might also consider to move to a venue that allows better
ventilation. Irrespective of the above we can also bring the air filters from
the sysmocom office.
So with that as an input statement, I would like to hear your opinion
on the above proposals. Who would want to attend? Any complaints against
the "vaccinated only plus daily self-tests in the morning" approach?
Regards,
Harald
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hello,
I've just received SimTrace2, LED green and red are flashing.
Even phone is able to connect to telecom network.
However, connecting to USB on Ubuntu 21.10 does not work (also tried with
Ubuntu 20.04.3 LTS).
No /dev/ttyUSB*, or /dev/ttyACM* appears.
Here are dmesg:
[ 4513.939503] usb 1-4.1: USB disconnect, device number 26
[ 4514.931801] usb 1-4.1: new full-speed USB device number 27 using xhci_hcd
[ 4515.036480] usb 1-4.1: New USB device found, idVendor=1d50,
idProduct=60e3, bcdDevice= 0.02
[ 4515.036494] usb 1-4.1: New USB device strings: Mfr=1, Product=2,
SerialNumber=11
[ 4515.036501] usb 1-4.1: Product: SIMtrace 2
[ 4515.036505] usb 1-4.1: Manufacturer: sysmocom - s.f.m.c. GmbH
[ 4515.036509] usb 1-4.1: SerialNumber: xxxxxxx
I've followed these instructions:
https://osmocom.org/projects/simtrace2/wiki
- have my user id plugdev group (logged out to verify),
- verified that udevs are right and service has been restarted.
https://git.osmocom.org/simtrace2/plain/host/contrib/99-simtrace2.rules
- here is the list of libusb:
libgusb2:amd640.3.5-1build1
libusb-0.1-4:amd642:0.1.12-32build2
libusb-1.0-0:amd642:1.0.24-3
libusb-1.0-0-dev:amd642:1.0.24-3
libusb-1.0-doc2:1.0.24-3
libusb-dev2:0.1.12-32build2
libusbmuxd6:amd642.0.2-3build1
and libosmo*
libosmocodec0:amd641.4.2-3
libosmocoding0:amd641.4.2-3
libosmocore-dev:amd641.4.2-3
libosmocore16:amd641.4.2-3
libosmoctrl0:amd641.4.2-3
libosmogb11:amd641.4.2-3
libosmogsm15:amd641.4.2-3
libosmosim2:amd641.4.2-3
libosmovty4:amd641.4.2-3
Also I've tried to flash the latest firmware like in this document,
with the "simtrace-trace-dfu-latest.bin" from
2022-Jan-25 07:52:30
https://osmocom.org/projects/simtrace2/wiki/Flashing#DFU
Please advise where is the problem
Thanks
--
Sabr
I would be very grateful for help getting my SimTrace2 going under Debian 10 please. I have followed the instructions for getting the repository onto my system but am unsure how to install trace or the Wireshark plugin?
Kind regards,
Simon (chipscanner)
Sent from my iPhone
I would be very grateful for help getting my SimTrace2 going under Debian 10 please. I have followed the instructions for getting the repository onto my system but am unsure how to install trace or the Wireshark plugin?
Kind regards,
Simon (chipscanner)
Sent from my iPhone
Hello,
I am having a communications issue between the simtrace2 firmware & simtrace2-tool. It appears that only the first invocation of simtrace2-tool after reset of the Atmel processor works. Subsequent invocations of simtrace2-tool fail (to be specific, the simtrace2 firmware never calls usb_refill_from_host() nor dispatch_received_msg() for the lost message, according to additional debugging I added). We have confirmed this behavior on a stock simtrace2 board and stock simtrace2 firmware.
As an experiment: With the Atmel processor in this state, I modified simtrace2-tool to send two commands back to back: a dummy message, followed by the real message. When I do this, the first dummy message is dropped, as described above, but the second is executed successfully! For some reason, you cannot get it to work by simply invoking simtrace2-tool twice at the shell— critically, you have to send both messages without closing and re-opening libusb in-between.
The root cause is probably some kind of message framing or USB stack receive processing race condition in the simtrace2 firmware, relative to when the USB port is opened on the 2nd and subsequent times. Or, maybe some kind of race condition with usb_refill_from_host() that primes the receiver for another packet? Honestly, I’m not sure. Do you have any suggestions? Are you aware of this issue?
Regards,
James
James Tavares
Lead Software Engineer
KVH Industries, Inc.
50 Enterprise Center | Middletown, RI 02842
Direct Tel: +1 401.845.2416
Tel: +1 401.847.3327 | Fax: +1 401.845.8149
jtavares(a)kvh.com<mailto:jtavares@kvh.com>
http://www.kvh.com<http://www.kvh.com/>
Dear Osmocom community,
today our mailing list server lists.osmocom.org has finally been migrated
from mailman2-on-freebsd to mailman3-on-linux. This also included a variety
of changes to DNS. I'll spare you the details, but everything _should_ be up
and running now.
* The List-Id headers should not have changed.
* all list subscriptions + user accounts have been converted.
* old 'static html' archives are still available (read only) at URLs like
https://lists.osmocom.org/pipermail/baseband-devel/
* old List URLs like https://lists.osmocom.org/mailman/listinfo/baseband-devel
are redirected to their respective modern counterparts
In case you notice any mailing list related problem, please don't hesitate to
contact me.
Happy hacking,
Harald
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
The first time it even sends a C-APDU, but no SW is returned.
Also the data stream (ATR and APDU) look correct, so it does no seem to be a speed issue.
I only had the card for 5 minutes and did not try to debug it more (check it the PPS fails, or something afterwards) or use an oscilloscope.
But maybe someone might have an idea.
Here the SIMtrace log:
Entering main loop
ATR APDU: 3b 9f 95 80 1f c7 80 31 a0 73 be 21 13 67 d0 02 04 09 01 00 00 05
PPS(Fi=9/Di=5) ATR APDU: 3b 9f 95 80 1f c7 80 31 a0 73 be 21 13 67 d0 02 04 09 01 00 00 05
PPS(Fi=9/Di=5) APDU: 00 a4 00 0c 02 fc 00
ATR APDU: 3b 9f 95 80 1f c7 80 31 a0 73 be 21 13 67 d0 02 04 09 01 00 00 05
PPS(Fi=9/Di=5) ATR APDU: 3b 9f 95 80 1f c7 80 31 a0 73 be 21 13 67 d0 02 04 09 01 00 00 05
And here the debug log:
main(76): entering main (idle) loop
VCC_PHONE off
VCC_PHONE on
RST
computed Fi(1) Di(1) ratio: 372
found Fi=9 Di=5
computed Fi(9) Di(5) ratio: 32
nRST
VCC_PHONE off
VCC_PHONE on
RST
computed Fi(1) Di(1) ratio: 372
found Fi=9 Di=5
computed Fi(9) Di(5) ratio: 32
nRST
VCC_PHONE off
VCC_PHONE on
RST
computed Fi(1) Di(1) ratio: 372
found Fi=9 Di=5
computed Fi(9) Di(5) ratio: 32
nRST
VCC_PHONE off
VCC_PHONE on
RST
computed Fi(1) Di(1) ratio: 372
found Fi=9 Di=5
computed Fi(9) Di(5) ratio: 32
nRST
VCC_PHONE off
thank,
kevin
0x62)
Can anyone point me to a resource for computing parameters with a valid MAC?
Thanks for your attention,
Rupert
--089e013d1f28c0d5d004d784db04
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Good Afternoon,<div><br></div><div>I am trying to perform =
USIM/3G authentication using=A0osmo-sim-auth and ran into the same problem =
as Stefanos:</div><div><a href=3D"http://lists.osmocom.org/pipermail/simtra=
ce/2012-November/000406.html">http://lists.osmocom.org/pipermail/simtrace/2=
012-November/000406.html</a></div>
<div><br></div><div>I followed Benoit's advice to view the details as f=
ollows (using the inputs from the web page):</div><div><br><div><div>> r=
and_bin =3D stringToByte(a2b_hex('00000000000000000000000000000000'=
))</div>
<div>> autn_bin =3D stringToByte(a2b_hex('ec9320c2c2000000e1dd22c1ad=
3e2d3d'))</div></div><div>> u.authenticate(RAND=3Drand_bin, AUTN=3Da=
utn_bin,ctx=3D'3G')<br></div><div>> u.coms()<br></div><div><br><=
/div>
<div><pre style=3D"margin-top:0px;margin-bottom:0px;padding:0px;border:0px;=
font-family:monospace,sans-serif;font-size:14px;line-height:17px;vertical-a=
lign:baseline;white-space:pre-wrap;color:rgb(0,0,0)">['INTERNAL AUTHENT=
ICATE apdu: 00 88 00 81 22 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 =
00 10 EC 93 20 C2 C2 00 00 00 E1 DD 22 C1 AD 3E 2D 3D',
'sw1, sw2: 98 62 - undefined status',
(152, 98),
[]]</pre></div><div><br></div></div><div style>From=A0TS 31.102, section 7=
.3.1 it looks like this means a MAC failure (0x98 0x62)</div><div style><br=
></div><div style>Can anyone point me to a resource for computing parameter=
s with a valid MAC?</div>
<div style><br></div><div style>Thanks for your attention,</div><div style>=
<br></div><div style>Rupert</div></div>
--089e013d1f28c0d5d004d784db04--
and I was told by Peter Stuge to use libusb too. Ok... libusb compiled ok
under cygwin, now I have cygusb.dll.
Now I need libosmocore to produce the dlls I need to use with the host
application.
The ouput of make is:
$ make
echo 0.5.3.104-a642 > .version-t && mv .version-t .version
make all-recursive
make[1]: Entering directory `/cygdrive/d/Workspace/Morpho/libosmocore'
Making all in include
make[2]: Entering directory
`/cygdrive/d/Workspace/Morpho/libosmocore/include'
GEN osmocom/core/crc16gen.h
GEN osmocom/core/crc16gen.h
GEN osmocom/core/crc32gen.h
GEN osmocom/core/crc32gen.h
GEN osmocom/core/crc64gen.h
GEN osmocom/core/crc64gen.h
GEN osmocom/core/crc8gen.h
GEN osmocom/core/crc8gen.h
make[2]: Leaving directory
`/cygdrive/d/Workspace/Morpho/libosmocore/include'
Making all in src
make[2]: Entering directory `/cygdrive/d/Workspace/Morpho/libosmocore/src'
GEN crc8gen.c
GEN crc16gen.c
GEN crc32gen.c
GEN crc64gen.c
make all-am
make[3]: Entering directory `/cygdrive/d/Workspace/Morpho/libosmocore/src'
CC timer.lo
CC select.lo
CC signal.lo
CC msgb.lo
CC bits.lo
CC bitvec.lo
CC statistics.lo
CC write_queue.lo
CC utils.lo
utils.c: In function 'osmo_str2lower':
utils.c:205:3: warning: array subscript has type 'char'
utils.c: In function 'osmo_str2upper':
utils.c:218:3: warning: array subscript has type 'char'
CC socket.lo
CC logging.lo
logging.c: In function 'log_vty_command_string':
logging.c:635:5: warning: array subscript has type 'char'
logging.c:657:4: warning: array subscript has type 'char'
CC logging_syslog.lo
CC rate_ctr.lo
CC gsmtap_util.lo
CC crc16.lo
CC panic.lo
CC backtrace.lo
CC conv.lo
CC application.lo
CC rbtree.lo
CC strrb.lo
CC loggingrb.lo
CC crc8gen.lo
CC crc16gen.lo
CC crc32gen.lo
CC crc64gen.lo
CC plugin.lo
CC talloc.lo
CC msgfile.lo
CC serial.lo
serial.c: In function 'osmo_serial_set_custom_baudrate':
serial.c:193:2: warning: #warning osmo_serial_set_custom_baudrate:
unsupported platform
CCLD libosmocore.la
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin
shared libraries
make[3]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore/src'
make[2]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore/src'
Making all in src/vty
make[2]: Entering directory
`/cygdrive/d/Workspace/Morpho/libosmocore/src/vty'
CC buffer.lo
CC command.lo
CC vty.lo
vty.c: In function 'vty_hello':
vty.c:363:10: warning: array subscript has type 'char'
CC vector.lo
CC utils.lo
utils.c: In function 'vty_cmd_string_from_valstr':
utils.c:96:6: warning: array subscript has type 'char'
CC telnet_interface.lo
CC logging_vty.lo
CCLD libosmovty.la
*** Warning: This system can not link to static lib archive ../../src/
libosmocore.la.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin
shared libraries
make[2]: Leaving directory
`/cygdrive/d/Workspace/Morpho/libosmocore/src/vty'
Making all in src/codec
make[2]: Entering directory
`/cygdrive/d/Workspace/Morpho/libosmocore/src/codec'
CC gsm610.lo
CC gsm620.lo
CC gsm660.lo
CC gsm690.lo
CCLD libosmocodec.la
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin
shared libraries
make[2]: Leaving directory
`/cygdrive/d/Workspace/Morpho/libosmocore/src/codec'
Making all in src/gsm
make[2]: Entering directory
`/cygdrive/d/Workspace/Morpho/libosmocore/src/gsm'
CC a5.lo
CC rxlev_stat.lo
CC tlv_parser.lo
CC comp128.lo
CC gsm_utils.lo
gsm_utils.c: In function 'gsm_band_parse':
gsm_utils.c:450:2: warning: array subscript has type 'char'
CC rsl.lo
CC gsm48.lo
CC gsm48_ie.lo
CC gsm0808.lo
CC sysinfo.lo
CC gprs_cipher_core.lo
CC gsm0480.lo
CC abis_nm.lo
CC gsm0502.lo
CC gsm0411_utils.lo
gsm0411_utils.c: In function 'gsm340_gen_scts':
gsm0411_utils.c:87:2: warning: #warning find a portable way to obtain
timezone offset
CC gsm0411_smc.lo
CC gsm0411_smr.lo
CC lapd_core.lo
CC lapdm.lo
CC auth_core.lo
CC auth_comp128v1.lo
CC auth_milenage.lo
CC aes-encblock.lo
CC aes-internal.lo
CC aes-internal-enc.lo
CC milenage.lo
CC gan.lo
CCLD libosmogsm.la
*** Warning: This system can not link to static lib archive ../../src/
libosmocore.la.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin
shared libraries
make[2]: Leaving directory
`/cygdrive/d/Workspace/Morpho/libosmocore/src/gsm'
Making all in src/gb
make[2]: Entering directory
`/cygdrive/d/Workspace/Morpho/libosmocore/src/gb'
CC gprs_ns.lo
CC gprs_ns_frgre.lo
CC gprs_ns_vty.lo
CC gprs_bssgp.lo
CC gprs_bssgp_util.lo
CC gprs_bssgp_vty.lo
CC gprs_bssgp_bss.lo
CC common_vty.lo
CCLD libosmogb.la
*** Warning: This system can not link to static lib archive ../../src/
libosmocore.la.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
*** Warning: This system can not link to static lib archive ../../src/vty/
libosmovty.la.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
*** Warning: This system can not link to static lib archive ../../src/gsm/
libosmogsm.la.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
*** Warning: This system can not link to static lib archive
/cygdrive/d/Workspace/Morpho/libosmocore/src/libosmocore.la.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin
shared libraries
make[2]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore/src/gb=
'
Making all in tests
make[2]: Entering directory `/cygdrive/d/Workspace/Morpho/libosmocore/tests=
'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore/tests'
Making all in utils
make[2]: Entering directory `/cygdrive/d/Workspace/Morpho/libosmocore/utils=
'
CC osmo-arfcn.o
osmo-arfcn.c: In function =91freq2arfcn=92:
osmo-arfcn.c:80:1: warning: control reaches end of non-void function
osmo-arfcn.c: In function =91main=92:
osmo-arfcn.c:92:8: warning: =91param=92 may be used uninitialized in this
function
CCLD osmo-arfcn.exe
CC osmo-auc-gen.o
osmo-auc-gen.c: In function =91main=92:
osmo-auc-gen.c:216:3: warning: implicit declaration of function =91time=92
osmo-auc-gen.c:217:3: warning: dereferencing type-punned pointer will break
strict-aliasing rules
osmo-auc-gen.c:249:3: warning: format =91%lu=92 expects type =91long unsign=
ed
int=92, but argument 2 has type =91uint64_t=92
osmo-auc-gen.c:249:3: warning: format =91%lu=92 expects type =91long unsign=
ed
int=92, but argument 2 has type =91uint64_t=92
CCLD osmo-auc-gen.exe
make[2]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore/utils'
make[2]: Entering directory `/cygdrive/d/Workspace/Morpho/libosmocore'
make[2]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore'
make[1]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore'
I now compilation for Windows is not supported directly, but would you mind
pointing me in the right direction on how to build libosmocore as a dll?
Thanks!
--=20
Atenciosamente,
Hugo Frederico Soares
--f46d042dfcd1ea9df404d6cbc3f6
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hi guys!<div><br></div><div>Some time ago I stopped by ask=
ing what would one do to compile under Windows, and it was suggested to use=
cygwin to build the application and than use it with cygwin dll to run it =
under linux. Well, I'm having some issues to do that...</div>
<div><br></div><div><br></div><div>From <a href=3D"http://bb.osmocom.org/tr=
ac/wiki/SIMtrace">here</a>, I need libosmocore, and I was told by Peter Stu=
ge to use libusb too. Ok... libusb compiled ok under cygwin, now I have cyg=
usb.dll.</div>
<div>Now I need libosmocore to produce the dlls I need to use with the host=
application.</div><div><br></div><div>The ouput of make is:</div><div><br>=
</div><div><div>$ make</div><div>echo 0.5.3.104-a642 > .version-t &&=
amp; mv .version-t .version</div>
<div>make =A0all-recursive</div><div>make[1]: Entering directory `/cygdrive=
/d/Workspace/Morpho/libosmocore'</div><div>Making all in include</div><=
div>make[2]: Entering directory `/cygdrive/d/Workspace/Morpho/libosmocore/i=
nclude'</div>
<div>=A0 GEN =A0 =A0 =A0osmocom/core/crc16gen.h</div><div>=A0 GEN =A0 =A0 =
=A0osmocom/core/crc16gen.h</div><div>=A0 GEN =A0 =A0 =A0osmocom/core/crc32g=
en.h</div><div>=A0 GEN =A0 =A0 =A0osmocom/core/crc32gen.h</div><div>=A0 GEN=
=A0 =A0 =A0osmocom/core/crc64gen.h</div>
<div>=A0 GEN =A0 =A0 =A0osmocom/core/crc64gen.h</div><div>=A0 GEN =A0 =A0 =
=A0osmocom/core/crc8gen.h</div><div>=A0 GEN =A0 =A0 =A0osmocom/core/crc8gen=
.h</div><div>make[2]: Leaving directory `/cygdrive/d/Workspace/Morpho/libos=
mocore/include'</div>
<div>Making all in src</div><div>make[2]: Entering directory `/cygdrive/d/W=
orkspace/Morpho/libosmocore/src'</div><div>=A0 GEN =A0 =A0 =A0crc8gen.c=
</div><div>=A0 GEN =A0 =A0 =A0crc16gen.c</div><div>=A0 GEN =A0 =A0 =A0crc32=
gen.c</div><div>=A0 GEN =A0 =A0 =A0crc64gen.c</div>
<div>make =A0all-am</div><div>make[3]: Entering directory `/cygdrive/d/Work=
space/Morpho/libosmocore/src'</div><div>=A0 CC =A0 =A0 =A0 timer.lo</di=
v><div>=A0 CC =A0 =A0 =A0 select.lo</div><div>=A0 CC =A0 =A0 =A0 signal.lo<=
/div><div>=A0 CC =A0 =A0 =A0 msgb.lo</div>
<div>=A0 CC =A0 =A0 =A0 bits.lo</div><div>=A0 CC =A0 =A0 =A0 bitvec.lo</div=
><div>=A0 CC =A0 =A0 =A0 statistics.lo</div><div>=A0 CC =A0 =A0 =A0 write_q=
ueue.lo</div><div>=A0 CC =A0 =A0 =A0 utils.lo</div><div>utils.c: In functio=
n 'osmo_str2lower':</div><div>
utils.c:205:3: warning: array subscript has type 'char'</div><div>u=
tils.c: In function 'osmo_str2upper':</div><div>utils.c:218:3: warn=
ing: array subscript has type 'char'</div><div>=A0 CC =A0 =A0 =A0 s=
ocket.lo</div>
<div>=A0 CC =A0 =A0 =A0 logging.lo</div><div>logging.c: In function 'lo=
g_vty_command_string':</div><div>logging.c:635:5: warning: array subscr=
ipt has type 'char'</div><div>logging.c:657:4: warning: array subsc=
ript has type 'char'</div>
<div>=A0 CC =A0 =A0 =A0 logging_syslog.lo</div><div>=A0 CC =A0 =A0 =A0 rate=
_ctr.lo</div><div>=A0 CC =A0 =A0 =A0 gsmtap_util.lo</div><div>=A0 CC =A0 =
=A0 =A0 crc16.lo</div><div>=A0 CC =A0 =A0 =A0 panic.lo</div><div>=A0 CC =A0=
=A0 =A0 backtrace.lo</div><div>=A0 CC =A0 =A0 =A0 conv.lo</div>
<div>=A0 CC =A0 =A0 =A0 application.lo</div><div>=A0 CC =A0 =A0 =A0 rbtree.=
lo</div><div>=A0 CC =A0 =A0 =A0 strrb.lo</div><div>=A0 CC =A0 =A0 =A0 loggi=
ngrb.lo</div><div>=A0 CC =A0 =A0 =A0 crc8gen.lo</div><div>=A0 CC =A0 =A0 =
=A0 crc16gen.lo</div><div>=A0 CC =A0 =A0 =A0 crc32gen.lo</div>
<div>=A0 CC =A0 =A0 =A0 crc64gen.lo</div><div>=A0 CC =A0 =A0 =A0 plugin.lo<=
/div><div>=A0 CC =A0 =A0 =A0 talloc.lo</div><div>=A0 CC =A0 =A0 =A0 msgfile=
.lo</div><div>=A0 CC =A0 =A0 =A0 serial.lo</div><div>serial.c: In function =
'osmo_serial_set_custom_baudrate':</div>
<div>serial.c:193:2: warning: #warning osmo_serial_set_custom_baudrate: uns=
upported platform</div><div>=A0 CCLD =A0 =A0 <a href=3D"http://libosmocore.=
la">libosmocore.la</a></div><div>libtool: link: warning: undefined symbols =
not allowed in i686-pc-cygwin shared libraries</div>
<div>make[3]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore/s=
rc'</div><div>make[2]: Leaving directory `/cygdrive/d/Workspace/Morpho/=
libosmocore/src'</div><div>Making all in src/vty</div><div>make[2]: Ent=
ering directory `/cygdrive/d/Workspace/Morpho/libosmocore/src/vty'</div=
>
<div>=A0 CC =A0 =A0 =A0 buffer.lo</div><div>=A0 CC =A0 =A0 =A0 command.lo</=
div><div>=A0 CC =A0 =A0 =A0 vty.lo</div><div>vty.c: In function 'vty_he=
llo':</div><div>vty.c:363:10: warning: array subscript has type 'ch=
ar'</div><div>=A0 CC =A0 =A0 =A0 vector.lo</div>
<div>=A0 CC =A0 =A0 =A0 utils.lo</div><div>utils.c: In function 'vty_cm=
d_string_from_valstr':</div><div>utils.c:96:6: warning: array subscript=
has type 'char'</div><div>=A0 CC =A0 =A0 =A0 telnet_interface.lo</=
div><div>=A0 CC =A0 =A0 =A0 logging_vty.lo</div>
<div>=A0 CCLD =A0 =A0 <a href=3D"http://libosmovty.la">libosmovty.la</a></d=
iv><div><br></div><div>*** Warning: This system can not link to static lib =
archive ../../src/<a href=3D"http://libosmocore.la">libosmocore.la</a>.</di=
v><div>
*** I have the capability to make that library automatically link in when</=
div><div>*** you link to this library. =A0But I can only do this if you hav=
e a</div><div>*** shared version of the library, which you do not appear to=
have.</div>
<div>libtool: link: warning: undefined symbols not allowed in i686-pc-cygwi=
n shared libraries</div><div>make[2]: Leaving directory `/cygdrive/d/Worksp=
ace/Morpho/libosmocore/src/vty'</div><div>Making all in src/codec</div>
<div>make[2]: Entering directory `/cygdrive/d/Workspace/Morpho/libosmocore/=
src/codec'</div><div>=A0 CC =A0 =A0 =A0 gsm610.lo</div><div>=A0 CC =A0 =
=A0 =A0 gsm620.lo</div><div>=A0 CC =A0 =A0 =A0 gsm660.lo</div><div>=A0 CC =
=A0 =A0 =A0 gsm690.lo</div><div>
=A0 CCLD =A0 =A0 <a href=3D"http://libosmocodec.la">libosmocodec.la</a></di=
v><div>libtool: link: warning: undefined symbols not allowed in i686-pc-cyg=
win shared libraries</div><div>make[2]: Leaving directory `/cygdrive/d/Work=
space/Morpho/libosmocore/src/codec'</div>
<div>Making all in src/gsm</div><div>make[2]: Entering directory `/cygdrive=
/d/Workspace/Morpho/libosmocore/src/gsm'</div><div>=A0 CC =A0 =A0 =A0 a=
5.lo</div><div>=A0 CC =A0 =A0 =A0 rxlev_stat.lo</div><div>=A0 CC =A0 =A0 =
=A0 tlv_parser.lo</div>
<div>=A0 CC =A0 =A0 =A0 comp128.lo</div><div>=A0 CC =A0 =A0 =A0 gsm_utils.l=
o</div><div>gsm_utils.c: In function 'gsm_band_parse':</div><div>gs=
m_utils.c:450:2: warning: array subscript has type 'char'</div><div=
>=A0 CC =A0 =A0 =A0 rsl.lo</div>
<div>=A0 CC =A0 =A0 =A0 gsm48.lo</div><div>=A0 CC =A0 =A0 =A0 gsm48_ie.lo</=
div><div>=A0 CC =A0 =A0 =A0 gsm0808.lo</div><div>=A0 CC =A0 =A0 =A0 sysinfo=
.lo</div><div>=A0 CC =A0 =A0 =A0 gprs_cipher_core.lo</div><div>=A0 CC =A0 =
=A0 =A0 gsm0480.lo</div><div>=A0 CC =A0 =A0 =A0 abis_nm.lo</div>
<div>=A0 CC =A0 =A0 =A0 gsm0502.lo</div><div>=A0 CC =A0 =A0 =A0 gsm0411_uti=
ls.lo</div><div>gsm0411_utils.c: In function 'gsm340_gen_scts':</di=
v><div>gsm0411_utils.c:87:2: warning: #warning find a portable way to obtai=
n timezone offset</div>
<div>=A0 CC =A0 =A0 =A0 gsm0411_smc.lo</div><div>=A0 CC =A0 =A0 =A0 gsm0411=
_smr.lo</div><div>=A0 CC =A0 =A0 =A0 lapd_core.lo</div><div>=A0 CC =A0 =A0 =
=A0 lapdm.lo</div><div>=A0 CC =A0 =A0 =A0 auth_core.lo</div><div>=A0 CC =A0=
=A0 =A0 auth_comp128v1.lo</div><div>=A0 CC =A0 =A0 =A0 auth_milenage.lo</d=
iv>
<div>=A0 CC =A0 =A0 =A0 aes-encblock.lo</div><div>=A0 CC =A0 =A0 =A0 aes-in=
ternal.lo</div><div>=A0 CC =A0 =A0 =A0 aes-internal-enc.lo</div><div>=A0 CC=
=A0 =A0 =A0 milenage.lo</div><div>=A0 CC =A0 =A0 =A0 gan.lo</div><div>=A0 =
CCLD =A0 =A0 <a href=3D"http://libosmogsm.la">libosmogsm.la</a></div>
<div><br></div><div>*** Warning: This system can not link to static lib arc=
hive ../../src/<a href=3D"http://libosmocore.la">libosmocore.la</a>.</div><=
div>*** I have the capability to make that library automatically link in wh=
en</div>
<div>*** you link to this library. =A0But I can only do this if you have a<=
/div><div>*** shared version of the library, which you do not appear to hav=
e.</div><div>libtool: link: warning: undefined symbols not allowed in i686-=
pc-cygwin shared libraries</div>
<div>make[2]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore/s=
rc/gsm'</div><div>Making all in src/gb</div><div>make[2]: Entering dire=
ctory `/cygdrive/d/Workspace/Morpho/libosmocore/src/gb'</div><div>=A0 C=
C =A0 =A0 =A0 gprs_ns.lo</div>
<div>=A0 CC =A0 =A0 =A0 gprs_ns_frgre.lo</div><div>=A0 CC =A0 =A0 =A0 gprs_=
ns_vty.lo</div><div>=A0 CC =A0 =A0 =A0 gprs_bssgp.lo</div><div>=A0 CC =A0 =
=A0 =A0 gprs_bssgp_util.lo</div><div>=A0 CC =A0 =A0 =A0 gprs_bssgp_vty.lo</=
div><div>=A0 CC =A0 =A0 =A0 gprs_bssgp_bss.lo</div>
<div>=A0 CC =A0 =A0 =A0 common_vty.lo</div><div>=A0 CCLD =A0 =A0 <a href=3D=
"http://libosmogb.la">libosmogb.la</a></div><div><br></div><div>*** Warning=
: This system can not link to static lib archive ../../src/<a href=3D"http:=
//libosmocore.la">libosmocore.la</a>.</div>
<div>*** I have the capability to make that library automatically link in w=
hen</div><div>*** you link to this library. =A0But I can only do this if yo=
u have a</div><div>*** shared version of the library, which you do not appe=
ar to have.</div>
<div><br></div><div>*** Warning: This system can not link to static lib arc=
hive ../../src/vty/<a href=3D"http://libosmovty.la">libosmovty.la</a>.</div=
><div>*** I have the capability to make that library automatically link in =
when</div>
<div>*** you link to this library. =A0But I can only do this if you have a<=
/div><div>*** shared version of the library, which you do not appear to hav=
e.</div><div><br></div><div>*** Warning: This system can not link to static=
lib archive ../../src/gsm/<a href=3D"http://libosmogsm.la">libosmogsm.la</=
a>.</div>
<div>*** I have the capability to make that library automatically link in w=
hen</div><div>*** you link to this library. =A0But I can only do this if yo=
u have a</div><div>*** shared version of the library, which you do not appe=
ar to have.</div>
<div><br></div><div>*** Warning: This system can not link to static lib arc=
hive /cygdrive/d/Workspace/Morpho/libosmocore/src/<a href=3D"http://libosmo=
core.la">libosmocore.la</a>.</div><div>*** I have the capability to make th=
at library automatically link in when</div>
<div>*** you link to this library. =A0But I can only do this if you have a<=
/div><div>*** shared version of the library, which you do not appear to hav=
e.</div><div>libtool: link: warning: undefined symbols not allowed in i686-=
pc-cygwin shared libraries</div>
<div>make[2]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore/s=
rc/gb'</div><div>Making all in tests</div><div>make[2]: Entering direct=
ory `/cygdrive/d/Workspace/Morpho/libosmocore/tests'</div><div>make[2]:=
Nothing to be done for `all'.</div>
<div>make[2]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore/t=
ests'</div><div>Making all in utils</div><div>make[2]: Entering directo=
ry `/cygdrive/d/Workspace/Morpho/libosmocore/utils'</div><div>=A0 CC =
=A0 =A0 =A0 osmo-arfcn.o</div>
<div>osmo-arfcn.c: In function =91freq2arfcn=92:</div><div>osmo-arfcn.c:80:=
1: warning: control reaches end of non-void function</div><div>osmo-arfcn.c=
: In function =91main=92:</div><div>osmo-arfcn.c:92:8: warning: =91param=92=
may be used uninitialized in this function</div>
<div>=A0 CCLD =A0 =A0 osmo-arfcn.exe</div><div>=A0 CC =A0 =A0 =A0 osmo-auc-=
gen.o</div><div>osmo-auc-gen.c: In function =91main=92:</div><div>osmo-auc-=
gen.c:216:3: warning: implicit declaration of function =91time=92</div><div=
>osmo-auc-gen.c:217:3: warning: dereferencing type-punned pointer will brea=
k strict-aliasing rules</div>
<div>osmo-auc-gen.c:249:3: warning: format =91%lu=92 expects type =91long u=
nsigned int=92, but argument 2 has type =91uint64_t=92</div><div>osmo-auc-g=
en.c:249:3: warning: format =91%lu=92 expects type =91long unsigned int=92,=
but argument 2 has type =91uint64_t=92</div>
<div>=A0 CCLD =A0 =A0 osmo-auc-gen.exe</div><div>make[2]: Leaving directory=
`/cygdrive/d/Workspace/Morpho/libosmocore/utils'</div><div>make[2]: En=
tering directory `/cygdrive/d/Workspace/Morpho/libosmocore'</div><div>m=
ake[2]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore'</d=
iv>
<div>make[1]: Leaving directory `/cygdrive/d/Workspace/Morpho/libosmocore&#=
39;</div><div><br></div><div style>I now compilation for Windows is not sup=
ported directly, but would you mind pointing me in the right direction on h=
ow to build libosmocore as a dll?</div>
<div style><br></div><div style>Thanks!=A0</div><div><br></div>-- <br>Atenc=
iosamente,<br>=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Hugo Fred=
erico Soares<br>
</div></div>
--f46d042dfcd1ea9df404d6cbc3f6--
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
December 10, 2021 at 20:00 CET
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:10 presentation "osmo-dev and running Osmocom TTCN3 tests suites locally" by osmith
21:00 unstructured supplementary social event [*]
Attendance is free of charge and open to anyone with an interest
in Osmocom or open source cellular technologies.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
November 25, 2021 at 20:00 CET (yes, Thursday instead of Friday this time!)
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:10 presentation "Control/User Plane Separation (CUPS) + PFCP" by laforge
21:00 unstructured supplementary social event [*]
Attendance is free of charge and open to anyone with an interest
in Osmocom or open source cellular technologies.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hi all.
It is the very first time I see this error. I'm using a fresh Ubuntu 20.04.
Any clue?
$ simtrace2-sniff
simtrace2-sniff: symbol lookup error: simtrace2-sniff: undefined symbol:
usb_open_claim_interface
$ lsusb | grep Osmo
Bus 002 Device 002: ID 1d50:60e3 OpenMoko, Inc. Osmocom SIMtrace 2
Find attached a $ strace simtrace2-sniff output in case it helps.
Also attached the list of osmocom and simtrace libraries installed.
--
*J. Félix Ontañón*
Director of Research and Innovation
Pod Group
A Giesecke+Devrient Company
felix.ontanon(a)podgroup.com
UK: +44 (0)1223 850 900 <+44%201223%20850900>
USA: +1 415 707 0500 <+1+415+707+0500>
ES: +34 954 050 200 <++34+954+050+200>
www.podgroup.com <https://podgroup.com/>
[image: Facebook] <https://www.facebook.com/podgroupIoT> [image: Twitter]
<https://twitter.com/PodGroup_IoT> [image: LinkedIn]
<https://www.linkedin.com/company/podgroup> [image: Instagram]
<https://www.instagram.com/podgroup_iot>
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
November 12, 2021 at 20:00 CET
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:10 presentation "E1 / TDM / PDH / SDH basics" by laforge
20:30 presentation "icE1usb in practice" by tnt
later USSE: unstructured supplementary social event [*]
Attendance is free of charge and open to anyone with an interest
in Osmocom.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear,
I am Hyunwoo Lee. I am a newbie to configure the custom SIM card.
I have one question in configuring sysmoISIM-SJA2 to enable VoWiFi on COTS
UEs. The UEs that I am working on are Samsung Galaxy A21, OnePlus 7T, and
Motorola G Power.
I tried to make the UEs discover the ePDG by sending the DNS query and
establish the IPsec channel with my IPsec server. I ran my own DNS server
to reply with the IP address of my IPsec server on the DNS query. I tried
to make it similar to the T-mobile setting since all of the UEs work well
with the T-mobile SIM card. Unfortunately, I could not succeed in enabling
VoWiFi on the UEs and I do not know why they do not work and what I can do
further.
I would appreciate it if someone could help me with this. I described what
I did in detail below the line.
Thank you in advance for your help!
Sincerely,
Hyunwoo Lee.
------------------------------
What I did is as follows:
1) Equipments
- Two sysmoISIM-SJA2
- PC/SC CCID ISO7816 USB Smart Card Reader
- UEs: Samsung Galaxy A21, OnePlus 7T, and Motorola G Power (all of them
work well with the T-mobile SIM card)
2) Environment
- Ubuntu 18.04 LTS
- python 3.6.9
- pySim 1.0
3) Configuration of the SIM cards with pysim
- The command that I used to configure the SIM cards (to T-mobile) was:
: python3 pySim-prog.py -p 0 -a <adm value> -n name -x 310 -y 260
--imsi=3102601234567890 --msisdn=<telephone number> --epdgid=
epdg.epc.mnc260.mcc310.pub.3gppnetwork.org --epdgSelection=310260
--ims-hdomain=ims.mnc260.mcc310.3gppnetwork.org --impi=
sip:3102601234567890@ims.mnc260.mcc310.3gppnetwork.org --impu=
sip:3102601234567890@ims.mnc260.mcc310.3gppnetwork.org --iccid=<ICCID value>
- The mnclen value is set to 3
4) UE behavior with the SIM card
- Samsung Galaxy A21
: It sends the DNS query for the ePDG, but does not execute the IKE
protocol to establish the IPsec channel with the T-mobile core network.
- OnePlus 7T and Motorola G Power
: It does not send the DNS query for the ePDG.
5) Configuration result
- The command that I used to read the SIM card
: python3 pySim-read.py -p 0
- The result of the command
Using PC/SC reader interface
Reading ...
Autodetected card type: sysmoISIM-SJA2
ICCID: 8988211000000459514
IMSI: None
GID1: ffffffffffffffffffff
GID2: ffffffffffffffffffff
SMSP:
ffffffffffffffffffffffffffffffffffffffffffffffffe1ffffffffffffffffffffffff0581005155f5ffffffffffff000000
SPN: name
Show in HPLMN: True
Hide in OPLMN: True
PLMNsel:
130062ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
PLMNwAcT:
130062ffff # MCC: 310 MNC: 260 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1,
GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
OPLMNwAcT:
130062ffff # MCC: 310 MNC: 260 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1,
GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
HPLMNAcT:
130062ffff # MCC: 310 MNC: 260 AcT: UTRAN, E-UTRAN WB-S1, E-UTRAN NB-S1,
GSM, GSM COMPACT, cdma2000 HRPD, cdma2000 1xRTT
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ffffff0000 # unused
ACC: 0002
MSISDN (NPI=1 ToN=3): 17657759216
Administrative data: 00000003
MS operation mode: normal
Ciphering Indicator: disabled
SIM Service Table: ff33ffff3f003f0f300cf0c3f00000
Service 1 - CHV1 disable function
Service 2 - Abbreviated Dialling Numbers (ADN)
Service 3 - Fixed Dialling Numbers (FDN)
Service 4 - Short Message Storage (SMS)
Service 5 - Advice of Charge (AoC)
Service 6 - Capability Configuration Parameters (CCP)
Service 7 - PLMN selector
Service 8 - RFU
Service 9 - MSISDN
Service 10 - Extension1
Service 13 - Last Number Dialled (LND)
Service 14 - Cell Broadcast Message Identifier
Service 17 - Service Provider Name
Service 18 - Service Dialling Numbers (SDN)
Service 19 - Extension3
Service 20 - RFU
Service 21 - VGCS Group Identifier List (EFVGCS and EFVGCSS)
Service 22 - VBS Group Identifier List (EFVBS and EFVBSS)
Service 23 - enhanced Multi-Level Precedence and Pre-emption Service
Service 24 - Automatic Answer for eMLPP
Service 25 - Data download via SMS-CB
Service 26 - Data download via SMS-PP
Service 27 - Menu selection
Service 28 - Call control
Service 29 - Proactive SIM
Service 30 - Cell Broadcast Message Identifier Ranges
Service 31 - Barred Dialling Numbers (BDN)
Service 32 - Extension4
Service 33 - De-personalization Control Keys
Service 34 - Co-operative Network List
Service 35 - Short Message Status Reports
Service 36 - Network's indication of alerting in the MS
Service 37 - Mobile Originated Short Message control by SIM
Service 38 - GPRS
Service 49 - MExE
Service 50 - Reserved and shall be ignored
Service 51 - PLMN Network Name
Service 52 - Operator PLMN List
Service 53 - Mailbox Dialling Numbers
Service 54 - Message Waiting Indication Status
Service 57 - Multimedia Messaging Service (MMS)
Service 58 - Extension 8
Service 59 - MMS User Connectivity Parameters
EHPLMN:
130062 # MCC: 310 MNC: 260
ffffff # unused
ffffff # unused
ffffff # unused
USIM Service Table: beff9f9de73e0408400170330006002e00000000
Service 2 - Fixed Dialling Numbers (FDN)
Service 3 - Extension 2
Service 4 - Service Dialling Numbers (SDN)
Service 5 - Extension3
Service 6 - Barred Dialling Numbers (BDN)
Service 8 - Outgoing Call Information (OCI and OCT)
Service 9 - Incoming Call Information (ICI and ICT)
Service 10 - Short Message Storage (SMS)
Service 11 - Short Message Status Reports (SMSR)
Service 12 - Short Message Service Parameters (SMSP)
Service 13 - Advice of Charge (AoC)
Service 14 - Capability Configuration Parameters 2 (CCP2)
Service 15 - Cell Broadcast Message Identifier
Service 16 - Cell Broadcast Message Identifier Ranges
Service 17 - Group Identifier Level 1
Service 18 - Group Identifier Level 2
Service 19 - Service Provider Name
Service 20 - User controlled PLMN selector with Access Technology
Service 21 - MSISDN
Service 24 - Enhanced Multi-Level Precedence and Pre-emption Service
Service 25 - Automatic Answer for eMLPP
Service 27 - GSM Access
Service 28 - Data download via SMS-PP
Service 29 - Data download via SMS-CB
Service 32 - RUN AT COMMAND command
Service 33 - shall be set to 1
Service 34 - Enabled Services Table
Service 35 - APN Control List (ACL)
Service 38 - GSM security context
Service 39 - CPBCCH Information
Service 40 - Investigation Scan
Service 42 - Operator controlled PLMN selector with Access Technology
Service 43 - HPLMN selector with Access Technology
Service 44 - Extension 5
Service 45 - PLMN Network Name
Service 46 - Operator PLMN List
Service 51 - Service Provider Display Information
Service 60 - User Controlled PLMN selector for I-WLAN access
Service 71 - Equivalent HPLMN
Service 73 - Equivalent HPLMN Presentation Indication
Service 85 - EPS Mobility Management Information
Service 86 - Allowed CSG Lists and corresponding indications
Service 87 - Call control on EPS PDN connection by USIM
Service 89 - eCall Data
Service 90 - Operator CSG Lists and corresponding indications
Service 93 - Communication Control for IMS by USIM
Service 94 - Extended Terminal Applications
Service 106 - ePDG configuration Information support
Service 107 - ePDG configuration Information configured
Service 122 - 5GS Mobility Management Information
Service 123 - 5G Security Parameters
Service 124 - Subscription identifier privacy support
Service 126 - UAC Access Identities support
ePDGId:
657064672e6570632e6d6e633236302e6d63633331302e7075622e336770706e6574776f726b2e6f7267
# epdg.epc.mnc260.mcc310.pub.3gppnetwork.org
ePDGSelection:
130062000100 # MCC: 310 MNC: 260 ePDG Priority: 0001 ePDG FQDN format:
Operator Identifier FQDN
ffffffffffff # unused
ffffffffffff # unused
ffffffffffff # unused
P-CSCF:
Not available
Not available
Not available
Not available
Not available
Not available
Not available
Not available
Home Network Domain Name: ims.mnc260.mcc310.3gppnetwork.org
IMS private user identity:
sip:3102601234567890@ims.mnc260.mcc310.3gppnetwork.org
IMS public user identity:
sip:3102601234567890@ims.mnc260.mcc310.3gppnetwork.org
Not available
Not available
Not available
Not available
Not available
Not available
Not available
UICC IARI:
Not available
Not available
Not available
Not available
Not available
Not available
Not available
Not available
ISIM Service Table: 190200
Service 1 - P-CSCF address
Service 4 - GBA-based Local Key Establishment Mechanism
Service 5 - Support of P-CSCF discovery for IMS Local Break Out
Service 10 - Support of UICC access to IMS
Done !
Hyunwoo Lee, Ph. D.
Network Security Researcher
E-mail: hw5773(a)gmail.com
Homepage: https://hw5773.github.io
Dear Osmocom community,
today we finally upgraded our redmine installation from the unmaintained
3.4.x to the latest 4.2.3. The upgrade had been overdue for years,
but today we (actually, Kevin) finally managed to find out how to make
the openid_provider plugin to work with modern rails 5.x.
In any case, I'm just informing you in case there is some unexpected fallout.
I've verified that at least the following appears working:
* logging into redmine
* openid authentication from gerrit.osmocom.org (also after logout/relogin)
* graphviz rendering
* mscgen rendering
There could however still be unexpected problems, particularly in features
such as
* e-mail notifications from redmine
* updating redmine issues via e-mail
* git integration ("Closes: OS#xxxx")
If you run into any troubles, pleas report to https://osmocom.org/projects/osmocom-servers
or if that also fails, feel free to send e-mails.
Regards,
Harald
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Good morning,
Working with the simtrace2 code cross compiled for an a53 processor and am running into a few issues. This email summarizes the issues and am wondering if anybody has either resolved these or has any suggestions. The issues are
* Cross compiling errors with the simtrace2 host tools
* simtrace2-tool run time logging errors
Issue #1 simtrace2-cardem-pcsc.c app
Simtrace2 requires libosmocore. When trying to build the simtrace2 host tools neither tagged versions of libosmcore 1.5.1 or 1.5.2 will compile correctly. The only way to get the simtrace2 host tools to compile is to use commit cfea39ba. Otherwise the following syntax errors occur in the simtrace2-cardem-pcsc.c app. Is there some magic required to have the simtrace2 host tools compile with a tagged version of libosmocore?
CC simtrace2-cardem-pcsc.o
simtrace2-cardem-pcsc.c: In function ‘update_flags’:
simtrace2-cardem-pcsc.c:94:4: warning: implicit declaration of function ‘osim_card_reset’; did you mean ‘osim_card_open’? [-Wimplicit-function-declaration]
94 | osim_card_reset(card, cold_reset);
| ^~~~~~~~~~~~~~~
| osim_card_open
simtrace2-cardem-pcsc.c: In function ‘main’:
simtrace2-cardem-pcsc.c:441:23: error: ‘OSIM_MAX_ATR_LEN’ undeclared (first use in this function); did you mean ‘USB_MAX_PATH_LEN’?
441 | uint8_t override_atr[OSIM_MAX_ATR_LEN];
| ^~~~~~~~~~~~~~~~
| USB_MAX_PATH_LEN
simtrace2-cardem-pcsc.c:441:23: note: each undeclared identifier is reported only once for each function it appears in
simtrace2-cardem-pcsc.c:611:45: error: ‘struct osim_card_hdl’ has no member named ‘atr’
611 | osmo_st2_cardem_request_set_atr(ci, card->atr, card->atr_len);
| ^~
simtrace2-cardem-pcsc.c:611:56: error: ‘struct osim_card_hdl’ has no member named ‘atr_len’
611 | osmo_st2_cardem_request_set_atr(ci, card->atr, card->atr_len);
| ^~
simtrace2-cardem-pcsc.c:441:10: warning: unused variable ‘override_atr’ [-Wunused-variable]
441 | uint8_t override_atr[OSIM_MAX_ATR_LEN];
| ^~~~~~~~~~~~
make: *** [Makefile:465: simtrace2-cardem-pcsc.o] Error 1
Issue #2 simtrace2-tool
Simtrace2-tool has an assertion error in the osmo logging system, perhaps this is related to the question above about using tagged versions of libosmocore.
When trying to use the built version of simtrace2-tool the following stack track occurs:
$ simtrace2-tool -V 1d50 -P 60e3 -C 2 -I 0 -S 0 -A 10 modem sim-switch local
(C) 2019 Harald Welte <laforge(a)gnumonks.org<mailto:laforge@gnumonks.org>>
Setting SIM=LOCAL; Modem reset recommended
ERROR: osmo_log_info == NULL! You must call log_init() before using logging in log_check_level()!<webextlink://You%20must%20call%20log_init()%20before%20using%20logging%20in%20log_check_level()!>
Assert failed osmo_log_info ../../git/src/logging.c:299
backtrace() returned 8 addresses
/usr/lib/libosmocore.so.17(osmo_panic+0xd8) [0xffffbc03abb8]
/usr/lib/libosmocore.so.17(log_parse_level+0) [0xffffbc037c00]
/usr/lib/libosmocore.so.17(log_check_level+0x30) [0xffffbc039120]
/usr/lib/libosmo-simtrace2.so.0(+0x1c50) [0xffffbc077c50]
simtrace2-tool(+0x13fc) [0xaaaac79f13fc]
/lib/libc.so.6(__libc_start_main+0xe8) [0xffffbbea7878]
simtrace2-tool(+0x15b8) [0xaaaac79f15b8]
Aborted
Adding the osmo logging initialization (listed below) does not, at first glance, appear to help
static struct log_info log_info = {};
rc = osmo_libusb_init(NULL);
if (rc < 0) {
fprintf(stderr, "libusb initialization failed\n");
return rc;
}
Thank you,
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
September 24, 2021 at 20:00 CEST
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:15 presentation on "ISO 7816 smart card interface FPGA softcore" by tnt
21:00 USSE: unstructured supplementary social event [*]
22:00 close of call
Attendance is free of charge and open to anyone with an interest
in Osmocom.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
August 27, 2021 at 20:00 CEST
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:15 presentation on "osmo-remsim in practice"
21:00 USSE: unstructured supplementary social event [*]
22:00 close of call
Attendance is free of charge and open to anyone with an interest
in Osmocom.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hello,
I'am currently using simtrace and it works perfectly with my mobile phone,
it was for me a training before using it for my main objectif the GPS.
i tried to use it and on a a gps it not working , i attached the wireshark
file so you can see what i had when i plugged the gps
thank you for your help,
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
August 13, 2021 at 20:00 CEST
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:15 presentation on "GSM-R and its differences to GSM"
21:00 USSE: unstructured supplementary social event [*]
22:00 close of call
Attendance is free of charge and open to anyone with an interest
in Osmocom.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
July 23, 2021 at 20:00 CEST
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:15 presentation on "high-level overview on IMS, VoLTE, VoWiFi"
21:00 USSE: unstructured supplementary social event [*]
22:00 close of call
Attendance is free of charge and open to anyone with an interest
in Osmocom.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
July 9, 2021 at 20:00 CEST
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:15 hands-on tutorial by miaoski: Setting up open5gs
21:00 USSE: unstructured supplementary social event [*]
22:00 close of call
Attendance is free of charge and open to anyone with an interest
in Osmocom.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hello,
Please I need support on how to enable VoLTE on sysmoISIM-SJA2, and how I can update EF(IMPI and IMPU), using Pysim.
Any support will be appreciated.
Warm regards,
Oluwanifemi
Hello!
We purchased your product (simtrace2) to produce sniff sim cards.
I did all the steps to install simtrace2 for HostPC (Preconditions,
Compiling, Accessing)
I made sure that the computer recognizes the simtrace2 device via the
simtrace2-list application.
But when the simtrace2-sniff application is launched, only the application
greeting, the usb device used and the inscription "Entering main loop" are
shown. When sending messages to a sim card, the light indicators on the
simtrace2 board start to respond to this SMS, but nothing happens in the
output of the simtrace2-sniff application on the computer.
What could be the reason for this problem?
Please help me figure it out, if possible.
Best regards, Dmitry
--
*WITH BEST WISHES *
DMITRY KRYMOV
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
June 11, 2021 at 20:00 CEST
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:15 presentation by keith: "Screen Sharing peek at TIC A.C. infrastructure in Oaxaca"
21:00 USSE: unstructured supplementary social event [*]
22:00 close of call
TIC A.C. is an operator of Osmocom based community cellular networks in
indigenous communities of the Mexican state of Oaxaca. Keith works with
Rhizomatica and TIC A.C. and will give us some live insight into how
they operate
Attendance is free of charge and open to anyone with an interest
in Osmocom.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hi all,
during the last days I've tried to setup cardem with a simtrace2 under
Manjaro/Arch and ran into some non-default problems. I've found
solutions to all of them and would like to share this :)
You'll find the detailed documentation below.
Have a great day,
Katharina
# Card Emulation on simtrace2 under Arch/Manjaro
I ran into some troubles setting everything up under Manjaro/Arch and
document the troubleshooting as follows. All of this is about card
emulation via cardem.
Problem: Using the default firmware, the phone shows "invalid SIM card"
and handing over the commercial SIM does not work.
## System and Setup
$ lsb_release -a
LSB Version: n/a
Distributor ID: ManjaroLinux
Description: Manjaro Linux
Release: 21.0.4
Codename: Ornara
1. Smart card reader in the computer, commercial SIM attached, tested
via pcsc_scan
2. simtrace2 attached to the computer via USB, tested via dfu-util
--list and ./simtrace2-list
3. Oneplus 6T, rooted, attached via nano SIM breakout
4. Remote control via adb (optional)
## Building Things
I was not satisfied with the AUR version of libosmocore and needed to
build the firmware manually, so the following documents who to first
build libosmocore, then simtrace, and then the cardem firmware.
### Libosmocore
Both AUR versions didn't really work for me, I've tested with 2 due to 1
being out of date:
2 aur/libosmocore-git 0.9.6.r165.ff20641-1 (+1 0.00)
Osmocom core library
1 aur/libosmocore 1.3.0-1 (+15 0.00) (Out-of-date: 2020-07-29)
core libs for osmocom
#### Building libosmocore
Installing the requirements was straightforward for libosmocore, so I'll
skip it here. After the requirements, follow the wiki tutorial:
git clone git://git.osmocom.org/libosmocore.git
cd libosmocore
autoreconf -fi
./configure
make
sudo make install
Then the first problem occured: although libosmocore was installed
successfully, simtrace would not find it when running ./configure:
configure: error: Package requirements (libosmocore >= 1.0.0) were not met:
Package 'libosmocore', required by 'virtual:world', not found
The reason for this is chaos in the pkgconf paths. For me, manually
adding the path did not help because the .pc files were not in the right
place:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
The solution in my case was copying the .pc files from the libosmocore
dir to the default pkgconf path:
sudo cp libosmocore/*.pc /usr/lib/pkgconfig
After that, the simtrace ./configure worked and I could build it.
#### Card Emulation
To test different firmwares, I checked out
origin/hoernchen/simtrace_cardem (others might also work) and built the
cardem firmware manually. The cross-compile process on Arch/Manjaro
introduced another problem resulting in stdlib not being found:
libosmocore/source/backtrace.c:28:10: fatal error: stdlib.h: No such
file or directory
28 | #include <stdlib.h>
| ^~~~~~~~~~
This can be fixed via
sudo pacman -S arm-none-eabi-gcc arm-none-eabi-newlib
I had arm-none-eabi-gcc installed, but only adding arm-none-eabi-newlib
solved the problem for me. After that building the firmware worked well,
in my particular setting I used
make APP=cardem BOARD=simtrace MEM=dfu
After that I could flash the firmware and the card emulation worked.
## Flashing and Runing cardem
### Preparation
Check if the simtrace is detected and get the device information:
dfu-util --list
Go to the simtrace repo:
cd Documents/Repos/simtrace2/host/src
Flash the device, --device info might need to be adjusted:
dfu-util --device 1d50:60e3 --cfg 1 --alt 1 --reset --download
path-to-repo/simtrace2/firmware/bin/simtrace-cardem-dfu.bin
After flashing, it should look like this:
./simtrace2-list
USB matches: 1
1d50:60e3 Addr=22, Path=6-1.2.3, Cfg=1, Intf=0, Alt=0: 255/2/0
(CardEmulator Modem 1)
### Running Cardem
From the wiki with some extensions:
1. power off phone
2. insert card adapter cable into phone
3. insert card adapter cable SIMtrace v2 board
4. plug SIMtrace v2 board in host computer USB port
5. connect external card reader to host (any USB CCID reader should do
the job)
6. ensure a card is present in the reader slot (not in the SIMtrace port)
7. check if the card is detected by the reader (use CTRL-C to exit)
For the next step it's important to use the correct device information
and path:
8. sudo ./simtrace2-cardem-pcsc -V 1d50 -P 60e3 -C 1 -H "6-1.2.3"
9. power on phone
After fixing all the above, I could successfully push through the
commercial SIM in the computer.
Yeeha :)
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
May 28, 2021 at 20:00 CEST
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:15 presentation by fixeria: "Hacking binary protocols with Pycrate"
21:00 USSE: unstructured supplementary social event [*]
22:00 close of call
Attendance is free of charge and open to anyone with an interest
in Osmocom.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
May 14, 2021 at 20:00 CEST
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:15 presentation by laforge: "SS7 and SIGTRAN in 2G/3G networks"
21:00 USSE: unstructured supplementary social event [*]
22:00 close of call
Presentation Abstract:
This talk will cover some classic circuit-switched SS7 basics as
well as SIGTRAN (SS7 over IP) and how this is used as underlying
transport for a variety of interfaces in the 2G (GSM) and 3G
(UMTS) cellular networks even today.
Attendance is free of charge and open to anyone with an interest
in Osmocom.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Hello Osmocom community,
I made some posts here earlier this year about my attempts to obtain
some programmable SIM cards from Grcard (a well-known Chinese
manufacturer of SIM and other smart cards) that are GSM SIM only,
without USIM or ISIM applications - but I just realized that I never
posted anything regarding the final outcome of those escapades. The
present post is intended to summarize what I obtained and what I
learned through that venture.
The first point to be noted is that Grcard make many bazillion
different card models, but frustratingly, they never let me see any
kind of catalog of their different offerings. Instead what happened
is that when I first approached them back in January and told them
what I was looking for in very basic terms (I simply said that I
wanted a GSM-only SIM card without any USIM or ISIM stuff), they
offered me one of their card models based on those stated requirements,
they first sent me a few sample pieces of this card model they
selected for me, and then I ended up ordering 200 pieces of that same
model with my own custom printing on the cards.
The card model which Grcard offered to me back in January and of which
I got 200 pcs a month ago in April turned out to be exactly the same
in technical terms as the one that was once sold by Sysmocom as
sysmoSIM-GR2:
https://osmocom.org/projects/cellular-infrastructure/wiki/GrcardSIM2
As I understand it, Sysmocom had that sysmoSIM-GR2 as an offering back
in late 2013, thus it was quite surprising to see that Grcard still
readily sell that exact same model 7 and a half years later - but they
do. As a result of having done a ton of work with these cards over
the past few months, I now know a lot more about them than is said in
the scant Osmocom wiki page above, and a lot more than the little bits
of knowledge embedded in pySim code from 2013 supporting this model.
Extensive write-ups about these cards can be found in my fc-sim-tools
repository, but here is a basic summary of the good and the bad:
The good:
* These GrcardSIM2 aka FCSIM1 cards are truly native GSM 11.11 SIM,
and do not speak the unwanted-innovation UICC protocol at all.
* F=512 D=8 speed enhancement (the only SIM speed enhancement mode
called for in the original GSM 11.11 spec and the only one implemented
in most classic GSM MS hardware such as Calypso) is supported by these
cards, thus if your GSM MS firmware has this speed enhancement enabled
(at least with TI platform, many legacy fw versions have it disabled -
don't know about other GSM chipset vendors), your phone will talk to
the SIM at about 50781 bps, instead of the circa 8737 bps you get with
the basic non-enhanced F=372 D=1 mode.
* The security model on these cards works the way it is supposed to:
they initially ship with a known default SUPER ADM key, but if you
change both ADM5 and ADM11 (SUPER ADM) keys to your own secrets, then
the card becomes fully secure in the traditional SIM security sense.
I personally don't understand and will likely never understand what is
so wrong with letting your paying service subscribers know their own
Ki and letting them clone their SIM if they so wish, but if you wish
to replicate the traditional security model where you program Ki and
change ADM keys to some secret, you *can* do it with FCSIM1 cards.
Standard PIN1/PIN2/PUK1/PUK2 can be freely reset if you authenticate
with ADM5 or ADM11, but if you change those ADM keys to secrets, then
the PIN system becomes fully secure too. Contrast the situation with
Grcard's earlier model (sysmoSIM-GR1) where anyone can freely reset
both regular and ADM PINs without any authentication, meaning no
security whatsoever.
* All 3 of COMP128v1, COMP128v2 and COMP128v3 are supported. I
naturally choose COMP128v3 for my own deployments - A5/1 is weak
enough to begin with, no need to weaken it further by reducing the
effective key length to just 54 bits with COMP128v1 or v2.
* As far as I can tell, there are NO unwanted STK applications on
these cards. Harald said here earlier that Sysmocom's business
relationship with Grcard ended when Grcard started shipping cards with
some preinstalled STK applications displaying some pop-up messages in
Chinese, but I see no evidence of any such applications being present
on the FCSIM1 cards I got from them this year. I have tried issuing a
feature-generous TERMINAL PROFILE toward the card (listing support for
all common SAT features), and the SW response was 9000 - no matter
what I tried, I never got the card to respond with SW of 91xx,
indicating some proactive SIM command - thus as far as I can tell,
these SIMs never issue any proactive commands.
* The best good of all: no MOQ! Instead of being forced to buy 1000
or more cards and have them go to waste because I will never find that
many people who have the same pattern of technology likes and dislikes
as I do, I was able to buy just 200 cards - I could have ordered as
few as 100, but I ordered 200 because they were cheap - and I got those
200 cards with my own custom printing and with my choice of form factor
cut - I chose 2FF-only, of course.
The bad:
* The free reformatting ability that existed on sysmoSIM-GR1 has been
taken away. On sysmoSIM-GR1 you could erase the card file system and
recreate your own tree of DFs and EFs according to your own liking
(with you deciding which files to include or omit, what size to
allocate for each file, and what access conditions it should have),
but those proprietary APDU commands from GR1 don't work on GrcardSIM2
(FCSIM1), and the official answer from Grcard is that such downstream
reformatting is not allowed. I am guessing that what I want probably
*can* be done by reformatting the card flash and reloading their
CardOS at a lower level, but needless to say, Grcard won't divulge any
of the knowledge that would be needed for such an endeavor.
* The fixed formatting these cards came with (which we have no way of
changing per above) is far from ideal: EF_AD is only 3 bytes and not 4,
some files that aren't absolutely critical but would be nice to have
like SDN and ECC are missing, and the allocated record size for EF_ADN
is only 28 bytes, allowing only 14 characters for the contact name
field. Contrast with old T-Mobile USA SIMs that have 44-byte ADN
records (30 characters for contact name), or current Sysmocom cards
that have 34-byte ADN records, allowing 20 characters. Grcard people
told me that they can change this file system layout to a different
one with MOQ of 10000 pcs, but of course such MOQs are absolutely not
acceptable for "just for love" applications like mine.
* There is no OTA programming capability on this card model. I was
hoping that I could program EF_MSISDN over the air (yes, I know full
well that a phone doesn't need to know its own MSISDN to make or answer
calls, but all classic GSM phones have a menu command for "Show my
number" or whatever it's called, and that's what EF_MSISDN on the SIM
is for) like I can do on sysmoUSIM-SJS1 and sysmoISIM-SJA2 cards, but
nope, this functionality just isn't there. Grcard folks were telling
me that they have some other card model that supports OTA, but I never
got a straight answer out of them as to whether that other card model
is also GSM SIM only, or if it is UICC/USIM/ISIM - I suspect the
latter, which would be totally uninteresting to me.
* The worst badness of all is that Grcard people absolutely hate
customers who ask too many technical questions, and when pressed, they
typically respond only with non-answers. There is basically NO
technical support of the kind we got used to in highly technical
communities like Osmocom with vendors like Sysmocom, instead they are
used to dealing with sales and marketing types. I also got the
impression that selling to R&D customers is very foreign to them,
instead they are set up for making cards for operator/MVNO type of
customers who let the card vendor do all of the programming at the
factory and don't get into any real technical stuff themselves.
So here is what we got:
https://www.freecalypso.org/members/falcon/pictures/SIMs/FCSIM1_front.jpeghttps://www.freecalypso.org/members/falcon/pictures/SIMs/FCSIM1_back.jpeg
The cards depicted in those photos are quite real, they are sitting
right here at my FreeCalypso HQ in California, and they work in the
sense that I can program everything including IMSI, Ki and COMP128v3
selection. I haven't set up my own GSM network yet - I already
acquired a couple of nanoBTS units (one for 850 MHz, one for 1900 MHz),
but I still need to acquire a better server machine for running
Osmocom CNI software.
Much like any other feeling and soulful human, I have a deep-rooted
urge to share my work with others. When it comes to the present SIM
card venture, I am doing everything I can to share my work with the
community in 3 ways:
1) The software I developed for programming these cards is free to the
world, with an explicit public domain license statement:
https://www.freecalypso.org/hg/fc-sim-tools/
My fc-sim-tools suite is a direct competitor to pySim, written in C
instead of Python, and split into separate fc-simtool and fc-uicc-tool
for the two very different protocols that exist for talking to SIM
cards. Oh, and my tools can be used to program Sysmocom webshop cards
too, not just my Grcard-based FCSIM1.
2) If anyone else would like to buy similar cards from Grcard, I will
be happy to put you in touch with my contact there and guide you through
the process - and by encouraging anyone with a commercial interest to
buy directly from Grcard instead of me acting as a reseller, I
explicitly disavow any thought of commercially profiting from any
related venture or acting as any kind of commercial entity myself.
3) If there is anyone in the world who shares my core philosophical
position whose wording is imprinted on the plastic on my FCSIM1 cards
(see the pictures above) and would like to get a few of these cards,
please let me know, and I will be glad to send you however many cards
you need, for the cost of shipping only, or at most covering my own
cost of ordering more cards in the highly unlikely event that I get
enough interest to run down my stock.
In hacking fellowship,
Mother Mychaela
Hasta la Victoria, Siempre - 2G forever!
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
April 23, 2021 at 20:00 CEST
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:15 presentation by horiz0n: "YIG & YANG (Yet ANother yiG driver)"
21:00 USSE: unstructured supplementary social event [*]
22:00 close of call
Presentation Abstract:
This talk will briefly introduce the working principles of YIG
(Yttrium Iron Garnet) microwave circuits, their applications and
finally conclude with a presentation of a recently developed driver
circuit.
Attendance is free of charge and open to anyone with an interest
in Osmocom.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Osmocom community,
It's my pleasure to announce the next OsmoDevCall at
April 9, 2021 at 20:00 CET
at
https://meeting4.franken.de/b/har-xbc-bsx-wvs
This meeting will have the following schedule:
20:00 meet + greet
20:15 presentation: pySim-shell - the next generation of pySim
21:00 USSE: unstructured supplementary social event [*]
22:00 close of call
Presentation Abstract:
For more than a decade, pySim-prog has been the tool to
configure/program SIM cards in research/lab/private cellular
networks. Originally designed for very simplistic GSM-only SIM
Cards, it was extended again and again to cover more use cases
and parameters. There is a limit as to how far one can go with
stuffing everything into command line arguments.
In 2021, pySim-shell was created as the next generation tool. It
features interactive navigation around the file system, editing
capabilities, backup and restore of all [known] files, ...
Attendance is free of charge and open to anyone with an interest
in Osmocom.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you on Friday.
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Osmocom community,
pySim-prog was nice when there were only 5 parameters on a SIM that we
could program, and where the use case was pretty limited. Today, we
have SIM/USIM/ISIM cards with hundreds of files and even more parameters
to program. We cannot add a command line argument for each file to
pySim-prog.
Instead, this introduces an interactive command-line shell / REPL,
in which one can navigate the file system of the card, read and update
files both in raw format and in decoded/parsed format.
The idea is primarily inspired by Henryk Ploetz' venerable
cyberflex-shell, but implemented on a more modern basis using
the cmd2 python module.
You can see the very first prototype in the laforge/shell branch of pysim.git
You can do things with it like this:
===> Start-up and authenticate with adm pin
----------------------------------------------------------------------
$ ./pysim-shell.py -p 0
Using PC/SC reader interface
Autodetected card type: sysmoISIM-SJA2
AIDs on card: ['a0000000871002ffffffff8907090000', 'a0000000871004ffffffff8907090000']
Welcome to pySim-shell!
pySIM-shell (3f00)> verify_adm 92990895
----------------------------------------------------------------------
===> interactive help
----------------------------------------------------------------------
pySIM-shell (3f00)> help
Documented commands (use 'help -v' for verbose/'help <topic>' for details):
ISO7816 Commands
================
read_binary select_adf select_file update_binary update_record verify_chv
pySim Commands
==============
intro verify_adm
USIM Commands
=============
read_ehplmn ust_service_activate ust_service_deactivate
pySim-shell built-in commands
=============================
alias help macro quit run_script shell
edit history py run_pyscript set shortcuts
----------------------------------------------------------------------
===> more interactive help
----------------------------------------------------------------------
pySIM-shell (3f00)> help read_binary
usage: read_binary [-h] [--file-id FILE_ID] [--offset OFFSET] [--length LENGTH] [--record-nr RECORD_NR]
Read binary data from a transparent EF
optional arguments:
-h, --help show this help message and exit
--file-id FILE_ID File ID
--offset OFFSET Byte offset for start of read
--length LENGTH Number of bytes to read
--record-nr RECORD_NR
Number of record to read
----------------------------------------------------------------------
===> navigating the FS and reading files
----------------------------------------------------------------------
pySIM-shell (3f00)> select_file 7f20
['622c8202782183027f20a509800171830400018d088a01058b032f0601c60f90017083010183018183010a83010b']
pySIM-shell (3f00/7f20)> read_binary --file-id 6f07
089910070000400310
----------------------------------------------------------------------
===> interaction with local filesystem, i.e. I/O redirect + shell commands
----------------------------------------------------------------------
pySIM-shell (3f00)> select_adf a0000000871002
pySIM-shell (a0000000871002)> select_file 5f3b
pySIM-shell (a0000000871002/5f3b)> read_binary --file-id 4f20 > /tmp/f
pySIM-shell (a0000000871002/5f3b)> !cat /tmp/f
ffffffffffffffff07
----------------------------------------------------------------------
===> piping output through shell tools like grep
----------------------------------------------------------------------
pySIM-shell (3f00)> read_ust | grep 86
Service 86 - Allowed CSG Lists and corresponding indications
----------------------------------------------------------------------
===> enabling/disabling services
----------------------------------------------------------------------
pySIM-shell (3f00/7f20)> ust_service_activate 123
pySIM-shell (3f00/7f20)> ust_service_deactivate 123
----------------------------------------------------------------------
It's a very first prototype, but it is really promising.
The major tasks I see to make this go anywhere is:
* have "File" class with encoder/decoder methods, which are registered
automatically with a 'file system' layer that knows about the DF/ADF
hierarchy
** this allows us to have a "read-decoded" command, which will
call the decode method of the file, automatically resolved by the
selected FID/path
* automatic mapping of file-name -> FID and FID -> file name
** when printing (like in the path), use the human-readable names
** allow users to use human-readable names in SELECT
* decode + display the TLVs / FCPs after a SELECT (like cyberflex-shell
* ability to enable/disable APDU trace
* dynamically register/deregster commands based on the path, i.e. offer
USIM commands only when in ADF_USIM
We have quite a bit of that infrastructure in the c-language libosmosim,
(part of libosmocore.git), but unfortunately not in python :/
Let me know if anyone is interested in joining this effort.
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Osmocom community,
This topic has been past due for way too many years by now:
A re-organization of our major mailing lists.
I would like to propose the following changes. Pleas let me know if you
have any comments or feedback. I'm aware that renaming will mean people
have to update their mail filter rules, but I think we're long past the
point where the names of some of our lists started to confuse users.
== openbsc(a)lists.osmocom.org ==
* openbsc doesn't exist anymore since OsmoNITB, which is also obsolete
* does already cover anything "Osmocom CNI" related
* Proposed new name: osmocom-cni(a)lists.osmocom.org
== osmocom-net-gprs(a)lists.osmocom.org ==
This date back to when GPRS was a highly experimental add-on to our GSM
code base. This list should simply be merged with openbsc@ as osmocom-cni(a)lists.osmocom.org
== simtrace(a)lists.osmocom.org ==
Historically was created to cover only the simtrace project.
We should rename this to osmocom-simcard(a)lists.osmocom.org or something
along those lines.
I would like to suggest it covers
* SIMtrace / SIMtrace2 hardware + firmware
* pySim and related tools for working with SIM/USIM/UICC cards
* any other information / discussion related to SIM/USIM/UICC cards,
like OTA, ARA-M, ...
== osmodevcon(a)lists.osmocom.org ==
This has been a private list for people attending OsmoDevCon
I would like to open up list membership to the general public, and ensure
it also covers the new OsmoDevCall. We could then have discussions regarding
feedback, topics, scheduling, etc. on that list.
Maybe rename it to osmocom-events(a)lists.osmocom.org instead?
To differentiate: osmocom-event-orga(a)lists.osmocom.org should remain a
private list related to organizational / administrative topics of those
involved with organizing future events.
== nextepc(a)lists.osmocom.org ==
Should have been renamed to open5gs(a)lists.osmocom.org quite some time
ago, I simply forgot about it. My apologies.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)