aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2023-11-03 12:38:42 +0100
committerHarald Welte <laforge@osmocom.org>2023-12-21 12:33:12 +0100
commit0ecbf63a02ce625f8ad4254d3f26ad4c2994ed69 (patch)
tree2fb9710b5e3a184f6d710fed40ccfbac88194a05
parentbaec4e9c81d42a42799062ac7595bc74f0b2b5f5 (diff)
transport: Extend the documentation for each transport driver
This driver description we add to the code is automatically added to the respective user manual sections. Change-Id: I8807bfb11f43b167f1321d556e09ec5234fff629
-rw-r--r--pySim/transport/calypso.py5
-rw-r--r--pySim/transport/modem_atcmd.py4
-rw-r--r--pySim/transport/pcsc.py7
-rw-r--r--pySim/transport/serial.py4
4 files changed, 16 insertions, 4 deletions
diff --git a/pySim/transport/calypso.py b/pySim/transport/calypso.py
index dd30f80..7544d2e 100644
--- a/pySim/transport/calypso.py
+++ b/pySim/transport/calypso.py
@@ -167,6 +167,9 @@ class CalypsoSimLink(LinkBase):
@staticmethod
def argparse_add_reader_args(arg_parser: argparse.ArgumentParser):
- osmobb_group = arg_parser.add_argument_group('OsmocomBB Reader')
+ osmobb_group = arg_parser.add_argument_group('OsmocomBB Reader', """Use an OsmocomBB compatible phone
+to access the SIM inserted to the phone SIM slot. This will require you to run the OsmocomBB firmware inside
+the phone (can be ram-loaded). It also requires that you run the ``osmocon`` program, which provides a unix
+domain socket to which this reader driver can attach.""")
osmobb_group.add_argument('--osmocon', dest='osmocon_sock', metavar='PATH', default=None,
help='Socket path for Calypso (e.g. Motorola C1XX) based reader (via OsmocomBB)')
diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py
index 88e6253..a05d6c4 100644
--- a/pySim/transport/modem_atcmd.py
+++ b/pySim/transport/modem_atcmd.py
@@ -180,7 +180,9 @@ class ModemATCommandLink(LinkBase):
@staticmethod
def argparse_add_reader_args(arg_parser: argparse.ArgumentParser):
- modem_group = arg_parser.add_argument_group('AT Command Modem Reader')
+ modem_group = arg_parser.add_argument_group('AT Command Modem Reader', """Talk to a SIM Card inside a
+mobile phone or cellular modem which is attached to this computer and offers an AT command interface including
+the AT+CSIM interface for Generic SIM access as specified in 3GPP TS 27.007.""")
modem_group.add_argument('--modem-device', dest='modem_dev', metavar='DEV', default=None,
help='Serial port of modem for Generic SIM Access (3GPP TS 27.007)')
modem_group.add_argument('--modem-baud', type=int, metavar='BAUD', default=115200,
diff --git a/pySim/transport/pcsc.py b/pySim/transport/pcsc.py
index 8a99e9f..a6714d5 100644
--- a/pySim/transport/pcsc.py
+++ b/pySim/transport/pcsc.py
@@ -114,7 +114,12 @@ class PcscSimLink(LinkBase):
@staticmethod
def argparse_add_reader_args(arg_parser: argparse.ArgumentParser):
- pcsc_group = arg_parser.add_argument_group('PC/SC Reader')
+ pcsc_group = arg_parser.add_argument_group('PC/SC Reader',
+ """Use a PC/SC card reader to talk to the SIM card. PC/SC is a standard API for how applications
+access smart card readers, and is available on a variety of operating systems, such as Microsoft
+Windows, MacOS X and Linux. Most vendors of smart card readers provide drivers that offer a PC/SC
+interface, if not even a generic USB CCID driver is used. You can use a tool like ``pcsc_scan -r``
+to obtain a list of readers available on your system. """)
dev_group = pcsc_group.add_mutually_exclusive_group()
dev_group.add_argument('-p', '--pcsc-device', type=int, dest='pcsc_dev', metavar='PCSC', default=None,
help='Number of PC/SC reader to use for SIM access')
diff --git a/pySim/transport/serial.py b/pySim/transport/serial.py
index fbf907f..06a082a 100644
--- a/pySim/transport/serial.py
+++ b/pySim/transport/serial.py
@@ -244,7 +244,9 @@ class SerialSimLink(LinkBase):
@staticmethod
def argparse_add_reader_args(arg_parser: argparse.ArgumentParser):
- serial_group = arg_parser.add_argument_group('Serial Reader')
+ serial_group = arg_parser.add_argument_group('Serial Reader', """Use a simple/ultra-low-cost serial reader
+attached to a (physical or USB/virtual) RS232 port. This doesn't work with all RS232-attached smart card
+readers, only with the very primitive readers following the ancient `Phoenix` or `Smart Mouse` design.""")
serial_group.add_argument('-d', '--device', metavar='DEV', default='/dev/ttyUSB0',
help='Serial Device for SIM access')
serial_group.add_argument('-b', '--baud', dest='baudrate', type=int, metavar='BAUD', default=9600,