According to osmo-trx README:
SETSLOT sets the format of the uplink timeslots in the ARFCN.
The <timeslot> indicates the timeslot of interest.
The <chantype> indicates the type of channel that occupies the timeslot.
A chantype of zero indicates the timeslot is off.
CMD SETSLOT <timeslot> <chantype>
RSP SETSLOT <status> <timeslot> <chantype>
Change-Id: I63c81155c84fc35cff1704734fd8d2732235c5a4
Related: OS#2944
There is no more one-to-one relation between application state, trx
instance and l1ctl link to the phone. An application can have many trx
instances and many l1ctl links to phones. Additionally each trx can have
up to 8 relations to one or different l1ctl links, one for each time slot.
This allows to split one TRX into several phones. (use only one ARFCN)
Also it allows to use multiple phones for multiple TRX. (use multiple
ARFCN)
By checking peak level of RACH's training sequence, only peaks that are
good enough are forwarded to the TRX interface. If any received noise
would be forwarded, there would be too many false detection, due to weak
CRC protection of RACH.
Add a .dm_flags member to struct l1ctl_dm_est_req. Define a flag bit
to indicate CBCH mode. If set, this instructs L1 to use the CBCH
variant of SDCCH for dedicated mode (no uplink, no SACCH).
Add the new dm_flags field to l1ctl_tx_dm_est_req* API calls. Clear it
everywhere, except for app_cbch_sniff which requests CBCH.
Signed-off-by: Alex Badea <vamposdecampos@gmail.com>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
If "clip" is given at vty, CLIR must be suppressed, which results in
presentation of caller ID digits, even if suppressed by network.
If "clir" is given at vty, CLIR must be invoked, which results in
restriction of caller ID digits, even if not suppressed by network.
Note: This only work for outgoing caller ID. Incomming caller ID
restriction cannot be suppressed.
Some MDL-ERROR causes must not lead to link failure. The missing
"return 0" causes all errors to be ignored which are not listed inside
switch/case statement.
The downlink singalling failure counter DSC is decremented by 4
in case of unsuccessfull decoding of CCCH block and incremented
by 1 in case of successfull decoding of CCCH block. The initial
and maximum value of 90 requires to check the signal only once
per 51 multiframe.
If DRX would be supported, only a subset of 51 multiframes are
received, so the initial / maximum value of 90 must be reduced
accordingly.
If mobile phone has started, it is reset after shutdown. This
ensures that the phone is not transmitting anymore, especially
while shutting down in dedicated mode.
Using CTRL+c:
The first signal causes initiating of shutdown with detach
procedure. The second signal causes initiating of shutdown
without detach procedure. The third signal will exit process
immidiately. (in case it hangs)
Using CTRL+z:
The first signal causes initiating of shutdown without detach
procedure. A subsequent CTRL+c would exit process immidiately.
When parsing SI4, there's a check and a log message saying that CBCH
MA is ignored until SI1 is received. Then the MA is decoded anyway --
incorrectly -- such that it remains incorrect even after receiving
the next SI1.
Fix that with an "else".
Signed-off-by: Alex Badea <vamposdecampos@gmail.com>
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
All levels in range of 0..63 are now uint8_t and use "rxlev" as
variable name. All levels in range of -110..-47 are now int8_t and use
"rxlev_dbm" as variable name.
As andreas points out, there are structure members that are called
'rxlev' but which don't use the scaling (0..63) of the GSM specs, but
which are already a signed type and in dBm. So they need to be
converted.
TODO: Rename those structure members to rxlev_dbm or something that
explicitly states it is _not_ an 'RXLEV' value in terms of GSM.
As Dieter points out, this drastically improves the resiliance to high
receive levels on the C155. We cannot blindly assume a received signal
level of -85 dBm if the BTS is 2m away and we actually receive -40 dBm.
This patch extends the L1CTL_FBSB_REQ data structure in layer 1 with the
respective field, as well as the l1ctl_tx_fbsb_req() API function called
from the various layer23 apps.
"mobile" and "bcch_scan" already did a PM request and thus know the
expected signal power. "ccch_scan" and "cbch_sniff" apparently don't
do, so the -85 dBm constant is now hardcoded into the host-side source
code there, and should probably be fixed in a follow-up patch.
We use 1 second on FACCH and 2 seconds on SACCH when SMS is transfered
during a call on TCH. There is no impact on bandwidth, because SAPIs use
differen channels.
In order to correctly transfer SMS during SDCCH, the T200 must be raised
from 1 (SAPI 0) to 2 (SAPI 0 and 3), so T200 will not timeout before
receiving acknowledge from BTS. This is because both SAPIs share the same
ressource on SDCCH. After release of SAPI 3, T200 is lowered back to 1.
libosmocore has changed its LAI decoding from hex to decimal. This caused
wrong decoding of MCC and MNC. In order to provide required hex
transcoding, special hex encoding and decoding function are added to
mobile/sysinfo.c.
Error:
gcc -Wall -I/home/kevredon/osmocom-bb/src/shared/libosmocore/include -I/home/kevredon/osmocom-bb/src/shared/libosmocore/include -g -O2 -D_HAVE_GPSD -lgps -o cell_log main.o app_cell_log.o cell_log.o geo.o ../common/liblayer23.a /home/kevredon/osmocom-bb/src/shared/libosmocore/build-host/src/.libs/libosmocore.a /home/kevredon/osmocom-bb/src/shared/libosmocore/build-host/src/gsm/.libs/libosmogsm.a /home/kevredon/osmocom-bb/src/shared/libosmocore/build-host/src/codec/.libs/libosmocodec.a -lm
../common/liblayer23.a(gps.o): In function `osmo_gpsd_cb':
/home/kevredon/osmocom-bb/src/host/layer23/src/common/gps.c:79: undefined reference to `gps_waiting'
Fix:
Holger told me to do so (he knows better then me about autoconf)
- set CFLAGS and LIBS for LIBGPS in layer23
- add libgps CFLAGS and LIBS in Makefile.am for common, misc, mobile
I would have done the following (which also works):
-AC_CHECK_LIB(gps, gps_waiting, CFLAGS+=" -D_HAVE_GPSD" LDFLAGS+=" -lgps",,)
+AC_CHECK_LIB(gps, gps_waiting, CFLAGS+=" -D_HAVE_GPSD" LDFLAGS+=" -lgps" LIBS+=" -lgps",,)
This is importaint on certan cells to finish BCCH scanning. If SI2ter
indication is falsely detected, BCCH reading will timeout, because no
expected SI2ter is received.