Commit Graph

571 Commits

Author SHA1 Message Date
Andreas.Eversberg 3e1574bc6a [layer23] Added control features to VTY
tx-power: fixed or automatic transmit power selection
(not currently supported by layer 1)

simulated-delay: Make BTS believe that we are closer or at greater distance
than we actually are. This is required to use cells that only allows a limited
range to the mobile. Also it prevents from being tracked by location services.

stick: Make mobile stick to a given ARFCN only. For testing purpose the
cell selection process can be limited to only one frequency. This speeds
up cell selection process.
2010-07-13 14:29:19 +00:00
Andreas.Eversberg 5bbc44e913 [layer23] Fixed ID.REQ for IMEI while no SIM is present. 2010-07-13 14:27:15 +00:00
Andreas.Eversberg 6ba18aeb03 [layer23] Rework of channel request process and control of TA and TX-power
The radio ressource layer uses RSL messages to perform RACH requests now.

TX power and timing advance is controlled before RACH request, after IMM.ASS,
and during dedicated mode. (Note that TX power control is not yet supported
by layer 1.)
2010-07-13 14:21:52 +00:00
Andreas.Eversberg 65df98d930 [layer23] Correcting an attribute name in sysinfo.h. 2010-07-13 14:14:54 +00:00
Andreas.Eversberg f7c137660a [layer23] Updating l1ctl.c to current L1<->L2 API. 2010-07-13 14:12:54 +00:00
Andreas.Eversberg c6ff4723ce [layer 1] L1CTL_PARAM_REQ is introduced to change TX power and TA.
Currently only TA (timing advance) is supported. It ranges from -128 to 128.
2010-07-13 14:07:37 +00:00
Andreas.Eversberg 9a422ceb25 [layer 1] Reset option for scheduled frames.
This is usefull to drop a scheduled RACH request after an IMM.ASS is
received.
2010-07-13 14:03:13 +00:00
Andreas.Eversberg 0719e9ac7d [layer1] Added mf_off to shedule next RACH request.
The mf_off value defines the offset of multiframes.
2010-07-13 13:58:41 +00:00
Harald Welte f633ea5f43 Merge commit '33f0fc3c9565308044c934c9e0c1bb81c1a26311' 2010-07-13 13:51:42 +02:00
Andreas Eversberg 33f0fc3c95 [VTY] add support for numeric ranges with negative numbers
This enables us to do something like <-128-127> as a numeric range.
2010-07-13 13:50:39 +02:00
Harald Welte 6eb7d6c887 [RSL] split rsl_rll_push_l3() L3 LV pushign and rsl_rll_push_hdr()
This allows us to generate RSLms messages that have some non-standard
IEs between the RSL/RLL common header and the L3 INFO IE.
2010-07-13 13:48:13 +02:00
Harald Welte 298b361b13 Add 'src/shared/libosmocore/' from commit 'ed00fe4449ac2309ad80c32f0ba7aa80b2b8895a'
git-subtree-dir: src/shared/libosmocore
git-subtree-mainline: 231444b548
git-subtree-split: ed00fe4449
2010-07-12 09:21:13 +02:00
Harald Welte 231444b548 remove old / modified copy of libosmocore (will be replaced with new) 2010-07-12 09:17:54 +02:00
Andreas Eversberg ed00fe4449 Add 3-digit MNC support to gsm48_generate_lai() 2010-07-12 09:12:46 +02:00
Andreas Eversberg 014cb8725c 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]
2010-07-12 09:11:00 +02:00
Andreas Eversberg cd2a74bd43 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:
2010-07-12 08:55:14 +02:00
Sylvain Munaut e10ae5b083 gsm_utils: Fix typo in gsm band name
thanks to horizon for noticing :p

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-07-04 11:41:36 +02:00
Harald Welte e335b91ccd GPRS: Add 'input' generator functions for GPRS cipher algorithm 2010-06-30 19:50:14 +02:00
Harald Welte b9ce51c5fd Add support for plugins (and specifically GPRS encryption plugins) 2010-06-30 19:43:11 +02:00
Harald Welte e34a940542 [gsmtap] add new gsmtap_makemsg() function
This generates a gsmtap message without actually enqueueing to a
bsc_select style queue.
2010-06-29 22:31:21 +02:00
Harald Welte e779c364ac Add gsmtap utility functions to libosmocore
This is imported from OsmocomBB/Layer23
2010-06-29 21:57:25 +02:00
Sylvain Munaut 08aa1e7615 layer1/l23_api: Use the fn51 given in the l1a_rach_req
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-28 23:13:12 +02:00
Sylvain Munaut 2d843b8be1 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>
2010-06-28 21:40:01 +02:00
Sylvain Munaut 1453c43202 layer1/tpu_window: Add experimental support for TS != 0
This is flawed, but allows testing ...

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-28 21:40:01 +02:00
Sylvain Munaut 802637bf9b fw/layer1: Add hopping support in rfch utils.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-28 21:40:01 +02:00
Andreas.Eversberg 0681cd21dd [layer23] Fixed demultiplexing of UI frames. Now SI5* and 6 are parsed. 2010-06-28 18:32:50 +00:00
Andreas.Eversberg 44dfa811a1 [lapdm] Fixed layer 2 header for B4 frames. Now SI5/6 are received correctly 2010-06-28 15:15:51 +00:00
Andreas.Eversberg f2b1e55c1e [layer23] Updated layer23 to current L1 support and forthcomming hopping. 2010-06-28 13:33:14 +00:00
Andreas.Eversberg f728fee2a9 [layer23] Minor fix for MCC+MNC print format. 2010-06-27 10:08:44 +00:00
Andreas.Eversberg 41cb84c676 [layer1] TX should be disabled by default. 2010-06-27 00:04:04 +00:00
Andreas.Eversberg bf2e70cf6b [layer23] Added option argument to alter default VTY port number. 2010-06-26 22:27:38 +00:00
Andreas.Eversberg 77c53d1e66 [layer23] Committed missing vty.h of last commit. 2010-06-26 16:38:07 +00:00
Andreas.Eversberg d6b1a9b10e [layer23] Removed cloned VTY and replaced it by libosmovty. 2010-06-26 14:00:29 +00:00
Andreas.Eversberg 8c3b88d62f [layer23] Fixed output format of MCC+MNC in subscriber.c 2010-06-26 13:56:01 +00:00
Andreas.Eversberg 7b84cf805b [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)
2010-06-26 11:12:25 +00:00
Andreas.Eversberg 4e03d6f822 [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.
2010-06-26 09:35:27 +00:00
Harald Welte 0d0c9e8f5b [layer1] set RF frontend gain during power measurement
also add some debug messages
2010-06-25 23:55:09 +02:00
Harald Welte d919186ca4 [l1ctl] add dedicated mode release request 2010-06-25 18:00:16 +02:00
Harald Welte 149376dd92 [layer1] fix AGC computation (dbm vs. dbm8 mistakes)
Also, separate the rx window function from the AGC LNA value computation
2010-06-25 17:40:10 +02:00
Harald Welte b647b4be79 [layer1] correctly compute dBm input level for RX normal burst 2010-06-25 17:38:46 +02:00
Harald Welte 207c3a6c2c [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.
2010-06-25 16:54:02 +02:00
Harald Welte 542086b200 [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
2010-06-25 16:39:01 +02:00
Harald Welte a10344b39e [layer23] remove raw printf about RACH CONF 2010-06-25 16:37:29 +02:00
Harald Welte 9c6906b7a9 move to TCP port 4247 to not conflict with openbsc on same host 2010-06-25 16:35:50 +02:00
Harald Welte 44239b448b [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.
2010-06-25 16:34:17 +02:00
Harald Welte 028dcd9e25 [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.
2010-06-25 13:39:58 +02:00
Harald Welte 52ef5a78ee [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.
2010-06-25 10:38:33 +02:00
Harald Welte d58af304ee [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...
2010-06-25 03:13:52 +02:00
Harald Welte eec93af7d1 [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.
2010-06-25 03:01:57 +02:00
Harald Welte 9dfbfe9072 Merge commit '1067e8cc9a5d4f28f986f7473093cbac874d4208' into libosmocore 2010-06-25 03:01:49 +02:00