Steve Markgraf [Sat, 6 Nov 2010 13:45:39 +0000 (14:45 +0100)]
layer23/mobile: Fix 'implicit declaration' warning for mncc_answer()
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Andreas.Eversberg [Sat, 30 Oct 2010 15:30:59 +0000 (17:30 +0200)]
layer23: Use the new rach_req format in l1ctl and update l23 apps to use it
This removes an old hack
Written-by: Andreas Eversberg <jolly@eversberg.eu>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Andreas.Eversberg [Sat, 30 Oct 2010 15:27:03 +0000 (17:27 +0200)]
target/fw/layer1: Change L1CTL RACH req to properly use all slots
Written-by: Andreas Eversberg <jolly@eversberg.eu>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Andreas.Eversberg [Sat, 30 Oct 2010 12:30:00 +0000 (12:30 +0000)]
[layer23] cell_log's scanning depth now depends on movement speed
Andreas.Eversberg [Sat, 30 Oct 2010 08:53:22 +0000 (08:53 +0000)]
[layer23] Fixed T3 value in RACH confirm message
Steve Markgraf [Wed, 27 Oct 2010 18:30:13 +0000 (20:30 +0200)]
layer23/mobile: Add configuration option for automatically answering calls
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Wed, 27 Oct 2010 18:26:05 +0000 (20:26 +0200)]
layer23: typo/cosmetic fixes in cell_log.c and mnccms.c
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Steve Markgraf [Mon, 25 Oct 2010 16:05:04 +0000 (18:05 +0200)]
target/fw/layer1: correctly initialize afc_retries
Otherwise, when it reached AFC_RETRY_COUNT, no new FB0 tasks
were scheduled, and you needed to restart the phone in order to
successfully sync to a cell
Signed-off-by: Steve Markgraf <steve@steve-m.de>
Sylvain Munaut [Mon, 18 Oct 2010 20:38:08 +0000 (22:38 +0200)]
target/fw/l23_api: Enable/Disable audio path appropriately
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Mon, 18 Oct 2010 20:37:32 +0000 (22:37 +0200)]
target/fw/l23_api: Properly sync tch in DM EST REQ
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 19 Sep 2010 13:51:26 +0000 (15:51 +0200)]
target/fw/layer1: Add support for the various TCH multi frame tasks
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 19 Sep 2010 13:49:48 +0000 (15:49 +0200)]
target/fw/layer1: Add initial version of TCH primitives
The initial bringup is mainly Dieter Spaar's work. I took the
logic and rewrote it, adapting to later scheduler changes and
adding support for several other things (tch_mode, initial HR
support, various cleanup, ...).
Initially-Written-by: Dieter Spaar <spaar@mirider.augusta.de>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 17 Oct 2010 19:21:56 +0000 (21:21 +0200)]
target/fw/calypso: Fix dsp_load_tch_param to set fn_report for TCH/H
The previous code was only valid for TCH/F ...
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Fri, 22 Oct 2010 09:54:53 +0000 (11:54 +0200)]
target/fw/layer1: Store the GSM48 constants in l1s.tch_mode instead of DSP cste
At this point in the code, we don't know if we're TCH/H or TCH/F, so
just store the speech mode and we'll figure out what to tell the DSP
in the task code itself.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 17 Oct 2010 19:20:51 +0000 (21:20 +0200)]
target/fw/layer1: Fix msgb leak when prim_rx is half executed
If the task interrupted because of a reset, an allocated msgb
will be present and we need to free it instead of just loosing
the reference to it.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 17 Oct 2010 19:19:37 +0000 (21:19 +0200)]
target/fw/include: Fix missing apc helper declaration
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Fri, 15 Oct 2010 19:02:02 +0000 (21:02 +0200)]
target/fw/layer1: Use common DSP API memcpy instead of repeating code
Also get rid of some early debug print that aren't needed now.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Fri, 15 Oct 2010 19:00:54 +0000 (21:00 +0200)]
target/fw/dsp: Add utility function to memcpy to/from the API
Copying to/from the DSP API shared memory must be done using
16 bits word only. Using those method, we avoid the hassle of
repeating the code when we copy buffer back and forth.
API address must be 16 bits aligned but for our purpose, it's
good enough.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Fri, 22 Oct 2010 09:51:58 +0000 (11:51 +0200)]
layer23/vty_interface: Fix typos, AMR is v3 not v1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Andreas.Eversberg [Mon, 25 Oct 2010 20:33:39 +0000 (20:33 +0000)]
[layer23] Fix of LAPDm when handling "timer recovery state"
Sylvain found out that the state was not cleared when receiving an RR
response with F-bit == 1. The missing handling is now added and tested.
Furthermore there is a minor fix to prevent underflow when resending last
frame in "timer recovery state".
Andreas.Eversberg [Sun, 24 Oct 2010 22:31:06 +0000 (22:31 +0000)]
[layer23] Reverted commit
ece1463...
The timer recovery state is cleared already,if a supervisory frame
response is received with "F bit set to 1".
Andreas.Eversberg [Sun, 24 Oct 2010 14:12:58 +0000 (14:12 +0000)]
Introducing "gsmmap" to convert SYSTEM INFORMATION log into a KML map
Andreas.Eversberg [Sun, 24 Oct 2010 13:39:37 +0000 (13:39 +0000)]
[layer23] Adding application to scan/receive and log SYSTEM INFORMATIONS
Andreas.Eversberg [Sun, 24 Oct 2010 13:30:17 +0000 (13:30 +0000)]
[layer23] Moving sysinfo.c and gps.c (.h) to liblayer23
This makes sense, since multiple applications use it.
Andreas.Eversberg [Sun, 24 Oct 2010 12:55:31 +0000 (12:55 +0000)]
[layer23] Fixed conditions for complete set of SYSTEM INFORMATION
Andreas.Eversberg [Sun, 24 Oct 2010 12:34:53 +0000 (12:34 +0000)]
[layer23] Old SYSTEM INFORMATION 5 and 6 must be removed when entering DM
Andreas.Eversberg [Sun, 24 Oct 2010 12:30:37 +0000 (12:30 +0000)]
[layer23] Moving decoding of SYSTEM INFORMATION to sysinfo.c
This way the decoding can be re-used by other applications.
Andreas.Eversberg [Sun, 24 Oct 2010 12:23:05 +0000 (12:23 +0000)]
[layer23] Added debugging for GPS at logging.c
Andreas.Eversberg [Sun, 24 Oct 2010 12:20:08 +0000 (12:20 +0000)]
[layer23] Fix of GPS states
Sylvain Munaut [Sat, 23 Oct 2010 18:47:26 +0000 (20:47 +0200)]
layer23/lapdm: Properly handle S frame with F=1 when in timer recovery
This is the signal to exit recovery mode !
See GSM 04.06 Section 5.5.7
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 24 Oct 2010 10:05:12 +0000 (12:05 +0200)]
Andreas.Eversberg [Sun, 24 Oct 2010 11:20:51 +0000 (11:20 +0000)]
Removed solved issues from gsm48-andreas/issues.txt
The remaining issues have only todo with openBSC and should be fixed,
the issues.txt will be obsolete then.
Andreas.Eversberg [Sun, 24 Oct 2010 09:59:33 +0000 (11:59 +0200)]
bitvec: Fix decoding of H / L values
it returns if a given bit in the vector is "high" or "low".
the bitval that represents "high" depends on the bit position.
bitval2mask returns that. so we must check if the bit in the vector
equals the returned bitval.
Andreas.Eversberg [Wed, 20 Oct 2010 18:16:12 +0000 (18:16 +0000)]
[layer23] Don't request a channel, if SYSINFO 3 is not available
SI3 is required in order to request a channel the correct way. If not
yet received, the process crashes due to an arithmetic exception.
Andreas.Eversberg [Wed, 20 Oct 2010 18:12:44 +0000 (18:12 +0000)]
[layer23] Fix of channel request cause "OTHER or SDCCH"
Andreas.Eversberg [Wed, 20 Oct 2010 18:09:31 +0000 (18:09 +0000)]
[layer23] Completed GPS reading process
This includes "double" values of logitude and latitude, as well as time
stamp, and if the values are valid or not (GPS fix).
Holger Hans Peter Freyther [Mon, 18 Oct 2010 16:22:31 +0000 (18:22 +0200)]
msgb: Add non-inlined helper functions to ease with language bindings
It is easier from languages that dlopen libosmocore to have a function
to access this data than to poke at the bytes of the struct directly. Add
copyright for this method and the reset method I did earlier this year.
Holger Hans Peter Freyther [Mon, 18 Oct 2010 14:56:43 +0000 (16:56 +0200)]
gsm0480: Add method create own number response
Andreas.Eversberg [Sat, 16 Oct 2010 08:18:31 +0000 (08:18 +0000)]
[layer23] Fixed header handling of some radio ressource SAP msgs
Andreas.Eversberg [Fri, 15 Oct 2010 19:15:59 +0000 (19:15 +0000)]
[layer23] Support of receiving STATUS at call control
Andreas.Eversberg [Fri, 15 Oct 2010 18:54:57 +0000 (18:54 +0000)]
[layer23] DTMF support
Andreas.Eversberg [Fri, 15 Oct 2010 18:50:25 +0000 (18:50 +0000)]
[layer23] If the mobile sticks to a cell, RXLEV_MIN is ignored
Sylvain Munaut [Fri, 8 Oct 2010 13:09:16 +0000 (15:09 +0200)]
codec: Add bit ordering tables from specs for HR,FR,EFR & AMR
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Fri, 8 Oct 2010 13:09:41 +0000 (15:09 +0200)]
Update .gitignore
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Andreas.Eversberg [Thu, 14 Oct 2010 07:37:52 +0000 (07:37 +0000)]
[layer23] Adding abbreviated dialing to VTY
It is possible to store phone numbers with abbreviations now. Dialing these
abbreviation makes testing of mobile originated calls much easier too.
Andreas.Eversberg [Wed, 13 Oct 2010 18:33:16 +0000 (18:33 +0000)]
[layer23] If SIM is invalid, display that on the VTY
Andreas.Eversberg [Wed, 13 Oct 2010 18:30:59 +0000 (18:30 +0000)]
[layer23] Fix of signal loss handling
The cell must be kept "selected" in case of loosing radio link. It is
required to perform reselection of that cell or of the given neighbor
cells.
Andreas.Eversberg [Wed, 13 Oct 2010 18:28:57 +0000 (18:28 +0000)]
[layer23] Minor fix of debugging message in call control
Andreas.Eversberg [Wed, 13 Oct 2010 18:27:15 +0000 (18:27 +0000)]
[layer23] Fixed cell monitoring output (RR idle mode)
Andreas.Eversberg [Wed, 13 Oct 2010 18:26:04 +0000 (18:26 +0000)]
[layer23] Minor change in paging debugging
Andreas.Eversberg [Wed, 13 Oct 2010 18:23:20 +0000 (18:23 +0000)]
[layer23] Give ARFCN together with "show states <MS_NAME>"
Andreas.Eversberg [Tue, 12 Oct 2010 17:41:49 +0000 (17:41 +0000)]
[layer23] Fixed CAUSE information element
Coding standard must be 0x3 = GSM. Otherwise it may generate a protocol error
at the network.
Andreas.Eversberg [Tue, 12 Oct 2010 11:26:51 +0000 (11:26 +0000)]
[layer23] Fixed ASSIGNMENT / HANDOVER failure handling
Andreas.Eversberg [Tue, 12 Oct 2010 11:19:06 +0000 (11:19 +0000)]
[layer23] Reconnect of layer 2 link must be performed in idle mode also
Andreas.Eversberg [Tue, 12 Oct 2010 09:40:05 +0000 (09:40 +0000)]
[layer23] Call control is disabled when mobile is set to SDCCH only
On SDCCH only mobiles, incomming calls must be rejected by a minimal call
control implementation, even if basic calls are not supported.
Andreas.Eversberg [Tue, 12 Oct 2010 09:03:34 +0000 (09:03 +0000)]
[layer23] Fixed resume of datalink (after assignment or handover)
In order to resume correctly, the first message (ASSIGNMENT COMPLETE or
HANDOVER COMPLETE) must be sent after the link is resumed. Therefore it
must be given with the resume command. Unacknowledged messages are
transmitted afterwards, if any.
Andreas.Eversberg [Tue, 12 Oct 2010 08:53:40 +0000 (08:53 +0000)]
[layer23] FACILITY message is handled now, but not decoded
Andreas.Eversberg [Tue, 12 Oct 2010 08:48:08 +0000 (08:48 +0000)]
[layer23] Bugfix: Loosing CCCH signal must cause unselection of cell.
Andreas.Eversberg [Tue, 12 Oct 2010 08:44:18 +0000 (08:44 +0000)]
[layer23] Adding some debugging output
Andreas.Eversberg [Tue, 12 Oct 2010 08:26:48 +0000 (08:26 +0000)]
[layer23] Implementation of signal loss criteria as defined in TS 05.08
There are two criterions for lossing a signal, idle mode and dedicated mode.
A counter counts down when a frame is dropped, and counts up when a valid
frame is received on certain channel. The loss criterion is reached, if the
counter reaches 0. The values added to / removed from the counter and the
limits depend on the process.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:28:23 +0000 (09:28 +0200)]
ussd: gsm_7bit_decode will null terminate the string
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:23:50 +0000 (09:23 +0200)]
ussd: Make sure that we at least have 8 bytes when decoding the string
The actual gsm_7bit_decode can still cause a buffer overrun
but at least we are safe until this point.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:12:33 +0000 (09:12 +0200)]
ussd: Add size checks to the parse_ss_invoke calls
Make sure that the mandatory and optional part fits.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:07:50 +0000 (09:07 +0200)]
ussd: Make sure the component fits.
Use a while() {} to check offset +2 <= length on the first
iteration of the loop. Once we have the component length
check that it is going to fit into the given length.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:06:47 +0000 (09:06 +0200)]
ussd: Work with uint16_t for the length
Work with uint16_t for the length all the way.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 06:49:27 +0000 (08:49 +0200)]
ussd: Verify that parsing is stil working and print the decoded text.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 06:21:00 +0000 (08:21 +0200)]
ussd: Add next test that show that we access the data out of bounds
This test is showing that the internal ASN1 code is not checking
the size properly.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 06:08:58 +0000 (08:08 +0200)]
ussd: Check the structure of the IE.
This is fixing the current crashes. Next we will need to
manipulate the content...
Holger Hans Peter Freyther [Mon, 11 Oct 2010 05:56:06 +0000 (07:56 +0200)]
ussd: Add a test case, switch parsing to use a gsm48_hdr and len
The current USSD code is not doing any size checks, add a test
case to find out how easily we access the data out of bounds.
Begin to use the length in some places.
Holger Hans Peter Freyther [Fri, 8 Oct 2010 17:47:15 +0000 (01:47 +0800)]
gsm0480: Move the USSD parsing code to libosmocore
- Change u_int8 to uint8
- Change DEBUGP to LOGP
- Change fprintf(stderr, to LOGP(0, LOGL_DEBUG
- We should define log areas used inside libosmocore
Holger Hans Peter Freyther [Wed, 6 Oct 2010 16:00:15 +0000 (00:00 +0800)]
msgfile: Add a file parser for a simple file format
This file format will be used to store per country code,
per network code messages. This will be used for various
things ranging from access control, to messages...
Andreas.Eversberg [Tue, 5 Oct 2010 15:42:29 +0000 (15:42 +0000)]
[layer23] Increase sync tollerance by increasing freq_err_thresh1
This is a quick workarround to make synchronizing to a cell more reliable.
Without it, just a few cells will sync. When network search is restarted, no
more sync happens. By increasing the freq_err_thresh1 to 10000, many cells
sync, even after the first network search.
Andreas.Eversberg [Sun, 3 Oct 2010 21:53:24 +0000 (21:53 +0000)]
[layer23] Fixed ACCH reception of TCH channels
Without it, the indicated TA and power never get received by layer23.
This may cause a release duing TCH on certain networks. Also it
is required to apply timing advance and transmit power during movement.
Andreas.Eversberg [Sun, 3 Oct 2010 21:52:56 +0000 (21:52 +0000)]
[layer23] Fixed emergency call setup
Andreas.Eversberg [Sun, 3 Oct 2010 10:51:31 +0000 (10:51 +0000)]
[layer23] Rework of "support"-features, features can be disabled now
Supported features of hardware (support.c) can be disabled by config.
This way the full featured mobile can be downgraded to indicate less
features to the network, like disabling speech support or crypto support.
Holger Hans Peter Freyther [Sat, 2 Oct 2010 19:22:55 +0000 (03:22 +0800)]
misc: Fix the name of the header file for the hexdump...
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:45:28 +0000 (02:45 +0800)]
gsm48_rr.c: Move the access below the parsing (found by clang
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:39:29 +0000 (02:39 +0800)]
msic: Include osmocom/util.h for the hexdump definition
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:39:06 +0000 (02:39 +0800)]
sim.c: Fix NULL pointer dereference found by clang.
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:29:58 +0000 (02:29 +0800)]
osmoload.c: Cast to uint8_t from char* to fix a compiler warning
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:20:32 +0000 (02:20 +0800)]
osmocom.c: rc is not assigned and contains garbage, return 0.
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:16:32 +0000 (02:16 +0800)]
osmocon.c: Use C99 inttypes instead of u_intX_t.
Holger Hans Peter Freyther [Sat, 2 Oct 2010 18:09:35 +0000 (02:09 +0800)]
sercomm.c: Avoid unused variable compiler warning
For the host build the local_irq_save/_restore is a NOOP
and the compiler warns about the unused flags variable. Cast
it to void to avoid compiler warning.
Andreas.Eversberg [Sat, 2 Oct 2010 16:34:04 +0000 (16:34 +0000)]
[layer23] Notify user when config change requires restart to take effect
Andreas.Eversberg [Fri, 1 Oct 2010 19:24:34 +0000 (19:24 +0000)]
[layer23] Minimum RX-level is now a configuratio option
The default (if config not yet created/updated), is still taken from
settings.c.
Andreas.Eversberg [Fri, 1 Oct 2010 19:22:31 +0000 (19:22 +0000)]
[layer23] Remove obsolete function from header file
Andreas.Eversberg [Fri, 1 Oct 2010 19:21:33 +0000 (19:21 +0000)]
[layer23] Using loglevel to disable heavy debugging on cell selection
Holger Hans Peter Freyther [Thu, 30 Sep 2010 10:30:41 +0000 (18:30 +0800)]
gsm0480: Add USSD format functions to libosmocore
These routines come from OpenBSC, the msgb_wrap_* functions
belong to Mike Haben, the rest is mine. The msgb allocation
is compatible to the GSM48 allocation in OpenBSC.
Andreas.Eversberg [Wed, 29 Sep 2010 13:29:31 +0000 (13:29 +0000)]
[layer23] Disabled display of SYSINFO message at message handlers
This way the SYSINFO is logged once and not three times.
Andreas.Eversberg [Wed, 29 Sep 2010 13:28:04 +0000 (13:28 +0000)]
[layer23] Added a workarround to ignore the first (invalid) PM result
Andreas.Eversberg [Wed, 29 Sep 2010 13:26:34 +0000 (13:26 +0000)]
[layer23] Disabled the scanning of maximum cells per band
This way all frequencies are scanned, in case they meat the minimum
receive level.
Andreas.Eversberg [Wed, 29 Sep 2010 13:24:12 +0000 (13:24 +0000)]
[layer23] Disabled may debugging in cell selection process
This way the syncing and cell selection can be reviewed much better.
Andreas.Eversberg [Wed, 29 Sep 2010 13:18:46 +0000 (13:18 +0000)]
[layer23] Added missing state change, if location update is not required.
Dieter Spaar [Fri, 17 Sep 2010 19:49:29 +0000 (21:49 +0200)]
target/dsp: Add dsp audio initialization
Written-by: Dieter Spaar <spaar@mirider.augusta.de>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Dieter Spaar [Fri, 17 Sep 2010 19:47:54 +0000 (21:47 +0200)]
target/dsp: Adjust dsp parameters for TCH FR Codec
Written-by: Dieter Spaar <spaar@mirider.augusta.de>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 26 Sep 2010 21:03:18 +0000 (23:03 +0200)]
fw/layer1: Process the tch_mode and store it for later use
Currently unused since no TCH support ...
Will be used by future commits.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 26 Sep 2010 20:55:02 +0000 (22:55 +0200)]
l1ctl: Add initial tch_mode value in DM_EST_REQ
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 26 Sep 2010 20:00:16 +0000 (22:00 +0200)]
fw/layer1: Add support for proper meas. report (and use in prim_tx_nb)
Rewritten based on an original patch by Andreas.Eversberg.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Andreas.Eversberg [Sun, 26 Sep 2010 09:50:56 +0000 (11:50 +0200)]
fw/layer1: Add support for measurement messages from layer2/3
Written-by: Andreas.Eversberg <jolly@eversberg.eu>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 26 Sep 2010 19:50:00 +0000 (21:50 +0200)]
fw/layer1: Introduce prim_utils.c for shared helper betwee primitives
Currently only share the idle frame pattern.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>