Commit Graph

228 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 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 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 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 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 bc860c43c2 [layer23] use the TSC that is passed from L1 when going in dedicated mode 2010-06-24 18:57:28 +02:00
Sylvain Munaut 16cd41e809 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>
2010-06-24 18:57:28 +02:00
Andreas.Eversberg d9ac6a51ad layer23: Now receiver of IMM.ASS checks for timeslot when matching request.
This implies that random access confirm now works and is used.
2010-06-24 18:42:33 +00:00
Andreas.Eversberg 4b9ef28ca9 layer23: Corrected PLMN format when selecting RPLMN via VTY. 2010-06-24 18:41:39 +00:00
Sylvain Munaut 880df617a5 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>
2010-06-22 06:37:09 +02:00
Sylvain Munaut 38c6b4b35a 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>
2010-06-22 06:37:09 +02:00
Sylvain Munaut a3e0c559a4 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>
2010-06-22 06:36:18 +02:00
Sylvain Munaut 1f7c5c1b3e layer23: Add info about SNCB GSM-R network
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-06-22 06:36:18 +02:00
Harald Welte 45f7b8bddf [layer23] Add debug print of _CONF messages 2010-06-20 19:42:49 +02:00
Harald Welte 281ea80498 [L1CTL] rename primitives to comply with official naming s/_REQ/_CONF/
When L23 issues a REQ, we should respond with CONF, rather than _RESP
2010-06-20 19:10:21 +02:00
Harald Welte cdc91973ee [L1CTL] rename L1CTL_RESET to L1CTL_RESET_IND
and define a new structure that indicates the type of reset
2010-06-20 18:44:27 +02:00
Andreas.Eversberg 562ff2dd89 layer23: Added CLIP and CLIR feature. 2010-06-20 18:18:45 +00:00
Andreas.Eversberg 17e0a2c075 layer23: Added support for waiting calls, hold/retrieve calls. 2010-06-20 17:43:55 +00:00
Andreas.Eversberg 05d6b5d213 layer23 radio ressource: Added signal loss condition in release state. 2010-06-20 16:23:30 +00:00
Andreas.Eversberg 7bde7938ae layer23: Fixed name of "DB Systel GSM-R" for MNC 10 in Germany. 2010-06-20 12:25:53 +00:00
Andreas.Eversberg f84a8c4b7e 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.
2010-06-20 11:19:06 +00:00
Jan Luebbe b76f3d0686 l1ctl.c: add missing ntohs for band_arfcn
This fixes mangled ARFCN numbers in gsmtap.
2010-06-17 10:02:16 +02:00
Andreas.Eversberg 04acfa2e4b layer23: Corrected MCC in network table. -1 is used to indicate the counter rather than network name. 2010-06-16 22:06:46 +00:00
Andreas.Eversberg 73b57dcd3c layer23: Complete list of GSM operators and countries.
Just check out "On-waves", "GSM-R", or "OpenBSC".
2010-06-16 21:43:00 +00:00
Andreas.Eversberg 4c5eb30929 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.
2010-06-16 18:21:59 +00:00
Andreas.Eversberg 9f77ea40b1 This commit belongs to the last one. 2010-06-16 17:19:40 +00:00
Andreas.Eversberg f195635d31 layer23: Added VTY command to display current states.
Also rejecting ASSIGNMENT COMMAND.
2010-06-16 17:17:29 +00:00
Andreas.Eversberg 4fff9fbd8e layer23 VTY: "end" now ends configuration in all config subnodes. 2010-06-16 17:13:52 +00:00
Andreas.Eversberg 7f79cb8e03 layer23: Added some more detailed debugging parameters. 2010-06-15 20:16:52 +00:00
Andreas.Eversberg 73cef8017e layer23: Fixed release problems of call control.
Now hangup command from mobile station results in a clean release of
CC and MM.
2010-06-15 20:15:03 +00:00
Andreas.Eversberg 55e3d970d9 layer23 call control: Fixed sending of RELEASE COMPLETE.
This had caused a crash due to double free of transaction instance.
2010-06-14 19:45:30 +00:00
Andreas.Eversberg f6299e657c 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.
2010-06-14 19:38:06 +00:00
Andreas.Eversberg 9a2484b782 layer23: Added more logging to transaction.c 2010-06-13 22:35:45 +00:00
Andreas.Eversberg a9eb601cc8 layer23: Added more logging to call control. 2010-06-13 22:34:36 +00:00
Andreas.Eversberg 1e0eba000f lapdm: Minor fix. 2010-06-13 18:44:50 +00:00
Andreas.Eversberg a6ee911418 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.
2010-06-13 18:41:07 +00:00