Open Source Mobile Communications: Issueshttps://osmocom.org/https://osmocom.org/favicon.ico?16647414092024-01-24T09:43:35ZOpen Source Mobile Communications
Redmine pySim - Bug #6340 (New): exception when using osmo-smdpp with python 3.9https://osmocom.org/issues/63402024-01-24T09:43:35Zdexter
<p>There is an exception when starting osmo-smdpp with python 3.9. This exception does not occur with python 3.10.</p>
<pre>
owner@osmotest:~/git_master/pysim$ python3.9 ./osmo-smdpp.py
Traceback (most recent call last):
File "/home/owner/git_master/pysim/./osmo-smdpp.py", line 100, in <module>
class SmDppHttpServer:
File "/home/owner/git_master/pysim/./osmo-smdpp.py", line 196, in SmDppHttpServer
def initiateAutentication(self, request: IRequest, content: dict) -> dict:
TypeError: 'staticmethod' object is not callable
</pre>
<p>Commit hash: af87cd544f784e51a41cea303cb57001d9954d9c</p> pySim - Bug #6322 (New): ATR type annotationhttps://osmocom.org/issues/63222024-01-03T21:55:30Zmerlinchlosta
<p>There's a small mixup in the ATR type annotations (<code>Hexstr</code> vs. <code>List[int]</code>) in <code>PcscSimLink</code>:</p>
<pre>
def get_atr(self) -> Hexstr:
return self._con.getATR()
</pre>
<p><code>pyscard</code> actually returns <code>List[int]</code> for an ATR. Depending code seems to convert using <code>i2h</code>.<br /><code>SerialSimLink</code> mimics the behavior (writing <code>self._atr</code> as <code>List[int]</code> in <code>_reset_card</code>).</p> pySim - Feature #6315 (New): have test data for all supported fileshttps://osmocom.org/issues/63152023-12-23T09:33:25Zlaforge
<p>We long have the support for <code>_test_de_encode</code> and related class attributes specifiying per-file test data. This is still lacking for a number of files.</p>
<p>For some files it is easy to get real-world data, but for other files (specifically ADF.ISIM related, or mdoern DF.5GS) there simply are no real-world SIMs of production operators that would provide us with test data.</p>
<p>It might be worth looking at the UE/SIM conformance test specs, maybe those can help</p> pySim - Bug #6314 (New): pySim-trace doesn't support ARA-Mhttps://osmocom.org/issues/63142023-12-23T09:31:02Zlaforge
<p>during execution of our pySim-shell test, even with the included pcap we're getting:</p>
<pre>
WARNING pySim.apdu.ts_102_221: SELECT UNKNOWN AID a00000015141434c00
</pre>
<p>the AID is that of the ARA-M applet. We do support ARA-M in pySim-shell. However, we do not appear to use that code from pySim-shell, probably related to the AID auto-detection missing.</p> Retronetworking - Feature #6244 (New): scan more/all EWS(O) documentation laforge hashttps://osmocom.org/issues/62442023-11-01T21:50:15Zlaforge
<p><a class="user active" href="https://osmocom.org/users/7">laforge</a> has multiple folders full of low-level documentation even including circuit diagrams of the EWS-O (digitally controlled bu analog switched) EWSD predecessor.</p>
<p>Part one is at <a class="external" href="https://people.osmocom.org/laforge/ftz/FTZ-161D1_14-Teil1.pdf">https://people.osmocom.org/laforge/ftz/FTZ-161D1_14-Teil1.pdf</a> but the other parts apparently are not yet scanned/released</p> Retronetworking - Feature #6237 (New): Design + Build PCBA for NE555 based fake fan rpm sensor https://osmocom.org/issues/62372023-10-30T01:38:59Zlaforge
<p>Sometimes one has to spoof fan rpm sensors.</p>
<p><a class="external" href="https://www.techidiots.net/notes/fake-fan-sensor">https://www.techidiots.net/notes/fake-fan-sensor</a> has a nice/simple design circuit. Let's build a simple PCBA around it, using parts available from JLCPCB, like</p>
<ul>
<li><a class="external" href="https://jlcpcb.com/partdetail/Hgsemi-LM555MTR/C356723">https://jlcpcb.com/partdetail/Hgsemi-LM555MTR/C356723</a> (NE555 clone)</li>
<li><a class="external" href="https://jlcpcb.com/partdetail/120172-3362P_1502/C118903">https://jlcpcb.com/partdetail/120172-3362P_1502/C118903</a> (potentiometer)</li>
</ul>
The board should have a
<ul>
<li>one or multiple 3-pin fan headers for the real fan (tacho line not connected)</li>
<li>one or multiple 3-pin fan headers (for jumper cables to mainboard)
<ul>
<li>only one of them used as power source, others have VCC disconnected</li>
<li>all of them get the same tacho signal</li>
</ul></li>
</ul> Retronetworking - Feature #6195 (New): Wiki page on Cisco *WIC-* line cards for 26xx/28xx serieshttps://osmocom.org/issues/61952023-09-27T12:47:42Zlaforge
<p>I have a large collection of various line cards (sync/async/BRI/E1/....). Let's create a wiki page about those line cards with some description and high-res PCB photographs.</p> Retronetworking - Feature #6194 (New): wiki page on MultiTech MT5600-BLhttps://osmocom.org/issues/61942023-09-27T12:46:25Zlaforge
<p>I have recently obtained three MT5600-BL 4-wire leased line modems. Let's create a wiki page with PCB photogrphs etc.</p> Retronetworking - Support #6193 (New): Replace "event rack" PM3 power supplyhttps://osmocom.org/issues/61932023-09-27T12:14:08Zlaforge
<p>Today I wanted to test the <a class="wiki-page" href="https://osmocom.org/projects/retronetworking/wiki/Event_Setup">Event_Setup</a> ahead of CC2023 and noticed that the PM3 won't power up :(</p>
<p>Luckily I have a few spare PM3 around so I could replace the broken PSU with one from another unit.</p>
<p>As I've now already seen two PM3 with broken PSU, let's make sure to replace them in all of them according to the procedure I documented in <a class="wiki-page" href="https://osmocom.org/projects/retronetworking/wiki/Livingston_Portmaster_3">Livingston_Portmaster_3</a></p> pySim - Bug #6120 (New): select MF raise an exception after selecting ADF.ARA-Mhttps://osmocom.org/issues/61202023-07-28T23:02:32Zlynxis
<p>Steps to reproduce:<br />Version: git/master 6c5c3f8b2b49a56b6204be83ded918bec0c5826f<br />Simcard: SysmocomSJA2</p>
<pre>
Welcome to pySim-shell!
pySIM-shell (MF)> select ADF.ARA-M
""
pySIM-shell (MF/ADF.ARA-M)> select MF
EXCEPTION of type 'RuntimeError' occurred with message: 6e00: ARA-M - Invalid class
To enable full traceback, run the following command: 'set debug true'
pySIM-shell (MF/ADF.ARA-M)> set debug true
debug - was: False
now: True
pySIM-shell (MF/ADF.ARA-M)> select MF
Traceback (most recent call last):
File "/home/lynxis/projects/osmocom/repos/pysim/pySim/runtime.py", line 347, in select
(data, sw) = self.rs.card._scc.select_file(f.fid)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lynxis/projects/osmocom/repos/pysim/pySim/commands.py", line 144, in select_file
return self._tp.send_apdu_checksw(self.cla_byte + "a4" + self.sel_ctrl + "02" + fid)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lynxis/projects/osmocom/repos/pysim/pySim/transport/__init__.py", line 213, in send_apdu_checksw
raise SwMatchError(rv[1], sw.lower(), self.sw_interpreter)
pySim.exceptions.SwMatchError: SW match failed! Expected 9000 and got 6e00: ARA-M - Invalid class
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/lynxis/.local/share/virtualenvs/pysim-C216Z-pe/lib/python3.11/site-packages/cmd2/cmd2.py", line 2399, in onecmd_plus_hooks
stop = self.onecmd(statement, add_to_history=add_to_history)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lynxis/.local/share/virtualenvs/pysim-C216Z-pe/lib/python3.11/site-packages/cmd2/cmd2.py", line 2852, in onecmd
stop = func(statement)
^^^^^^^^^^^^^^^
File "/home/lynxis/projects/osmocom/repos/pysim/./pySim-shell.py", line 814, in do_select
fcp_dec = self._cmd.lchan.select(path, self._cmd)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lynxis/projects/osmocom/repos/pysim/pySim/runtime.py", line 353, in select
raise RuntimeError("%s: %s - %s" % (swm.sw_actual, k[0], k[1]))
RuntimeError: 6e00: ARA-M - Invalid class
EXCEPTION of type 'RuntimeError' occurred with message: 6e00: ARA-M - Invalid class
</pre> pySim - Feature #6104 (New): reduce number of python dependencieshttps://osmocom.org/issues/61042023-07-20T15:52:39Zlaforge
<p>In terms of overall dependency reduction, I think by refactoring we can get rid of pytlv (we have much more powerful TLV code in pySim internally now). We should also be able to get rid of bidict. For pyyaml I don't even know why we depend on it... ah, the card_handler. Should also be possible to do in a simpler way without introducing that dependency.</p> pySim - Feature #6092 (New): "export" suport for ARA-Mhttps://osmocom.org/issues/60922023-07-10T18:47:34Zlaforge
<p>right now the "export" command is focussed around exporting files present in the file system hierarchy of the MF, as well as the various ADFs.</p>
<p>However, there are applications like ARA-M, which have data stored outside of the filesystem. So we should probably introduce an <code>export(self)</code> method within the <code>CardApplication</code> class. If that method is present, use this to export, and fall back to the filesystem for all others.</p>
<p>This way the ARA-M <code>CardApplication</code> could implement a custom method for doing the equivalent of the <code>aram_get_all</code> vty command. However, that wouldn't by itself be something that can be executed when the "export" text is re-run as a script by pySim-shell. For that to work we'd have to export different aram_* vty commands depending on the data we are reading from aram_get_all.</p> pySim - Feature #6086 (New): implement features of sysmo-{usim,isim}-toolhttps://osmocom.org/issues/60862023-07-07T11:25:49Zlaforge
<p>I always found it rather odd that there are OS-specific executables in the sysmo-usim-tool software. The purpose was always to have a separate tool for those bits which are sysmo*SIM specific, and not normal ETSI/3GPP Standard. However, that was designed at a time before pySim-shell existed, and only pySim-prog was available.</p>
<p>As more sysmocom card models got introduced, those were not supported from within one sysmo-*sim-tool program, but with copy+pasted+edited command line tools. As a result, users need to know which card they have and execute the right tool for it, which is cumbersome. Even more so, as there are tools (specifically, the sysmo-isim-tool.sja2.py) which actually also supports the sysmoTSIM (3GPP Test profile).</p>
<p>Rather than unifying this inside the sysmo-usim-tool.git repo, I think it's better to reimplement the same functionality based on (and likely inside) pysim.git.</p>
<p>Now that we have the "new" capabilities of pySim-shell and its associated class model, we shouldn't really need separate[ly maintained] software for the actual functionality.</p>
What can sysmo-usim-tool do is:
<ul>
<li>set the imsi
<ul>
<li>3GPP standard, not sysmocom specific</li>
</ul>
</li>
<li>set mnc length
<ul>
<li>3GPP standard, not sysmocom specific</li>
</ul>
</li>
<li>show ICCID
<ul>
<li>3GPP standard</li>
</ul>
</li>
<li>show AID list
<ul>
<li>3GPP standard</li>
</ul>
</li>
<li>show milenage parameters</li>
<li>set milenage parameters</li>
<li>show ki value</li>
<li>set ki value</li>
<li>show [supported and configured] authentication algorithms</li>
<li>set 2g/3g auth algo</li>
<li>show OP/OPc configuration</li>
<li>set OP/OPc</li>
<li>show milenage SEQ/SQN parameters</li>
<li>set milenage SEQ/SQN parameters to default</li>
<li>dump proprietary file contents</li>
</ul>
<p>Let's add whatever functionality is missing to the pySim class model, and then try to implement a potentially command-line compatible replacement for at least the most common operations. For the more esoteric ones (like milenage parameters), I think it's fine to have the user go through pySim-shell and do an edit_binary_decoded or something like that to change the parameters.</p> Retrocomputing - Feature #5947 (New): Assemble PC104-SVGAhttps://osmocom.org/issues/59472023-03-15T09:29:21Zlaforge
<p><a class="external" href="https://github.com/monotech/PC104-SVGA">https://github.com/monotech/PC104-SVGA</a></p> Retrocomputing - Feature #5940 (New): Assemble LPT_Capturehttps://osmocom.org/issues/59402023-03-06T16:42:08Zlaforge
<p><a class="external" href="https://github.com/bkw777/LPT_Capture">https://github.com/bkw777/LPT_Capture</a></p> Retrocomputing - Feature #5936 (New): Assemble netpi-idehttps://osmocom.org/issues/59362023-03-02T19:20:56Zlaforge
<p><a class="external" href="https://www.retrotronics.org/home-page/netpi-ide/">https://www.retrotronics.org/home-page/netpi-ide/</a></p>
<p><a class="external" href="https://www.retrotronics.org/svn/jride/trunk/">https://www.retrotronics.org/svn/jride/trunk/</a></p> Retrocomputing - Feature #5932 (New): assemble ISA-USBhttps://osmocom.org/issues/59322023-03-02T17:28:00Zlaforge
<p><a class="external" href="https://www.lo-tech.co.uk/wiki/Lo-tech_ISA_USB_Adapter">https://www.lo-tech.co.uk/wiki/Lo-tech_ISA_USB_Adapter</a></p> Retronetworking - Feature #5746 (New): Create H.221 decoderhttps://osmocom.org/issues/57462022-11-07T22:55:24Zlaforge
<p>In order to play/understand/hack ISDN video telephony, we will need a H.221 decoder as the very first stage.</p>
<p>In its basic incarnation it would need to split the 64k channel into its 8 timeslots, and perform frame + multiframe alignment, verify CRC4 and output the FAS and BAS. This should help us get a better feeling of the H.320 universe and also allow us to see what exact codecs/rates the <a class="wiki-page" href="https://osmocom.org/projects/retronetworking/wiki/T-View_100">T-View_100</a> are using in 1B/2B mode, how the handshake at call setup time works, etc.</p> Retronetworking - Feature #5545 (New): E1 support for dynamipshttps://osmocom.org/issues/55452022-04-24T09:56:22Zlaforge
<p>It would be nice to be able to attach the dynamips emulator for Cisco hardware to real hardware, e.g. a Digium E1/T1 card or icE1usb.</p>
<p>One possible generic approach for using an entire E1/T1 trunk for HDLC/FR might be to use DADHI_NET to create hdlc devices and then open those via AF_PACKET sockets?</p>
<p>For channelized interfaces / ISDN it's of course likely more complicated.</p> Retronetworking - Bug #5512 (New): Idea: L1OIP driver for DAHDIhttps://osmocom.org/issues/55122022-04-03T11:46:45Zlaforge
<p>mISDN has <code>l1oip</code> as a protocol to use to establish virtual PRI or BRI trunks between different machines using mISDN.</p>
<p>Implementing L1OIP support in DAHDI would allow a virtual PRI/BRI line between a DAHDI machine and a mISDN machine, making it easier to user mISDN applications without the related hardware.</p> Retronetworking - Feature #5511 (New): Idea: DAHDI backend for mISDNhttps://osmocom.org/issues/55112022-04-03T11:45:08Zlaforge
<p>There are various multi-port BRI and PRI cards supported by DAHDI, which would be interesting to also get exposed to mISDN for application support.</p>
<p>I've briefly looked at the interface between mISDN core and the individual hardware drivers, and I think it would not be too hard to provide some kind of shim/adaptation so the mISDN core can use a DAHDI device.</p>
<p>In theory, this should even mean one could use CAPI applications on top of those DAHDI cards.</p> SIMtrace 2 - Bug #5423 (New): "trace" firmware continuous test setuphttps://osmocom.org/issues/54232022-01-27T12:24:54Zlaforge
<p>Similar to <code>cardem</code> in <a class="issue tracker-2 status-2 priority-2 priority-default" title="Feature: "cardem" continuous testing setup (In Progress)" href="https://osmocom.org/issues/5422">#5422</a>, we should also create a continuous test setup for passing SIM protocol tracing. The IUT is the simtrace2 firmware.</p>
<p>We can use diffeent modems / CCID readers accessing a SIM card via a SIMtrace2 device while tracing the communication.</p> Retronetworking - Feature #4226 (New): STM-1 / USB interface?https://osmocom.org/issues/42262019-10-14T20:19:44Zlaforge
<p>This is a completeley crazy idea, but I couldn't resist doing some investigation and want to record my notes for future reference:</p>
<p>The XRT91L31 looks like an interesting chip; it does the STM-1 byte and frame alignment, as well as serial/parallel conversion. Essentially, it provides a 19.44MHz clocked 8-bit parallel input and output streaming the individual bytes. Each byte corresponds to one of the 64k sub-slots in the hierarchy. On the line-interface side it seems one can directly attach a SFP module to it.</p>
The Cypress FX2 looks like it can be used to construct a compatible interface. Its GPIF
<ul>
<li>can be clocked from the external 19.44 MHz clock recovered by the receiver</li>
<li>can interface the 8-bit parallel data and feed it from/to USB endpoints.</li>
</ul>
<p>What would be the point? One could use (inexpensive, 2nd hand) E1/E3/STM-1 add/drop multiplexers to aggregate many physical E1 interfaces and bring them into a Linux system for software switching (e.g. via a PBX like LCR or FreeSwitch).</p> SIMtrace 2 - Bug #3712 (New): TRACE_FATAL not printinghttps://osmocom.org/issues/37122018-11-27T10:57:30Ztsaitgaist
<p>TRACE_FATAL should print and enter an endless loop (until the watchdog bites).<br />currently is only does the later and no debug message is printed.<br />check if it uses the synchronous/un-buffered UART output</p> SIMtrace 2 - Feature #3501 (New): Multi-sim addon board ideahttps://osmocom.org/issues/35012018-08-26T18:12:10Zdemodulate
<p>If the SIMTrace2 board is redone, I would like to propose that the bottom of the board, or free space on the board, is used to hold additional SIM slots with the understanding that only one slot would be used at any given point in time. A single LED could indicate which SIM is in use, if the SIM selection used a software controlled switch. Alternatively, a second board could be created as an add on to hold any number of SIMs based on the area of the board. A physical slider switch for selecting the electrical path would be suitable in either case.</p>
<p>Would this be useful for anyone using the SIMTrace2?</p> SDR (Software Defined Radio) - Bug #3126 (New): Windows 10 Pro 1709: crash of rtl_test.exehttps://osmocom.org/issues/31262018-03-30T14:16:42ZJWS
<p>Hi,<br />I fixed the following crash using rtl_test.exe:</p>
<p>Found 2 device(s):<br /> 0: å, , SN: NÚ@<br /> 1: Realtek, RTL2838UHIDIR, SN: 00000001</p>
<p>Using device 0: Generic RTL2832U OEM<br />usb_open error -12<br />Failed to open rtlsdr device #0.</p>
<p>The fix is, to use version 1.0.22 of libusb.</p> UUCP and UseNet - Feature #2806 (New): Create Dockerfile and/or ansible playbook for UseNet nodehttps://osmocom.org/issues/28062018-01-01T13:04:27Zlaforge
<p>Should be possible using stock debian packages for taylor UUCP, inn2, exim, ...</p> Qualcomm Linux Modems by Quectel & Co - Feature #1814 (New): check if qtools workhttps://osmocom.org/issues/18142016-10-02T04:08:14Zlaforge
<p>there's an open source toolset for reading/writing flash of Qualcomm chips, including the MDM9615, see <a class="external" href="https://github.com/forth32/qtools">https://github.com/forth32/qtools</a></p>
<p>would be interesting to know if that one works on the EC20 modules</p> SIMtrace 2 - Feature #1463 (New): Add VCC current sensing circuit for SPA & DPA attackshttps://osmocom.org/issues/14632016-02-19T22:48:42Z
<p>It would be pretty good to be able to sense current going to the SIM.</p>
<p>The simple idea is to measure current like this :</p>
<pre>
A B
o o
| |
pwr >----/\/\/\----> to SIM
|
=
|
#
</pre>
<ul>
<li>Ideally use a '4 wire' resistor to make sure you have precision measurement.</li>
<li>Choose value appropriately depending on a typical smart card power consumption.</li>
</ul>
<p>Now, I would include added circuitery to make measurements easier.<br />Because in the simple form there are a couple of issue:</p>
<p>First the signal is gonna be pretty small.<br />Second is that to measure the current across the resistor you can't just put the gnd of your probe on A and the tip on B. That's because the GND of the scope is connected to earth of the mains supply, which in turn is connected to the GND on the PC and so the GND of the simtrace ...</p>
<p>You can either:<br /> - Use two scope probe and use A - B function but this has often less functions that a single probe channel. Also if you only have a 2 channel scope you can't monitor anything else (like the clk line or something).<br /> - Simply probe one point: But then you have the supply noise added to your measurement noise and you don't have absolute values.<br /> - Use a differential probe: Great option ... if you have a couple more k$ to buy one.</p>
<p>So ... all of these suck.</p>
<p>We could have an difference amplifier onboard, however, finding one with multi-MHz bandwidth isn't trivial and they all need dual power rails.</p>
<p>(sorry for the rambling, I'm thinking while writing the ticket ...)</p>
<p>Note that since this feature in its more advanced form may involve expensive / complex components and only be used by very few people. so it could be mounted as a simple 0R with other pad left to be mounted manually by the interested parties.</p> SIMtrace 2 - Feature #1457 (New): Spacing between JTAG and JP1/JP2https://osmocom.org/issues/14572016-02-19T22:48:42Z
<p>On v1.0 and v1.1 the spacing between JTAG and JP1/JP2 (erase, test) could be higher. Right now the JTAGkey is a bit blocked by JP1/JP2.</p>