osmocom-bb.git
13 years agoAdd 'src/shared/libosmocore/' from commit 'ed00fe4449ac2309ad80c32f0ba7aa80b2b8895a'
Harald Welte [Mon, 12 Jul 2010 07:21:13 +0000 (09:21 +0200)]
Add 'src/shared/libosmocore/' from commit 'ed00fe4449ac2309ad80c32f0ba7aa80b2b8895a'

git-subtree-dir: src/shared/libosmocore
git-subtree-mainline: 231444b548df8aff616f314ebc6135588b0ffec3
git-subtree-split: ed00fe4449ac2309ad80c32f0ba7aa80b2b8895a

13 years agoremove old / modified copy of libosmocore (will be replaced with new)
Harald Welte [Mon, 12 Jul 2010 07:17:54 +0000 (09:17 +0200)]
remove old / modified copy of libosmocore (will be replaced with new)

13 years agoAdd 3-digit MNC support to gsm48_generate_lai()
Andreas Eversberg [Mon, 12 Jul 2010 07:12:46 +0000 (09:12 +0200)]
Add 3-digit MNC support to gsm48_generate_lai()

13 years agoAdded new IE definitions to gsm_04_08.h of libosmocore.
Andreas Eversberg [Mon, 12 Jul 2010 07:11:00 +0000 (09:11 +0200)]
Added new IE definitions to gsm_04_08.h of libosmocore.

Also added RR and MM TLV tables to gsm48.c

[import from accidential commit to osmocom-bb.git]

13 years agoAdded single octet TV (type + value) to libosmocore.
Andreas Eversberg [Mon, 12 Jul 2010 06:55:14 +0000 (08:55 +0200)]
Added single octet TV (type + value) to libosmocore.

In case of a single octet, the upper nibble is the type, the lower nibble
carries the value.

[import from accidentially committed changes to osmocom-bb.git]
diff --git a/src/shared/libosmocore/include/osmocore/tlv.h b/src/shared/libosmocore/include/osmocore/tlv.h
index c733dbc..4cfce87 100644
--- a/src/shared/libosmocore/include/osmocore/tlv.h
+++ b/src/shared/libosmocore/include/osmocore/tlv.h
@@ -212,6 +212,7 @@ enum tlv_type {
  TLV_TYPE_TLV,
  TLV_TYPE_TL16V,
  TLV_TYPE_TvLV,
+ TLV_TYPE_SINGLE_TV
 };

 struct tlv_def {
diff --git a/src/shared/libosmocore/src/tlv_parser.c b/src/shared/libosmocore/src/tlv_parser.c
index 407e57a..bbef7a9 100644
--- a/src/shared/libosmocore/src/tlv_parser.c
+++ b/src/shared/libosmocore/src/tlv_parser.c
@@ -36,6 +36,14 @@ int tlv_parse_one(uint8_t *o_tag, uint16_t *o_len, const uint8_t **o_val,
  tag = *buf;
  *o_tag = tag;

+ /* single octet TV IE */
+ if (def->def[tag & 0xf0].type == TLV_TYPE_SINGLE_TV) {
+ *o_tag = tag & 0xf0;
+ *o_val = buf;
+ *o_len = 1;
+ return 1;
+ }
+
  /* FIXME: use tables for knwon IEI */
  switch (def->def[tag].type) {
  case TLV_TYPE_T:

13 years agogsm_utils: Fix typo in gsm band name
Sylvain Munaut [Sun, 4 Jul 2010 09:41:36 +0000 (11:41 +0200)]
gsm_utils: Fix typo in gsm band name

thanks to horizon for noticing :p

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agoGPRS: Add 'input' generator functions for GPRS cipher algorithm
Harald Welte [Wed, 30 Jun 2010 17:50:14 +0000 (19:50 +0200)]
GPRS: Add 'input' generator functions for GPRS cipher algorithm

13 years agoAdd support for plugins (and specifically GPRS encryption plugins)
Harald Welte [Wed, 30 Jun 2010 17:43:11 +0000 (19:43 +0200)]
Add support for plugins (and specifically GPRS encryption plugins)

13 years ago[gsmtap] add new gsmtap_makemsg() function
Harald Welte [Tue, 29 Jun 2010 20:31:21 +0000 (22:31 +0200)]
[gsmtap] add new gsmtap_makemsg() function

This generates a gsmtap message without actually enqueueing to a
bsc_select style queue.

13 years agoAdd gsmtap utility functions to libosmocore
Harald Welte [Tue, 29 Jun 2010 18:51:13 +0000 (20:51 +0200)]
Add gsmtap utility functions to libosmocore

This is imported from OsmocomBB/Layer23

13 years agolayer1/l23_api: Use the fn51 given in the l1a_rach_req
Sylvain Munaut [Mon, 28 Jun 2010 21:13:12 +0000 (23:13 +0200)]
layer1/l23_api: Use the fn51 given in the l1a_rach_req

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agolayer1/l2a_api: Update DM EST REQ limitations
Sylvain Munaut [Mon, 21 Jun 2010 23:51:21 +0000 (01:51 +0200)]
layer1/l2a_api: Update DM EST REQ limitations

Try to be more precise about what's supported and what's not

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agolayer1/tpu_window: Add experimental support for TS != 0
Sylvain Munaut [Mon, 21 Jun 2010 23:50:35 +0000 (01:50 +0200)]
layer1/tpu_window: Add experimental support for TS != 0

This is flawed, but allows testing ...

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agofw/layer1: Add hopping support in rfch utils.
Sylvain Munaut [Mon, 21 Jun 2010 21:07:15 +0000 (23:07 +0200)]
fw/layer1: Add hopping support in rfch utils.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years ago[layer23] Fixed demultiplexing of UI frames. Now SI5* and 6 are parsed.
Andreas.Eversberg [Mon, 28 Jun 2010 18:32:50 +0000 (18:32 +0000)]
[layer23] Fixed demultiplexing of UI frames. Now SI5* and 6 are parsed.

13 years ago[lapdm] Fixed layer 2 header for B4 frames. Now SI5/6 are received correctly
Andreas.Eversberg [Mon, 28 Jun 2010 15:15:51 +0000 (15:15 +0000)]
[lapdm] Fixed layer 2 header for B4 frames. Now SI5/6 are received correctly

13 years ago[layer23] Updated layer23 to current L1 support and forthcomming hopping.
Andreas.Eversberg [Mon, 28 Jun 2010 13:33:14 +0000 (13:33 +0000)]
[layer23] Updated layer23 to current L1 support and forthcomming hopping.

13 years ago[layer23] Minor fix for MCC+MNC print format.
Andreas.Eversberg [Sun, 27 Jun 2010 10:08:44 +0000 (10:08 +0000)]
[layer23] Minor fix for MCC+MNC print format.

13 years ago[layer1] TX should be disabled by default.
Andreas.Eversberg [Sun, 27 Jun 2010 00:04:04 +0000 (00:04 +0000)]
[layer1] TX should be disabled by default.

13 years ago[layer23] Added option argument to alter default VTY port number.
Andreas.Eversberg [Sat, 26 Jun 2010 22:27:38 +0000 (22:27 +0000)]
[layer23] Added option argument to alter default VTY port number.

13 years ago[layer23] Committed missing vty.h of last commit.
Andreas.Eversberg [Sat, 26 Jun 2010 16:38:07 +0000 (16:38 +0000)]
[layer23] Committed missing vty.h of last commit.

13 years ago[layer23] Removed cloned VTY and replaced it by libosmovty.
Andreas.Eversberg [Sat, 26 Jun 2010 14:00:29 +0000 (14:00 +0000)]
[layer23] Removed cloned VTY and replaced it by libosmovty.

13 years ago[layer23] Fixed output format of MCC+MNC in subscriber.c
Andreas.Eversberg [Sat, 26 Jun 2010 13:56:01 +0000 (13:56 +0000)]
[layer23] Fixed output format of MCC+MNC in subscriber.c

13 years ago[lapdm] Added flow control between L1 and L2, so DM mode does not crash.
Andreas.Eversberg [Sat, 26 Jun 2010 11:12:25 +0000 (11:12 +0000)]
[lapdm] Added flow control between L1 and L2, so DM mode does not crash.

In dedicated mode a frame is sent to layer 1. Subsequent frames are queued
inside lapdm.c until a confirm from layer 1 is received. Since not all
pending frames are sent rapidly at once, the layer 1 does not crash anymore.

Also included in this commit: handling of reset confirm (maybe required
in the future after dedicated mode)

13 years ago[layer23] Fixed DM est./release for current supported channel types.
Andreas.Eversberg [Sat, 26 Jun 2010 09:35:27 +0000 (09:35 +0000)]
[layer23] Fixed DM est./release for current supported channel types.

Now layer23 supports selecting TS 0-4 with SDCCH/8 channels.
But some tests showed me that it doesn't work. Please help debugging.

Added DM release function to l1ctl.c and gsm48_rr.c.

13 years ago[layer1] set RF frontend gain during power measurement
Harald Welte [Fri, 25 Jun 2010 21:55:09 +0000 (23:55 +0200)]
[layer1] set RF frontend gain during power measurement

also add some debug messages

13 years ago[l1ctl] add dedicated mode release request
Harald Welte [Fri, 25 Jun 2010 16:00:16 +0000 (18:00 +0200)]
[l1ctl] add dedicated mode release request

13 years ago[layer1] fix AGC computation (dbm vs. dbm8 mistakes)
Harald Welte [Fri, 25 Jun 2010 15:40:10 +0000 (17:40 +0200)]
[layer1] fix AGC computation (dbm vs. dbm8 mistakes)

Also, separate the rx window function from the AGC LNA value computation

13 years ago[layer1] correctly compute dBm input level for RX normal burst
Harald Welte [Fri, 25 Jun 2010 15:38:46 +0000 (17:38 +0200)]
[layer1] correctly compute dBm input level for RX normal burst

13 years ago[layer1] remove superfluous rx_window call
Harald Welte [Fri, 25 Jun 2010 14:54:02 +0000 (16:54 +0200)]
[layer1] remove superfluous rx_window call

The prim_fbsb code internally will set up the right arfcn/window,
so there is no need to repeat it.

13 years ago[layer1] Activate AGC implementation
Harald Welte [Fri, 25 Jun 2010 14:39:01 +0000 (16:39 +0200)]
[layer1] Activate AGC implementation

The target input level at the ABB ADC / DSP baseband downlink path
is just an estimate and might have to change

13 years ago[layer23] remove raw printf about RACH CONF
Harald Welte [Fri, 25 Jun 2010 14:36:23 +0000 (16:36 +0200)]
[layer23] remove raw printf about RACH CONF

13 years agomove to TCP port 4247 to not conflict with openbsc on same host
Harald Welte [Fri, 25 Jun 2010 14:35:50 +0000 (16:35 +0200)]
move to TCP port 4247 to not conflict with openbsc on same host

13 years ago[layer23] make sure we recognize our own IMM ASS
Harald Welte [Fri, 25 Jun 2010 14:34:17 +0000 (16:34 +0200)]
[layer23] make sure we recognize our own IMM ASS

When trying to re-create the header file I made the 'valid' member
of the channel request history a single-bit field, but we actually
assign values different than 0 and 1 to it.  This has caused layer23
to consider the IMM ASS to our own channel requests as non-matching.

13 years ago[layer1] An actual AGC implementation
Harald Welte [Fri, 25 Jun 2010 11:38:22 +0000 (13:38 +0200)]
[layer1] An actual AGC implementation

We introduce trf6151_compute_gain() to compute the gain setting that
leads to the ideal analog baseband power input level.

This function is called from rffe_set_gain() for both the compal and
the gta0x rf frontend, as there are no other amplifiers inside those
phone designs.

The new AGC function is not used yet from the regular layer1 code.

13 years ago[layer1] Power Measurement updates
Harald Welte [Fri, 25 Jun 2010 08:38:33 +0000 (10:38 +0200)]
[layer1] Power Measurement updates

Instead of using the 'normal burst' receive window, use the proper
RXWIN_PW for power measurements. However, in this case, one PW window
corresponds to one PM measurement and in order to do two measurements,
multiple PW windows need to be set-up in the TPU.  Since we don't support
that yet, we simply switch to doing only one power measurement for now.

13 years ago[layer23] reverse-engineer missing header file changes
Harald Welte [Fri, 25 Jun 2010 01:13:52 +0000 (03:13 +0200)]
[layer23] reverse-engineer missing header file changes

It seems one of the recent commits introduced build errors due
to missing commits for header file changes.  Based on the code,
I reconstructed what I believe might have been the header files...

13 years ago[build scripts] Make sure libosmocore for the target uses --disable-vty
Harald Welte [Fri, 25 Jun 2010 01:01:57 +0000 (03:01 +0200)]
[build scripts] Make sure libosmocore for the target uses --disable-vty

The vty code cannot be cross-compiled to the target yet, we need to
disable building it.

13 years agoMerge commit '1067e8cc9a5d4f28f986f7473093cbac874d4208' into libosmocore
Harald Welte [Fri, 25 Jun 2010 01:01:49 +0000 (03:01 +0200)]
Merge commit '1067e8cc9a5d4f28f986f7473093cbac874d4208' into libosmocore

13 years agoFix typo in configure script regarding --disable-vty
Harald Welte [Fri, 25 Jun 2010 01:00:58 +0000 (03:00 +0200)]
Fix typo in configure script regarding --disable-vty

13 years agoMerge commit '816e24cb4296d6b7110da4a89661bbac8dc7af21' into libosmocore
Harald Welte [Fri, 25 Jun 2010 00:55:59 +0000 (02:55 +0200)]
Merge commit '816e24cb4296d6b7110da4a89661bbac8dc7af21' into libosmocore

Conflicts:
src/shared/libosmocore/include/osmocore/protocol/gsm_04_08.h

13 years ago[RSL] Added special RSL message types for mobile side
Andreas Eversberg [Fri, 25 Jun 2010 00:50:56 +0000 (02:50 +0200)]
[RSL] Added special RSL message types for mobile side

    - suspension DL
    - resume DL
    - re-establish DL

13 years ago[gsm48] fix typo in struct gsm48_req_ref
Andreas Eversberg [Fri, 25 Jun 2010 00:50:06 +0000 (02:50 +0200)]
[gsm48] fix typo in struct gsm48_req_ref

13 years ago[layer23] use the TSC that is passed from L1 when going in dedicated mode
Harald Welte [Thu, 24 Jun 2010 16:56:36 +0000 (18:56 +0200)]
[layer23] use the TSC that is passed from L1 when going in dedicated mode

13 years agofw/layer1: Add some RFCH utilities to get channel parameters
Sylvain Munaut [Mon, 21 Jun 2010 20:54:13 +0000 (22:54 +0200)]
fw/layer1: Add some RFCH utilities to get channel parameters

This allows to easily get the tsc/timeslot/arfcn we need to
use to the rx/tx of a burst.

Using this also sets properly the TSC and ARFCN now !

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agolayer1: Introduce a decicated channel state in l1s
Sylvain Munaut [Mon, 21 Jun 2010 20:10:07 +0000 (22:10 +0200)]
layer1: Introduce a decicated channel state in l1s

We also make sure to set it properly during a DED EST REQ.
The state is currently unused tough.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agol1a_l23_interface: Update DM EST REQ format
Sylvain Munaut [Mon, 21 Jun 2010 19:59:43 +0000 (21:59 +0200)]
l1a_l23_interface: Update DM EST REQ format

We include all the parameters we're gonna need to support
TS!=0, hopping, TSC, ...

We also assume the upper layer have decoded the low level
bit fields and gives us neat accessible variables and a
sorted ARFCN array for the Mobile Allocation

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agolayer23: Now receiver of IMM.ASS checks for timeslot when matching request.
Andreas.Eversberg [Thu, 24 Jun 2010 18:42:33 +0000 (18:42 +0000)]
layer23: Now receiver of IMM.ASS checks for timeslot when matching request.

This implies that random access confirm now works and is used.

13 years agolayer23: Corrected PLMN format when selecting RPLMN via VTY.
Andreas.Eversberg [Thu, 24 Jun 2010 18:41:39 +0000 (18:41 +0000)]
layer23: Corrected PLMN format when selecting RPLMN via VTY.

13 years ago[firmware] move board_init() to a gcc-type constructor
Harald Welte [Thu, 24 Jun 2010 16:00:45 +0000 (18:00 +0200)]
[firmware] move board_init() to a gcc-type constructor

Instead of calling board_init() from every main() function explicitly,
we simply mark it as a constructor and have it called automagically

13 years ago[firmware] make sure the .ctor sections are preserved during --gc-sections
Harald Welte [Thu, 24 Jun 2010 15:52:05 +0000 (17:52 +0200)]
[firmware] make sure the .ctor sections are preserved during --gc-sections

--gc-sections throws away any symbol that is not referenced from
either the entry symbol or explicit KEEP statements in the linker script.

We add KEEP() to make sure the constructors are kept.

13 years ago[firmware] fix code that iterates over constructors
Harald Welte [Thu, 24 Jun 2010 15:10:46 +0000 (17:10 +0200)]
[firmware] fix code that iterates over constructors

the first element after __CTORS_LIST__ contains the number of constructor
callbacks in the following array, so we have to skip it.

13 years ago[layer1] use __attribute__ ((constructor)) for completion initializers
Harald Welte [Thu, 24 Jun 2010 11:30:56 +0000 (13:30 +0200)]
[layer1] use __attribute__ ((constructor)) for completion initializers

13 years ago[firmware] Add support for __attribute__ ((constructor))
Harald Welte [Thu, 24 Jun 2010 09:46:47 +0000 (11:46 +0200)]
[firmware] Add support for __attribute__ ((constructor))

We modify the linker scripts to include the .ctors and .dtors sections
and add some code to actually call them before we jump to the main()
function.

13 years agofw/layer1/l23_api: Process each message in a function
Sylvain Munaut [Sun, 20 Jun 2010 23:33:43 +0000 (01:33 +0200)]
fw/layer1/l23_api: Process each message in a function

Instead of processing directly in the switch, we put
real ..._rx_... functions to make things clearer.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agofw/layer1: Fix compiler warning about mismatched ptr types
Sylvain Munaut [Sun, 20 Jun 2010 23:32:30 +0000 (01:32 +0200)]
fw/layer1: Fix compiler warning about mismatched ptr types

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agohost/layer23: Update test application to support combined/non-combined CCCH
Sylvain Munaut [Sun, 20 Jun 2010 21:02:40 +0000 (23:02 +0200)]
host/layer23: Update test application to support combined/non-combined CCCH

We start by listening to BCCH only then once we have a SI3, we inspect
it and enable to good CCCH mode.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agofw/layer1: Add support CCCH combined/non-combined
Sylvain Munaut [Sun, 20 Jun 2010 20:40:03 +0000 (22:40 +0200)]
fw/layer1: Add support CCCH combined/non-combined

We introduce the concept of CCCH mode. It can be either
 - NONE: receive BCCCH only
 - COMBINED: CCCH on a BCCH/CCCH+SDDCH/4
 - NON_COMBINED: CCCH on a BCCH/CCCH

There is also a new command to change the mode without having
to do the resync.

Currently, we keep the previous default behavior of requesting
a combined CCCH by default

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agolayer23/gsm322: Make a wrapper for fbsb_req to avoid repeating params
Sylvain Munaut [Sun, 20 Jun 2010 20:19:25 +0000 (22:19 +0200)]
layer23/gsm322: Make a wrapper for fbsb_req to avoid repeating params

The params are virtually always the same, so use a wrapper to
change them easily

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agofw/layer1: When resetting hw, reset both SYNCHRO & OFFSET to l1s.tpu_offset
Sylvain Munaut [Wed, 28 Apr 2010 21:57:36 +0000 (23:57 +0200)]
fw/layer1: When resetting hw, reset both SYNCHRO & OFFSET to l1s.tpu_offset

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agolayer23: Add info about SNCB GSM-R network
Sylvain Munaut [Sun, 20 Jun 2010 19:15:21 +0000 (21:15 +0200)]
layer23: Add info about SNCB GSM-R network

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years ago[layer1] add missing break statment at end of switch()
Harald Welte [Sun, 20 Jun 2010 17:43:57 +0000 (19:43 +0200)]
[layer1] add missing break statment at end of switch()

13 years ago[layer23] Add debug print of _CONF messages
Harald Welte [Sun, 20 Jun 2010 17:42:49 +0000 (19:42 +0200)]
[layer23] Add debug print of _CONF messages

13 years ago[L1CTL] Introduce completion for transmit of L2 frame
Harald Welte [Sun, 20 Jun 2010 17:21:32 +0000 (19:21 +0200)]
[L1CTL] Introduce completion for transmit of L2 frame

Every time we have completed the transmit of a L2 frame (mac block),
we send L1CTL_DATA_CONF up to L2.

13 years ago[layer1] Fix RACH completion (don't use FB completion callback)
Harald Welte [Sun, 20 Jun 2010 17:20:42 +0000 (19:20 +0200)]
[layer1] Fix RACH completion (don't use FB completion callback)

13 years ago[L1CTL] rename primitives to comply with official naming s/_REQ/_CONF/
Harald Welte [Sun, 20 Jun 2010 17:10:21 +0000 (19:10 +0200)]
[L1CTL] rename primitives to comply with official naming s/_REQ/_CONF/

When L23 issues a REQ, we should respond with CONF, rather than _RESP

13 years ago[L1CTL] Introduce L1CTL_RESET_RESP
Harald Welte [Sun, 20 Jun 2010 16:42:42 +0000 (18:42 +0200)]
[L1CTL] Introduce L1CTL_RESET_RESP

1) On boot, L23 is notified by L1CTL_RESET_IND:
2) At any time, L23 can call L1CTL_RESET_REQ and get a
   L1CTL_RESET_RESP once the reset has been performed.

Also, there is no 'l1ctl_info_dl' in the RESET_IND anymore, as it
is useless.

13 years ago[layer1] Introduce function to reset the gsmtime scheduler
Harald Welte [Sun, 20 Jun 2010 16:31:22 +0000 (18:31 +0200)]
[layer1] Introduce function to reset the gsmtime scheduler

13 years ago[L1CTL] rename L1CTL_RESET to L1CTL_RESET_IND
Harald Welte [Sun, 20 Jun 2010 16:21:01 +0000 (18:21 +0200)]
[L1CTL] rename L1CTL_RESET to L1CTL_RESET_IND

and define a new structure that indicates the type of reset

13 years agoMerge branch 'master' of git.osmocom.org:osmocom-bb
Andreas.Eversberg [Sun, 20 Jun 2010 18:19:20 +0000 (18:19 +0000)]
Merge branch 'master' of git.osmocom.org:osmocom-bb

13 years agolayer23: Added CLIP and CLIR feature.
Andreas.Eversberg [Sun, 20 Jun 2010 18:18:45 +0000 (18:18 +0000)]
layer23: Added CLIP and CLIR feature.

13 years agolayer23: Added support for waiting calls, hold/retrieve calls.
Andreas.Eversberg [Sun, 20 Jun 2010 17:43:55 +0000 (17:43 +0000)]
layer23: Added support for waiting calls, hold/retrieve calls.

13 years agoMerge branch 'master' of git.osmocom.org:osmocom-bb
Andreas.Eversberg [Sun, 20 Jun 2010 17:43:15 +0000 (17:43 +0000)]
Merge branch 'master' of git.osmocom.org:osmocom-bb

13 years agolayer23 radio ressource: Added signal loss condition in release state.
Andreas.Eversberg [Sun, 20 Jun 2010 16:23:30 +0000 (16:23 +0000)]
layer23 radio ressource: Added signal loss condition in release state.

13 years ago[layer1] Add L1CTL_RACH_RESP to confirm that a RACH request was sent
Harald Welte [Sun, 20 Jun 2010 16:12:40 +0000 (18:12 +0200)]
[layer1] Add L1CTL_RACH_RESP to confirm that a RACH request was sent

13 years ago[layer1] FBSB: abort FB0 acquisition after 30 failing attempts
Harald Welte [Sun, 20 Jun 2010 15:26:27 +0000 (17:26 +0200)]
[layer1] FBSB: abort FB0 acquisition after 30 failing attempts

This should remove the 'endless FB0 loop' when the DSP detects a FB
where there really is none, and we drive the AFC DAC to its maximum
without ever getting the frequency offset below our threshold.

13 years ago[layer1] FBSB: re-try FB0/FB1 request up to 3 times
Harald Welte [Sun, 20 Jun 2010 15:05:01 +0000 (17:05 +0200)]
[layer1] FBSB: re-try FB0/FB1 request up to 3 times

So far, we have aborted our FB acquisition if we didn't detect a
Frequency Burst in the first period of 12 TDMA timeslots.  However,
this turns out to be giving up a bit too quickly.  We now re-try
this three times before giving up, which hopefully gives better
results.

13 years agolayer23: Fixed name of "DB Systel GSM-R" for MNC 10 in Germany.
Andreas.Eversberg [Sun, 20 Jun 2010 12:25:53 +0000 (12:25 +0000)]
layer23: Fixed name of "DB Systel GSM-R" for MNC 10 in Germany.

13 years agolayer23: Complete rework of MCC and MNC structure.
Andreas.Eversberg [Sun, 20 Jun 2010 11:19:06 +0000 (11:19 +0000)]
layer23: Complete rework of MCC and MNC structure.

Instead of handling numerical MCC and MNC, they are now stored and handled
hexadecimal, like they are received by the network. This makes it possible
to correctly handle 2 and 3 digits MNC. Internally 2 digit MNCs are stored
as 0xXXf, and 3 digits MNC are stored as 0xXXX, where X is the digit 0..9.

The length of MNC in the IMSI (2 or 3 digits) depend on the MNC length
trying to match. Anyway that MNC name can be printed even without knowing the
actual length. This is done by matching the IMSI against list of networks.

PLEASE REMOVE "/etc/osmocom/*.ba", because the MCC and MNC stored there is
not valid anymore.

13 years agol1ctl.c: add missing ntohs for band_arfcn
Jan Luebbe [Thu, 17 Jun 2010 08:02:16 +0000 (10:02 +0200)]
l1ctl.c: add missing ntohs for band_arfcn

This fixes mangled ARFCN numbers in gsmtap.

13 years agolayer23: Corrected MCC in network table. -1 is used to indicate the counter rather...
Andreas.Eversberg [Wed, 16 Jun 2010 22:06:46 +0000 (22:06 +0000)]
layer23: Corrected MCC in network table. -1 is used to indicate the counter rather than network name.

13 years agolayer23: Complete list of GSM operators and countries.
Andreas.Eversberg [Wed, 16 Jun 2010 21:43:00 +0000 (21:43 +0000)]
layer23: Complete list of GSM operators and countries.

Just check out "On-waves", "GSM-R", or "OpenBSC".

13 years agolayer23 manual network search: Fixed searching behavior.
Andreas.Eversberg [Wed, 16 Jun 2010 18:21:59 +0000 (18:21 +0000)]
layer23 manual network search: Fixed searching behavior.

First of all I cleaned up the VTY commands. Instead of something like
"barred-access (yes|no)", I use now "barred-access" and "no barred-access".
Your stored configuration file will not load, because config format has
changed. Just remove the lines that cannot be parsed by VTY from your
config. Then the default values are used on next startup. Modify these as
desired via VTY using the new commands.

Use "rplmn <mcc> <mnc>" or "no rplmn" to set the initial behaviour of
network search. If RPLMN is set, this network is selected. If it is not
found, it will be displayed, then it is time to do a search
"network search 1".

If you have set "no rplmn" the search is started automatically on power on.
After the search you can see available networks and show the cells using
"show cell 1" or the detailed information "show cell 1 <arfcn>".

For testing all that be sure to set the "sim" to "test" and the
"network-search" to "manual". Do "show run" to see all commands to be set.

13 years agoThis commit belongs to the last one.
Andreas.Eversberg [Wed, 16 Jun 2010 17:19:40 +0000 (17:19 +0000)]
This commit belongs to the last one.

13 years agolayer23: Added VTY command to display current states.
Andreas.Eversberg [Wed, 16 Jun 2010 17:17:29 +0000 (17:17 +0000)]
layer23: Added VTY command to display current states.

Also rejecting ASSIGNMENT COMMAND.

13 years agolayer23 VTY: "end" now ends configuration in all config subnodes.
Andreas.Eversberg [Wed, 16 Jun 2010 17:13:52 +0000 (17:13 +0000)]
layer23 VTY: "end" now ends configuration in all config subnodes.

13 years agolayer23: Added some more detailed debugging parameters.
Andreas.Eversberg [Tue, 15 Jun 2010 20:16:52 +0000 (20:16 +0000)]
layer23: Added some more detailed debugging parameters.

13 years agolayer23: Fixed release problems of call control.
Andreas.Eversberg [Tue, 15 Jun 2010 20:15:03 +0000 (20:15 +0000)]
layer23: Fixed release problems of call control.

Now hangup command from mobile station results in a clean release of
CC and MM.

13 years ago[GSM 04.08] add more RR IEIs
Harald Welte [Tue, 15 Jun 2010 07:32:14 +0000 (09:32 +0200)]
[GSM 04.08] add more RR IEIs

13 years agolayer23 call control: Fixed sending of RELEASE COMPLETE.
Andreas.Eversberg [Mon, 14 Jun 2010 19:45:30 +0000 (19:45 +0000)]
layer23 call control: Fixed sending of RELEASE COMPLETE.

This had caused a crash due to double free of transaction instance.

13 years agolayer23 cell selection: Fix in cell selection after leaving dedicated mode.
Andreas.Eversberg [Mon, 14 Jun 2010 19:38:06 +0000 (19:38 +0000)]
layer23 cell selection: Fix in cell selection after leaving dedicated mode.

Only the known BA (band allocation) is used to check for the cell to camp
on. If there is no BA or if nothing is found, the process triggers normal
cell selection.

After location update (for example), the mobile switches to the strongest
cell in the current band allocation.

13 years agolayer23: Added more logging to transaction.c
Andreas.Eversberg [Sun, 13 Jun 2010 22:35:45 +0000 (22:35 +0000)]
layer23: Added more logging to transaction.c

13 years agolayer23: Added more logging to call control.
Andreas.Eversberg [Sun, 13 Jun 2010 22:34:36 +0000 (22:34 +0000)]
layer23: Added more logging to call control.

13 years agolapdm: Minor fix.
Andreas.Eversberg [Sun, 13 Jun 2010 18:44:50 +0000 (18:44 +0000)]
lapdm: Minor fix.

13 years agolayer23: IMSI detach works now.
Andreas.Eversberg [Sun, 13 Jun 2010 18:41:07 +0000 (18:41 +0000)]
layer23: IMSI detach works now.

Pressing CTRL+c causes the detach process to run, then the mobile exits.
This procedure only runs after attachment (location update) and if detach
is required.

The SABM with the detach message is confirmed by a DISC message. the BS11
says that this is caused by sequence error or N200+1 error. Maybe someone
can trace that.

13 years agolayer23: Added VTY messages to call application.
Andreas.Eversberg [Sun, 13 Jun 2010 17:18:15 +0000 (17:18 +0000)]
layer23: Added VTY messages to call application.

VTY now shows the process of call establishment, incomming call, and release.

13 years agolayer23: Added feature to do emergency calls without a SIM card.
Andreas.Eversberg [Sun, 13 Jun 2010 14:41:55 +0000 (14:41 +0000)]
layer23: Added feature to do emergency calls without a SIM card.

While testing, you may find out that making an emergency call is rejected
with cause 5 (illegal ME), because emergency facilities in some countries
like to reject calls without knowing the subscriber.

An emergency IMSI can be defined via VTY, so it is possible to make calls
with that IMSI, even without the SIM, because authentication is not
applicable during emergency call establishment.

All the information above, I received from the freely available 3GPP TS 04.08.
See NOTE at sub clause 4.5.1.5.

13 years agolayer23: Fixed issues about location update and it's result.
Andreas.Eversberg [Sun, 13 Jun 2010 13:51:30 +0000 (13:51 +0000)]
layer23: Fixed issues about location update and it's result.

Now location update reject works. The rejected network/cell is stored in
an appropriate list. The lists can be dumped from the VTY.

A fake authentication response is generated until the SIM interface is
available. If the network rejects the test SIM, due to authentication
failure, it is removed and limited service state is entered. This currenlty
works on networks with SDCCH on the TS0 only.

13 years agolapdm: Fixed length check for SABM frame.
Andreas.Eversberg [Sun, 13 Jun 2010 13:50:27 +0000 (13:50 +0000)]
lapdm: Fixed length check for SABM frame.

13 years agocell selection: Added temporary hack to sync multiple times until the sync
Andreas.Eversberg [Sun, 13 Jun 2010 12:09:30 +0000 (12:09 +0000)]
cell selection: Added temporary hack to sync multiple times until the sync
failure is accepted.