Hi all,
After buying a super Sim Kit (16 in 1) from China, I tried the reader (green PCB inside a blue transparent plastic case with a blue LED) and SIM (identified as a fakesupersim) with pysim tool. However i am getting the following error:
/pySim-prog.py -n 26C3 -c 49 -x 262 -y 42 -z 1234 -j 1 -t auto
Insert card now (or CTRL-C to cancel)
Autodetected card type fakemagicsim
Generated card parameters :
> Name : 26C3
> SMSP : e1ffffffffffffffffffffffff058100945555ffffffffffff000000
> ICCID : 8949262427518313026
> MCC/MNC : 262/42
> IMSI : 262422461512085
> Ki : 7b74741a1ee14337ec23f9ab92a13648
> OPC : ccd867d60797d8d45354a51b3ef568ff
Programming ...
Traceback (most recent call last):
File "./pySim-prog.py", line 530, in <module>
card.program(cp)
File "/home/nadicek/pysim/pysim/pySim/cards.py", line 231, in program
self._scc.update_binary('6f30', hplmn + 'ff' * (tl-3))
File "/home/nadicek/pysim/pysim/pySim/commands.py", line 53, in update_binary
return self._tp.send_apdu_checksw(pdu)
File "/home/nadicek/pysim/pysim/pySim/transport/__init__.py", line 87, in send_apdu_checksw
raise RuntimeError("SW match failed ! Expected %s and got %s." % (sw.lower(), rv[1]))
RuntimeError: SW match failed ! Expected 9000 and got 9804.
I checked mailing lists and haven’t found anybody who had similar problem with pysim. Also I have tried forcing different models of SIM, but nothing is working. Obviously I can remove this check from the script file (__init__.py in /pySim/transport), however somebody had a reason to put such condition there. I would like to ask if it is safe to remove that line of code and the purpose of that line of code.
Thanks a lot and best regards
Martin
> I don't understand. This callback will be called with data you need to
write
> to the network. In case of MTP Level3 you will need to wrap that around
the
> msgb you got.
I means: is the interaction with mtp3 layer implemented (is sending sccp
data by mtp3 implemented by the library?)?
Also, what about the reception of data from mtp3 layer. is that implemented
in the sccp lib.
I am asking these questions because I see the code of mtp3 in the lib but no
significant call is present in the sccp part of the lib.
Thank you for your help.
On Tue, Jun 28, 2016 at 10:05:28AM +0200, Harald Welte wrote:
> [translated from german]
> is it certain that we switch a channel to PDCH only when
> gprs mode != none?
A TS can be GSM_PCHAN_TCH_F_PDCH; those are the only ones for which we
send a PDCH ACT message.
We send a PDCH ACT message
- during init (CHANNEL OML's state changed to enabled -> send PDCH ACT),
- and upon channel release ack when pchan == GSM_PCHAN_TCH_F_PDCH.
So the question is, when we receive a channel release ack, could that be
the PDCH release and we switch PDCH right back on by accident? No, because
we only receive a chan rel ack when the *TCH/F* is being released.
That is because the PDCH release is initiated "internally" from the PDCH
DEACT, and thus this condition in common/rsl.c rsl_tx_rf_rel_ack() catches
on, which existed before dyn PDCH:
if (lchan->rel_act_kind != LCHAN_REL_ACT_RSL) {
LOGP(DRSL, LOGL_NOTICE, "%s not sending REL ACK\n",
gsm_lchan_name(lchan));
return 0;
}
In rsl_rx_rf_chan_rel() the rel_act_kind is set to LCHAN_REL_ACT_RSL, but
not in the rsl_rx_dyn_pdch().
This is analogous to the ip.access way -- the ip.access nanobts replies to
a PDCH DEACT with a PDCH DEACT ACK and doesn't send a separate channel
release ack.
Maybe we could set rel_act_kind to some new LCHAN_REL_ACT_IPAC_DYN_PDCH
for clarity? (But we shouldn't actually send a release ack, to stay
compatible.)
Even though it works as-is, we should indeed add another flag check:
- We do check the flags that no ACT/DEACT is already pending;
- And we do send a PDCH DEACT only if ts->flags & TS_F_PDCH_ACTIVE;
- But we would send a PDCH ACT despite ts->flags & TS_F_PDCH_ACTIVE.
This should never happen, but it would make sense to ensure that.
~Neels
Hi guys,
I think some of us would like to move to redmine and start using public tickets more frequently. So in case we move there are some topics to be discussed and I would like to start with a couple of them right now.
Tickets:
Redmine has a global linear sequence of ticket numbers. If we move from many tracs to a single redmine we can either:
* not import tickets
* only import from one project
* deal with changing ticket numbers
In terms of installations the GMR trac is broken in regard to tickets, there are some for SDR that are probably not being fixed anytime soon, baseband might be relevant and OpenBSC is unlikely to be relevant. I don't think we have ever used ticket reference in OpenBSC commit messages so in terms of OpenBSC having changing ticket numbers would not be a big deal. E.g. we could add a custom field with the old trac number?
Wiki:
We have external references that should be redirected to the new place. Is there any way besides maintaining a list in the apache2/nginx configuration and making redirects as we find broken references? Can we proactively manage this? Is anybody willing to come up with a script and nginx configuration for doing this?
kind regards
holger
Hi Tom and List,
we're currently introducing some code that will make more use of
measurement related information associated with the PH-RACH.req and
PH-DATA.ind coming from the PHY up into L2.
The first part is to introduce a reasonable BER limit fo 17% for RACH
ghost elimination, but I have more plans for unifying the measurement
processing/generation accross all supported BTS models.
For osmo-bts-{sysmo,lc15,octphy} it is clear to me how to get the
related information on RSSI, BER and LinkQuality for each of the RACH
and DATA indications from the PHY.
However, how can I get the related information from osmo-bts-trx?
osmo-bts-trx seems to lack any BER reporting toward the common part,
which among other things is the reason why link/rate adaption in the PCU
can not work with it.
Could you sched some light on this?
--
- 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 all
I am installing OpenBSC.I just following
http://openbsc.osmocom.org/trac/wiki/Building_OpenBSC
(I am just Building libosmocore, Building libosmo-abis, Building
libosmo-netif, Building OpenBSC and install library.)
But when I tried to run OpenBSC,I encounter with this error(problem).
user12@ubuntu:~$ cd '/home/user12/openbsc/openbsc/src/osmo-nitb'
user12@ubuntu:~/openbsc/openbsc/src/osmo-nitb$ sudo ./osmo-nitb
<0005> bsc_init.c:492 Failed to parse the config file: 'openbsc.cfg'
Or how do I run the software(OpenBSC)!
Or do I have to install something missing?
Note: My Linux is version ubuntu 12.04 .
Please help me.
thank you.
Hi all,
Would somebody who is familiar with the relevant part of the GSM spec be
able to comment?
I'm wondering if there's any issue in GSM running a dual TRX BTS with
two ARFCNs on opposite ends of the band?
For example, in GSM850, this would mean the downlinks could be on 869.2
and 893.8 Mhz so the phone could have to tune across a wider range
between the SDCCH and TCH for example.
Thanks!
On Jun 29, 2016 10:04 PM, "Tom Tsou" <tom(a)tsou.cc> wrote:
>
> On Wed, Jun 29, 2016 at 8:31 AM, Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
wrote:
> Another non-startup error message I found is bad PDTCH and PTCCH and
> blocks under ideal RF signal conditions. It appears that you have seen
> this behavior as well.
>
> DL1C <0006> scheduler_trx.c:835 Received bad data frame at fn=372020
> (12/104) for PTCCH
> DL1C <0006> scheduler_trx.c:918 Received bad PDTCH block ending at
> fn=310516 (76/104) for PDTCH
>
> The cause of these errors with excellent signal is the following piece
> of code where zero-filled buffers are passed to the decoder. I have no
> idea why this is done. Removing the code prevents the bad PDTCH/PTCCH
> blocks with no loss of GPRS functionality.
>
> diff --git a/src/common/scheduler.c b/src/common/scheduler.c
> @@ -1598,10 +1598,6 @@ int trx_sched_ul_burst()
>
> func(l1t, tn, fn, chan, bid, bits, rssi, toa);
> } else if (chan != TRXC_RACH && !l1cs->ho_rach_detect) {
> - sbit_t spare[148];
> -
> - memset(spare, 0, 148);
> - func(l1t, tn, fn, chan, bid, spare, -128, 0);
> }
Each L2 frame consists of several L1 bursts, so you need to accumulate them
all before you can pass them to Viterbi for decoding.
If I remember this part of the code correctly, this zeroing is required to
make this work when there are lost bursts. E.g. if you need 4 bursts, but
you only received bursts 0, 1 and 2 you should let the device know that
your missing burst 3. If you don't do that, decoder won't run at all and to
will miss what could be a decodable frame.
By disabling this code you essentially start decoding only perfect frames,
which are obviously decoded fine in perfect conditions. I.e. this only
makes the actual problem, whatever it is.
Please excuse typos. Written with a touchscreen keyboard.
--
Regards,
Alexander Chemeris
CEO Fairwaves, Inc.
https://fairwaves.co
I notice that apparently osmo-bts-trx is the only caller of the trx_sched_*
API, yet it is implemented in common/scheduler.c and compiled to
libl1sched.a. Is osmo-bts-trx really the only caller?
Also in osmo-bts-trx, the "trx" to me means SDR, like B200.
But any BTS has one or more TRXs. So why isn't it osmo-bts-sdr?
That's why I thought: maybe trx_sched_ is for all BTS models?
Thanks for any clarification / confirmation :)
~Neels
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte