This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.
bryan coxwell bryancoxwell at gmail.comHarald, I think this is a great idea and I'd love to help out, but I'm new to working on open source projects. What's the best way for me to get started in a way that would be helpful? Best, Bryan On Fri, Jan 8, 2021 at 5:54 PM Harald Welte <laforge at gnumonks.org> wrote: > 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 at gnumonks.org> > http://laforge.gnumonks.org/ > > ============================================================================ > "Privacy in residential applications is a desirable marketing option." > (ETSI EN 300 175-7 Ch. > A6) > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20210109/71c3ebf5/attachment.htm>